Skip to content

ADR-0011: No telemetry; opt-out variables are reserved

Status: Accepted Date: 2026-09-24

Context

ADR-0006 allows telemetry only if it is opt-out and never required for function. NFR-S05 requires honoring DO_NOT_TRACK=1. jeba is local-first and offline-capable (ADR-0004); a hosted telemetry endpoint would add a network dependency and a privacy surface for no functional gain. OD-2 asked for the default and the exact variables.

Decision

The project sends no telemetry and does not implement a telemetry endpoint or install id. jeba.telemetry is a no-op guard: it always reports disabled and never performs network I/O. The variables JEBA_TELEMETRY and DO_NOT_TRACK are reserved and documented so that any future telemetry is opt-out by construction — DO_NOT_TRACK=1 (or JEBA_TELEMETRY=0) must disable it, and it must never block offline use.

Consequences

Positive: Zero privacy surface; nothing to trust; no offline coupling. Negative: No adoption metrics; any future telemetry needs a new ADR and endpoint work. Neutral / follow-ups: If metrics are ever needed, a separate integration (not core) is the right home.

Alternatives Considered

  • Opt-out (on by default) — contradicts the local-first posture and needs trust in a hash id.
  • Opt-in (JEBA_TELEMETRY=1) — safer than opt-out but still unnecessary for M5 scope.
  • ADR-0004 (local-first), ADR-0006 (license/telemetry), NFR-S05, OPS-08