Identical privacy posture on any OS • Cross-platform & WebView simulation • Fingerprint protection validated across 31+ tracking scenarios
BotBrowser is a privacy-first browser core designed to protect users from browser fingerprinting, a technique recognized as a privacy threat by W3C, major browser vendors, privacy regulators, and academic research (see references). It keeps fingerprint signals uniform across every platform, preventing tracking systems from collecting and correlating data to identify users. Run the same profile on Windows, macOS, or Linux and the fingerprint posture stays identical each time.
All engineering focuses on privacy research, cross-platform tracking-resistance validation, and maintaining protected environments for authorized defensive benchmarking. Review the project Legal Disclaimer and Responsible Use Guidelines before using the software.
What makes BotBrowser different: Cross-platform privacy browser core with unified fingerprint technology that prevents tracking data collection and device linkage.
| High-fidelity Profile Simulation including Android WebView, keeps synthetic and aggregated fingerprints ready for policy-compliant privacy experiments | Latest Chromium Base stays synced to the newest stable Chrome so trackers cannot key on stale engines |
| Advanced Programmatic Control offers Playwright/Puppeteer integration with CDP leak blocking so privacy tooling leaves no telemetry residue | Network Stack Parity with Full-Proxy QUIC/STUN (UDP over SOCKS5) delivers Chromium-level tunneling so geo metadata does not leak and privacy labs maintain clean transport parity |
| Distributed Privacy Consistency lets you verify privacy protection across multiple browser instances simultaneously with Mirror, validating privacy posture in parallel | Per-Context Fingerprint enables independent fingerprint bundles per BrowserContext without spawning new processes, with millisecond-level switching and reduced memory overhead |
- Single profile, every host OS: identical UA, screen metrics, touch surfaces, fonts, and device APIs on Windows, macOS, Linux (ENT Tier1), Android (PRO), and WebView (ENT Tier3) so trackers see the same fingerprint everywhere.
- Built-in configuration handles touch simulation, device metrics, and locale/timezone detection from the proxy IP while still allowing CLI overrides when privacy experiments require them.
- Quick demos:
▶️ CreepJS Android •▶️ Iphey •▶️ Pixelscan
Step 1: Download
- Latest release for your OS
- Demo profile (any
.encfile)
Step 2: Launch (use absolute paths)
- Windows example:
chrome.exe --bot-profile="C:\absolute\path\to\profile.enc" --user-data-dir="%TEMP%\botprofile_%RANDOM%"
- macOS/Linux commands follow the same pattern; see INSTALLATION.md for full instructions.
Step 3: Verify
- Visit CreepJS or your preferred tracking observatory to confirm identical privacy posture.
- Timezone/locale/language auto-derive from your proxy/IP; override via CLI only when needed.
const browser = await chromium.launch({
headless: true,
executablePath: BOTBROWSER_EXEC_PATH,
args: [`--bot-profile=${BOT_PROFILE_PATH}`,
'--proxy-server=socks5://usr:pwd@127.0.0.1:8989'] // or: http://usr:pwd@127.0.0.1:8989
});
const page = await browser.newPage();
await page.addInitScript(() => { delete window.__playwright__binding__; delete window.__pwInitScripts; });
await page.goto('https://abrahamjuliot.github.io/creepjs/');Notes:
- Use
--user-data-dirwith a unique temporary folder to avoid conflicts with running Chromium instances - Prefer
--proxy-serveror per-context proxies (ENT Tier1); auto timezone/locale detection applies in both cases - Avoid framework-specific proxy/auth options (e.g.,
page.authenticate()), which disable BotBrowser's geo-detection and may leak location information
Examples: Playwright • Puppeteer
More options:
- Framework-less approach:
--bot-script+ CDP (privileged context, earlier hook, fewer artifacts) - Docker: docker/README.md
- Full flags: CLI_FLAGS.md
Configuration priority: CLI flags (highest) > Profile configs > defaults. Timezone, locale, and language auto-derive from your proxy IP.
| Feature | Reference |
|---|---|
| Proxy with embedded credentials (HTTP/SOCKS5/SOCKS5H) | Proxy Configuration |
| Regex-based proxy routing rules | --proxy-bypass-rgx |
| Per-context proxy with auto geo-detection | Per-Context Fingerprint |
| Dynamic proxy switching at runtime | Dynamic Proxy Switching |
| UDP over SOCKS5 (QUIC/STUN tunneling) | UDP over SOCKS5 |
| Local DNS solver | --bot-local-dns |
| Port protection for local services | --bot-port-protection |
| WebRTC leak protection (SDP/ICE control) | WebRTC Leak Protection |
| Feature | Reference |
|---|---|
| Canvas / WebGL / WebGPU deterministic noise | Multi-Layer Noise |
| AudioContext noise calibration | Multi-Layer Noise |
| Text metrics & ClientRects noise | Multi-Layer Noise |
| Deterministic noise seeds (reproducible per-tenant) | --bot-noise-seed |
| Cross-platform font engine (Win/Mac/Android) | Font Engine |
| GPU simulation on headless servers | Headless Compatibility |
| Feature | Reference |
|---|---|
| Cross-platform profile portability (Win / Mac / Linux) | Advanced Features |
| Browser brand switching (Chrome/Edge/Brave/Opera) | Profile Overrides |
| Custom User-Agent with full userAgentData control | Profile Overrides |
| Client Hints alignment (DPR, device-memory, UA-CH) | Browser & OS |
| Android WebView emulation | Profile Overrides |
| Chrome behavior emulation (HTTP/2, HTTP/3, headers) | Chrome Behavior |
| Feature | Reference |
|---|---|
| Playwright / Puppeteer integration | Examples |
| Framework-less bot-script (chrome.debugger API) | --bot-script |
| Per-context fingerprint (multiple profiles per process) | Per-Context Fingerprint |
| Console message suppression | Behavior Toggles |
| Headless / GUI parity | Headless Compatibility |
| Mirror: distributed privacy consistency | Mirror Documentation |
| CanvasLab: Canvas 2D API recorder | --bot-canvas-record-file |
| Feature | Reference |
|---|---|
| Cookie management (inline JSON or file) | --bot-cookies |
| Bookmark injection | --bot-bookmarks |
| Random history injection | Behavior Toggles |
| Always-active windows (anti-focus-tracking) | Active Window |
| Custom HTTP headers (CLI + CDP) | --bot-custom-headers |
| Plaintext storage access (cookies, localStorage) | Storage Access |
| Precision FPS simulation | Behavior Toggles |
| Timing scale (performance.now compression) | Behavior Toggles |
| Window/screen dimension control | Profile Overrides |
Fingerprint Protection Implementation: Privacy Controls → Technical Design → Validation
This reference maps privacy protection goals to BotBrowser implementation details and validation evidence.
| Privacy Protection | Implementation | Reference |
|---|---|---|
| API standardization | navigator.webdriver standardized across all platforms so trackers cannot use API presence/absence as identification signal | ADVANCED_FEATURES#Chrome Behavior Emulation |
| Execution environment protection | Isolated execution context prevents framework artifacts from exposing privacy leaks | ADVANCED_FEATURES#Playwright/Puppeteer Integration |
| Graphics rendering consistency | Deterministic noise across Canvas, WebGL, WebGPU, and audio ensures protected fingerprints even in GPU-dependent scenarios | ADVANCED_FEATURES#Graphics & Rendering Engine |
| GPU fingerprint uniformity | Canvas and WebGPU rendering shares deterministic properties so GPU probes like WebBrowserTools return authentic results | CHANGELOG#2025-12-08 |
| Typography consistency | Embedded font engines for Windows, macOS, Linux, and Android ensure text rendering remains identical across platforms | ADVANCED_FEATURES#Cross-Platform Font Engine |
| Font availability uniformity | DOM queries return authentic font lists from embedded bundles so host system fonts cannot leak platform identity | ADVANCED_FEATURES#Cross-Platform Font Engine |
| Device capabilities | Profile-based device properties maintain protected device claims across all platforms | Profile Configs |
| Network topology privacy | WebRTC signaling stays protected through SDP and ICE controls preventing network topology leakage | ADVANCED_FEATURES#WebRTC Leak Protection |
| User agent coherence | Browser brand and version parity prevents UA string from revealing platform differences | CLI_FLAGS#Profile Configuration Override Flags |
| Header to API parity | Client Hints headers DPR, device-memory, and UA-CH align with JavaScript reported values preventing header based identification | ADVANCED_FEATURES#Browser & OS Fingerprinting |
| Execution mode parity | GPU, WebGPU, and media signals remain identical whether running headless or in GUI mode | ADVANCED_FEATURES#Headless & Incognito Compatibility |
| DNS privacy | Use local DNS solver (ENT Tier1) for private resolution that avoids DNS leaks and provider restrictions, or use SOCKS5H to keep DNS within proxy tunnels | CLI_FLAGS#Enhanced Proxy Configuration |
| Public IP discovery | Customizable IP lookup backend for geo derivation via --bot-ip-service (supports comma-separated endpoints; BotBrowser races them and uses the fastest successful response) |
CLI_FLAGS#Enhanced Proxy Configuration |
| Protocol conformance | HTTP/2 and HTTP/3 behavior matches Chrome specifications preventing protocol based differentiation | ADVANCED_FEATURES#Chrome Behavior Emulation |
| TLS fingerprint protection | JA3, JARM, and ALPN parameters optimized for uniform TLS negotiation across platforms | CHANGELOG |
| DRM capability consistency | Widevine persistent license support with platform-appropriate license negotiation prevents tracking via EME capability fingerprinting | ADVANCED_FEATURES |
| Authentication capability uniformity | WebAuthn client capabilities return platform-specific values preventing tracking via Touch ID, Bluetooth authenticator, and payment extension detection | ADVANCED_FEATURES |
Fingerprint Protection Matrix: Cross-Platform Coverage
| Category | Sample Capabilities |
|---|---|
| Graphics | Canvas/WebGL rendering, GPU micro-benchmarks, texture hash configuration |
| Network | WebRTC SDP configuration, proxy auth, connection management |
| Platform | Font fallback chains, cross-worker protection, OS-specific features |
| Performance | FPS simulation, memory timing, animation frame optimization |
Advanced Features (architecture & design) → | CLI Flags (all options) →
Prefer a GUI launcher? See launcher/README.md for BotBrowserLauncher usage, multi-instance management, and privacy profile selection.
Fingerprint protection validated across 31+ tracking scenarios. See DISCLAIMER for authorized use.
- Windows Profile on macOS: Fingerprint protection maintained so privacy defenses remain effective across platforms
- Android Emulation on Desktop (PRO): Mobile API parity enables fingerprint testing for cross-device privacy research
- Headless vs GUI Mode: Identical fingerprint behavior ensures privacy validation results remain effective across execution contexts
Complete Validation Results & Research Data →
- Installation Guide - Platform-specific setup, Docker deployment, troubleshooting
- Advanced Features - Architecture and design details
- CLI Flags Reference - Core and extended runtime flags with examples
- Profile Configuration - Profile JSON field reference
- Validation Results - Research data across 31+ tracking scenarios
| Technical questions, source code access | support@botbrowser.io | |
| Telegram | Community support, quick questions | @botbrowser_support |
For advanced users who want to build BotBrowser from source:
- Requirements: Linux build environment, Chromium build tools
- Source Access: Available to qualified researchers and institutions
See the step-by-step build guide in build/README.md.
| Issue | Platform | Solution |
|---|---|---|
| "Chromium" is damaged | macOS | Run xattr -rd com.apple.quarantine /Applications/Chromium.app |
| Missing dependencies | Ubuntu | Run sudo apt-get install -f |
| Profile file permission errors | All | Ensure .enc file has read permissions (chmod 644) |
| BotBrowser won't start or crashes | All | Check that your OS and Chromium version match the build; update BotBrowser to the latest release |
- Review the detailed Responsible Use Guidelines and Legal Disclaimer before requesting binaries or premium profiles.
- Maintain written authorization for every environment you test, and record the synthetic data sets you rely on.
- Contact the maintainers at support@botbrowser.io if you observe suspicious activity or need to report an abuse incident.
Legal Disclaimer & Terms of Use • Responsible Use Guidelines. BotBrowser is for authorized fingerprint protection and privacy research only.
