Installation instructions

Package information

FP-Block is a proof-of-concept Firefox plugin that generates a unique fingerprint for each web site visited. This ensures that embedded third-party content such as social media buttons (Facebook's Like, Pinterest's PinIt, Google's + button) cannot track the user over different websites.

FP-Block is an extension the work of Christof Ferreira Torres for his Bachelor thesis.

About fingerprint-based online tracking

Fingerprint-based tracking is the process of tracking a user across different web sites by determining various characteristics, such as screen resolution, browser version, IP address, HTTP header order, etc. Together, such a "fingerprint" is unique and therefore allows the fingerprinter to track the user without using HTTP cookies or other client-side storage.

Most pages on the web embed some content from a third party. Examples of such embedded content include:

When a page embedding such a service is visited, the page rendering triggers the browser to contact the third party. This allows the third party to begin fingerprinting. Moreover, often the service is to add some elements to the source of the web page. This makes it trivial for the third party to additionally add some client-side fingerprinting scripts.

How FP-Block stops fingerprint-based tracking

When a user visits a website A, FP-Block generates a unique fingerprint for website A: IDA. This identity is then used for all contact with website A, as well as any contacts to retrieve content embedded on website A. This identity is never used otherwise. Since any new identity is generated such that it is distinct from all previously generated identities, no two identities are the same.

Suppose a user visits two websites, A and B, which both contain a Facebook like button. When visiting site A, Facebook will receive a request for their like button from a browser with fingerprint IDA. When visiting site B, Facebook will get the request from a browser with fingerprint IDB. Since IDA and IDB are different, Facebook cannot link these two visits.

Technical and academic details

FP-Block thwarts both active (JavaScript) and passive (HTTP) fingerprinting. It does so by a combination of spoofing and blocking access to typically fingerprinted attribute values.
FP-Block is an implementation of the concept "separation of web identities". For more details, see the paper (currently under submission).


FP-Block was created by Christof Ferreira Torres, Hugo Jonker and Sjouke Mauw.