Telemetry
What the anonymous adoption ping contains and how to turn it off.
Heyo Status can send one anonymous adoption ping. It exists to show which runtimes, databases and features are actually used, and it is designed so that nothing identifying can be in it.
Defaults to true.
Defaults to "https://telemetry.heyo.sh/v1/status". Must be an HTTP(S) URL.
Opting out
Any of these disables it, and environment opt-outs always win over the configuration flag:
| Method | Effect |
|---|---|
telemetry: false | Disabled in configuration. |
HEYO_TELEMETRY_DISABLED=1 | Disabled by environment. |
DO_NOT_TRACK=1 | Disabled by the standard opt-out variable. |
CI=true | Automation is not adoption. |
NODE_ENV=test | Test runs never report. |
While telemetry is enabled, heyo-status dev prints a single line saying so:
What is sent
The ping is only sent by heyo-status dev — not on requests, not on check
runs, not from a deployed server. The payload is:
projectId is the first eight bytes of SHA-256("heyo-status:" + siteUrl || title) — a stable, irreversible hash used only to avoid counting the same
project twice.
What is never sent
- Monitor names, URLs, hosts, ports or request headers
- Incident and maintenance content
- Subscriber addresses or webhook URLs
- Tokens, secrets, connection strings or webhook endpoints
- Check results, uptime values or latencies
- IP addresses or any visitor data
Failure behaviour
reportTelemetry() resolves to false instead of throwing, has a two-second
timeout, and is never awaited on a path that matters. Telemetry cannot break
a check run, a request or a CLI command.
Inspecting it yourself
Point endpoint at your own collector if you want the same adoption signal
for an internal fleet of status pages.