How to count a visitor without knowing one.
This page is the whole method. If something here is wrong, the product is wrong, and we would like to hear it.
What happens to one page view
The request your browser makes anyway
The page, the page you came from, your address and a line describing your browser. Every web server sees these.
Turned into four coarse facts
A country. A device class. A browser family. And a visitor key that is good until midnight.
The address and the browser line are dropped
They were only ever in memory. They are in no table, no log and no queue.
The key is dropped too
The day's secret is destroyed and the key removed from the rows. What is left is a count.
The visitor key
key = H(today's secret, this site, address, browser line)Today's secret is 32 random bytes, made with the day's first view and kept in one file beside the database: never in it, and never in a copy of it. It is destroyed when the day is closed, shortly after midnight UTC. Without it the key cannot be recomputed by anyone, including us.
The site is part of the key, so the same person on two sites gives two unrelated keys.
What this cannot do
- Recognise you tomorrow.
- Recognise you on another site.
- Be traced back to an address or a browser.
- Survive on your device: nothing is put there.
What it gets wrong, on purpose
- Two people on one network with the same browser count as one visitor.
- One person on a phone and a laptop counts as two.
- "Visitors this month" is a sum of daily counts, and says so.
Do you need a consent banner?
Honestly: it depends where you are, and nobody can promise you otherwise.
This section is our reasoning, not legal advice.
ePrivacy Directive, article 5(3)
Consent is needed to store information on a device, or to gain access to information on it, unless it is strictly necessary for what the user asked for. The European Data Protection Board reads "access" widely, and has said it can include what a browser sends with a request.
France, under the CNIL's conditions
Audience measurement is exempt from consent when it does nothing else, joins no other data, does not follow people across sites, shortens the address, and lets people object. The table below takes those one by one.
Denmark, and others without a written exemption
The Danish guidance of May 2025 asks for consent when cookies and similar technologies are used for visitor statistics, and lists no exemption. tidekeeper uses none on the device. Whether reading the request alone is "similar" is the open question.
| The CNIL's condition | What tidekeeper does in easy mode |
|---|---|
| Only audience measurement | The stored data cannot be used for anything else. There is no profile to build from. |
| Not combined with other data | There is no identifier to join on. |
| Not followed across sites | The site is in the key. Two sites, two unrelated keys. |
| The address is truncated | Stronger: the address is not stored at all. It is used for the country and for the day's key, in memory, and dropped. |
| People can object | Global Privacy Control and Do Not Track are honoured: such a view is counted with no visitor key, or not at all, as the site chooses. |
| Kept for a limited time | The key lives until midnight UTC. What is left is counts, kept for as long as the site's plan says. |
If you would rather ask, tidekeeper can: hard mode comes with its own banner, where "no" is as easy as "yes", and a record of every answer. Everyone is still counted the easy way; only those who said yes are recognised.