The
navigatorobject is one of the most information-rich API surfaces in the browser. BotBrowser controls every property through its profile system to ensure internal consistency.
- Familiarity with Browser Fingerprinting Explained.
- BotBrowser installed with a valid profile. See Installation.
chromium-browser \
--bot-profile="/path/to/profile.enc"Start with this launch to establish a clean baseline before adding extra overrides.
The navigator object is one of the most information-rich API surfaces in the browser. BotBrowser controls every navigator property through its profile system, ensuring internal consistency across JavaScript values, HTTP headers, and Worker contexts.
# Browser brand (ENT Tier2)
--bot-config-browser-brand=chrome
# User-Agent version (ENT Tier2)
--bot-config-ua-full-version=146.0.7644.60
# Languages (ENT Tier1)
--bot-config-languages=en-US,en,de
# Locale (ENT Tier1)
--bot-config-locale=en-US
# Timezone (ENT Tier1)
--bot-config-timezone=America/New_YorkBuild a complete, internally consistent browser identity:
--user-agent="Mozilla/5.0 (Linux; Android {platform-version}; {model}) ..."
--bot-config-platform=Android
--bot-config-platform-version=13
--bot-config-model=SM-G991B
--bot-config-architecture=arm
--bot-config-bitness=64
--bot-config-mobile=trueBotBrowser auto-generates matching Client Hints values (brands, fullVersionList with proper GREASE) and all corresponding HTTP headers. Values stay consistent across the main thread, workers, and HTTP requests.
# Use profile-defined synthetic devices (default)
--bot-config-media-devices=profile
# Use real system devices
--bot-config-media-devices=real# Override network connection properties with profile values
--bot-network-info-overrideBotBrowser controls all navigator properties at the browser engine level. Identity, hardware, locale, network, and media device information are all defined by the profile. JavaScript values, HTTP headers, and Worker contexts return identical, internally consistent values.
- 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.
| Problem | Solution |
|---|---|
| navigator.webdriver returns true | Verify BotBrowser profile is loaded correctly. BotBrowser handles this automatically when a profile is active. |
| Language doesn't match proxy location | Use --proxy-server (not framework proxy) for auto-detection, or set --bot-config-languages manually. |
| UA-CH headers don't match JavaScript values | This should not happen with BotBrowser. Verify profile is loaded and no external extensions modify headers. |
| hardwareConcurrency shows host value | Ensure profile defines the CPU core count and is loaded correctly. |
- Screen and Window Protection. Display properties as privacy surfaces.
- Performance Fingerprinting. Timing and connection data control.
- Speech Synthesis Protection. Voice list consistency.
- CLI Flags Reference. All identity and locale configuration flags.
Related documentation: Advanced Features: Browser & OS Fingerprinting | Advanced Features: Network Information Privacy
Legal Disclaimer & Terms of Use • Responsible Use Guidelines. BotBrowser is for authorized fingerprint protection and privacy research only.