Skip to content

Legal

Privacy policy

What Pulsora collects, why, where it is kept and for how long. It describes what the code does today.

Last updated November 4, 2026

Summary

cookies
None on your siteThe tracking script sets no cookies and writes nothing to the browser.
ip addresses
Not in analytics dataUsed to build the visitor hash and find the country. Pageview, event and revenue records have no IP field.
salt rotation
Every 24 hoursBy default. Site owners can choose up to 30 days, or rotate by hand.

Your site’s visitors

When you add the Pulsora script to a site, Pulsora collects analytics about that site’s visitors on your behalf. The script stores nothing in the browser: no cookies, no localStorage, no sessionStorage. For each pageview Pulsora keeps:

  • The page URL and path, the referrer, and any utm_source, utm_medium, utm_campaign, utm_term and utm_content values in the URL.
  • Browser, operating system and device type, read from the user agent. The user agent itself is not stored.
  • The country, as a two-letter code, and the browser language.
  • A session ID: a random value the script creates for each page load and keeps only in memory.
  • The visitor hash described below, and the time.

Custom events keep their name, the properties you send with pulsora.event(), the URL and the visitor hash. Revenue events, sent from your server with the site’s secret token, keep the amount, currency, payment processor, transaction ID and the session ID you pass from checkout. Revenue reports join that session ID to the pageviews with the same session ID.

How visitors are counted

The visitor hash is a SHA-256 hash of the IP address, the user agent, the site and the site’s salt. Each site has its own random 64-character salt. A scheduled job replaces it every 24 hours by default; site owners can choose 24 hours, 3, 7, 14 or 30 days, or rotate it by hand. After a rotation the same person gets a new hash, so new visits can no longer be linked to earlier ones.

What happens to the IP address

Events are processed from a queue, and the IP address and user agent travel with each queued job until it runs. The IP address is used for the visitor hash and to look up the country: it is sent to an IP geolocation service (ip-api.com, with ipapi.co and ipinfo.io as fallbacks), and the country code that comes back is cached against the IP address for up to 7 days. The ingest endpoint also counts requests per IP address for rate limiting. The IP address is not written to the pageview, event or revenue records.

To show how many people are on a site right now, visitor hashes are held in memory for 5 minutes after their last pageview.

Your Pulsora account

When you sign up, Pulsora keeps:

  • Your name, email address and a hashed password, plus your two-factor secret and recovery codes if you turn two-factor authentication on.
  • Your teams, your role in each and the invitations you send.
  • While you are signed in, a session that records your IP address and user agent. pulsora.co uses cookies for this session and for form protection.
  • A log of the emails we send you, so the same alert is not sent twice.
  • Anything you send through the contact form, including attachments.

Payments run through Stripe Checkout, and card details go to Stripe, not to Pulsora. We keep the Stripe customer ID, the card type and its last four digits, and the subscription status.

We use Pulsora on pulsora.co. Besides visits, it records some account events: signing up (with your user ID, email address and IP address), signing in (with your user ID and IP address), adding a site, and subscription changes and payments from Stripe.

We email you about your account: a welcome email, a note when a site receives its first pageview, setup reminders, trial reminders, usage alerts at 80%, 90% and 100% of your events, and team invitations.

Google data and SEO

Google Search Console

Connecting Google Search Console is optional. If you connect it, you sign in with Google and grant Pulsora read-only access to your Search Console data (the webmasters.readonly scope). Pulsora then reads, for the property you choose: the list of your Search Console properties, and the search queries, pages, countries, clicks, impressions, click-through rates and average positions Google reports for it.

We store the OAuth refresh token encrypted, and the search data per day. We use them only to show you search reports in your Pulsora dashboard, including estimated revenue per query from your own revenue data. We do not sell this data, do not use it for advertising, do not use it to train AI models, and do not share it with anyone except as needed to run that feature, comply with the law or protect our service. Nobody at Pulsora reads it unless you ask us to for support, or the law or security requires it.

Pulsora’s use and transfer of information received from Google APIs adheres to the Google API Services User Data Policy, including the Limited Use requirements.

You can disconnect at any time from your site’s settings, which deletes the token and the imported search data. You can also remove Pulsora’s access from your Google account permissions.

Site audit and Core Web Vitals

The site audit fetches your site’s public pages with a crawler that identifies itself as PulsoraBot and follows your robots.txt. It stores each page’s URL, status code, response time and the issues found, not the page content. Core Web Vitals come from Google’s public Chrome UX Report, which holds aggregated, anonymous measurements per site and page.

Service providers

These companies process data for Pulsora.

ProviderPurpose
StripeCheckout, subscriptions and the billing portal
DigitalOcean SpacesStorage for export files and contact-form attachments
A transactional email providerAccount, trial, usage and team-invitation emails

The IP geolocation services named under Your site’s visitors receive visitor IP addresses for the country lookup.

Retention

  • Analytics data has no automatic expiry. It stays while the site exists.
  • Exports expire 7 days after they are created, and a daily job deletes expired files.
  • Search Console data covers up to 16 months and is deleted when you disconnect. Site audits are kept for 26 weeks.
  • Country lookups are cached for up to 7 days.
  • Live-visitor entries expire after 5 minutes.
  • Deleting a site or your account removes it from the dashboard, but the records stay in the database. Write to us if you want them erased.

Your requests

You can ask us to show, correct, export or delete the data we hold about you. Visitors to a site that uses Pulsora should contact the site owner first, since the owner decides what is tracked; we will help them answer.

Contact

Questions about this policy go to privacy@pulsora.co. You can also reach us through the contact form.