Compare

Vitrus vs. Rybbit

Two takes on analytics in the AI era. Rybbit is the closest thing to us in spirit: open source, cookieless, EU-hosted, and one of the few tools that already treats AI agents as first-class users via an MCP server. Since September 2026 the everyday surface is close to even — sessions, users, journeys, goals, a globe, real-time and replay on both sides — so the choice comes down to scale, maturity and what you need to be able to check.

Get started free Read the docs

Feature comparison

CapabilityRybbitVitrus
Cookie-free, no consent banner✓✓
Self-hostablePostgres + ClickHouseone process, embedded DB
Clickable query behind every number—✓
Unprovable AI sentences auto-dropped—✓
MCP server for AI agentsread + writeread-only, evidence attached
Evidence returned to the agent—✓
AI referral ↔ AI crawler splitper AI operatorper page
Verified agent identity (Web Bot Auth)—✓
Agent browser sessionsblocked as botsown class, own funnel
Daily-rotating visitor saltoptional, off by defaultalways on
Sessions list and timeline✓✓
User profiles✓identified users + traits; raw id never stored
User journeys / path analysis✓✓
Named goals with targets✓✓
Ordered funnels✓✓
Real-time view✓✓
Core Web Vitals✓✓
JavaScript error trackingwith stack tracesmessage, file and line — no stacks
Session replay✓opt-in, all text masked by default
City-level geography and mapsbundled GeoIPcity + region from your proxy's headers
Globe / map✓2D and 3D, no tile service or token
Autocapture of button clicks and copies✓—
API keys✓read-only
Import from Umami / Plausible✓Umami
Google Search Console✓✓
Hundreds of millions of events a month✓~1M/month per box
Per-site strict privacy mode—✓
Tracker size (gzipped)~18 KB2.6 KB

Features we don't have are shown as “—”. A comparison that hides its own gaps would contradict the one thing this product claims.

When to choose Rybbit

Rybbit is more mature and it scales further. Its ClickHouse backend is built for volumes our embedded database will not reach (we are comfortable up to roughly a million events a month per box). It autocaptures button clicks and copied text, which our tracker does not; it imports history from Plausible exports as well as Umami ones, and bundles a GeoIP database, so it has cities without a proxy in front. Its MCP server can create goals and manage resources — ours is deliberately read-only — and its session replay has been in production longer than ours. If any of that is what you need today, choose Rybbit.

When to choose Vitrus

When you need the answer to be checkable. Every number, list and chart in Vitrus opens the SQL that produced it; the AI digest drops any sentence whose number is not in that evidence; and our MCP returns the query and raw rows with every metric, so an agent can cite instead of assert. Pick us too if you want AI crawlers kept apart from the humans they send, agents that sign their requests verified and named, a daily-rotating visitor salt that is always on, or a self-hosted install with no database server to run.

Frequently asked

Your feature lists look similar now. What is the real difference?

Where the number comes from, and whether you can check it. Our sessions, journeys, goals and globe are built on the same rule as the rest of the product: every count opens the SQL and parameters that produced it. Theirs are more mature and scale further; ours can show their work.

You both have MCP. What is the difference there?

Theirs can act — create goals, manage resources. Ours cannot, on purpose: analytics is a system of record, and a record a model can write to stops being a record. What ours does instead is return the query behind every number, so the agent's claim is verifiable.

Their script is 18 KB and yours is under 3. Does that matter?

It matters if you care about Core Web Vitals, and less otherwise. Much of their weight is session replay. Ours is a separate file (under 5 KB gzipped) that only loads on pages that opt in with data-replay, so every other page keeps the small script — the trade-off is made per page rather than for the whole site.

They bundle GeoIP. Where do your cities come from?

From the headers your proxy already sets — Cloudflare's visitor-location managed transform, Vercel or CloudFront — with coordinates rounded to 0.1 degree. We still do not ship a GeoIP database: a 60 MB file with a monthly update cycle would end the one-command install. Without those headers the globe says which header is missing instead of drawing an empty map, and country-only sessions are counted but never pinned to a country's centre.

Surveying the whole landscape?

Other comparisons: