[DISCUSSION] Fingerprinting
FYI, we're considering changing our approach for how we deal with fingerprinting protection in Phoenix (See here for more details on what I have in mind). This will by extension impact IronFox (since IronFox uses Phoenix's Extended/Hardened config), (though we can always override this for IronFox if we decide) so I wanted to post this here for discussion so folks are aware and we can hear thoughts, etc.
I'd highly encouraging reading the Phoenix issue I linked above, but for a basic summary of my proposal/what specifically impacts IronFox:
- I believe we should disable RFP, and instead use FPP.
- We should modify FPP's targets to
AllTargetsso that it covers all of the same targets/protections as RFP (with a few changes/exclusions). - Those few changes/exclusions being (which will impact IronFox/Phoenix Extended for Android specifically):
- We'll expose the value of CSS
prefers-color-scheme, meaning we'll have support for dark mode. - We'll stop restricting display of webpages/content to 60FPS, which will provide performance benefits (important for users with refresh rates above 60HZ...)
- We'll allow websites to extract canvas data without user input/a prompt by default. This is important on Android, since unfortunately there isn't support for the permission prompt to allow extracting canvas data like we have on desktop. This being said: We'll still block third parties from extracting canvas data, and the canvas data itself when extracted will still be randomized.
So yeah, we're maintaining all of RFP's protections with the exception of those 3 protections/targets. This will provide significant benefits to users in terms of usability, and even privacy & security (since users will no longer have to exclude websites from ALL fingerprinting protections... now users can granularly exclude specific targets per-site, etc).
I think for the future, we should also consider adding some kind of toggle in IronFox's UI settings for spoofing the timezone, similar to what Cromite has. For now though, we should probably keep spoofing it like RFP does, and we can tell users how to disable this spoofing globally or per-site as needed.
I'll again recommend reading the Phoenix issue for more specific details, such as the rationale behind this, what benefits it gives us, etc.
Curious to hear thoughts on this :)