Speech Synthesis Protection
The SpeechSynthesis API exposes platform identity through voice enumeration. BotBrowser controls voice lists to maintain consistent identity across sessions.
Prerequisites
- Familiarity with Browser Fingerprinting Explained.
- BotBrowser installed with a valid profile. See Installation.
Quick Start
chromium-browser \
--bot-profile="path/to/profile.enc"Start with this launch to establish a clean baseline before adding extra overrides.
Overview
The speech synthesis voice list varies by operating system, browser build, and installed language packs, making it a privacy-relevant surface. BotBrowser controls voice enumeration at the browser engine level to ensure consistent platform identity.
Configuration
Speech Voices Mode
Control voice list behavior with --bot-speech-voices:
# Use profile-defined synthetic voice list (default)
--bot-speech-voices=profile
# Use real system voices (no protection)
--bot-speech-voices=realWhen set to profile, BotBrowser returns a voice list consistent with the profile’s declared platform and browser brand. This ensures voice data aligns with all other identity surfaces.
Voice selection and ordering remain consistent when a profile targets a different host platform. Locale-specific voices are selected from the profile policy before the browser exposes the list to page content.
When the selected voice cannot be served directly, playback uses an available local voice for the same language. The page receives normal start and completion events.
How BotBrowser Provides Protection
BotBrowser generates a complete, platform-consistent voice list at the browser engine level. The voice list matches the profile’s declared platform and browser brand. All voice properties and ordering are profile-appropriate. No JavaScript interception is used, so voice loading follows the standard browser pattern.
Common Scenarios
- Capture a baseline result using the Quick Start setup.
- Change one relevant setting at a time and compare the new output.
- Keep your final launch command documented so future checks are reproducible.
Troubleshooting / FAQ
| Problem | Solution |
|---|---|
| Voice list shows host system voices | Verify --bot-speech-voices=profile is set. |
| Google TTS voices missing in Chrome profile | Ensure --bot-browser-brand=chrome is active. Non-Chrome brands do not include Google voices. |
| Voice list empty | Some headless configurations may not initialize speech synthesis. Check profile compatibility. |
| Voice language doesn’t match profile locale | Verify --bot-languages and --bot-locale are consistent with the profile. |
Next Steps
- Navigator Properties. Other browser API surfaces that reveal platform identity.
- Browser Fingerprinting Explained. The full fingerprinting landscape.
- CLI Flags Reference. All speech and media configuration flags.
Related documentation: Advanced Features: Complete Fingerprint Control
Legal Disclaimer & Terms of Use • Responsible Use Guidelines. BotBrowser is for authorized fingerprint protection and privacy research only.
Related BotBrowser blog: Speech Synthesis Voice Lists: A Safe Troubleshooting Guide