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:
Each event includes a random UUID as the identifier, generated fresh every time and never stored or reused. This means we cannot track individual users across events.
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:1
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:2
Dashboard toggle
Go to Settings → General in the OneCLI dashboard and toggle Anonymous Telemetry off.This writes a preference file to the persistent data volume (
/app/data/telemetry-preference) that the container reads on startup.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.