Hi there!
I've noticed that some about:config settings in Waterfox need some tweaking. I am deriving (and quoting) my information from the ghacks-user.js release version 56 here:
https://github.com/ghacksuserjs/ghacks-user.js/releases
I'll list the settings + explanation (if needed) here, and the values which I find more appropriate:
IMPORTANT
_toolkit.telemetry.unified_ - false
_toolkit.telemetry.cachedClientID_ - empty string
_dom.ipc.plugins.reportCrashURL_ - false;
disable sending the URL of the website where a plugin crashed
_dom.ipc.plugins.flash.subprocess.crashreporter.enabled_ - false;
disable sending Flash crash reports
_browser.tabs.crashReporting.sendReport_ - false;
disable sending of crash reports (FF44+)
_browser.newtab.preload_ - false
_browser.newtabpage.enabled_ - false
_browser.newtabpage.enhanced_ - false
_browser.newtabpage.directory.source_ - empty string;
disable new tab tile ads & preload & marketing junk
_network.allow-experiments_ - false;
disable Mozilla permission to silently opt you into tests
_experiments.activeExperiment_ - false
disable all active experiments
_browser.onboarding.enabled_ - false;
Onboarding is an interactive tour/setup for new installs/profiles and features. Every time about:home or about:newtab is opened, the onboarding overlay is injected into that page. Onboarding uses Google Analytics, and leaks resource://URIs
_extensions.formautofill.addresses.enabled_ - false
_extensions.formautofill.available_ - off
_extensions.formautofill.creditCards.enabled_ - false
_extensions.formautofill.heuristics.enabled_ - false;
disable Form Autofill (FF55+) - Stored data is NOT secure (uses a JSON file)
Thank you for your attention. This issue was created for discussion & for a potential creation of related commits.
_browser.newtabpage.directory.source_ - empty string;
I had to set this one to data:application/json,{} to prevent browser console spam.
_social.enabled_ - false HIDDEN PREF;
Social API is dead, to the point that it was removed from Firefox. And a quick look at the replacement extension looks Waterfox-compatible.
I'm planning to do a pull request porting bug 1388902 and bug 1406193 to Waterfox.
_experiments.manifest.uri_ - empty string;
This is already default.
_extensions.shield-recipe-client.enabled_ - false HIDDEN PREF
_extensions.shield-recipe-client.api_url_ - empty string HIDDEN PREF;
Waterfox does not have Shield.
@laniakea64:
Waterfox does not have Shield.
OK. Scratch this one from the list.
This is already default.
Scratch this one from the list, as well.
I'm planning to do a pull request porting bug 1388902 and bug 1406193 to Waterfox.
Great to hear! Don't forget to remove the about:config entries as well, it would be confusing if they were still there after your commits.
I had to set this one to data:application/json,{} to prevent browser console spam.
I'd suggest you turn this into a commit.
But then - what about the rest? _browser.onboarding.enabled_ and _network.allow-experiments_ seem especially nefarious. They should be taken out ASAP, if you ask me. The rest should follow suite.
Thanks,
bug 1388902 and bug 1406193
– for convenience:
…
network.allow-experiments… should be taken out …
Maybe false by default (not removed). If so, document the change and then if the user prefers true, the modification must not be lost by an update to Waterfox.
Mozilla bug 950755 - network.allow-experiments undocumented and being used for release builds
I had to set this one to
data:application/json,{}to prevent browser console spam.I'd suggest you turn this into a commit.
No guarantees, but I might look into that once the dust has settled from the patches removing Social API.
(Note to self: https://developer.mozilla.org/docs/Mozilla/Preferences/A_brief_guide_to_Mozilla_preferences)
But then - what about the rest?
If you're asking me specifically, I figured my thumbs-up to your comment was clear enough.
@Peacock365, thanks for the excellent list. Is there a more comprehensive list of privacy-related about:config settings that you're aware of?
Maybe at or around https://github.com/schomery/privacy-settings/
Privacy Settings 0.2.6 (2017-05-23, archived) should be compatible with Waterfox 56.1.0, but I should not expect it to comprise the most recent set of applicable settings.
@laniakea64
Now that the Social API is out of the way, what about the rest? Especially Onboarding should be disabled ASAP. Wouldn't it be possible to create one big commit that changes all the settings I mentioned? I don't see any reason why you would let any of them on their default value, to be honest. You could also show me how to create such a commit, in which case I would do it myself.
@leafcutterant
gHacks user.js should be all good. I linked to it in my initial post.
@Peacock365 Thanks for the reminder. https://github.com/MrAlex94/Waterfox/pull/529 will take care of the more obvious ones.
toolkit.telemetry.cachedClientID - empty string
Not sure if this is necessary in Waterfox.
dom.ipc.plugins.reportCrashURL - false;
dom.ipc.plugins.flash.subprocess.crashreporter.enabled - false;
browser.tabs.crashReporting.sendReport - false;
I'm not sure if Waterfox has Crash Reporter?
experiments.activeExperiment - false
This one gets set to false on its own, so I left it be.
extensions.formautofill.addresses.enabled - false
extensions.formautofill.available - off
extensions.formautofill.creditCards.enabled - false
extensions.formautofill.heuristics.enabled - false;
I think Waterfox doesn't have Form Autofill. Not sure why these prefs are listed in about:config.
@laniakea64
Not sure if this is necessary in Waterfox.
Better safe than sorry, I'd say. You won't damage anything if you empty the string. It's a telemetry setting, after all.
I'm not sure if Waterfox has Crash Reporter?
That's correct. The crash reporter is not being built. However, my reasoning to still disable those settings is as follows:
1) The crash reporter could be built by accident (has already happened before). Should that happen, those settings being on "false" would cripple it at least.
2) If a Waterfox user decides to share the Waterfox profile with Firefox, chances are that the crash reporter will be present in Waterfox and fully active at that. Not desirable.
3) As a minor reason, Waterfox is said to have the crash reporter disabled. Having those settings on "true" will raise questions again and again. In order to quell those unfounded fears, it would be better to demonstrably set them to "false".
(2) is probably the most important reason overall.
This one gets set to false on its own, so I left it be.
Hm, OK. Was definitely "true" here. Can anybody confirm?
I think Waterfox doesn't have Form Autofill. Not sure why these prefs are listed in about:config.
Again, better safe than sorry. Those data sets being in a mere JSON file is a nightmare. Those settings should be false just to make sure, should Form Autofill slip through.
Thanks for having taken care of the rest!
toolkit.telemetry.unified - false
toolkit.telemetry.cachedClientID - empty string
dom.ipc.plugins.reportCrashURL - false;
dom.ipc.plugins.flash.subprocess.crashreporter.enabled - false;
browser.tabs.crashReporting.sendReport - false;
The crash reporter executable isn't built. So even if a report is generated, it's just stored in your user profile.
browser.newtab.preload - false
browser.newtabpage.enabled - false
browser.newtabpage.enhanced - false
browser.newtabpage.directory.source
The code related to actually loading any of Mozilla sponsored tabs and tiles etc has been removed. and appropriate preferences set to not load anything anyway. This is quite useful functionality that I believe most users actually use. Disabling it by default is just bad UX, especially since it's breaking the user land. The patch submitted has it set as a sticky pref as well which is worse, since users can't toggle the pref.
sticky_pref("browser.newtabpage.directory.source", "data:application/json,{}");
This is the correct form of this pref, not sure why it's blank. Thanks to @laniakea64 for bringing it up.
social.enabled
Removed thanks to a pull request by @laniakea64 again :-)
network.allow-experiments
Setting this to false does nothing as it needs to be set by privileged code. Instead, I point to a blank XML file to stop this.
experiments.activeExperiment
This isn't set/used since no telemetry experiments get downloaded.
browser.onboarding.enabled
Related to Photon which isn't used by default.
extensions.formautofill.addresses.enabled - false
extensions.formautofill.available - off
extensions.formautofill.creditCards.enabled - false
extensions.formautofill.heuristics.enabled - false;
**disable Form Autofill (FF55+) - Stored data is NOT secure (uses a JSON file)**
Pointless IMHO, if an attacker has physical access (or even remote) to your system, you have other things to worry about. Regardless, form autofill for this data is not even built.
The crash reporter could be built by accident (has already happened before). Should that happen, those settings being on "false" would cripple it at least.
I don't remember - has it? Even still, the URLs to the crashpad are blank anyway, so even so nothing would happen.
If a Waterfox user decides to share the Waterfox profile with Firefox, chances are that the crash reporter will be present in Waterfox and fully active at that. Not desirable.
Firefox overwrites preferences a lot anyway, so that point seems moot.
Anyway, I am going through all the prefs again as well and setting them appropriately. There still a lot of telemetry code getting built (but doing nothing) that I want to remove. No harm in trimming the fat, so to speak.
@MrAlex94
For that matter, I have one additional preference I would like to see changed, if possible:
_browser.urlbar.trimURLs_ - false
Stops URL trimming (the omission of http and https) - security.
_browser.urlbar.speculativeConnect.enabled_ - false
already default
already default
Okay. I imported my profile from Firefox, so this error might stem from that. Scratch it from the list.
@MrAlex94
Related to Photon which isn't used by default.
Not sure how valid this is. Assuming that you are using Firefox 60 as your next base, this should be set to false anyway. If it can be done now, I don't see the problem with changing it.
Furthermore, I agree that some of the things I brought up might not be necessary anymore, but I would still switch the prefs. This or hiding them altogether. Their continued presence might confuse users and could lead to wrong conclusions.
The patch submitted has it set as a sticky pref as well which is worse, since users can't toggle the pref.
@MrAlex94 I couldn't toggle browser.newtabpage.enhanced to true before the patch either.
Since Waterfox doesn't even have enhanced tiles, is there any reason a user would want to set that pref to true in Waterfox?
@laniakea64
Why did you withdraw your pull request? It seemed fine to me, even if some settings were cosmetical according to @MrAlex94 ???
@Peacock365 Because as per https://github.com/MrAlex94/Waterfox/issues/496#issuecomment-382464227, it overused sticky_pref and made some changes that _couldn't_ have had any effect. I'll do a new one.
@laniakea64
Ah, I see. Looking forward to the new pull request. I think that the overall state of the settings (even though partly cosmetically) will have improved after that.
Thanks for having taken care of it all @laniakea64 !!!