Keep your product analytics honest.
Docs · Quick start · Try the demo
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, Telegram, email, webhooks, Jira, 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.
Built for product managers, analysts, and data engineers who own a tracking plan.
cp .env.example .env
docker compose -f compose.dev.yaml up --buildOpen 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).
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 |
tripl is organised around three jobs: Plan, Observe, and Govern.
📐 Plan |
📊 Observe |
🛡️ Govern |
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.
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, and
cutting a release is one command, bin/release.sh (see the
release process).
📖 The full documentation lives at docs.tripl.io/
(sources under website/docs/). Good places to start:
- Quick Start — from
docker compose upto 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.
- Variables & 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.
tripl is a FastAPI + PostgreSQL backend, a Celery worker that talks to your warehouses, and a React frontend, all runnable locally with Docker Compose.
- CONTRIBUTING.md — local setup and commands. The root
Makefilecollects the common ones; runmaketo list them. - Architecture — how the system is built, and why.
- AGENTS.md — a navigation map of the repo for coding agents.
- Code of conduct and security policy: report vulnerabilities privately, never in a public issue.
- Your first pull request asks you to sign the Contributor License Agreement once.
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.