Skip to main content
Total Events 263
Total Sessions 92
Data Age 60d
Retention Limit 60d

Consent Distribution

How visitors have configured their consent preferences

How this works

Three tiers: 'necessary' (no analytics tracking, only session management), 'analytics' (page views, device info, country), 'full' (all data including behavioral tracking). Device and country fields are NULL for 'necessary' tier visitors.

Data Retention Policy

How long analytics data is stored before automatic deletion

Raw Events
60 days Individual pageviews, actions, and timing events
Aggregates
365 days Daily rollups — no individual visitor data
Visitor IDs
SHA-256 hashed IP addresses are never stored in raw form

Anonymization Verification

Live proof that privacy measures are active

Visitor ID Hashing

All visitor IDs are SHA-256 hashed before storage. Format: v_[hex]

Consent-Gated Fields

Device and country fields are NULL for 'necessary' consent tier visitors

No Raw IP Storage

No column in the schema stores raw IP addresses

Server-Side Only

No client-side tracking scripts — all collection happens server-side

Synthetic Seed Data

Demo uses deterministic faker seed (42) — zero real user data

How privacy-first analytics works

Consent Tiers

The system implements three consent tiers, each collecting progressively more data:

  • Necessary — Session management only. No device, country, or behavioral data.
  • Analytics — Page views, device type, browser, and country. Enables aggregate dashboards.
  • Full — All analytics data plus behavioral tracking (custom events, timing).

Data Flow

  1. Server hook captures request → hashes IP + User-Agent into visitor ID
  2. Consent tier determines which fields are populated vs NULL
  3. Raw events stored with full timestamp for 60 days
  4. Daily rollup job aggregates into daily_page_stats (no individual data)
  5. Cleanup job deletes raw events past retention window

GDPR Compliance Path

For production use with real data, this architecture satisfies:

  • Article 5(1)(c) — Data minimization via consent tiers
  • Article 5(1)(e) — Storage limitation via automated retention
  • Article 25 — Privacy by design via server-side collection and hashing
  • Article 17 — Right to erasure via visitor ID lookup and deletion