Yeah, as I said a truly libre and privacy friendly browser would not come
with a ton of antiprivacy nonsense and a user should not have to do such a
hard work to 'clean it up'.
Taking a look at outgoing connections is not enough to deem how
privacy-respectful a feature is. And that feature has advantages too. A
compromise has to be sought. What I am saying is: details matter.
Take Safe Browsing for example. The feature you manually disable after
copying pyllyukko's user.js. That feature aims to warn a user who is about
to access a page that is known for phishing or about to download known
malware. Let us agree it is a useful feature.
Now, you know Google is actually managing the lists of pages known for
phishing or of known malware. If you stop your investigation at that point,
you may believe that every URL that ends up in your address bar is sent to
Google along with your IP address. *That* would be a privacy nightmare not
worth the enhanced security... but SafeBrowsing, in Firefox, does not work
that way.
https://feeding.cloud.geek.nz/posts/how-safe-browsing-works-in-firefox/
explains how it works. And anybody can check whether it is true, thanks to
freedom 1. In the case of phishing:
Every 30 minutes, Firefox downloads, from a Safe Browsing server, a list of
4-byte hashes of URLs, which were deemed unsafe since the last update;
Whenever the user is about to visit a page, the hash of its URL (excluding
what is following a possible "?" in the URL) is compared with those in the
local lists (no outgoing connection here);
If it is not found, the page is displayed; otherwise the 4-byte hash is sent
to a Safe Browsing server which returns all unsafe URLs matching the hash
(there may be several: hashes suffer from collisions) and Firefox locally
checks whether one of them is the URL to be accessed (if so, the warning is
displayed; otherwise the page);
To enhance privacy, Firefox requests, from time to time, the URLs of random
hashes taken in the list.
So, through Safe Browsing, Google only knows:
every 30 minutes, that an IP address has a Web browser opened;
that the user may (or not: because Firefox adds noise) have visited a URL
whose hash was sent: it may be one of the unsafe pages having this hash or a
safe page with the same hash.
Not the privacy nightmare a naive implementation would yield. Safe
Browsing's protection against malware is more intrusive. To block malware,
even if it comes from unlisted pages, metadata about all binaries Firefox is
about to download are sent to a Safe Browsing server. The risk of installing
malware for GNU/Linux is probably not worth the privacy loss. That is why
Abrowser disables that part of Safe Browsing by default.
You see: a compromise is sought between security, privacy, performance and
ease of use (Firefox's preferences only propose a global switch to disable
Safe Browsing as a whole). The balance between those features (again:
security, privacy, performance, ease of use, ... are features/capabilities,
not freedoms) cannot suit every user. But it not "antiprivacy nonsense": for
most users, being warned that a page is phishing (maybe imitating the page of
your bank) is worth having Google know every 30 minutes that they have a Web
browser opened and having it possibly guess (with a rather small probability)
that they visited some specific pages.
Especially when Google has many more reliable ways to do profile users (i.e.,
I very much doubt Google uses Safe Browsing to so): the advertisement it
displays on most of the Web, the Google+ buttons, the Google fonts most of
the Web pages download from Google, Google Analytics, which dominates the
market, etc.
In Firefox's preferences, the check box "Allow Firefox to send technical and
interaction data to Mozilla" globally enables/disables Mozilla's telemetry.
heyjoe's bug, filed against the "telemetry" component, pretended the
opposite. He had not understood that the settings in about:config depend on
each other: if datareporting.healthreport.uploadEnabled (the setting that can
be set from the preferences) is false, no telemetry is sent, whatever the
values of other entries in about:config that stands for more specific tunings
of the telemetry component. That is why the bug was closed with the status
"WORKSFORME". Telemetry allows the developers to discover bugs and know how
the browser is used. They can then make it evolve the way the community
wants it to evolve. https://bugzilla.mozilla.org/show_bug.cgi?id=1424781#c4
says "[Mozilla] only collect[s] anonymous usage statistics like how often
Firefox crashes and how quickly the javascript garbage collector runs". It
continues:
But you don't have to trust us, you can check:
If you enjoy reading bugs, please browse "Toolkit::Telemetry" for bugs about
preferences and what they do. If you enjoy reading C++ and JavaScript, please
browse the source code to toolkit/components/telemetry/ and examine the
constraints we place on collection in TelemetryHistogram.cpp and the
constraints on sending in TelemetrySend.jsm. If you enjoy looking at graphs,
you can see the daily aggregated versions of the data we collect at
https://telemetry.mozilla.org
That is the beauty of freedom 1. I have not sought to understand how
telemetry works (like I did for Safe Browsing). If the collected are indeed
anonymous, the gains brought by telemetry can supersede its minor
anti-privacy side effects. Again: details matter. Looking at outgoing
connections is not enough.