The privacy contract
The CLI parses your usage logs on your machine. What gets uploaded is exactly one JSON document, validated against a public schema, containing only:
- token counts (input / output / cache)
- estimated or reported cost totals
- session, project and request counts (numbers, not names)
- active-day counts, streaks, first/last activity dates
- canonical model ids (e.g.
claude-opus-4-8) - an optional display name you type yourself
The schema cannot represent prompts, code, file paths, project names, or timestamps finer than a calendar date. The CLI shows you the full payload and asks for confirmation before uploading; --dry-run never uploads at all. Your IP is not stored — only a salted daily hash used for rate limiting. A Cursor session token, when used, is read locally and sent only to cursor.com — never to our API.
Cards are self-reported statistics, like any year-in-review.
The parser and public schema are open source. View the source on GitHub.