Prisme Analytics
A self-hosted, privacy-focused web analytics platform built on Go and ClickHouse, with a ~2KB cookieless tracking script and Grafana-based dashboards for users, teams, and multi-organization access.
Prisme Analytics is a privacy-focused, cookieless alternative to Google Analytics, built as a Go ingestion service backed by ClickHouse for event storage. Its tracking script is deliberately tiny (about 2KB, roughly 22x smaller than Google Analytics’ script) and it also supports a single-pixel, JavaScript-free tracking fallback for environments that block scripts.
Rather than building a custom dashboard UI from scratch, Prisme integrates directly with Grafana, inheriting Grafana’s user management, team management, permissions, multi-organization support, and custom dashboard building instead of reimplementing all of that itself. Visitor geolocation uses an embedded GeoIP/ASN database bundled into the binary, so the service doesn’t need to call an external geolocation API to enrich events.
The project is licensed AGPL-3.0 by default, with the tracker/ and deploy/ directories carved out under MIT specifically so the client-side tracking script and deployment configs can be embedded freely. Prisme also offers an optional hosted Prisme Cloud, but the README is explicit that self-hosted installs get the same feature set with no vendor lock-in.
What You Get
- A Go-based ingestion server storing events in ClickHouse for fast analytical queries at scale
- A ~2KB cookieless tracking script plus a single-pixel, JavaScript-free tracking fallback
- Grafana-integrated dashboards inheriting Grafana’s user, team, permission, and multi-org management
- An embedded GeoIP/ASN database for visitor geolocation without external API calls
Common Use Cases
- Replacing Google Analytics with a cookieless, GDPR/PECR-friendly analytics setup that doesn’t require a cookie banner
- Self-hosting web analytics for high-traffic sites, using ClickHouse for ingestion performance the README claims exceeds 50,000 req/s on commodity hardware
- Giving multiple teams or organizations their own analytics dashboards and permissions through Grafana instead of building custom access control
- Tracking single-page applications, since the script works automatically with pushState-based client-side routers
Under The Hood
Architecture
Prisme separates concerns cleanly across cmd/ (the prisme server binary plus utility binaries like uaparser, ip2country, and addevents), pkg/ (ClickHouse client, event models, HTTP handlers, services, middlewares), and tracker/ (the client-side script, MIT-licensed separately so it can be embedded anywhere). Rather than building its own visualization and access-control layer, it delegates dashboards, users, teams, and permissions to Grafana — a deliberate choice to avoid re-implementing a full analytics UI and instead compose with existing infrastructure teams likely already run.
Tech Stack
Go for the ingestion server and CLI tooling, ClickHouse for event storage and analytical queries, Grafana for dashboards and access control, and an embedded GeoIP/ASN database (pkg/embedded/geodb) bundled directly into the binary for offline geolocation. Deployment is Docker-based, with Nix flake support (flake.nix) for reproducible builds, and end-to-end tests run via Deno (tests/deno).
Code Quality
The repo has a dedicated tests/ directory covering both Deno-based end-to-end tests and a perf/ performance-testing suite, plus a documented OpenAPI spec (openapi.yml) for the HTTP API — signals of a project built with API stability and ingestion throughput as explicit concerns, though GitHub activity metrics show fairly low recent commit velocity for a project of its scope.
What Makes It Unique Most self-hosted analytics tools ship a full custom dashboard; Prisme instead treats Grafana as its dashboard and access-control layer, which means self-hosters inherit mature multi-org/team/permission management for free instead of a project reinventing (and likely under-building) that surface itself.
Self-Hosting
Licensing Model
AGPL-3.0 by default; the tracker/ (client-side script) and deploy/ directories are separately MIT-licensed so they can be embedded without AGPL obligations.
Self-Hosting Restrictions None — the README states explicitly: “No vendor lock-in: all features are available in Open Source versions.”
Cloud vs Self-Hosted Prisme Cloud is offered as an optional hosted alternative to self-hosting, but per the project’s own claim, it doesn’t add features unavailable in the self-hosted build.
License Key Required No.
Related Apps
Grafana
Monitoring · Analytics
The open-source observability platform that unifies metrics, logs, and traces from any data source into dynamic, queryable dashboards.
Grafana
AGPL 3.0OpenBB
Databases · Analytics · Invoicing Finance
The AI Workspace for Finance: Connect Data, Run AI Agents, Build Analytics
OpenBB
OtherClickHouse
Databases · Analytics · Data Engineering
Open-source column-oriented database that delivers real-time analytical queries on petabyte-scale data with millisecond latency.