Browser De-Slop on macOS
Modern browsers keep growing sidebars, sponsored suggestions, telemetry, sign-in prompts, AI buttons, and other features I never asked for. You can disable them one at a time, but a policy file is repeatable and much harder for an update to quietly undo.
This is a macOS version of Cullum Smith’s excellent Browser De-Slop post. My version is deliberately less aggressive: it does not disable Safe Browsing, tracking protection, HTTPS-only mode, DNS-over-HTTPS, or automatic browser updates. Removing annoyances should not mean removing security controls.
The files below target Firefox and Google Chrome. I have left Safari out because its managed settings do not map cleanly to the same policy set.
Firefox
Firefox supports a policies.json file inside the application bundle on macOS. Mozilla documents the location as Firefox.app/Contents/Resources/distribution in its policy templates.
Download and install my policy file:
curl -fsSL https://jcsoft.dev/downloads/browser-deslop/firefox-policies.json \
-o /tmp/firefox-policies.json
python3 -m json.tool /tmp/firefox-policies.json >/dev/null
sudo install -d \
"/Applications/Firefox.app/Contents/Resources/distribution"
sudo install -m 0644 /tmp/firefox-policies.json \
"/Applications/Firefox.app/Contents/Resources/distribution/policies.json"
Quit Firefox completely and open it again. Visit about:policies, then check Active. You should see the loaded policies and no errors.
The policy:
- blocks Firefox AI features through
AIControls; - disables telemetry, studies, Pocket, recommendations, sponsored tiles, snippets, and onboarding messages;
- turns off Firefox Suggest/Quick Suggest and smart tab-group suggestions;
- installs uBlock Origin from Mozilla Add-ons;
- leaves browser updates and security protections alone.
You can view or download the complete Firefox policy. Read Mozilla’s Firefox policy documentation before changing a key.
Removing the Firefox policy
sudo rm \
"/Applications/Firefox.app/Contents/Resources/distribution/policies.json"
Restart Firefox. If a Firefox upgrade replaces the application bundle, reinstall the policy file.
Google Chrome
Chrome policy on macOS uses a property-list payload. The practical way to install it on a personal Mac is a removable configuration profile. Google documents the com.google.Chrome plist format in its Chrome Enterprise policy guide, and Apple documents how to review and install configuration profiles.
Download and open the profile:
curl -fsSLO \
https://jcsoft.dev/downloads/browser-deslop/chrome-deslop.mobileconfig
plutil -lint chrome-deslop.mobileconfig
open chrome-deslop.mobileconfig
macOS will stage the profile rather than silently install it. Open System Settings → General → Device Management (on some macOS releases: Privacy & Security → Profiles), select Chrome De-Slop, inspect every setting, and click Install.
Quit Chrome completely and reopen it. Go to chrome://policy, click Reload policies, and confirm the settings are listed with no errors.
The profile:
- blocks Chrome’s generative-AI defaults and Gemini integration;
- blocks AI/Lens page-content sharing and smart tab sharing;
- disables telemetry, URL-keyed data collection, Privacy Sandbox ads, promotional tabs, search suggestions, and network prediction;
- disables Chrome sign-in and Sync;
- blocks third-party cookies;
- installs uBlock Origin Lite;
- leaves Safe Browsing, HTTPS, DNS, password storage, and updates untouched.
You can view or download the complete Chrome profile. Chrome adds and retires policy names over time, so check the live Chrome Enterprise policy list if chrome://policy marks a setting as unknown.
If you use Chrome Sync, remove the BrowserSignin and SyncDisabled keys before installing the profile. If you do not want a managed extension, remove the ExtensionSettings dictionary.
Removing the Chrome profile
Open System Settings → General → Device Management, select Chrome De-Slop, and click Remove. On macOS versions with the older layout, use Privacy & Security → Profiles instead. Restart Chrome afterward.
A note about “managed by your organization”
Both browsers may say they are managed after these policies are installed. That is expected: enterprise policy is the mechanism being used. The Firefox file is local and readable, and the Chrome profile is removable. Still, never install a configuration profile you have not inspected.
The goal here is a quieter browser, not a broken one. Start with the supplied defaults, check the browser’s policy page, and remove any policy that gets in the way of how you actually work.