Skip to content
⌘+K

Privacy Patches

This category includes patches that protect against various forms of tracking, as well as patches that limit data exposure and reduce the browser’s required permissions.

Fenix - Configure DNS over HTTPS providers

Section titled “Fenix - Configure DNS over HTTPS providers”

Adds the following custom DoH providers:

  • Mullvad (Base)
  • Cloudflare (Malware Protection)
  • DNS4EU (Ad Blocking)
  • DNS4EU (Protective)
  • DNS4EU (Unfiltered)
  • Mullvad (Unfiltered)
Reason
To add support for multiple secure DNS providers in the UI settings.
Effect
Adds a selection of carefully selected DoH providers for the users to choose from.

Ensures the UI reflects our values to sanitize data on exit by default.

Reason
Protects privacy between browser sessions.
Effect
Automatically clears tabs, history, cache, and download list when browser closes.

Android Components - Configure default search engines

Section titled “Android Components - Configure default search engines”

Adds custom privacy-focused search engines.

Reason
To provide alternatives to tracking-heavy default search engines.
Effect
Users can easily use privacy-respecting search engines.

Sets uBlock Origin to use a custom/enhanced config, and changes certain settings by default.

Reason
To provide stronger out-of-box content blocking.
Effect
Better ad and tracker blocking with optimized filter lists.

Fenix - Disable network connectivity status monitoring

Section titled “Fenix - Disable network connectivity status monitoring”

Removes the ACCCESS_NETWORK_STATE permission and prevents the browser from monitoring the status of the user’s internet connection.

Reason
To prevent the browser from accessing network information (with the ACCESS_NETWORK_STATE permission).
Effect
Reduces required permissions and limits data exposed to the browser.

GeckoView - Disable network connectivity status monitoring

Section titled “GeckoView - Disable network connectivity status monitoring”

Removes the ACCCESS_NETWORK_STATE permission and prevents the browser from monitoring the status of the user’s internet connection.

Reason
To prevent the browser from accessing network information (with the ACCESS_NETWORK_STATE permission).
Effect
Reduces required permissions and limits data exposed to the browser.

Prevents Firefox from generating an internal network ID that could potentially be used to track users.

Reason
To prevent the browser from generating an ID that could be used for tracking/fingerprinting. (For details, see: https://gitlab.torproject.org/tpo/applications/tor-browser/-/commit/4c548fa04b668a310c90c0e783ec404420f06257)
Effect
Protects users against tracking/fingerprinting.

GeckoView - Disable speculative connections

Section titled “GeckoView - Disable speculative connections”

Prevents GeckoView from generating speculative/predictive connections.

Reason
To prevent unwanted/unsolicited network traffic (In Fenix, this is currently used for certain URL bar suggestions).
Effect
Prevents the browser from connecting to third parties without explicit user consent, and provides users with more control over their network activity.

Stubs the Beacon API to prevent tracking and the submission of analytics, without aiding fingerprinting and causing undesired breakage.

Reason
The Beacon API (navigator.sendBeacon)’s explicit, stated purpose/use case is for analytics/tracking (https://developer.mozilla.org/docs/Web/API/Beacon_API). However, disabling it entirely (like standard Firefox allows) is undesired, as it causes breakage, aids fingerprinting, and can allow trackers to fallback to other mechanisms for submitting data (as they can tell it’s disabled/unavailable). Stubbing the API instead fixes these issues.
Effect
Users are protected against tracking, and benefit from added attack surface reduction, without causing breakage and having to deal with the usual side effects that appear when the Beacon API is disabled.

Gecko - Prevent fingerprinting via internal resources

Section titled “Gecko - Prevent fingerprinting via internal resources”

Prevents the browser from exposing branding assets and certain other internal resources to websites.

Reason
Improves privacy by preventing websites from determining whether a user is on IronFox, and improves compatibility, as we have reason to believe websites might be using this to block users of derivatives (ex. IronFox and LibreWolf). (For details, see: https://gitlab.torproject.org/tpo/applications/tor-browser/-/commit/ecb798d066b039329223b4c31133e2f917ca477d).
Effect
Users are protected against additional fingerprinting vectors, and websites work as expected.

Gecko - Prevent fingerprinting via about:crashes resources

Section titled “Gecko - Prevent fingerprinting via about:crashes resources”

Prevents the browser from exposing that crash reporting is disabled to websites.

Reason
Improves privacy by preventing websites from determining whether a user is on IronFox, and improves compatibility, as we have reason to believe websites might be using this to block users of derivatives (ex. IronFox and LibreWolf).
Effect
Users are protected against additional fingerprinting vectors, and websites work as expected.

Prevents fingerprinting via the status of EME.

Reason
Fenix typically doesn’t provide a way to configure media.eme.enabled. Due to a different message being reported to websites when EME is disabled (than when its blocked via the permission), this means that us disabling EME adds an additional fingerprinting vector and causes us to stick out from standard Firefox users. To prevent this, this patch makes it so that when EME is disabled, Firefox acts the same as if the EME permission was blocked or ignored by the user. This also helps ensure that users who enable EME and block a website from accessing it (on devices that support Widevine) appear the same as those who leave EME disabled.
Effect
Users are protected against additional fingerprinting vectors.

Gecko - Prevent exposing the browser name and vendor to extensions

Section titled “Gecko - Prevent exposing the browser name and vendor to extensions”

Prevents exposing the browser name and vendor to extensions via getBrowserInfo() (https://developer.mozilla.org/docs/Mozilla/Add-ons/WebExtensions/API/runtime/getBrowserInfo).

Reason
Improves privacy by preventing extensions from determining whether a user is on IronFox, and improves compatibility with certain older extensions (ex. https://codeberg.org/librewolf/issues/issues/2492).
Effect
Extensions work as expected, and users are protected against added fingerprinting opportunities.

Android Components - Disable unsolicited favicon fetching

Section titled “Android Components - Disable unsolicited favicon fetching”

Prevents Firefox from automatically fetching favicons for websites pinned to the browser homepage.

Reason
To prevent unwanted network activity and connections to third parties.
Effect
Reduces network activity, provides users with more control, and provides a faster browser homepage.

Android Components - Do not allow built-in add-ons to access private browsing windows unconditionally

Section titled “Android Components - Do not allow built-in add-ons to access private browsing windows unconditionally”

Prevents built-in add-ons from always being able to access private browsing windows, even if they don’t request or need access.

Reason
To improve privacy and security for users by limiting the amount of access built-in add-ons have to the browser.
Effect
Users are provided with a more private and secure browsing experience.

Backports a fix for an upstream bug that prevents Canvas randomization from working for getImageData and WebGL image hash (https://bugzilla.mozilla.org/show_bug.cgi?id=2013976), and enables Canvas randomization for solid colors.

Reason
To protect against fingerprinting by ensuring that canvas data is fully randomized.
Effect
Users are provided with fingerprinting protection that works as expected.

Removes the OpenAI backend from Mozilla’s ML (machine learning) component.

Reason
To improve privacy for users (and reduce attack surface) by removing integration with a privacy-invasive/unwanted LLM.
Effect
Users are provided with a more private browsing experience.