Skip to content
tripl-ioPublic

About

Analytics tracking plan service

Topics

Resources

Code of conduct

Contributing

Security policy

Stars

3 stars

Watchers

0 watching

Forks

tripl

tripl

Keep your product analytics honest.

Docs · Quick start · Live demo

An event in tripl: a +197% volume spike flagged against its baseline, the week of volume behind it, a verdict to give, and the breakdown attributing 85% of the jump to iOS

A volume spike on one event, attributed to the slice that caused it.


tripl keeps your tracking plan — the events, fields, and values your product is supposed to send — and checks it continuously against the events that actually land in your warehouse. When the two diverge, it tells you.

  • Plan as code. One catalog for every event, field, and value; changes are made on branches, reviewed, and merged.
  • Checked against real data. Scans read your warehouse tables and propose events and fields; reconciliation flags what is undocumented and what stopped arriving.
  • Anomalies with a cause. Seasonal baselines per event, schema and value drift, release regressions — each signal broken down by the slice that moved.
  • Alerts where your team works. Slack, Microsoft Teams, Telegram, PagerDuty, email, webhooks, Jira and Linear.

No SDK. tripl reads from the warehouse you already have — ClickHouse, BigQuery, Databricks, Snowflake, Amazon Redshift, Greenplum, Trino, Amazon Athena, or PostgreSQL — and never writes to it. Snowflake, Amazon Redshift, Amazon Athena and Trino are in preview: their connectors have not yet passed the value suite against a live warehouse (proven versus believed).

Built for product managers, analysts, and data engineers who own a tracking plan.


Quick start

To look around without installing anything, open the hosted demo at demo.tripl.io: sign in with Google and you get a demo project of your own. It runs the newest code on main, which can be ahead of the latest release.

To run it yourself:

cp .env.example .env
docker compose -f compose.dev.yaml up --build

Open http://localhost:5173, create the first account, and click Generate demo project. No warehouse is needed: the demo builds a project with events, fields, a week of metrics, and a few anomalies, backed by a local synthetic warehouse. Scans, metric collection, anomaly detection, and reconciliation run against it for real (what is synthetic).

This trial stack listens on localhost (127.0.0.1) only; from another machine, use an SSH tunnel (ssh -L 5173:127.0.0.1:5173 <host>) or the production stack below. Until you set ENCRYPTION_KEY in .env (the recipe is in .env.example), warehouse credentials are stored unencrypted, so set it before you connect a real warehouse.

To use your own data, add a warehouse under Settings → Data sources and follow the Quick Start guide.

Local dev stack URL
App http://localhost:5173
API http://localhost:8000
API reference (interactive) http://localhost:8000/docs

What's inside

tripl is organised around three jobs: Plan, Observe, and Govern.

A plan branch under review: its status, the change it makes, and what it would affect downstream

📐 Plan
Every event, field, and value in one searchable catalog. Changes go on a branch and are reviewed before they merge, like a pull request for your tracking plan.

A project's Overview: open signals, plan coverage, a week of volume and the busiest events

📊 Observe
Anomaly detection that learns each event's daily and weekly rhythm, plus schema drift, release regressions, and a metrics catalog. Every signal shows which slice of the data moved.

Reconciliation: how much of the real data matches the plan, events seen but not documented, and documented events that stopped arriving

🛡️ Govern
Reconciliation answers two questions: what's documented but no longer arriving, and what's arriving but was never documented. Coverage, an audit log, and roles round it out.

Automation. Scoped, revocable API keys; a CLI (pip install tripl); and an MCP server (tripl-mcp) through which an LLM agent can search the plan and propose changes on a branch.

See Concepts for how the pieces fit together.


Deployment

The default compose.yaml runs the published release image: set your secrets, run docker compose up -d, and the app comes up on :8000. The deployment guide covers the rest.

Telemetry is on by default in Community. The server sends one anonymous usage ping a day: an instance id, the version and edition, which warehouse engines are in use and a few rounded counts, never names, emails, hosts, queries or data. To turn it off, set TELEMETRY_ENABLED=false (or DO_NOT_TRACK=1) in .env and restart with docker compose up -d. Telemetry lists every field. Enterprise has it off by default.


Documentation

📖 The full documentation lives at docs.tripl.io/ (sources under website/docs/). Good places to start:

  • Quick Start — from docker compose up to a scanned plan, your own metrics, and a first alert.
  • Concepts — tracking plans, events, branches, and monitors, in plain language.
  • User guide — a hands-on walkthrough from your first project to a working alert.
  • Properties & templates — documented values, source bindings, per-event overrides, and value drift.
  • Agent & API guide — letting an LLM agent or a script read and update the plan.

Contributing

tripl is a FastAPI + PostgreSQL backend, a Celery worker that talks to your warehouses, and a React frontend, all runnable locally with Docker Compose.


License

The server and the web app are licensed under the GNU AGPL v3.0 or later. The CLI and the MCP server are licensed under the Apache License 2.0.

"Tripl" and the Tripl logo are trademarks. The code licenses do not cover them; see TRADEMARKS.md.

About

Analytics tracking plan service

Topics

Resources

Code of conduct

Contributing

Security policy

Stars

3 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages