Usage stats (telemetry)
Alden can send anonymous usage stats to its developers, only if you say yes. They tell us which parts of Alden people use, whether reviews get faster, and where it falls short, so we can improve it and show what it does for teams.
Saying yes or no
Alden asks once: the first time you run a command in a terminal, or with a card at the top of the queue in
alden ui. The default is no. Change your mind any time:
alden telemetry # on, off, or not asked yet
alden telemetry on
alden telemetry off # also deletes anything not yet sent
alden telemetry show # what's waiting to be sent, exactly as it would be sent
Or in alden ui: Settings → Usage stats. The answer lives in your user config (telemetry.enabled in
~/.alden/config.toml). A repo's .alden.toml can't turn it on.
It's always off when DO_NOT_TRACK is set, when ALDEN_TELEMETRY=0, and in CI. Alden never asks outside an
interactive terminal, so scripts and pipes are unaffected.
What's sent
Every event and property is listed in packages/schema/src/telemetry.ts
(published as telemetry-event.v1.json). Events are checked against it before they're queued; anything else is
dropped.
| Event | What it says |
|---|---|
command_run |
Which command (queue, review, ui, mcp, … or interactive for alden on its own), whether it worked, how long it took |
queue_ranked |
How many PRs need you, are fast-track or dismissed, across how many repos, how many your feedback moved |
review_completed |
PR or local; a salted repo hash; files and lines; languages; whether callers were looked for, and how many were found; checks flagged; places shown; how many your feedback hid; notes used; model, its status and cost; how long it took |
feedback_given |
Useful, not useful or dismiss; on a place, finding or check; which of Alden's checks |
missed_reported |
That you reported a miss, and whether you said where (not what) |
reaction_given, pr_opened, memory_changed |
The reaction; the opened PR's rank; add, edit, forget, pause… |
draft_changed |
That a comment was drafted, edited, discarded or (one of Alden's) kept; by you, Claude Code or Alden; on a line or a general note. Never its text |
draft_assisted |
That a comment or reply you saved was drafted with Alden ("Draft with Alden"), whether it's a reply or on a line, and whether you changed Alden's text first. Never the text |
review_sent |
Comment, approve or request changes; how many line comments and general notes, how many drafted by you and by Claude Code; whether there was a body; how many flagged places it didn't comment near |
review_signals |
What a review you sent taught Alden, as counts by kind: comments requesting changes, suggestions and comments near flags, flags approved past without a word, comments where Alden flagged nothing; or (source: "outcome") how many suggestions authors applied and comments they resolved since the last check. Never which check, file or line |
review_timed |
For each review you send from Alden whose briefing you opened in Alden (and only while time to review is on): how long it took, in coarse buckets (active minutes: 0–2, 2–5, 5–10, 10–20, 20–30, 30–60, 60+; opening the briefing to sending: under 15 min, under an hour, 1–4 h, 4–24 h, 1–3 days, more), whether the active time was measured in the UI or estimated from a terminal, how many flagged places you saw, how many comments were sent, whether Alden's model helped, and the verdict. Never which PR or repo, or what anything said |
tone_set |
That you changed the tone Alden drafts in: which tone (or none, a repo's own removed) and whether for one repo or the default. Never which repo |
question_asked |
That you asked the model about a PR: answered, refused (no model, no briefing, text aimed at AI reviewers, over budget), cancelled or failed; what the call cost as a bucket (under $0.01, $0.01–0.05, $0.05–0.25, more, or unpriced for a local model); and whether earlier questions went along. Never the question, the answer, or which PR or repo |
stats_viewed |
A salted repo hash, how many PRs, whether there's a before and after, and median time to first review and cycle time before and after |
telemetry_enabled |
That you said yes |
Each also carries the schema version, Alden's version, where it ran (terminal, UI, desktop app or an AI coding tool
through alden mcp), Node or the standalone binary, the OS and CPU type, and how many days since this install first
ran.
Never sent: code, diffs, PR titles or descriptions, file paths, repo names, user names, your notes, your comments, which places you saw, exact review times, model output, tokens or keys. A repo appears only as a hash salted with a random value that never leaves your machine, so we can count repos but can't work out which ones they are.
Where it goes
To PostHog in the EU (eu.i.posthog.com), in batches: after each command, and every minute
while alden ui runs. Each install has a random id (not derived from you or your machine), and events are sent
without a person profile. Events wait in ~/.alden/alden.db while you're offline, up to 5,000; turning stats off
deletes them.
The website
getalden.dev counts page views and clicks on its install, copy and Discord links, without cookies or anything stored in your browser, and not when your browser sends Do Not Track or Global Privacy Control. That's separate from Alden's usage stats, and your answer here doesn't change it. See Privacy: this website.