Audio Fingerprinting
The Web Audio API exposes device-specific audio processing characteristics. BotBrowser provides deterministic noise protection for all AudioContext-based tracking surfaces.
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
Web Audio API output can be used as a tracking identifier because it varies across devices and platforms. BotBrowser’s profile-driven noise ensures the reported audio output matches the declared platform, maintaining consistent identity across sessions.
Configuration
Enabling/Disabling Audio Noise
AudioContext noise is enabled by default. To control it explicitly:
# Enable audio context noise (default)
--bot-config-noise-audio-context=true
# Disable audio context noise
--bot-config-noise-audio-context=falseNoise Seed for Reproducibility
Use --bot-noise-seed to produce a specific, reproducible audio fingerprint:
# Each seed produces a unique but stable audio fingerprint
--bot-noise-seed=42The noise seed affects AudioContext output alongside Canvas, WebGL, and other surfaces simultaneously.
Cross-Worker Consistency
BotBrowser ensures that AudioContext fingerprints remain consistent across the main thread, Web Workers, and Service Workers within the same session.
How BotBrowser Provides Protection
BotBrowser applies deterministic noise to all Web Audio API output at the browser engine level. Audio properties, processing results, and frequency data all receive consistent noise controlled by the profile. Protection covers all execution contexts including Workers. API call patterns and timing remain consistent with native browser behavior.
Effect Verification
To verify protection is active:
- Launch BotBrowser with a profile and visit a fingerprint testing site such as BrowserLeaks or CreepJS .
- Confirm that the reported AudioContext hash and audio processing values match the profile configuration, not the host machine.
- To verify reproducibility, launch two sessions with the same
--bot-noise-seedand confirm that the audio fingerprint output is identical.
Troubleshooting / FAQ
| Problem | Solution |
|---|---|
| Audio fingerprint changes between sessions | Use --bot-noise-seed with a fixed value for reproducible output. Without a fixed seed, noise varies per session by design. |
| Audio fingerprint matches raw system output | Verify the profile is loaded with --bot-profile. Check for startup errors. Confirm --bot-config-noise-audio-context is not set to false. |
| Different audio hash in Worker vs main thread | This should not happen with BotBrowser. Check that the profile is loaded and noise is enabled. Report the issue if it persists. |
| AudioContext not available | Some headless configurations may not initialize audio. Ensure the BotBrowser binary supports audio in your deployment mode. |
Next Steps
- AudioLab. Record and analyze Web Audio API calls for forensic inspection.
- Canvas Fingerprinting. Another rendering-based fingerprint surface.
- Performance Fingerprinting. Timing as a tracking vector.
- Browser Fingerprinting Explained. The full fingerprinting landscape.
- CLI Flags Reference. All noise and configuration flags.
Related documentation: Advanced Features: Multi-Layer Fingerprint Noise | AudioLab Forensics Tool | CLI Flags Reference
Legal Disclaimer & Terms of Use • Responsible Use Guidelines . BotBrowser is for authorized fingerprint protection and privacy research only.