feat(privacy): add DO_NOT_TRACK and DISABLE_TELEMETRY env vars under C3 privacy #128

Merged
rootiest merged 1 commits from feat/do-not-track-privacy-env into main 2026-09-04 02:40:54 +00:00
Owner

Summary

Adds universal telemetry opt-out environment variables ($DO_NOT_TRACK=1 and $DISABLE_TELEMETRY=1) to the global shell configuration, gated under an opinionated C3 (Overrides) sub-category named privacy.

Tools, runtimes, and AI-agent utilities increasingly check $DO_NOT_TRACK and $DISABLE_TELEMETRY to determine their default telemetry reporting state. Having them defined and truthy by default aligns with user privacy goals while remaining cleanly toggleable via the opinionated component cascade.

Key Changes

  • config.fish: Added # site privacy: overrides/privacy component registration and exported $DO_NOT_TRACK 1 / $DISABLE_TELEMETRY 1 in the global environment variables block.
  • functions/__config_settings_subcats.fish: Added the privacy sub-category under C3 (__fish_config_op_overrides) so it appears in config-settings as a toggleable row.
  • config-settings TUI: Enables persistent (-U) or session-scoped (-g) toggling of __fish_config_op_overrides_privacy.
  • SSOT Documentation: Documented in docs/manual/08-components-reference/03-c3-key-and-environment-overrides.md, incremented sub-category count in index.md, and mapped index keywords in docs/fish-config.index.
  • Tests: Added test_privacy_variables and test_privacy_op_registry_lookup to tests/functional.fish.

Verification

  • Verify that starting fish exports DO_NOT_TRACK=1 and DISABLE_TELEMETRY=1.
  • Run config-settings, open Universal -> C3 Overrides, and verify the Privacy toggle row is present.
  • Test toggling Privacy OFF (set -g __fish_config_op_overrides_privacy 0) and verify __fish_config_op_enabled config privacy exits 1.
  • Run python3 docs/verify-manual.py (74/74 passed).
  • Run fish -i -c 'source tests/functional.fish; functional_test_main' (15/15 passed).
## Summary Adds universal telemetry opt-out environment variables (`$DO_NOT_TRACK=1` and `$DISABLE_TELEMETRY=1`) to the global shell configuration, gated under an opinionated C3 (Overrides) sub-category named `privacy`. Tools, runtimes, and AI-agent utilities increasingly check `$DO_NOT_TRACK` and `$DISABLE_TELEMETRY` to determine their default telemetry reporting state. Having them defined and truthy by default aligns with user privacy goals while remaining cleanly toggleable via the opinionated component cascade. ## Key Changes - **`config.fish`**: Added `# site privacy: overrides/privacy` component registration and exported `$DO_NOT_TRACK 1` / `$DISABLE_TELEMETRY 1` in the global environment variables block. - **`functions/__config_settings_subcats.fish`**: Added the `privacy` sub-category under C3 (`__fish_config_op_overrides`) so it appears in `config-settings` as a toggleable row. - **`config-settings` TUI**: Enables persistent (`-U`) or session-scoped (`-g`) toggling of `__fish_config_op_overrides_privacy`. - **SSOT Documentation**: Documented in `docs/manual/08-components-reference/03-c3-key-and-environment-overrides.md`, incremented sub-category count in `index.md`, and mapped index keywords in `docs/fish-config.index`. - **Tests**: Added `test_privacy_variables` and `test_privacy_op_registry_lookup` to `tests/functional.fish`. ## Verification - [x] Verify that starting fish exports `DO_NOT_TRACK=1` and `DISABLE_TELEMETRY=1`. - [x] Run `config-settings`, open Universal -> C3 Overrides, and verify the `Privacy` toggle row is present. - [x] Test toggling Privacy OFF (`set -g __fish_config_op_overrides_privacy 0`) and verify `__fish_config_op_enabled config privacy` exits 1. - [x] Run `python3 docs/verify-manual.py` (74/74 passed). - [x] Run `fish -i -c 'source tests/functional.fish; functional_test_main'` (15/15 passed).
rootiest added 1 commit 2026-09-04 02:38:53 +00:00
rootiest merged commit 76afcd5e13 into main 2026-09-04 02:40:54 +00:00
rootiest deleted branch feat/do-not-track-privacy-env 2026-09-04 02:41:07 +00:00
Sign in to join this conversation.
No Reviewers
No labels
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: rootiest/fish-config#128