Skip to content

Telemetry

OneTool fires a single anonymous event via the PostHog SDK on each server start. This gives the project basic usage visibility — how many machines are running OneTool, on which platforms, and which versions — without tracking individual users or their work.

What is collected

Field Value
event Event type: server-installed, server-upgraded, or server-started
version OneTool version (e.g. 1.2.3)
os Operating system (e.g. macOS, Linux, Windows)
arch CPU architecture (e.g. arm64, x86_64)
python_version Python major.minor version (e.g. 3.11)
version_from Previous version — only on server-upgraded events
version_to New version — only on server-upgraded events
machine UUID Anonymous stable identifier stored as telemetry in your OT_DIR (alongside onetool.yaml)
IP address Source IP of the machine running OneTool, captured by PostHog at ingestion

What is NOT collected

  • User identity, account names, or any personal data
  • Tool call contents, prompts, or AI responses
  • File paths, config values, or secrets
  • Person profiles ($process_person_profile: false is set on all events)

How opt-out works

Via config file (onetool.yaml):

telemetry:
  enabled: false

Via environment variable:

export DO_NOT_TRACK=1

When this env var is set to a non-empty, non-zero value, no event is sent.

Marker file

OneTool writes a telemetry file in your OT_DIR (alongside onetool.yaml) containing the current version and an anonymous UUID to distinguish server-installed, server-upgraded, and server-started events. This file is local to your machine. Most users have a single config for their whole machine, so the UUID is effectively machine-scoped. The UUID is a randomly generated identifier with no link to your identity.