For engineering leaders paying for AI tools

You are paying for AI coding. Now you can see what it returns.

Kintri.ai puts the cost and token usage of Claude Code, Gemini CLI, Codex CLI and any OTLP tool next to commits, merged pull requests and reviews, per developer and per team. Prompt content is never collected. Set up in five minutes per machine.

Free for up to 5 developers · No credit card

Sign-in uses GitHub OAuth for identity only. It grants no access to repository contents.

Dashboard
AI-tool telemetry and GitHub activity, per UTC day.
Developers
+9.0% vs previous period
24
1,412 sessions
Cost
+8.4% vs previous period
$3,184
412M tokens
Acceptance
+3.1% vs previous period
71%
6,930 / 9,760
PRs merged
+19% vs previous period
322
391 opened

Sample data. Last 30 days vs previous 30 days.

For teams running Claude Code, Gemini CLI, Codex CLI and other OTLP tools

  • Prompt content is never collected
  • GitHub App or PAT, encrypted at rest
  • One ingest token per machine
  • Self-hostable: Docker or Kustomize, PostgreSQL

Cost next to output

One row per developer. Spend on the left, shipped on the right.

Every Claude Code session reports tokens in, tokens out, cache reads, cache writes and cost in USD; Gemini CLI, Codex CLI and other OTLP tools are received and stored under their own names. Every GitHub sync reports commits, additions and deletions, pull requests opened and merged, and reviews given. Kintri.ai rolls it up per developer per day, so the leaderboard can be sorted by cost, by merged PRs, or by anything in between.

  • Cost in USD per developer, per team and per day, straight from the tool's own telemetry, not estimated from a price list
  • Cache read tokens broken out, so you can see who is benefitting from prompt caching and who is paying full price
  • Commits, +/- lines, PRs opened, PRs merged and reviews given from GitHub, on the same row
  • Sort the leaderboard by any column. Figures cover the selected period.

Leaderboard

Sort by any column. Figures cover the selected period.

DeveloperCostPRs merged
dev-4f1a$41238
dev-9b0c$38831
dev-2e77$30122
dev-c3d1$24519
dev-71aa$1097
dev-e805$232

Sample data. Pseudonymization is on: managers see stable pseudonyms such as dev-4f1a instead of names.

Effectiveness, not just spend

Accepted edits, rejected edits, API errors. The signals behind the invoice.

Cost alone tells you who uses the tool the most. Acceptance rate tells you whether the tool's output survives contact with the developer. Kintri.ai records accepted versus rejected edits per session, lines added and removed by the assistant, and API errors, then charts them per day so a drop is visible the week it happens, not at the quarterly review.

Acceptance rate
+3.1% vs previous period
71%
6,930 accepted / 2,830 rejected, last 30 days
Lines by AI tool
+9.0% vs previous period
+31.6k / −12.4k
Accepted edits only, Claude Code
API errors
-12% vs previous period
0.6%
84 errors across 14,110 requests

Tool acceptance

Accepted and rejected edits per UTC day

  • Accepted
  • Rejected

Acceptance is computed from Claude Code's tool-decision events. Codex CLI sends a matching event that is stored today and not yet charted. It is a usage signal, not a code-quality verdict.

Per developer, per team, per day

From one invoice to a page for every team.

A workspace holds your company. Inside it, teams group developers, and every developer has a page: sessions, active time, cost, tokens, acceptance, commits and merged PRs over any date range, compared with the previous range. Team pages roll the same figures up. Members see their own data, managers see their teams, owners and admins see the workspace.

Dashboard

Workspace totals with deltas against the previous period, four time-series charts and the sortable leaderboard.

Team pages

The same tiles and charts for one team, so a manager can answer "is it working for us" without asking for a report.

  • Owner
  • Admin
  • Manager
  • Member

Developer pages

Daily series for one person, including cache-read share, accepted versus rejected edits and GitHub activity. Pseudonymized if the workspace requires it.

GitHub, the other half

Install the GitHub App once. Every repository is discovered and kept in sync.

Connect a GitHub App (recommended: webhooks plus polling, scoped to the repositories you choose) or a personal access token encrypted at rest. Kintri.ai discovers repositories, lets you include or exclude them with glob patterns such as platform/* or !*-archive, and syncs commit, pull-request and review history into the same daily rollups the AI-tool telemetry lands in.

  • GitHub App with webhooks and polling, or a PAT encrypted at rest
  • Repository discovery with include/exclude globs
  • Commits with additions and deletions, PRs opened and merged, reviews given
  • Developers are matched to their GitHub identity through GitHub OAuth sign-in

Repositories

Repositories mirrored by the GitHub sync worker.

Synced 2 min ago
platform/*, !*-archive
  • platform/apiincluded
  • platform/webincluded
  • platform/ingestincluded
  • payments/ledgerincluded
  • platform/legacy-archiveexcluded
  • sandbox/experimentsexcluded

How it works

Three steps. The third one takes five minutes per machine.

  1. 1

    Create a workspace

    Sign in with GitHub, name the workspace for your team or company, invite owners, admins, managers and members.

  2. 2

    Connect GitHub

    Install the GitHub App on your organisation or paste a personal access token. Choose repositories with include and exclude globs. History starts syncing immediately.

  3. 3

    Point your tool at Kintri.ai

    Each developer creates one ingest token and switches on the OpenTelemetry export in their tool, once per machine. The Telemetry setup page in the app covers Claude Code, Gemini CLI, Codex CLI and any OTLP tool. From the next session onward, telemetry arrives; Claude Code fills the daily rollups today, other tools are stored under their own names until their rollups land.

  1. Claude Code · Gemini CLI · Codex CLI · any OTLP tool → em-ingest (Rust, OTLP/HTTP)
  2. GitHub (App or PAT) → em-sync (Rust)
  3. PostgreSQL daily rollup per developer → leaderboard, developer and team pages
  4. prompts never leave the machine
Claude Code · ~/.zshrc or settings.json
export CLAUDE_CODE_ENABLE_TELEMETRY=1
export OTEL_METRICS_EXPORTER=otlp
export OTEL_LOGS_EXPORTER=otlp
export OTEL_EXPORTER_OTLP_PROTOCOL=http/protobuf
export OTEL_EXPORTER_OTLP_ENDPOINT=https://<ingest-host>
export OTEL_EXPORTER_OTLP_HEADERS="Authorization=Bearer <token>"

Shown for Claude Code. Gemini CLI and Codex CLI use their own settings files. The exact values, with your endpoint and token filled in, are on the Telemetry setup page once you are signed in.

Privacy is the product, not the footnote

We measure the work. We never read the prompts.

Kintri.ai ingests counts and timings from the OpenTelemetry export of Claude Code, Gemini CLI, Codex CLI or any OTLP tool: sessions, active seconds, tokens, cost, lines, accepted and rejected edits, API errors. Prompt text is never stored; only prompt length is recorded. Everything else is designed for a European engineering organisation with a works council, a DPO and an auditor.

Developer machine · never leaves

  • prompts
  • file contents
  • model output

ingest boundary · Kintri.ai

  • sessions
  • active time
  • tokens in / out
  • cache tokens
  • cost USD
  • lines +/−
  • accepted / rejected
  • API errors
  • prompt length
  • commits · PRs · reviews
  • No prompt content

    Only metrics and counters leave the developer's machine, whichever tool sends them. The ingest path strips prompt-bearing attributes before anything is written; prompt text is never stored, only its length.

  • Retention with a ceiling

    Raw telemetry is kept 90 days by default as platform policy. Daily rollups and the audit log may be kept up to 3 years. A workspace can shorten its rollup and audit windows below the platform values, never lengthen them.

  • Pseudonymization

    When on, managers see stable pseudonyms instead of names and emails. Owners and admins always see identities, and everyone always sees themselves.

  • Role-based access

    Owner, admin, manager and member roles. Members see their own data, managers the developers on their teams, admins and owners the workspace.

  • Append-only audit log

    Every read of another person's data and every administrative change is recorded and cannot be edited. Export it for your auditor.

  • Self-hosted option

    Run the whole stack on your infrastructure with Docker or Kustomize: web app, Rust ingest and sync workers, PostgreSQL. Your data never leaves your network.

Designed with GDPR, NIS2 and DORA obligations in mind. Kintri.ai is a measurement tool, not legal advice; your DPIA stays yours, and we would rather make it short. Data-processing agreement available on Enterprise.

Pricing

Priced per developer, like the tool you are measuring.

Privacy is not a tier. No prompt collection, pseudonymization, retention limits and the audit log are in every plan, including Free. You pay for developers and for how long you keep the history.

Free

Small teams trying it on one repository set

$0
per workspace
No credit card
  • Up to 5 developers
  • 1 workspace, 1 GitHub connection (App or PAT)
  • Dashboard, leaderboard, developer and team pages
  • Raw telemetry 90 days (platform policy), daily rollups 90 days
  • No prompt collection, pseudonymization and audit log included
  • GitHub OAuth sign-in
Start free with GitHub
Most teams

Team

Engineering organisations that need teams, longer history and multiple connections

$10
per developer / month
Billed annually, $120 per developer per year
  • Unlimited developers, billed per active developer
  • Teams and team pages, manager role scoped to teams
  • Multiple GitHub connections and repository include/exclude globs
  • Raw telemetry 90 days, daily rollups up to 3 years
  • Append-only audit log with export
  • Per-workspace privacy and retention settings
  • Email support, next business day
Start with Team

Enterprise / Self-hosted

Regulated organisations and teams that must keep developer data on their own infrastructure

Custom
per contract
Annual agreement
  • Everything in Team
  • Self-hosted with Docker or Kustomize: web app, Rust ingest and sync workers, PostgreSQL
  • Data-processing agreement and security questionnaire support
  • Single sign-on for the web app, alongside GitHub OAuth
  • Retention windows aligned to your policy, within platform ceilings
Start on the free tier

Prices in USD, excluding VAT. A developer is anyone who sent AI-tool telemetry or had synced GitHub activity in the billing month. Owners and admins who only read dashboards are not billed. Annual billing is ten months for twelve.

Questions

The questions we get from security, legal and finance.

What exactly is sent from a developer's machine?

Only what the tool's OpenTelemetry export emits. For Claude Code that is session counts, active seconds, input and output tokens, cache read and cache creation tokens, cost in USD, lines added and removed, accepted and rejected edits, API errors, and the length of each prompt. Gemini CLI and Codex CLI send their own equivalents. The text of prompts, responses and files is stripped by the ingest worker before anything is written and is never stored.

Which AI coding tools are supported?

Claude Code, Gemini CLI and Codex CLI have built-in OpenTelemetry exporters; any other tool that speaks OTLP/HTTP works through the standard OTEL_* variables. Every metric Claude Code sends appears on the dashboards. Gemini CLI, Codex CLI and other OTLP tools are received and stored today under their own metric names; the dashboards chart Claude Code's names, the rest follows. Cursor, GitHub Copilot and IDE plugins have no client-side exporter and are not collected.

Does the GitHub sign-in give you access to our code?

No. Sign-in uses GitHub OAuth for identity only. Repository activity is read through a separate GitHub App installation (recommended, webhooks plus polling) or a personal access token you provide, which is encrypted at rest. You choose which repositories are included with include and exclude globs; the sync worker reads commit, pull-request and review metadata.

Who can see individual developers by name?

Owners and admins see identities. When pseudonymization is on for the workspace, managers see stable pseudonyms instead of names and emails, scoped to the developers on their teams. Every developer always sees their own data. Changes to this setting are written to the append-only audit log.

How long is data kept, and can we shorten it?

Raw telemetry is kept 90 days by default; that window is platform policy. Daily rollups and the audit log may be kept up to 3 years, and a workspace can shorten those windows below the platform values but never lengthen them.

How is a developer counted for billing?

Anyone who sent telemetry from Claude Code, Gemini CLI, Codex CLI or another OTLP tool, or had synced GitHub activity in the workspace during the billing month. Someone on leave with no activity is not billed that month. Owners and admins who only read dashboards are not billed. Inactive developers still appear in history within your retention window.

How does annual billing work?

Annual Team plans are charged at $120 per developer per year, the equivalent of ten monthly payments, so two months are free. You commit to a developer count for the year and can add developers at the pro-rated annual rate at any time. Monthly plans can be cancelled at any time and stop at the end of the current month.

Can we run it entirely on our own infrastructure?

Yes. The Enterprise / Self-hosted tier ships the full stack for Docker or Kustomize: the Next.js web app, the Rust ingest and sync workers and PostgreSQL. Developers point their tool's OTLP endpoint at your ingest host and nothing leaves your network. The web app makes no third-party script, font or image requests.

Is Kintri.ai GDPR, NIS2 and DORA compliant?

Kintri.ai is designed to be GDPR, NIS2 and DORA aware: data minimisation by schema, pseudonymization, enforced retention, role-based access and an exportable audit log. Compliance is a property of your processing, not of a tool, so your DPIA and records of processing remain yours; the Enterprise tier includes a DPA and help with your security questionnaire.

The next invoice is coming. Know what it bought.

Create a workspace, connect GitHub and point your developers' AI tools at it: Claude Code, Gemini CLI, Codex CLI or any OTLP tool. Your first daily rollup lands tomorrow morning for Claude Code; other tools are stored from day one. Nothing about your prompts ever leaves the machine.

Free for up to 5 developers. No card required.