Effects of privacy.resistFingerprinting in Firefox
Enabling the privacy.resistFingerprinting preference in
Firefox's about:config menu activates a comprehensive suite
of defenses designed to make your browser appear identical to everyone
else's. Originally developed as part of the Tor Uplift project, this
setting neutralizes browser fingerprinting by spoofing hardware details,
restricting Web APIs, and standardizing system configurations. This
article outlines the specific, sweeping behavioral changes that occur
the moment you set this preference to true.
System and Hardware Spoofing
Websites routinely query your browser to learn about your underlying
hardware and operating system. When
privacy.resistFingerprinting is active, Firefox feeds these
scripts standardized, fake data:
- CPU Cores: The
navigator.hardwareConcurrencyproperty is locked to2, hiding your actual processor core count. - User-Agent and OS: Your User-Agent string and platform information are spoofed to report a generic operating system (such as Windows 10 or a generic Linux build) and the latest Firefox Extended Support Release (ESR) version, regardless of the actual Firefox version you are running.
- Keyboard Layout: Firefox suppresses specific keyboard layout details and standardizes key event codes to prevent trackers from guessing your physical keyboard language.
Timezone and Locale Standardization
Your geographic location can easily be inferred from your system clock and language settings. To prevent this, Firefox enforces strict standardization:
- UTC Timezone: The browser’s internal clock is locked to Coordinated Universal Time (UTC). Any website using JavaScript to check your time will see UTC, which often causes web apps like calendars, email clients, and messaging platforms to display incorrect local times.
- Language Spoofing: When you enable this setting,
Firefox will often prompt you to spoof your language setting to
en-US(American English), hiding your native system locale from web servers.
Screen and Window Dimensions
Your monitor resolution and browser window size create a highly unique metric. Firefox neutralizes this vector through several aggressive visual and reporting changes:
- Standardized New Windows: Whenever you open a new browser window, Firefox forces it to open at a rounded, standard resolution (typically 1000x1000 or 1000x900 pixels, depending on your screen size) rather than remembering your last maximized state.
- Viewport Spoofing: Firefox lies about your monitor's total resolution, reporting that your screen size is identical to the exact size of the current browser viewport. If you resize the window, your reported "monitor resolution" changes with it.
- Color Depth and Pixel Ratio: Screen color depth is consistently reported as 24-bit, and device pixel ratios are standardized to hide high-DPI (Retina) displays.
Canvas, WebGL, and Font Restrictions
Trackers frequently force your browser to silently draw hidden 2D or 3D graphics to see how your specific graphics card and installed fonts render them. Firefox blocks these techniques directly:
- Canvas Extraction Prompts: Websites are blocked from silently reading data from HTML5 Canvas elements. If a site tries to extract canvas data, Firefox returns a completely blank white image and displays an icon in the address bar asking if you want to allow the site to use canvas data. This breaks many online image editors by default.
- WebGL Limitations: WebGL capabilities are heavily restricted. Specific vendor and renderer information (which reveals your exact graphics card model) is hidden or replaced with generic values.
- Font Whitelisting: Websites are restricted to using a specific, standardized list of system fonts bundled with or approved by the browser. Trackers can no longer enumerate the unique collection of custom fonts installed on your computer.
Web API Modifications and Disabling
Many modern web features leak too much information about your device and are either degraded or entirely shut off:
- AudioContext Spoofing: The Web Audio API, which can be used to fingerprint your sound card's processing characteristics, is altered or disabled to prevent audio signal analysis.
- Reduced Timer Precision: High-resolution timers
(like
performance.now()) are intentionally degraded and rounded to the nearest 100 milliseconds (or similar intervals). This stops timing attacks and micro-architectural side-channel attacks like Spectre. - Disabled Hardware APIs: The Gamepad API (detects connected controllers), the Web Speech API, the Navigator.plugins list, and ambient light or device motion sensors are completely disabled.
- Media Devices: Websites can no longer enumerate your microphones and webcams to count how many devices you have plugged in before asking for permission.
- Network Information: The Network Information API is restricted so websites cannot tell if you are on Wi-Fi, Ethernet, or a cellular connection.
User Interface and Theme Adjustments
Fingerprinting scripts can detect whether you use Dark Mode or custom OS accent colors. To stop this, Firefox overrides your visual preferences:
- Forced Light Mode: Websites are always told that
your system prefers a light color scheme
(
prefers-color-scheme: light), even if your operating system and Firefox theme are set to dark mode. - System Colors: Standard CSS system colors are stripped of your OS customization and reverted to default, uniform values.
- Zoom Reset: Site-specific zoom levels may be restricted or reset to prevent trackers from calculating font rendering differences based on your zoom preferences.