JavaScript Restrictor
Browser extension that improves privacy and security
Loading...
Searching...
No Matches
Fingerprint Detector

Fingerprint Detector (FPD) is a module that detects browser fingerprint extraction and prevents its sharing. To learn more about Browser Fingerprinting topic, see study "Browser Fingerprinting: A survey" available here: https://arxiv.org/pdf/1905.01051.pdf. More...

Files

file  fp_detect_background.js
 Fingerprint Detector (FPD) main logic, fingerprinting evaluation and other essentials.
 
file  fp_levels.js
 FPD module initial configuration.
 
file  fp_report.js
 Functions that summarize fingerprints and generate FPD report.
 

Detailed Description

Fingerprint Detector (FPD) is a module that detects browser fingerprint extraction and prevents its sharing. To learn more about Browser Fingerprinting topic, see study "Browser Fingerprinting: A survey" available here: https://arxiv.org/pdf/1905.01051.pdf.

The FPD module uses wrapping technique to inject code that allows log API calls and accesses for every visited web page and its frames. Logged JS APIs can be specified in wrappers-lvl_X.json file, where X represents FPD config identifier.

Fingerprint Detector is based on heuristic system that can be defined in form of API groups. A group represents a set of APIs that may have something in common. Access to the group is triggered when a certain amount APIs is accessed. Hierarchy of groups creates a tree-like structure, where access to the root group means fingerprinting activity. Groups can be configured in groups-lvl_X.json file, where X represents FPD config identifier.

The FPD evaluate API groups with every request made in scope of certain browser tab. When FPD detects fingerprinting activity, blocking of subsequent requests is issued (if allowed in settings). Local browsing data of fingerprinting origin are also cleared to prevent caching extracted fingerprint in browser storage.