Skip to docs content
Telemetry
Open Source
Fair Source
Updated 2026-10-26

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, or DO_NOT_TRACK=1, or APITO_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"}}