AdguardTeam / AdguardTeam/CoreLibs

Block digital fingerprint

Open
#1,823 1 comment 3 reactions 1 assignee Assigned to @vozersky View on GitHub
needs-triage Priority: P4
Dominant language
No language data
Stars
52
Forks
10
PR merge metrics
No merged PRs in 30d

Description

### Issue Details

To make your product a comprehensive security solution, it would be beneficial if AdGuard could include anti-fingerprint tools. Something as powerful as the "All Fingerprint Defender" Chrome extension (https://chrome.google.com/webstore/detail/all-fingerprint-defender/meojnmfhjkahlfcecpdcdgjclcilmaij). This product resists Canvas fingerprinting, WebGL fingerprinting, Font fingerprinting, and AudioContext fingerprint. Unfortunately, ClientRects (and some other) fingerprinting is not covered by this tool. It would be great to have HTTP/2 and JA3 TLS anti-fingerprint too. Also, to create a product that can effectively evade many fingerprinting techniques, it would be crucial to have an option to always request to download all files from a website, even if they are in the browser cache. However, what I suggest is to initiate the download, but terminate the connection immediately if the files are already in the browser cache. The website https://fingerprint.com/demo/ is difficult to fool. I need the "All Fingerprint Defender" extension plus deleting cookies and cache to be able to get a new ID. It would be great if AdGuard could do the same as "All Fingerprint Defender", but in any app or browser. If we could improve it by requesting to download all files every time so the server thinks we don't have the images in cache already, it would prevent many websites from tracking users. Here are some websites to check if a fingerprint is unique:
https://browserleaks.com/
https://coveryourtracks.eff.org/
https://amiunique.org/
https://fingerprint.com/demo/

### Proposed solution

Provide users with some choices and ensure that websites are not broken when anti-fingerprinting is enabled. Every type of fingerprinting should allow:
- The option to send or block the value from being sent.
- The selection of a common value that works for most people (if everyone uses it, fingerprinting becomes less unique).
- The use of a random value.
- The ability to enter a custom value when possible (add/remove fonts).

There should be an option to select a standard set of recommended values.

### Alternative solution

_No response_

Contributor guide

No contributing guide indexed for this repository

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.