Skip to main content
Xum collects anonymous usage telemetry to help improve the product.

Privacy policy

  • No personal information: Xum does not collect usernames, project names, file paths, or code content.
  • Random IDs only: Workspace, parent-turn, and advisor-call IDs contain no user content.
  • No hashing: Hashing is vulnerable to rainbow table attacks.
  • Transparent payload: See exactly what is sent in src/common/telemetry/payload.ts.

What Xum tracks

All telemetry events include basic system information:
  • Application version
  • Operating system platform (darwin, win32, linux)
  • Electron version

Specific events

  • App started: When the app launches (includes a first-launch flag)
  • Workspace creation: When a new workspace is created (workspace ID only)
  • Workspace switching: When you switch between workspaces (workspace IDs only)
  • Message sending: When messages are sent (model, mode, message length rounded to base-2)
  • Errors: Error types and context (no sensitive data)

Advisor completion

The backend sends advisor_call_completed after each admitted advisor call, including errors and cancellations. Calls rejected by the usage limit do not send this event. The event includes:
  • Random workspace, parent-turn, and advisor-call IDs, plus the built-in provider route.
  • A catalog model name. Unresolved custom model names become unknown.
  • The outcome, call index, and time since the previous call within the current tool instance.
  • The duration and time to the first text or reasoning token.
  • Input, uncached input, cache-read, cache-write, and output token counts.
  • Explicit Anthropic cache marker counts and their requested TTL.
  • Estimated input cost, cache-write premium, cache-read savings, and net cache savings.
Token counts, times, and costs use base-2 rounding. Unknown measurements use null, not zero. Cost estimates use catalog rates for known Anthropic models with one known TTL and complete token counts. They are not invoice charges. Mixed TTLs and unsupported pricing produce unknown costs. Net savings subtract the write premium from read savings before rounding. Negative values indicate an estimated loss. Request markers do not prove that the provider accepts or reuses a cache. The event contains no prompt content, questions, transcript hashes, cache keys, or endpoint URLs.

What Xum does not track

  • Your messages or code
  • Project names or file paths
  • API keys or credentials
  • Usernames or email addresses
  • Any personally identifiable information

Disabling telemetry

To disable telemetry, set XUM_DISABLE_TELEMETRY before starting the app:
This disables telemetry collection at the backend level.

Source code