Hardening Brave
23 Sep 2025Brave is probably the only browser on Linux other than Trivalent which Is reasonably secure and private as compared to other browsers, though they have been In a lot of controversies [1] other browsers simply aren’t secure enough or have major privacy concerns. Currently Trivalent Is officially only built for secureblue, It may work on Fedora but not on other distributions and may require building from source.
Brave is built on top of Chromium, it preserves most of it’s security features, meaning it has better sandboxing than Firefox or its forks [3][4]. You can opt out of telemetry; they have a good update cycle, CVEs are patched relatively fast, and they have decent anti-fingerprinting protection that can fool naive scripts. Currently, the Tor Browser’s approach to anti-fingerprinting is the only one with real potential.
This guide provides a clear approach to hardening the Brave browser by disabling telemetry, removing features that can be termed bloat, and enabling privacy-focused settings. While primarily focused on Linux, it should apply on all platforms. You will find the Local State and Preferences Implementing most of hardening stated below, however It does not change the shield settings and due to a weird bug the search engine’s set to Google even If I set It to another one.
Note:
- Even If you use a VPN your location can be leaked via your time zone, this can also facilitate In fingerprinting. So while launching brave, set the
TZenvironment variable to UTC.
Customize Dashboard (brave://newtab)
- Disable Sponsored Images.
- Disable Cards.
Brave Settings (brave://settings)
Appearance
- Disable Brave News, Rewards, and the Sidebar button.
- Disable Auto Suggestions to prevent sending partial queries to servers.
Shields
- Set Trackers & Ads Blocking to Aggressive.
- Set Upgrade Connections to HTTPS to Strict.
- Set Block Fingerprinting to Strict: this requires enabling the flag
#brave-show-strict-fingerprinting-modefirst (see Flags). - Disable Store Contact Info for Future Broken Site Reports.
Privacy and Security
- Disable Safe Browsing: it sends partial URL hashes to Google for malware checks, it can reveal browsing patterns. Use common sense.
- Enable Secure DNS and set provider to OS Default, the advantage of enabling securedns Is that you get an Encrypted Client Hello.
- Disable the V8 JS Optimizer to reduce attack surface.
- Set WebRTC IP Handling Policy to Disable Non-Proxied UDP.
- Disable Tor windows, use The Tor Browser instead.
- Disable All Data Collection: Settings > Privacy and security > Data collection > uncheck all (e.g., Send usage stats, Diagnostic reports).
Web3
- Set default Ethereum and Solana wallets to Extensions (No Fallback).
- Disable resolution of all Web3 domains.
Autofill and Passwords
- Disable all autofill methods; built-in autofill is not safe. Use KeePassXC or VaultWarden (You can store addresses and card details as notes).
Languages
- Disable Spell Check and Brave Translate: spell check may send text snippets; Translate processes content on servers (Anonymized but better to avoid).
Search Engines
- Use a self-hosted SearXNG instance or Mullvad Leta as your search engine. Mullvad Leta runs on RAM-only servers and is accessible as an onion service.
- Disable Improve Search Suggestions.
- Disable Web Discovery Project.
System
- Disable Continue Running Background Apps When Brave Is Closed.
- Disable Hardware Graphics Acceleration to reduce the attack surface.
Flags (brave://flags)
| Flag | Setting | Rationale |
|---|---|---|
#brave-rewards-allow-self-custody-providers |
Disabled | Disable Brave Rewards. |
#brave-rewards-platform-creator-detection |
Disabled | Disable Brave Rewards. |
#brave-ads-allowed-to-fallback-to-custom-push-notification-ads |
Disabled | Disable Brave Ads. |
#brave-block-screen-fingerprinting |
Enabled | Improve anti-fingerprinting. |
#brave-show-strict-fingerprinting-mode |
Enabled | Enable ‘Strict’ fingerprinting mode. |
#native-brave-wallet |
Disabled | Disable Brave Wallet. |
#brave-wallet-zcash |
Disabled | Disable Brave Wallet. |
#brave-wallet-bitcoin |
Disabled | Disable Brave Wallet. |
#brave-wallet-cardano |
Disabled | Disable Brave Wallet. |
#brave-news-peek |
Disabled | Disable Brave News. |
#brave-news-feed-update |
Disabled | Disable Brave News. |
#brave-rewards-gemini |
Disabled | Disables Brave Rewards. |
#brave-ai-chat |
Disabled | Disables Brave Leo AI. |
#brave-ai-chat-history |
Disabled | Disables Brave Leo AI. |
#brave-ai-host-specific-distillation |
Disabled | Disables Brave Leo AI. |
#brave-ai-chat-context-menu-rewrite-in-place |
Disabled | Disables Brave Leo AI. |
#brave-ai-chat-open-leo-from-brave-search |
Disabled | Disables Brave Leo AI. |
#brave-ai-chat-web-content-association-default |
Disabled | Disables Brave Leo AI. |
#strict-origin-isolation |
Enabled | Isolates origins for better site isolation. Improves security. |
#origin-keyed-processes-by-default |
Enabled | Enables origin-keyed process isolation. |
#sync-autofill-wallet-credential-data |
Disabled | Disables Brave Wallet. |
#partition-alloc-with-advanced-checks |
Enabled on browser and renderer processes (or all for maximum security) | Enables advanced memory allocator checks for exploit mitigation. |
#reduce-accept-language |
Enabled | Reduces the amount of information in the Accept-Language request header and JavaScript navigator.languages. |
#reduce-accept-language-http |
Enabled | Reduces information in the Accept-Language request header only. |
#autofill-enable-cvc-storage-and-filling |
Disabled | Disables CVC storage and filling for payment autofill. |
#prompt-api-for-gemini-nano-multimodal-input |
Disabled | Disable Prompt API for Gemini Nano. |