Skip to content

Conversation

@ai-cora
Copy link
Collaborator

@ai-cora ai-cora commented Dec 19, 2025

Summary

  • Add interactive telemetry consent prompt to the voice-mode-install script
  • Users can opt-in or opt-out during installation with a clear explanation
  • Respects privacy standards (DO_NOT_TRACK, existing preferences)

Changes

Added two functions to docs/web/install.sh:

  1. configure_telemetry_consent() - Main consent prompt:

    • Displays clear explanation of what telemetry collects
    • Links to privacy documentation
    • Defaults to "no" (opt-in model)
    • Skips in CI/non-interactive mode
    • Respects DO_NOT_TRACK environment variable
    • Checks if preference already set
  2. set_telemetry_preference() - Config writer:

    • Creates ~/.voicemode/voicemode.env if needed
    • Sets VOICEMODE_TELEMETRY=true|false
    • Handles macOS/Linux sed differences

Consent Text Preview

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
                    📊 Help Improve VoiceMode
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

VoiceMode includes optional telemetry to help improve the project.

If enabled, we collect:
  • Anonymous usage statistics (session counts, provider choices)
  • Performance metrics (response times)
  • Error rates (no message content)

Your data is never sold and helps us make VoiceMode better.
Learn more: https://voicemode.dev/docs/privacy

Would you like to enable telemetry? [y/N]:

Test plan

  • Run installer in interactive mode - verify prompt appears
  • Answer 'y' - verify config file created with VOICEMODE_TELEMETRY="true"
  • Answer 'n' or Enter - verify config file has VOICEMODE_TELEMETRY="false"
  • Set DO_NOT_TRACK=1 - verify prompt is skipped
  • Set VOICEMODE_TELEMETRY=true - verify prompt is skipped
  • Run with --non-interactive - verify defaults to disabled
  • Run with --ci - verify skipped entirely

Dependencies

This PR depends on #141 (VM-152 telemetry system) and should be merged after it.

🤖 Generated with Claude Code

ai-cora and others added 2 commits December 19, 2025 22:04
…249)

Add interactive telemetry consent prompt to the voice-mode-install script,
allowing users to opt-in or opt-out during installation.

Features:
- Clear explanation of what telemetry collects (anonymous stats, performance metrics)
- Link to privacy documentation (https://voicemode.dev/docs/privacy)
- Defaults to "no" (opt-in, not opt-out)
- Respects DO_NOT_TRACK environment variable (universal opt-out standard)
- Skips prompt if VOICEMODE_TELEMETRY already set in env or config
- Skips in CI/non-interactive mode (defaults to disabled)
- Saves preference to ~/.voicemode/voicemode.env

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
Add VOICEMODE_TELEMETRY and VOICEMODE_TELEMETRY_ENDPOINT to the default
config template that gets created on first run. This makes telemetry
configuration discoverable for users who explore their config file.

The template values match the os.getenv defaults already in config.py:
- VOICEMODE_TELEMETRY defaults to "ask"
- VOICEMODE_TELEMETRY_ENDPOINT uses the project default

Also includes a note about DO_NOT_TRACK and privacy docs link.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants