The Firefox experience has been subpar since a long time. Users are greeted with
- advertizing
- sponsored links
- search engines with embedded tracking parameters
- data shared with third parties for arbitrary purposes
- no adblocker by default and often not even “recommended”
- pocket, a proprietary service collecting a lot of data
- studies, doing A/B tests on your local machine without consent
- “privacy preseriving attribution” as if ads were the solution for a sustainable internet
policy file
I propose to not only change some build parameters, but add a systemwide policy file that disables antifeatures and makes Firefox a browser that people can use without worries.
Users would add this in /etc/firefox/policies/policies.json
, distros would install it somewhere in /usr/lib
policy.json
{
"policies": {
"Extensions": {
"Install": [
"https://addons.mozilla.org/firefox/downloads/latest/ublock-origin/latest.xpi"
]
},
"SearchEngines": {
"Remove": [
"DuckDuckGo",
"Google",
"Bing",
"Ecosia"
],
"Add": [
{
"Name": "DuckDuckGo",
"URLTemplate": "https://duckduckgo.com/?q={searchTerms}",
"Method": "GET",
"IconURL": "https://duckduckgo.com/favicon.ico",
"Alias": "ddg"
}
],
"Default": "DuckDuckGo"
},
"ExtensionSettings": {
"google@search.mozilla.org": {
"installation_mode": "blocked"
},
"bing@search.mozilla.org": {
"installation_mode": "blocked"
},
"ecosia@search.mozilla.org": {
"installation_mode": "blocked"
},
"amazondotcom@search.mozilla.org": {
"installation_mode": "blocked"
},
"youtube@search.mozilla.org": {
"installation_mode": "blocked"
},
"yahoo@search.mozilla.org": {
"installation_mode": "blocked"
},
"startpage@search.mozilla.org": {
"installation_mode": "blocked"
},
"ebay@search.mozilla.org": {
"installation_mode": "blocked"
}
},
"SearchSuggestEnabled": false,
"DisablePocket": true,
"DisableFirefoxStudies": true,
"DisableFormHistory": true,
"DisableTelemetry": true,
"EnableTrackingProtection": {
"Value": true,
"Cryptomining": true,
"Fingerprinting": true,
"EmailTracking": true,
"Exceptions": [
"https://netflix.com"
]
},
"FirefoxHome": {
"Search": true,
"TopSites": false,
"SponsoredTopSites": false,
"Highlights": false,
"Pocket": false,
"SponsoredPocket": false,
"Snippets": false,
"Locked": true
},
"FirefoxSuggest": {
"WebSuggestions": false,
"SponsoredSuggestions": false,
"ImproveSuggest": false,
"Locked": true
},
"HttpsOnlyMode": "force_enabled",
"LegacySameSiteCookieBehaviorEnabled": false,
"LegacySameSiteCookieBehaviorEnabledForDomainList": [
"example.org","192.168.*", "localhost"
],
"NetworkPrediction": false,
"NewTabPage": false,
"PopupBlocking": {
"Allow": [
"http://example.org/"
],
"Default": true,
"Locked": true
},
"PostQuantumKeyAgreementEnabled": true,
"UserMessaging": {
"ExtensionRecommendations": false,
"UrlbarInterventions": false,
"MoreFromMozilla": false,
"FirefoxLabs": true
},
"SSLVersionMin": "tls1.2"
}
}
Note that disabling pocket is only possible in ESR for arbitrary reasons. I am not sure why, and the docs are not really helpful.
It is also not possible to remove search engines like that, the methods above don’t seem to work. Note that the default search engines contain tracking parameters and should be replaced with vanilla ones.
prefs.js
I saw Fedora uses a systemwide prefs.js for presets, which is interesting. Many things can be changed there, maybe search engines too.
Here we would just follow arkenfox user.js and set the essentials, as breaking user experience is not a goal
Search engine issues
https://www.google.com/search?client=firefox-b-d&channel=entpr&q=helloworld&sei=O37FZ-T2BPztkdUP-fiS8AQ
https://www.ecosia.org/search?tt=mzl&q=helloworld
https://www.bing.com/search?pc=MOZI&form=MOZLBR&q=helloworld
https://duckduckgo.com/?t=ffab&q=helloworld
https://de.wikipedia.org/wiki/Spezial:Suche?search=helloworld&sourceid=Mozilla-search&ns0=1
normandy
This component allows Mozilla to add or remove extensions from computers remotely, which is something pretty critical. It is part of “Firefox Studies”
while the tor project disabled it during build it is simpler to disable it in the preset prefs.js
If this needs patches it would be unfortunate but a privacy improvement for users.
adjacent threads: