---
title: "Privacy and data"
description: "What stays on your machine, where antiburn's local store lives, and the exact outbound connections it makes."
url: "https://antiburn.ai/docs/privacy/privacy-and-data/"
---
## Local-first, by construction

antiburn needs no account and no backend of its own to do its main work. It reads the session files your coding agents already keep on this machine, analyzes them locally, and keeps what it needs in its own local store. Your sessions, transcripts, prompts, messages, titles, source code, file contents, filenames, paths, repository or branch names, working directories, token counts, costs, and credentials are never uploaded.

## Where the data lives

antiburn keeps a local SQLite database inside the application's own data directory. On macOS that's `~/Library/Application Support/ai.antiburn.desktop/antiburn.sqlite3`; Windows and Linux use the equivalent standard per-application data location for this platform. **Settings → About** shows the exact path for your machine, with a button to reveal it.

That store can hold session content and derived data needed for visibility and analysis — messages, tool activity, file content recorded in a transcript, session identity and locations, counts, durations, token totals, phase distributions, cost estimates, skill details, and derived evidence about which models, tools, skills, and MCP servers a session used. It never stores the transcript's raw text as a separate export target, and it's never uploaded.

Your coding agents' own transcript files stay exactly where they are. antiburn may copy data out of them into its own store, but it never modifies or deletes the source files, and it cannot delete an agent's own conversation — that's the agent's job, in the agent's own interface.

**Retention** is yours to choose in **Settings → Privacy**: 30 days, 90 days, or forever (the default). Forever can preserve history after a provider's own 30-day retention window; a shorter period keeps the local index lighter. Deleting a transcript from disk doesn't immediately delete what antiburn derived from it — that follows the retention period you've set, unless you clear the index yourself. "Clear the local index" in the same pane removes everything antiburn has stored, without touching your agents' files, and a later scan finds them again.

## The exact outbound connections

Beyond analytics and updates, every connection antiburn makes is traffic you'd be making anyway, just made on your behalf:

- **Model pricing.** antiburn downloads a public model-price catalog from models.dev at startup and hourly while it runs, so it can turn transcript token counts into cost estimates. This request carries no session data or credentials, and the last valid copy stays on this machine.
- **Provider live usage.** With **Settings → Usage → Keep my plan limits current** on (the default once setup completes), antiburn asks each provider directly for your current plan usage — using the credential your own coding tool already holds on this machine, such as the Claude CLI's own OAuth credential or the Codex CLI's own record. This is your own traffic, as you, over your own connection; no antiburn server sees the request or the response. Turn the switch off and antiburn makes none of these requests, reads no credential, and shows no plan limits.
- **Anonymised product analytics.** The one thing antiburn reports to a service of ours. Release builds start with it on, including during onboarding; the opt-out is in **Settings → Privacy**, or set `ANTIBURN_ANALYTICS_ENABLED=false` in the app's launch environment. The event schema is a closed set of twenty-two fields with no free-form field — a constant platform tag, random per-message/installation/run identifiers (the installation id rotates every 30 days), the event name and its timing, processor architecture and OS, a count rounded into a range where relevant, up to two labels from a fixed vocabulary (which setting changed, which agent recorded a session, what kind of failure occurred — never the value), and, for one diagnostic event, a coarse account of Claude's session-limit reset behavior. Sessions, transcripts, prompts, titles, file paths, repository or branch names, token counts, costs, and credentials are never part of it. It's absent entirely from development builds and from any build made from a clean checkout of the source — the endpoint is injected at build time and isn't in the tree.
- **Update check.** The updater asks GitHub Releases whether a newer version exists. The check sends nothing about you, your machine, or your sessions. It runs on a schedule only when "Install updates automatically" is on, and can always be run by hand from Settings → About; development builds carry no updater at all.

There is no third-party analytics, telemetry, or crash-reporting SDK anywhere in antiburn. The channel above is first-party and the only one.

## The legal policy

This page describes antiburn's behavior. The [Privacy Policy](/privacy/) is the legal document covering the analytics endpoint, operated by Cadence AI (Vic) Pty Ltd — read it there rather than here.
