Privacy model
Your numbers are not our product. Kymo sells analytics; it does not build visitor profiles, sell data, or set anything on your visitors' machines. The privacy model is not a policy bolted on afterward — it is how the system works.
Cookieless identity
Kymo does not set a cookie or read one. It does not write to a visitor's storage. It has no cross-site identifier and no persistent visitor ID.
To tell two pageviews apart within a single day, Kymo derives a hash server-side from data the request already carries:
visitor = sha256( HASH_SALT | UTC-date | IP | user-agent | site ) // first 16 hex charsThe UTC-date term is the important one: it changes at midnight UTC, so the same person on the same device gets a different hash tomorrow. The hash cannot be reversed to an IP or a user-agent, and it cannot be linked across days or across sites.
Because identity rotates daily, "unique visitors" means unique per UTC day. Someone who visits Monday and Tuesday is two uniques. This is a deliberate trade-off — see Cookieless identity for the detail.
Raw IPs are never stored
The IP address is used for exactly two things, both in-request and in-memory:
- As one ingredient in the hash above.
- To check the per-site excluded-IP list, so you can drop your own office traffic.
After that it is discarded. The raw IP is never written to the database. The same is true of the raw user-agent — Kymo derives a browser name and a device class from it, then drops it.
Why no cookie banner is required
Consent banners exist because of cookies and similar identifiers stored on a user's device. Kymo stores nothing on the device. The only local storage it ever writes is a single kymo_ignore flag — and only when the site owner deliberately opts their own browser out. That is your choice about your own browsing, not tracking of a visitor.
No cookies, no device storage, no cross-site identifier means no consent prompt to show.
What is stored, what is not
| Stored | Not stored |
|---|---|
| Path, referrer hostname | Full referrer URL with query |
| Country, city, coordinates (from edge headers) | Raw IP address |
| Device class, browser name | Raw user-agent string |
| A daily-rotating visitor hash | Any cross-day or cross-site identifier |
| UTM source / medium / campaign | Names, emails, or form contents |
| Goal names and revenue you send | Cookies, on your site or ours |
The full field list is on What we store.
GDPR posture
Kymo stores no cookies, no raw IP addresses, and no identifier that persists beyond a UTC day or reaches across sites. There is no personal profile to export, rectify, or erase, because none is built. This is the design intent, stated plainly — it is not legal advice, and you should confirm your own obligations for your jurisdiction and use case.