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§
- Telemetry
Config - Stored telemetry preference, read from
~/.sparrow/telemetry.toml.
Enums§
- Event
Kind - 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.