Overview
OneCLI collects anonymous install and update lifecycle events to help us understand adoption and prioritize development. Telemetry is enabled by default and can be disabled at any time.What we collect
OneCLI sends exactly two event types, and only when the container starts:| Event | When | Properties |
|---|---|---|
install_complete | First time the container starts | version, edition, auth_mode, arch |
update_complete | Container starts with a new version | version, old_version, edition, auth_mode, arch |
Example payload
What we do NOT collect
- No hostnames or domain names
- No usernames, emails, or personal information
- No secret values, agent names, or API endpoints
- No usage patterns, feature flags, or request counts
- No persistent identifiers (each event gets a fresh random UUID)
How to opt out
Two ways to disable telemetry:Environment variable
Set the widely-adopted This takes the highest priority and overrides the dashboard setting.In Docker Compose:
DO_NOT_TRACK variable in your Docker environment or .env file:How it works
Telemetry runs in the container entrypoint (docker/entrypoint.sh), after database migrations and before the gateway and web app start:
- Check the consent chain:
DO_NOT_TRACKenv var → preference file → default (enabled) - Compare the current version against a marker file (
/app/data/.onecli-version) - If it’s a new install or version change, send a single HTTP POST to PostHog in the background
- The request has a 5-second timeout and runs asynchronously, so it never blocks startup
docker/entrypoint.sh.