Privacy
Conveyor measures traffic without cookies and without storing personal data. This page explains what is collected and why most sites using Conveyor don’t need a consent banner. It is not legal advice; you remain responsible for your own privacy policy.
What the tracker does not do
- It sets no cookies and writes nothing to
localStorage,sessionStorageor IndexedDB. The only thing it reads from storage is an opt-out flag (conveyor.disabled) that the visitor sets themselves. - It does no fingerprinting: no canvas, WebGL, font or audio probing.
- It loads no third-party code and makes one request per pageview or event, to your own Conveyor instance.
What the server stores per event
| Stored | Derived from | Notes |
|---|---|---|
| Page hostname, path, title | Page | Query string can be stripped per website (excludeSearch). utm_* params are kept in separate columns. |
| Referrer domain and path | document.referrer |
Internal navigation is dropped. |
| Browser, OS, device class | User-Agent | Family names only. The raw User-Agent is discarded. |
| Screen size, language | Browser | |
| Country, region, city | Cloudflare edge geolocation | Coordinates are rounded to 0.1° (about 11 km), which is only used for the live map. |
| Visitor id | SHA-256(daily salt, website, IP, User-Agent) |
Truncated hash. The salt rotates every UTC day and old salts are deleted. |
| Visit id | Random | Groups events that are less than 30 minutes apart. |
The server never stores IP addresses or full User-Agent strings. Once a day’s salt is deleted, that day’s visitor ids can’t be linked to a person, to other days, or back to an IP address.
Consequences
- Visitors are unique per day. For a 7-day range, “visitors” is the sum of daily unique visitors. Plausible and Fathom count the same way.
- Cross-day retention and cohort reports only work for visitors the site
explicitly identifies with
conveyor.identify(). If you useidentify()with personal data, you are processing personal data and need a legal basis.
Respecting visitor choices
- Add
data-do-not-track="true"to the script tag to honourDNTandSec-GPC(Global Privacy Control). - A visitor can opt out on a site by running
localStorage.setItem('conveyor.disabled', '1'). - Use
data-domainsso the script only reports from your production hosts.
Data retention
Raw events are deleted after RAW_RETENTION_DAYS (90 by default). Daily
aggregates, which hold no visitor ids, are kept until the website is deleted
or reset.