BraveDebloater is a safety-first Windows PowerShell tool for trimming Brave Browser extras while keeping Brave Shields intact.
Windows-first
·
PowerShell-native
·
Open source
It uses official Brave/Chromium enterprise policies where possible, starts in dry-run mode, writes backups before applying changes, and includes an undo path. No updater disabling, no host-file edits, no extension removal, and no Shield allowlisting.
What It Debloats
- Brave Rewards, Wallet, VPN, Leo AI Chat, News, Talk, Playlist, Speedreader, and Wayback prompts
- Brave telemetry surfaces such as P3A, stats ping, and Web Discovery
- Chromium metrics, URL-keyed collection, Privacy Sandbox prompts, remote search suggestions, network prediction, and remote spellcheck
- Extreme preset extras such as background mode, promotions, Browser Labs, new tab cards, shopping list, QR generator, translate prompts, autofill, and the Google search side panel
Optional profile preference cleanup can also hide some new tab sponsored/background and toolbar surfaces when Brave stores those preferences in per-profile Preferences JSON.
Quick Start
Preview the extreme preset:
.\Invoke-BraveDebloat.ps1 -Preset Extreme
List the policies and optional profile preference patches without running the dry-run/apply flow:
.\Invoke-BraveDebloat.ps1 -Preset Extreme -List -IncludeProfilePreferences
List the available feature toggles:
.\Invoke-BraveDebloat.ps1 -ListFeatures
Run a read-only health check of Brave policies, backups, profile files, and detected feature status:
.\Invoke-BraveDebloat.ps1 -Doctor
Apply it for the current Windows user:
.\Invoke-BraveDebloat.ps1 -Preset Extreme -Apply
Apply it and enforce a safe Shields baseline:
.\Invoke-BraveDebloat.ps1 -Preset Extreme -LockShields -Apply
Customize the preset interactively:
.\Invoke-BraveDebloat.ps1 -Preset Extreme -Customize
Or make a scripted custom run:
.\Invoke-BraveDebloat.ps1 -Preset Extreme -ExcludeFeature News,LeoAI .\Invoke-BraveDebloat.ps1 -Preset Standard -IncludeFeature Translate .\Invoke-BraveDebloat.ps1 -OnlyFeature Rewards,Wallet,VPN
PowerShell -WhatIf is supported as a no-write preview even when -Apply is present:
.\Invoke-BraveDebloat.ps1 -Preset Extreme -Apply -WhatIf
After applying, restart Brave and open brave://policy to verify the policies.
Presets
Standard: Brave-specific bloat and Brave telemetry.High:Standardplus privacy-preserving policy defaults.Extreme:Highplus more UI and convenience surface cleanup.Core,Privacy, andAggressive: compatibility aliases forStandard,High, andExtreme.-LockShields: optional add-on that enforces default ad blocking, standard fingerprinting protection, HTTPS upgrades, and stricter referrer behavior.
By default, the tool uses Extreme and does not lock Shield behavior. It also refuses to apply policies that disable Shields, add Shield-disabled URLs, weaken Safe Browsing, or disable updates.
Feature Toggles
Use -Customize for an interactive yes/no prompt for each cleanup, or use -IncludeFeature and -ExcludeFeature for repeatable commands. Feature names are shown by -ListFeatures; examples include Rewards, Wallet, VPN, LeoAI, News, Talk, Autofill, Translate, and GoogleSearchSidePanel.
Use -OnlyFeature when you want exactly the named cleanups without starting from a preset.
When -IncludeProfilePreferences is combined with custom feature choices, profile preference patches are filtered to the selected features.
Doctor Mode
Use -Doctor to inspect the current Brave policy state without writing anything. It reports CurrentUser and LocalMachine policy keys, detected feature status, unknown Brave policies, protected policy names, Brave process state, profile preference files, and available backups.
This is useful after testing other debloat tools because machine-wide policies can make Brave settings appear managed for every Windows user.
Profile Preferences
Registry policies are the main path because they are supported and visible in brave://policy. For cosmetic cleanup that Brave stores per profile, close Brave and run:
.\Invoke-BraveDebloat.ps1 -Preset Extreme -IncludeProfilePreferences -Apply
If Brave is running, profile preference cleanup is skipped to avoid writing files that Brave may overwrite.
Restore
Every applied run creates a JSON backup in backups/ unless -NoBackup is used for policy-only changes.
Preview a restore:
.\Invoke-BraveDebloat.ps1 -UndoFromBackup .\backups\BraveDebloater-YYYYMMDD-HHMMSS-fff.json
Apply a restore:
.\Invoke-BraveDebloat.ps1 -UndoFromBackup .\backups\BraveDebloater-YYYYMMDD-HHMMSS-fff.json -Apply
Restore validates backup metadata before writing. Registry restores are limited to Brave policy keys, and profile file restores are limited to Preferences files under the selected -ProfileRoot.
Machine-Wide Mode
Current-user policy is the default and does not require administrator rights. For machine-wide policy, run PowerShell as administrator:
.\Invoke-BraveDebloat.ps1 -Preset Extreme -Scope LocalMachine -Apply
Sources
Policy names and values are based on Brave's official Group Policy documentation and Brave policy templates:
- https://support.brave.app/hc/en-us/articles/360039248271-Group-Policy
- https://brave-browser-downloads.s3.brave.com/latest/policy_templates.zip
Project Checks
Run the built-in manifest and syntax checks:
.\scripts\Test-PolicyManifest.ps1 .\scripts\Test-Behavior.ps1
Pull Request Review
Greptile review guidance lives in greptile.json and mirrors the same safety-first focus for PowerShell compatibility, policy changes, registry writes, profile JSON writes, and feature-toggle behavior.
























