Fingerprint Protection
Review surface-by-surface protection for canvas, WebGL, fonts, media, timing, navigator properties, and worker consistency.
New to this section? Start with Browser Fingerprinting Overview.
Use This Section When You Need To
- You need to understand which browser surfaces BotBrowser protects.
- You want to debug a specific fingerprint signal such as canvas, WebGL, fonts, or timing.
- You need deterministic behavior across pages, workers, and repeated sessions.
Recommended Reading Order
- Browser Fingerprinting Overview - What browser fingerprinting is, why it matters for privacy, and how BotBrowser provides comprehensive protection.
- Canvas Fingerprinting - Check canvas fingerprinting in your own browser: read the hash with toDataURL and getImageData, compare two runs, keep output stable per profile.
- WebGL Fingerprinting - Check your WebGL fingerprint: read the unmasked vendor and renderer strings, compare two runs, and keep GPU signals consistent per profile.
- Navigator Properties - Keep navigator properties aligned with the selected BotBrowser profile so platform, device, and language values stay consistent across pages and workers.
All Guides
| Guide | Description |
|---|---|
| Browser Fingerprinting Overview | What browser fingerprinting is, why it matters for privacy, and how BotBrowser provides comprehensive protection. |
| Canvas Fingerprinting | Check canvas fingerprinting in your own browser: read the hash with toDataURL and getImageData, compare two runs, keep output stable per profile. |
| WebGL Fingerprinting | Check your WebGL fingerprint: read the unmasked vendor and renderer strings, compare two runs, and keep GPU signals consistent per profile. |
| Font Fingerprinting | Font fingerprinting in BotBrowser: keep installed fonts and text metrics consistent across platforms, and verify which fonts a page can detect. |
| CSS Signal Consistency | CSS features can leak platform and hardware information. BotBrowser normalizes these signals for consistent privacy protection. |
| Audio Fingerprinting | Web Audio fingerprinting in BotBrowser: AudioContext output stays deterministic per profile instead of leaking device-specific processing. |
| Performance Fingerprinting | Performance timing and execution speed create a hardware-level fingerprint. BotBrowser provides comprehensive protection against timing-based tracking. |
| Performance Timing Protection | Performance timing protection in BotBrowser: keep performance.now, resource timing, and frame timing consistent with the active fingerprint profile. |
| Navigator Properties | Keep navigator properties aligned with the selected BotBrowser profile so platform, device, and language values stay consistent across pages and workers. |
| Permission State Consistency | Permission state consistency in BotBrowser: keep geolocation, notifications, clipboard, and media permission results aligned with the active profile. |
| Screen and Window Fingerprinting | Control screen size, window metrics, and display characteristics in BotBrowser so the reported display identity matches the selected profile. |
| Device Pixel Ratio Policy | Device pixel ratio is part of the browser display identity. Select one policy for the profile, host display, and per-context workflow you are running. |
| Speech Synthesis Fingerprinting | SpeechSynthesis voices in BotBrowser: control the voice list so platform identity stays consistent across sessions and hosts. |
| MIME and Codec Fingerprinting | Media format support varies by platform and configuration. BotBrowser normalizes codec responses to protect platform identity. |
| Noise Seed Reproducibility | Deterministic noise generation with seed control for reproducible fingerprint protection across sessions. |
| DRM Fingerprinting | DRM capabilities expose platform identity. BotBrowser controls DRM-related responses to maintain consistent privacy protection. |
| Stack Depth Fingerprinting | JavaScript recursive stack depth is a privacy-relevant signal. BotBrowser controls stack depth values through the --bot-stack-seed flag. |
| FPS Control | Set display frame timing and video playback cadence in BotBrowser so frame-rate behavior follows the selected profile instead of the host hardware. |
| Storage Quota Fingerprinting | BotBrowser provides profile-consistent storage quota and memory values, preventing hardware-based tracking through these APIs. |
| Incognito Fingerprinting | Private browsing mode can introduce behavioral differences. BotBrowser keeps fingerprint surfaces consistent between regular and incognito sessions. |
| Console Suppression | Control how CDP console messages are forwarded during automation so debugging output and privacy-sensitive runtime signals stay consistent. |
| Active Window Emulation | Prevent focus-based tracking by keeping windows in an always-active state, even when the host window is unfocused. |
| WebGPU Fingerprint Protection | WebGPU fingerprinting in BotBrowser: adapter and capability signals kept consistent with the profile across hosts and GPU backends. |
| Media Devices Privacy | Control how navigator.mediaDevices.enumerateDevices() reports audio and video devices with --bot-media-devices. |
| File-Backed Capture Device Identity | Keep camera and microphone identity consistent with the active profile when capture devices are supplied by a file or a fake device backend. |
| CPU Core Scaling Protection | navigator.hardwareConcurrency and Worker parallelism in BotBrowser: keep computation scaling matched to the core count the profile claims. |
Updated