I’m trying to understand the current default / recommended best practice for FPP (fingerPrintingProtection) vs RFP (resistFingerPrinting) on Firefox + Arkenfox.
Confusion about current arkenfox defaults
According to this page of the arkenfox wiki, which was last updated in 2023, “the best tool for [fooling naive fingerprinting scripts] is RFP” and Arkenfox enables it by default, but “in Firefox 120+ you can fallback to using FPP (fingerprintingProtection),”
3.3 Overrides [To RFP or Not] · arkenfox/user.js Wiki · GitHub
This seems to be outdated, as it seems to directly contradict this announcement from August 2024, which I found only because it was linked in a comment on a Privacy Guides forum post:
ATTN: arkenfox v128 is now RFP-inactive and FPP is default · Issue #1804 · arkenfox/user.js
If I understand this announcement correctly, it says that starting with Firefox 128 (current Firefox version is 147), the default Arkenfox strategy will be to use FPP rather than RFP.
What’s frankly tripping me up the most here is that the announcement contains a todo checklist which includes “change user.js” and “update wiki”, both of which are checked off, but the wiki seems manifestly to not be updated, which makes me unsure if the rest of the checked off items have happened or not, and also makes me worry that I’m reading an entirely outdated version of the Arkenfox wiki and there’s a secret more current version somewhere else?
So I welcome any clarification on the state of Arkenfox documentation, broadly speaking. But my more actionable specific question about my own use-case is:
Should I use FPP or RFP given that I have to use Dark Reader
I have to use the Dark Reader browser extension to enforce dark mode on websites that don’t have their own dark mode. I am photosensitive and can’t safely use the internet without this.
I understand that by using an extension that changes the appearance of my browser, I am rendering certain kinds of anti-fingerprinting useless. This is a fact outside my control, so the question is what is the best configuration to fool as many naive fingerprinting scripts as possible given this immovable variable.
(If someone has a suggestion for a different method of consistently enforcing dark mode that is less injurious to privacy, I would love to hear it. But please do not respond to this post just to tell me that I shouldn’t enforce dark mode; that is not a useful or meaningful suggestion.)
So, I’m trying to figure out whether RFP or FPP’s randomization strategy is least undermined by enforcing dark mode, and I’m running into a wall because what seems like the clearest most accessible description I’ve found so far of what RFP is and how it works also seems to be 2.5 years out of date and directly contradicted by a later post from the same source.
My understanding of RFP vs FPP - is this correct?
Broadly, this is my current understanding of the difference between RFP and FPP, and I welcome any corrections or clarifications:
-
RFP attempts to protect against fingerprinting by creating a crowd of identical users, by standardizing various metrics so that a fingerprinting script can tell you are a member of that crowd, but not which member of the crowd you are.
-
When used correctly in Tor Browser or Mullvad Browser, RFP is capable of fooling advanced fingerprinting scripts.
-
If the user makes any changes to how the browser looks (such as enforcing dark mode), RFP becomes useless.
-
-
FPP attempts to protect against fingerprinting by randomizing various metrics so that, while a fingerprinting script can certainly tell you’re unique, it can’t actually tell who you are.
-
FPP can fool some naive scripts but cannot fool advanced fingerprinting scripts.
-
If the user makes changes to how the browser looks, this reduces the efficacy of FPP but does not necessarily eliminate it.
-
Concluding questions
If that summary is accurate, for my use case FPP is the better choice. So my questions are
-
Is my understanding of the difference between the two accurate, and am I correct in concluding that FPP is the better option for my use case?
-
What is the current actual Arkenfox default?
-
If, as it turns out, the current Arkenfox default is RFP and what I need is FPP, how can I go about setting overrides in Arkenfox to set FPP instead of RFP, when I don’t have any experience using a user.js file and have no strategy beyond following the Arkenfox wiki instructions to the letter and the Arkenfox wiki seems to be out of date?