Telemetry
Alfred can send anonymous aggregate usage totals to the public impact counter.
Reporting is enabled unless you opt out and uses Alfred’s hosted collector by
default. Set ALFRED_TELEMETRY_URL only when you want a self-hosted collector.
alfred telemetry statusalfred telemetry onalfred telemetry offIf your collector requires a token:
alfred telemetry on \ --url https://your-worker.example.com/ingest \ --token the-same-value-as-the-collectoralfred telemetry on writes the hosted endpoint and schedules the reporter.
alfred telemetry off writes ALFRED_TELEMETRY_ENABLED=0. The scheduler row can
stay installed; with telemetry off, the reporter exits cleanly and sends
nothing.
Payload
Section titled “Payload”Sent once a day:
- random install token
- lifetime Alfred-authored PRs opened
- lifetime Alfred-authored PRs merged
- lifetime Alfred-authored PRs that reached merged or closed state
- lifetime issues with an
agent:*label - lifetime issues with an
agent:*label that reached closed state - lifetime changed-file count
- lifetime changed-line count when the local brain has line counts
No repo names, branch names, PR titles, issue titles, code, logs, prompts, people, hostnames, or billing data are sent.
Public Counter
Section titled “Public Counter”Site counters use build-time seed totals and replace them with live aggregate
totals from Alfred’s hosted collector. Set PUBLIC_ALFRED_TELEMETRY_STATS_URL
only when building a fork or private counter.
Build-time seed totals can include line counts from GitHub. Anonymous local reporters send changed-line totals when the local fleet brain has cached GitHub additions and deletions.
The public GitHub examples on /impact/ are separate. They use public GitHub
metadata for luminik-io/alfred-os.
Collector
Section titled “Collector”The bundled collector lives in
telemetry/worker/.
It exposes:
POST /ingestfor install reportsPOST /registerfor per-install write tokensGET /statsfor aggregate public totals
Use REQUIRE_INSTALL_TOKEN=1 for per-install write tokens, or INGEST_TOKEN
with ALFRED_TELEMETRY_TOKEN when a private self-hosted counter should use one
shared token.
The hosted public counter uses a private trusted-reporter token for every public Impact total. Anonymous reports can be accepted by the collector, but they cannot move PR, issue, file, line, or machine totals.
Full implementation contract:
docs/TELEMETRY.md.