On Deck
← On Deck

What On Deck collects

This page describes what the On Deck code in this repository does. If it ever disagrees with the code, the code is right.

In short

What stays on your machine

On Deck watches your Claude Code sessions through Claude Code's hooks and status line. Those hooks post events to a server on 127.0.0.1 (this computer only) that requires a token created at install time.

On Deck keeps its data in its data folder:

File What it holds
state.json Your settings and session preferences (favorites, groups, mute, names you gave sessions). For sessions seen recently it also keeps the session name, the project folder (cwd), start and last-seen times, the last status and context percentage. Sessions older than 30 days are removed.
token The token of the local server (file mode 0600 where the system supports it).
logs/hub.log On Deck's own log, up to 512 KB per file, one previous file kept. Prompt text and tool inputs are not written to it.
telemetry.json, telemetry-queue.json, install-id, uninstall-ref Usage-statistics state described below.

On Deck reads the session registry in ~/.claude/sessions and, from Claude Code transcripts, one record type that marks a conversation handed to a new session. It does not read anything else from transcripts.

On Deck changes ~/.claude/settings.json only when you press Install or Uninstall, and it makes a timestamped backup first. Deleting the data folder does not remove the hooks; use Uninstall in Settings for that.

Anonymous usage statistics

On by default. On the first launch a notice explains it. Nothing is sent until you have closed the notice, or it has been on screen for five minutes. Events recorded before that wait in a queue on your machine.

Turn it off: Settings → Privacy. When it is off, On Deck records nothing, clears the queue and removes the copy of the install id that the Windows uninstaller reads.

Every request carries: the random install id, app version, operating system and its version, CPU architecture and the interface language.

The install id is a random UUID created on the first launch. It is not derived from anything on your machine and is not linked to your name or account.

Events (the full schema is in src/main/telemetry/props.ts):

Events are sent in batches of up to 100, about once a minute. Nothing in an event is free text.

Where they go: to the On Deck API, a server run by the developer (PostgreSQL, with Grafana dashboards). It is not a third-party analytics service. The address is in src/main/telemetry/api.ts. The server does not store IP addresses: the address is used only in memory, hashed, to apply rate limits. Nightly database backups are kept for 14 days.

Bug reports

A report is sent only when you open Found a bug? Send us a report (the bug icon in the top bar, or Settings → Support) and press Send report. The full diagnostic text is shown first, so you can read it. You can also Save to file instead; then nothing leaves your computer.

A report contains:

Everything passes through a redaction step that removes the On Deck token, bearer values, bot tokens and your home folder (shown as ~). Paths to tools and to the hook scripts can still appear, with the home folder replaced.

Screenshot (optional). The screenshot is of the On Deck window as it is on screen. It is on by default when available, and the form says so. It can show session names and task text (the latest prompt is shown in the Task column). Untick Screenshot of the On Deck window to leave it out.

The report is stored on the On Deck server and forwarded to the developer's Telegram chat. The request also carries the install id, like every request.

Feedback

Send feedback sends the text you wrote (up to 4,000 characters) and the contact you optionally typed, together with the app version, system and install id. It is stored on the On Deck server and forwarded to the developer's Telegram chat.

Survey

After you have used On Deck on at least three different days, and at least seven days after the install, the app may show a short survey card: how you would feel without On Deck, and optionally what it gives you, what is missing, and a contact. Answers are sent only when you press the button. One answer is kept per install; a new one replaces it. The card can be declined, and then it is not shown again.

Update checks

Installed builds check the public release repository Y0LAREN/ondeck-releases on GitHub, 15 seconds after start and then every four hours. The check fetches release information only. Installing an update requires your click.

The request goes to GitHub, which sees the usual request data, such as your IP address. On Deck does not add its install id to it.

Windows uninstall page

On Windows, uninstalling may open a short page asking why you left. Your answer is stored on the On Deck server and forwarded to the developer's Telegram chat. It is linked to your install only while statistics are on.

Never sent

Automatically, On Deck never sends:

Two cases are your choice. If you write a name or path into a report, feedback or survey, or if the report screenshot shows one, it is sent when you click Send.

Your choices