JavaScript Restrictor
Browser extension that improves privacy and security
|
Fingerprinting 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_code_builders.js |
Functions that help to automate process of building wrapping code for FPD module. | |
file | fp_detect_background.js |
Functions that help to automate process of building wrapping code for FPD module. | |
Fingerprinting 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 JSR wrapping technique to inject logic 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 corresponding JSR level.
Detector of fingeprinting activity is based on chosen heuristics that can be defined in form of API groups. Groups represents a set of APIs that have similar but specific purpose. Access to group is triggered when a certain amount APIs is accessed. Hierarchy of groups creates a tree structure, where access to root group means fingerprinting activity. Groups can be configured in groups-lvl_X.json file, where X represents corresponding JSR level.
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. Local browsing data of fingerprinting origin are cleared to prevent caching extracted fingerprint in local browser storage.