How Phare Built Privacy-First Product Analytics With Vemetric
"I'm super happy with the dashboard and don't care that I can't customize it, everything I need is already shown."
Founder
Phare is a European website reliability platform founded by Nicolas Beauvais. It gives teams the tools they need to monitor uptime and certificates, manage incidents, and keep customers informed with status pages.
Privacy has been part of Phare from the start. Users only need an email address to create an account, and the platform avoids collecting data that is not essential. When it was time to revisit the analytics stack, the same principles needed to apply there too.
The Challenge: Analytics Had Become Heavier Than the Questions
Phare started using PostHog in 2022. Its EU data residency and generous free tier made it a sensible choice for a young product, but over time the platform grew more sophisticated than Phare’s analytics needs.
Maintaining custom dashboards just to find a few important metrics was not worth the overhead. Phare needed a focused view of product adoption and retention without the time spent navigating or configuring a larger analytics suite.
At the same time, Phare was moving away from non-European third-party services and looking to support other independent European developers where possible. Vemetric, built in Austria by a fellow solo founder, matched both the technical requirements and the values behind the product.
The Solution: Lightweight Analytics on a European Stack
A standard Vemetric integration takes only a few minutes. Phare went further, routing its analytics traffic through a dedicated Bunny.net pull zone to apply extra privacy controls at the European edge before requests reached Vemetric.
The result is a deliberately lean setup: Vemetric provides the website and product analytics, while Bunny.net handles the additional edge processing Phare wanted. The dashboard stays ready to use without requiring a custom reporting layer to be built and maintained.
Measuring Organizations, Not People
Phare is a B2B product built around organizations, so individual user tracking would add personal data without answering the questions that matter. Each organization’s ID is used as the common identifier for analytics instead.
Before that ID leaves Phare’s servers, it is anonymized with HMAC-SHA256 and a secret salt. Vemetric receives no customer names, email addresses, or internal user IDs. Team changes do not fragment the data either: if someone joins or leaves an organization, product usage and retention remain connected to the account rather than the individual.
We plan on providing proper organization tracking in the future, but Phare’s approach already shows how to use Vemetric’s existing features to measure adoption across whole organizations instead of individual users.
Anonymizing IP Addresses at the Edge
Phare also prevents raw client IP addresses from reaching Vemetric. Its Bunny.net pull zone strips cookies, processes traffic only in EU regions, and runs middleware that anonymizes IP addresses before forwarding a request.
For IPv4 addresses, the final octet is removed. IPv6 addresses are truncated to their /64 prefix. That preserves useful country- and city-level reporting while ensuring Vemetric’s servers never receive the original client IP.
This architecture lets Phare retain the geographic context needed to operate a global uptime monitoring platform without turning analytics into a source of personal data.
Keeping IDs and Tokens Out of Pageviews
Dynamic application URLs can accidentally expose private information. A monitor-edit page may contain an internal record ID, while an invitation or password-reset link may include a sensitive token.
Phare uses Vemetric’s maskPaths configuration to normalize those URLs before they are tracked. A path such as /uptime/monitors/9482 becomes /uptime/monitors/* in the dashboard.
That protects sensitive values and keeps reporting useful by grouping thousands of unique dynamic URLs into a small set of meaningful product areas.
Connecting Pageviews With Product Events
Frontend analytics show which parts of Phare people visit, but Nicolas also wanted to understand whether organizations reach important product milestones. Phare therefore sends Custom Events from queued backend jobs when an organization creates an uptime monitor, resolves an incident, or publishes a status page.
These events use the same anonymized organization identifier as the frontend script. Vemetric can connect pageviews and server-side actions into coherent User Journeys and Funnels, even when an action comes through Phare’s API rather than the browser.
The Impact: Useful Analytics Without the Overhead
With Vemetric, Phare replaced a broad analytics suite with a focused stack that fits the product’s current stage. Phare gets the metrics it needs without maintaining custom dashboards, keeps analytics data in Europe, and has a setup designed around organizations instead of people.
The switch also removed roughly 200 KB of JavaScript from Phare’s frontend. More importantly, it gave the product a practical way to measure adoption, retention, and critical workflows without compromising its privacy standards.
For Phare, the best analytics setup is not the one with the most options. It is the one that answers the right questions, stays out of the way, and handles customer data with the same care as the product itself.
Nicolas also published a technical deep dive into Phare’s Vemetric and Bunny.net setup.
Phare
phare.io
Industry
Uptime Monitoring Platform
Location
Company Size
1 person
Vemetric Plan
Ready to understand your users?
Start tracking