Telemetry
The open-source engine sends nothing. It has no analytics host and no project key. A self-hosted process does not report its version, counts, or uptime.
The CLI asks once and defaults to No. Apito Cloud sends two server events, and only from api.apito.io: the first successful public API call for a project, and a plan change.
Turn it off
- CLI:
apito telemetry disable, orDO_NOT_TRACK=1, orAPITO_TELEMETRY=0 - A CI variable (
CI,GITHUB_ACTIONS,GITLAB_CI,BUILDKITE,CIRCLECI,JENKINS_URL,TF_BUILD) or a non-interactive shell never prompts and never sends CLI events - The engine has no switch because it never sends
apito telemetry status prints the saved choice and the last payload. The prompt default is No.
Where it goes
The CLI, the install script, and the cloud engine POST to https://telemetry.apito.io/capture. That host accepts only the event names on this page. It adds the project key on the server and drops IP headers. The clients do not contain the key. Events stay for 12 months, then they are deleted.
GitHub release checks in the CLI (update, version lookup, self-upgrade, install) are not telemetry. They only ask GitHub whether a newer release exists.
The install script sends cli_install after a successful install. The body is the OS, the architecture, and the CLI version. It skips the same DO_NOT_TRACK, APITO_TELEMETRY=0, and CI checks. A failed install sends nothing.
CLI fields
selfhost_started, cli_command_run, apito_start_success, apito_start_failure, cli_login_completed.
| Field | Example |
|---|---|
| install_id | random id stored in ~/.apito/telemetry.json |
| cli_version | the binary version |
| os | darwin or linux |
| arch | amd64 or arm64 |
| is_docker | true or false |
| driver | sqlite for Studio |
| command | the command name, for cli_command_run |
| stage | studio |
| error_code | port_busy, docker, not_ready, or start_failed |
Cloud fields
| Event | Fields |
|---|---|
| first_api_call | project_id, protocol (graphql or rest). Sent once per project from api.apito.io. The distinct id is the project owner id. |
| plan_upgraded | from_plan, to_plan, interval (month, year, or unknown) |
Never collected
Arguments, flag values, file paths, hosts, IP addresses, schema or model names, environment values, keys, tokens, email addresses, and error text.
Sample CLI body:
{"event":"selfhost_started","properties":{"install_id":"cli_example","cli_version":"dev","os":"darwin","arch":"arm64","is_docker":"false","driver":"sqlite","product":"apito","surface":"cli"}}