Telemetry & Privacy
The CodeBurn desktop app can send a small amount of anonymous product telemetry so we can see which features get used and where the app is slow or breaking. It is entirely optional, it is never tied to who you are, and you can turn it off at any time. This page is the complete, plain-language account of what it does.
You opt in at first launch
The very first time you open the app, a consent screen asks whether you want to share anonymous telemetry. Nothing is ever sent before you answer, and nothing is sent while the toggle is off.
The default on that screen is region-aware. In the EU and EEA, the UK, and Switzerland the toggle starts off. Everywhere else it starts on. If your region cannot be determined, it starts off. Either way the choice is yours, and you make it on that screen.
One anonymous identifier, and it is disposable
The only identifier attached to telemetry is a random install ID generated locally on your device. It is not derived from your hardware, account, or network. There is no fingerprinting.
If you opt out, that ID is thrown away and replaced with a fresh random one. Any future data therefore cannot be linked back to anything sent before, so opting out genuinely breaks the thread.
What is collected
Every batch carries the app version, your operating system and CPU architecture, and a coarse country code. Timestamps are recorded at day granularity only, never a precise time. Alongside that, these events:
App opens
A signal each time you open the app. Sent once more when you finish the first-launch consent screen. No other detail.
Session length
When you quit, how long the session ran, rounded to whole minutes. Nothing about what you did in it.
Section views
Which section you open: Overview, Sessions, Spend, Optimize, Models, Compare, Plans, or Settings. The section name only.
Cold start performance
How many milliseconds the first data load takes after launch, and whether it timed out. Timing only.
Error kinds
When a background data read fails, the kind of error (for example “timeout”). The category only, never a message, stack, path, or payload.
A once-daily usage snapshot
At most one anonymous aggregate per calendar day, built from your default view. Its full contents are broken out below.
Inside the once-daily usage snapshot
This is the richest event, so it gets its own breakdown. It is an aggregate, capped at one per calendar day, taken from your standard all-providers view so the buckets stay stable:
Period label
The date range the snapshot summarizes, such as “Last 30 days”.
Provider count
How many providers were detected. A count, not their names.
Total cost bucket
Your total spend mapped to one coarse range, never a number.
Top model names (up to 8)
The names of your most-used models, each paired with a coarse cost bucket and, when it can be determined, the single task category that model is used for most (for example “coding” or “debugging”). Names, buckets, and one category label per model only — never a dollar figure.
Task categories (up to 12)
The mix of task categories you work in — coding, debugging, refactoring, and so on — each with its one-shot rate: the share of tasks resolved on the first attempt, rounded to two decimals (or marked unavailable). Category names and rates only.
MCP servers used (up to 12)
The names of the MCP servers you have configured and use, each with a coarse usage bucket. Server names are configuration identifiers, like model names — never their arguments, paths, or results.
Skills used (up to 12)
The names of the skills you invoke, each with a coarse usage bucket. Skill names only, never their inputs, prompts, or output.
Cost is never a raw number. It is placed into one of these coarse buckets (in US dollars):
Usage counts — how often each MCP server or skill was used — are coarsened the same way, never an exact tally:
What is never collected
None of the following ever leaves your machine through telemetry:
- Your prompts or conversations
- Your code, diffs, or file contents
- File paths, folder names, or project names
- Raw dollar amounts (spend is always bucketed into coarse ranges)
- API keys, tokens, or credentials
- Your name, email, IP address, or anything else that identifies you
The receiving server is built to match: it validates each batch, discards anything unexpected, and never records your IP address or user agent.
Turning it off
The toggle lives in Settings › Privacy. Turning it off stops everything at once: any queued events are dropped, nothing further is sent, and your install ID is rotated. You can turn it back on from the same place whenever you like.
