ANALYTICSTHATKNOWSNOTHING.

The analytics you never have to warn anyone about.

Every other tool asks your visitors for permission first, because it cannot work without a cookie, an address, or a fingerprint. This one needs none of the three. Page views, referrers, countries and your own events — counted in aggregate, with nothing left over that points back at a person.

EVERY REQUEST, IN FULL

POST /api/track
{
  "t": "8f2c…",          // your site token
  "p": "/pricing",       // the path
  "r": "news.ycombinator.com"
}
KEPT
path, referring domain, browser family, operating system, device type, country, calendar day
NEVER COLLECTED
IP address, cookie, visitor ID, screen size, canvas hash, font list, language, time zone
NO COOKIESNO IP STOREDNO FINGERPRINT1.9 KB GZIPPEDCONSENT BANNER: NONEREST APIMCP SERVEREXPORT: ONE FILENO COOKIESNO IP STOREDNO FINGERPRINT1.9 KB GZIPPEDCONSENT BANNER: NONEREST APIMCP SERVEREXPORT: ONE FILE

WHAT THE USUAL SETUP COSTS

  1. 001A consent banner standing in front of your own siteEVERY VISITOR
  2. 002A cookie policy you have to write, and keep trueLEGAL COPY
  3. 003IP addresses in a log — personal data you now holdGDPR ART. 4
  4. 004A fingerprint that breaks each time browsers close the gapMAINTENANCE
  5. 005A processing agreement with a company selling adsONE DPA
  6. 006The visits blockers and declined banners never reportMISSING DATA
  7. 007Getting your own numbers back out through someone's APIYOUR TIME

None of which is analytics.

Nothing to consent to,
because nothing is kept.

Privacy here is not a setting you switch on. There is no identifier to turn off, no retention window to shorten, no anonymisation step that could be skipped. Views are counted into daily totals and the request is gone. That is the whole design, and it is why the numbers arrive without a banner, a policy update, or a conversation with your lawyer.

001/NO COOKIES

Nothing is written to a visitor's browser — no cookie, no localStorage, no sessionStorage. There is no banner to add, because there is nothing to ask permission for.

002/NO IP LOGGING

The country code comes from a header your host already resolved. The address itself is never read into a variable, let alone written down.

003/NO FINGERPRINTING

The User-Agent is bucketed into a browser family and an operating system, then discarded. No canvas, no font probing, no hardware questions.

004/VISITORS, NOT IDENTITIES

Visitors are counted with a code derived from a secret that is destroyed every night. It cannot follow anyone into tomorrow, or across to another site.

005/EVENTS, WITH PROPS

track('signup', { plan: 'pro' }) counts a signup and breaks it down by plan. No funnels: a funnel has to follow one person through several steps, and nothing here can.

006/ONE TAG, NO BUILD STEP

A single script tag, 1.9 KB over the wire. It counts client-side route changes, skips localhost so your development never reaches production, and honours Do Not Track.

007/BUILT FOR AGENTS

A REST API and an MCP server, so Claude Code or Cursor can add a site, read its stats, and paste in the snippet without anyone opening the dashboard.

008/YOUR DATA, AND ONLY YOURS

Everything you have, exportable as one JSON file. Nothing is sold, shared, or fed to an ad network — the business model is subscriptions, so there is no second customer.

THIS IS THE ACTUAL SNIPPET

One tag in your head, and you are done.

No package to install, no build step, no provider to wrap your app in. It sends the path and the referring domain, and nothing else leaves the browser.

<script
  src="https://nitur.dev/track.js"
  data-site-id="YOUR_SITE_TOKEN"
  async
></script>

USING AN AGENT? POINT IT AT THE MCP SERVER AND IT WILL CREATE THE SITE, FETCH THE TOKEN, AND PASTE THIS IN ITSELF — SEE THE DOCS.

Start counting. Stop apologising.

Sign in with an account you already have — there is no password to choose, and no card to enter. Your first site takes about a minute.

Start counting