Skip to content

Telemetry

Runaway sends an anonymous daily ping so the project can count active installs and see which features get used. It’s on by default for new installs, sends only counts and version strings, and you can turn it off anytime. Installs created before this became the default stay off unless you opt in.

Every field is a count, a version string, or a coarse bucket.

| Field | Example | Meaning | |---|---|---| | schemaVersion | 1 | Payload version. | | telemetryId | a random UUID | Per-install random ID — see The telemetry ID. | | hubVersion | 1.0.0 | Hub version. | | nodeVersion | 22.20.0 | Node version the hub runs on. | | platform / arch | linux / x64 | Hub OS and CPU architecture. | | counts | see below | Integer counts of your fleet. | | hostPlatforms | { linux: 3, darwin: 1, … } | Host OS spread, counts per bucket. | | hostArchitectures | { amd64: 3, arm64: 1, … } | Host CPU spread, counts per bucket. | | features | see below | Which features are in use, as booleans. | | observedAt | epoch ms | When the snapshot was taken. |

countsorgs, workloads, a per-runtime-tier breakdown (workloadsNone, workloadsSharedDaemon, workloadsDind, workloadsSysbox, workloadsKata), hosts, hostsOnline, runners, runnersIdle, runnersBusy, jobsLast24h.

features (each a yes/no) — webhooksEnabled, autoscalerActive, storageCapEnabled, isolatedRuntimeUsed, registryCredsConfigured, customEnvUsed.

To see the exact JSON your hub would send: Settings → Telemetry → Show me what we send.

  • Org, account, or repository names
  • Hostnames, IP addresses, or URLs
  • Personal access tokens, registry passwords, webhook secrets, or any credential
  • Email addresses or account details
  • Job logs, workflow contents, or runner output

Only the fields above leave the hub. The collector function is contract-tested, so a new field can’t be added quietly.

telemetryId is a random UUID generated per install, separate from the install’s internal identity. It exists only to deduplicate pings — so one install counts once — and isn’t tied to your GitHub account, your Docker hosts, or anything else.

Opt out and the ID is discarded: past pings can’t be linked back to you. Opt back in later and a fresh ID is minted, with no link to the old one.

The first ping goes out about 30 minutes after a fresh install starts, then once a day. A failed send is dropped silently — no retry, no queue. With no internet egress (air-gapped, say), nothing leaves and nothing breaks.

Pings go to a collector the Runaway maintainers host. It’s open source — a small ingest service in the public <owner>/runaway-telemetry repository — so you can read exactly what receives and stores them.