← All FeaturesFeature

Privacy-First Analytics

BetterMeter gives you the analytics you need without compromising your users' privacy. No cookies, no fingerprinting, no personal data. Install it and forget about consent banners.

How we protect privacy

01

Zero cookies

The tracker script sets no cookies, uses no localStorage, and performs no fingerprinting. It is completely stateless — every pageview is an independent HTTP request.

02

SHA-256 hashed identifiers

IP addresses are hashed using SHA-256 with the current date included in the hash input. The raw IP is never stored. Daily visitor hashes rotate every 24 hours, preventing long-term tracking from the hash alone.

03

No PII collection

The web tracker collects only URL, referrer, screen width, timezone, and user-agent. The CLI/MCP/API SDK collects only command/tool/endpoint names — never arguments, file paths, or request bodies.

04

Under 1KB

The tracking script is a single IIFE under 1KB gzipped. It loads asynchronously with the defer attribute and never blocks page rendering.

05

Fire-and-forget

Analytics calls use navigator.sendBeacon (or fetch with keepalive). Failures are silently swallowed. Analytics should never break your site or your CLI tool.

06

Opt-out support

For the Node SDK, set disabled: true in config or BETTERMETER_DISABLED=1 as an environment variable. All tracking methods become no-ops.

GDPR compliance

Because BetterMeter collects no personal data and sets no cookies, it falls outside the scope of GDPR consent requirements for analytics. You do not need a cookie banner or consent management platform to use BetterMeter.

This follows the same legal interpretation used by privacy-first analytics tools like Plausible Analytics and Fathom, which do not require consent banners under this approach.

Open and auditable

Every event — web, CLI, MCP, or API — flows through the same processEvent()function. You can read the source code and audit exactly what data is collected, how it's processed, and what gets stored in the database.