Skip to Content
Fingerprint ProtectionAudio Fingerprinting

Audio Fingerprinting

The Web Audio API exposes device-specific audio processing characteristics. BotBrowser provides deterministic noise protection for all AudioContext-based tracking surfaces.


Prerequisites


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=false

Noise 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=42

The 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:

  1. Launch BotBrowser with a profile and visit a fingerprint testing site such as BrowserLeaks  or CreepJS .
  2. Confirm that the reported AudioContext hash and audio processing values match the profile configuration, not the host machine.
  3. To verify reproducibility, launch two sessions with the same --bot-noise-seed and confirm that the audio fingerprint output is identical.

Troubleshooting / FAQ

ProblemSolution
Audio fingerprint changes between sessionsUse --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 outputVerify 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 threadThis should not happen with BotBrowser. Check that the profile is loaded and noise is enabled. Report the issue if it persists.
AudioContext not availableSome headless configurations may not initialize audio. Ensure the BotBrowser binary supports audio in your deployment mode.

Next Steps


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.