Understanding browser fingerprinting

Browser fingerprinting is the systematic collection of information about the web browser to make educated guesses about its identity or characteristics. Each browser's settings and features create a "browser fingerprint". Most browsers inadvertently create a unique fingerprint for each user, which can be tracked across the internet. For more in-depth information on browser fingerprinting, refer to these articles on the Tor Blog: Browser Fingerprinting: An Introduction and the Challenges Ahead and Tor Browser: a legacy of advancing private browsing innovation.

Why browser fingerprinting threatens online privacy?

First, there is no need to ask for permissions from the user to collect this information. Any script running in the browser can silently build a fingerprint of the device without users even knowing about it.

Second, if one attribute of the browser fingerprint is unique or if the combination of several attributes is unique, the device can be identified and tracked online. This means that even without cookies, a device can be tracked using its fingerprint.

How Tor Browser mitigates fingerprinting

Tor Browser is specifically engineered to minimize the uniqueness of each user's fingerprint across various metrics. While it is practically impossible to make all Tor Browser users identical, the goal is to reduce the number of distinguishable "buckets" for each metric. This approach makes it harder to track individual users effectively.

Certain attributes, like the operating system and language, are necessary for functionality and cannot be completely hidden or spoofed. Instead, Tor Browser limits the variety within these attributes to reduce distinctiveness. For example, it limits font enumeration and applies character fallback, standardizes screen and window sizes using letterboxing, and restricts the variety of requested languages to a small, predefined set.

The key goal of Tor Browser's anti-fingerprinting protections is to make it significantly more challenging to gather enough information to uniquely identify users, thereby enhancing privacy without compromising necessary functionality.

Anti-fingerprinting features in Tor Browser

Letterboxing

To prevent fingerprinting based on screen dimensions, Tor Browser starts with a content window rounded to a multiple of 200px x 100px. The strategy here is to put all users in a couple of buckets to make it harder to single them out. That works so far until users start to resize their windows (e.g. by maximizing them or going into fullscreen mode). Tor Browser ships with a fingerprinting defense for those scenarios as well, which is called Letterboxing, a technique developed by Mozilla and presented in 2019. It works by adding white margins to a browser window so that the window is as close as possible to the desired size while users are still in a couple of screen size buckets that prevent singling them out with the help of screen dimensions.

In simple words, this technique makes groups of users of certain screen sizes and this makes it harder to single out users on basis of screen size, as many users will have same screen size.

letterboxing

Other anti-fingerprinting features

In addition to letterboxing, Tor Browser employs many other features to mitigate browser fingerprinting and protect user privacy. These features include Canvas image extraction blocking, NoScript integration, user-agent spoofing, and first-party isolation. For a complete list of features, please read the Tor Browser design and implementation document.