Firefox has a hidden preference named plugins.enumerable_names that defaults to * meaning that websites can enumerate the entire plugins collection. You can edit this preference to limit what sites can find, which may make your browser appear less unique.
Open a tab to this test page to see what shows up in normal enumeration (keep open for later comparison): https://jeffersonscher.com/res/jstest.php
Then select and copy this string: Adobe Acrobat,Shockwave Flash,Silverlight Plug-In
In a new tab open about:config, double-click the plugins.enumerable_names preference, and paste that in place of the * and OK your change.
Then in a new tab, launch the test page again and compare the difference with the previous test results. The new page should only find the specified plugins using simple enumeration.
I recently grew concerned about fingerprinting. What is that? It's sort of a uniquely-identified hash of a set of stable informations about your browser (and possibly your OS) that websites can access and store for tracking purposes. See Panopticlick, BrowserSpy and also the Mozilla wiki.
Actually I'm more interested with what we can do with Greasemonkey only. For science.
I'm currently focusing on two sources:
Here is what I tried for now:
I quickly noticed that it broke many of the sites I visit on a daily basis.
This is because maaany sites (including Youtube and most of gaming sites) use either one or both of these objects to check the presence and version of a required plugin. So I added
@excluderules, but this doesn't seem like a convenient solution. Implementing a (black|white)list feature would certainly do better, unless it becomes too cumbersome for the user. The ideal would be to be able to decide out, at runtime, between a real need for a given plugin and a retrieval for tracking purposes. But I doubt this is possible :P
I feel like cloaking JS-exposed browser values is something complicated, and requires fine tuning. So I'm opening this topic mainly as a zone for idea proposal and discussion. Maybe we'll eventually find out that Greasemonkey isn't suited to solve this problem, but I repeat, this is for science!
ATM I'm experimenting with Firefox' proxies. I keep you in tune with my results wery soon :)