Privacy & GDPR

What numbers stores about your visitors, what it leaves out, and how long it keeps it, for your own privacy policy and records.

3 min read

numbers runs for you as a processor: you decide which sites send to it, and the events belong to your Organization.

What a visitor's event holds

  • A random visitor id from the first-party obelism_visitor_id cookie (30 days from the last visit), and whether they are new or recurring.
  • The event's name, scope and, when you send them, value, currency and parameters.
  • The page's path and the referrer, both without query strings, and the UTM tags.
  • Device categories (device, browser, operating system, screen size, pointer), not the user agent.
  • The country, from the request's network location.

What it leaves out

  • IP addresses are not stored with the events. One is used to rate limit, per minute. Like every request to a Cloudflare Worker, the request passes through Cloudflare and is kept in numbers' request logs (Workers Logs).
  • Query strings and fragments never leave the browser: emails or tokens in a URL stay out.
  • No fingerprinting, and no data shared with third parties or used for advertising.

obelism_visitor_id is a first-party cookie on your own domain, shared with Improve's SDK. During the rename the old visitorId cookie is still read and written, so there are two cookies for now: declare both in your cookie notice (or consent tool) until the old one is dropped, or a declaration that names only visitorId becomes incomplete. Whether it needs consent depends on your jurisdiction and use: in the EU, analytics cookies generally do. Load the script or create the SDK client after consent if your policy requires it.

A site that would rather not ask can count without a cookie. data-storage="none" (or storage: 'none') stores nothing: a new id is made on every client. data-storage="session" keeps the id in sessionStorage for the tab — no cookie, but it is still storage on the visitor's device, which ePrivacy generally treats like a cookie; check whether your jurisdiction does before you rely on it as consent-free. Either way, unique visitors and sessions are less exact: none starts a new visitor (and a new session) on every load, so most page views count as bounces.

Retention

Events stay while your Organization exists. Deleting an Organization on www deletes its events 30 days later; from the deletion on, no new events are taken in.

An erasure request is per visitor: on the Events page, an admin or developer enters the visitor id from their cookie and deletes everything tied to it — every event and test exposure in the Space, in every environment and for all time, whatever range the dashboard shows. A deletion larger than one batch takes a few submits; the page says how many went and that more remain. Deleting a range instead removes only the selected environment's events in that range.

Sub-processors & data residency

ServiceUsed forWhere
Cloudflare WorkersTakes events in and runs the dashboard; request logsCloudflare's global network, at the location nearest the request
Cloudflare QueuesHolds events for seconds between taking them in and storing themCloudflare's global network
PlanetScaleThe PostgreSQL database the events are stored inFrankfurt, Germany (AWS eu-central-1)

numbers shares its database with Improve, Content and www.obelism.studio. For a signed DPA, contact us at hello@obelism.studio.

On this page

Marks in the margin

  • Note
  • Watch out
  • Updated

Scribes marked doubtful lines in the margin. That practice is called obelism.

Stuck on a step?