OpenClaw telemetry
This service answers the daily update check that OpenClaw installs make, and records anonymous aggregates from it. Everything it does is in this repository.
What an install sends
Once every 24 hours an install asks this service for the latest OpenClaw version. That request carries a User-Agent:
openclaw/2026.8.2 (darwin; node/v26.0.1; arm64; gateway)
If — and only if — the operator answered yes to “Help make OpenClaw better?” during setup, the same request carries a small body of feature facts:
{
"schema": 1,
"version": "2026.8.2",
"platform": "darwin-arm64",
"node": "26.0.1",
"surface": "gateway",
"features": {
"channels": ["telegram", "discord"],
"providerFamilies": ["anthropic", "openai"],
"pluginsEnabled": 7,
"sessionsLast24h": 14
}
}
That question defaults to no, and installs that were never asked interactively — Docker, CI, scripted setups — never send it.
What we never collect
- Message content, prompts, model output, file contents, or file paths
- Credentials, tokens, or secret references
- IP addresses, hostnames, usernames, or account identifiers
- Any install ID or device ID — daily pings are unlinkable, so we cannot tell whether two reports came from the same machine
How to turn it off
| Command or setting | Effect |
|---|---|
openclaw telemetry off | Stops the feature-stats body. Update checks continue. |
DO_NOT_TRACK=1 | Same, enforced from the environment. |
update.checkOnStart: false | Stops all of it. No update check, no telemetry, nothing leaves the machine. |
Run openclaw telemetry show to print the exact request your install would make right now.
What we learn
Loading aggregates…