Skip to main content

Module telemetry

Module telemetry 

Source
Expand description

Telemetry — opt-in, off by default, content-free.

Sparrow does not collect telemetry unless the user explicitly enables it via sparrow telemetry enable. This module provides the skeleton so the rest of the codebase can call telemetry::event(..) unconditionally without polluting the event stream when telemetry is off (the default).

When enabled, the only data ever sent is:

  • schema version
  • sparrow version
  • OS/arch
  • event name (one of a closed enum, see EventKind)
  • counters (latency_ms, success bool, tool name from a closed list)

Never sent: prompts, tool outputs, file contents, file paths, provider responses, identifiers other than a locally-generated random install UUID the user can rotate with sparrow telemetry rotate-id.

See PRIVACY.md for the full policy.

Structs§

TelemetryConfig
Stored telemetry preference, read from ~/.sparrow/telemetry.toml.

Enums§

EventKind
Closed enumeration of every event kind that can ever be sent. Adding a variant here is a deliberate policy decision and must be documented in PRIVACY.md.

Functions§

event
Fire a telemetry event. No-op unless telemetry is explicitly enabled. This function is intentionally infallible and side-effect-free in the default (off) state so callers do not need to guard at every call site.