Privacy

Privacy policy

contextbill reads Claude Code transcripts and works out what they cost. The transcripts are the sensitive part, so the product is built so they never reach us. Last updated August 26, 2026.

The short version

Your transcripts are parsed inside your own browser tab. Only the numbers that come out the other side are saved: totals, per-model spend, and per-session counts. No prompt, no completion, no file content and no raw transcript line is ever sent to us, because there is no column in the database that could hold one.

What we store

When you save a report, these are written to our database and nothing else is:

What we never store

This is enforced by the schema rather than by policy. Across all four tables every column is a number, a boolean, a timestamp, a UUID or a short identifier. There is no json, text blob or attachment column, so there is nowhere for message content to go even by mistake.

Project names are redacted before they are stored

Claude Code names project folders after their path, so a raw folder name can contain your operating system username and your directory layout. contextbill strips that before a report is saved. If you want the full paths in a local report, the command line tool has a --show-paths flag; that output stays on your machine.

Cookies

contextbill sets one kind of cookie: the session cookie that keeps you signed in, issued by Supabase Auth and named sb-…-auth-token. It is strictly necessary, in the sense that the product cannot have accounts without it, and it is deleted when you sign out.

There are no analytics cookies, no advertising cookies and no third-party tracking scripts on this site. That is why you were not asked to accept anything: under the GDPR and the ePrivacy Directive, a cookie that is strictly necessary to deliver a service the user asked for does not require consent, and a banner asking permission for cookies we do not set would be theatre rather than protection. If that ever changes, a real consent banner appears here first.

Web fonts are served from our own domain. next/font downloads them at build time, so loading a page does not tell Google you visited.

Who else processes your data

Your data is not sold, rented, or shared with anyone else.

Who can read your reports

Only you. Every table is protected by row-level security in Postgres, with policies that match rows against the signed-in user. The key shipped to your browser is a publishable key with no privileges of its own, so the protection does not depend on the application behaving correctly.

How long it is kept

Reports are kept until you ask for them to be removed, because the point of saving them is to compare a number against the same number next month.

Your rights

You can ask for a copy of everything associated with your account, ask for corrections, or ask for it to be deleted. Deletion removes your reports and your account, and it is not recoverable afterwards.

Every saved report carries a delete button on its own page. Deleting one removes the saved totals and the per-category, per-model and per-session rows that belong to it, immediately and permanently. Nothing is retained afterwards and there is no recovery, so treat it as final.

To delete the account itself along with every report under it, open an issue on GitHub and say which account it concerns. If you would rather not have an account at all, the command line tool runs the same analysis with no network access and no sign in.

Children

contextbill is a developer tool and is not directed at children under 13. We do not knowingly collect their information.

Changes

If this policy changes, the date at the top changes with it. The site is open source, so the full history of this page is public in the repository.

Contact

Open an issue on GitHub. For anything you would rather not discuss in public, mark it as such in the issue and we will find another channel.