coordination for Claude Code teams
Telemetry & privacy

What leaves your machine, and what doesn't

telemai is self-hosted. Your code, your file paths and your team's conversations stay on the server one of your engineers runs. The only thing that can reach us is an optional daily ping of counts, and the email address you give this website's updates form.

What your own server stores

The host's Postgres holds the project's shared log. It is on the host engineer's machine, behind per-engineer tokens, and we have no access to it. It contains:

To diff an edit, Claude Code's hook sends the server the edited file's content before and after the edit. The server diffs it in memory and keeps only the exported declarations that changed; the file content is not stored. mai host stop --purge deletes the database.

Telemetry: off by default

A host can opt in with mai host --telemetry; --no-telemetry turns it off again. When on, the server sends one ping a day to our collector with exactly these fields and nothing else:

FieldWhat it is
installIdA random id minted once per server database.
sentAtWhen the ping was sent.
version, commitThe server build.
uptimeSSeconds since the server started.
teams, engineersHow many of each.
activeLeads24hLead sessions seen in the last 24 hours.
events24hEvent counts by type in the last 24 hours, for example {"file_edited": 120, "contract_changed": 3}.
critical24hHow many of those were critical.

Never sent: file paths, symbols, code, team or engineer names, emails, tokens, messages. The sender is packages/server/src/telemetry/ping.ts in the source, and its test checks the field list against this one. This is how we learn whether telemai is catching anything for anyone; it is the whole of what we learn.

This website

Contact

To stop the updates, use the unsubscribe link in any of them. To ask what we hold about you, or for anything else: reply to any email from us, or write to the address in the telemai package metadata on npm.