Privacy
What we keep. What we throw away.
Written so a non-lawyer can read it. The engineering version is the method page. The processing agreement for your visitors is the DPA.
On your visitors
We record that a page loaded: which site, which path (query stripped except five UTM tags), which referrer (origin + path, no query), a coarse country, region code, and city name from the edge, a browser family, and an optional event name you send. No coordinates, no postal code, no IP on the row. The beacon is POST JSON, so those fields are not sitting in CDN access logs. We do not set a cookie. We do not write to storage in the browser. We do not fingerprint.
To count one person once per day we briefly use the IP address, HMAC it with a server pepper and a daily salt we then delete, store only the 16-byte digest, and discard the IP. That digest is still personal data. The next day the salt is gone. We cannot follow someone across days. We do not call the hash anonymous. The recipe is on the method page.
On you, the customer
An account is a name, email, and a password hash — or whatever the sign-in provider (Google, X) sends us. Sites you add: domain, name, plan, public id. We email about the product, not about your visitors. Export and delete are on /app/account. No sales call.
Google Search Console
Connect Google on the dashboard is optional. If you grant it, we read Search Console for the properties you pick: queries, pages, clicks, impressions, CTR, and position (read-only). That is shown to you on /app, next to your own pageviews. It is not mixed into visitor rows, not sold, not used for ads, and not used to train models.
Disconnect on the same dashboard, or in Google Account → Security → Third-party access. That stops new reads. Wiping the Cookie Free Analytics account is still /app/account.
The use of information received from Google APIs will adhere to the Google API Services User Data Policy, including the Limited Use requirements.
Stripe (your account)
Connect Stripe on the dashboard is optional. If you grant it, we read successful charges and Checkout metadata you already stored (read-only). Totals and, when present, the five UTM tags show on /app for the same range as the board. That is your Stripe account, not a hostname. It is not mixed into visitor rows, not sold, not used for ads, and not used to train models. We do not store customer emails, card numbers, or names from that read.
Disconnect on /app/account, or in Stripe → Connected apps. That stops new reads. Cookie Free Analytics’ own billing Stripe (Starter and Growth invoices) is a separate integration.
Where it lives
No cookies, just insights. Made and hosted in the EU. Beacons hit Frankfurt; pageviews sit in Ireland Postgres. Vercel is a US company. We do not sell traffic data and we do not send it to an ads company. Sign-in with a third party is that third party’s processing, not a pageview export. Email and password sign-in, signup, and password reset may show a Cloudflare Turnstile challenge when the request looks like a bot — not on every attempt, and not Google reCAPTCHA. The pageview log never sees that check.
Watch
If you turn Watch on, you instruct us to request a URL on a hostname you already added as a site. We store the URL, status code, timings, TLS expiry, whether DNS answered, and incident timestamps. We do not store the response body, the target’s server logs, or visitors. Raw checks are kept 7 days, then rolled up. You can pause or remove a monitor. Recipe: /docs/watch.
Grok on the dashboard
Period briefing and Set up this site run only if you click them. Then xAI (United States, Grok) sees dashboard aggregates and, for setup, the homepage title and a path list — not hashes, not IPs, not the pageview log. The note is stored in Ireland. Clicks are capped per account per day. The DPA says the same.
AI apps and MCP
You can connect an AI app (Grok, Cursor, Claude and others) to https://www.cookiefreeanalytics.com/mcp. It signs in with OAuth 2.1 on this site and only after you click Allow. With the analytics:read permission it can read the same aggregates as your dashboard (visitor, visit and pageview counts, top pages, sources, Watch status) and your sites’ tracking code. With sites:write it can add a website to your account; it cannot change or delete anything. It never receives visitor hashes, IP addresses or the pageview log. We store the app’s name, its redirect address and hashed tokens (1 hour access, 30 days refresh), plus a daily call count. Whatever the app receives is then processed by that app’s provider under their terms. Disconnect an app any time under Account → Connected apps; deleting your account removes all of it. We don’t use MCP data or your content to train models, and we don’t sell it.
This site
cookiefree’s own marketing pages use the same script, with the badge off. No other analytics cookies. You can read the network tab.
Site Check (Chrome extension)
Site Check by Cookie Free Analytics is a read-only audit of the tab you open: Overview, SEO, Trackers, and Tech. We read that page’s DOM and scripts only when you click the extension icon. This version’s Chrome permissions are activeTab, scripting, and storage. Not webRequest. Not broad host access.
We store one thing: your language preference, on the device. Nothing from the extension leaves the device. No account, no analytics, no remote code. This version does not send page data, URLs, or tracker lists to Cookie Free Analytics servers.
Questions: hello@cookiefreeanalytics.com.
What we will not build
Session replay, cross-site identity, a data marketplace. If a feature needs a second beacon to exist, it stays out.
Who holds the account data
For your customer account (name, email, password hash, billing), the controller is Prestons Creek Capital, KvK 42139404, VAT NL005528479B09. Visitor pageviews on sites you add are processed under the DPA: you are controller, we are processor.
Last updated 27 October 2026. Questions: hello@cookiefreeanalytics.com. Method: the script page.