#169 Fingerprint Detector (FPD) feature no longer works in Chrome.
Closed: Invalid by polcak. Opened by red546.

Summary

When using Chrome, "Error: FPDCallerTracker" occurs across all scripts, causing a complete functional failure. It appears that this error interferes with Chrome's script loading process, preventing the website from functioning correctly.

The fingerprint protection feature only triggers notifications; it does not actually block or modify anything. (This can be verified on various sites such as https://browserleaks.com/canvas)

Extensions installed on Firefox work fine.

Setup

Chrome 144.0.7559.110
JShelter Version: 0.21

How to reproduce

  1. Open Fingerprint Detector Report
  2. Track calling scripts
  3. You can check the error in the details.

I am trying to replicate:

  1. Go to https://browserleaks.com/canvas
  2. Click JShelter badge icon.
  3. The top of the popup does not contain a text like "Due to severe limitations imposed by Google's Manifest V3, JShelter and other browser extensions cannot work anymore on Chromium-based browsers (including yours) unless you switch on the Allow User Scripts toggle on the JShelter page accessible from chrome://extensions (more information on Google's developers site)."
  4. FPD is yellowish and shows "Moderate".
  5. Click moderate and FPD report window shows fingerprinting activity like BrowserProperties, NavigatorBasic, AlgorithmicMethods, FontsEnumFingerprint, and CanvasFingerprint, and WebGLFingerprint.
  6. Click "Track calling scripts" and wait few seconds (https://browserleaks.com/canvas reloads in the background), keep waiting.
  7. FPD report is repopulated, now one can see from where the call of the affected APIs originate, for example for CanvasFingerprint, one can see:
CanvasRenderingContext2D.prototype.fillText (2)
Error: FPDCallerTracker
at CanvasRenderingContext2D.replacementF (chrome-extension://ammoloihpcbognfddfjcljgembpibcmb/7a67fe92-cd7a-4a26-91df-6258bebb6889:14401:11)
at CanvasRenderingContext2D.replacementF (chrome-extension://ammoloihpcbognfddfjcljgembpibcmb/7a67fe92-cd7a-4a26-91df-6258bebb6889:14421:41)
at Object.apply (chrome-extension://ammoloihpcbognfddfjcljgembpibcmb/7a67fe92-cd7a-4a26-91df-6258bebb6889:415:25)
at v (https://browserleaks.com/js/canvas.js?v=63246769:10:329)
at e (https://browserleaks.com/js/canvas.js?v=63246769:10:703)
at https://browserleaks.com/js/canvas.js?v=63246769:10:5329
at https://browserleaks.com/js/canvas.js?v=63246769:10:5332

You refer to the text: "Error: FPDCallerTracker", right? That is an artifact of how JShelter learns the identity of the script. In firefox, you see:

v@https://browserleaks.com/js/canvas.js?v=63246769:10:329
e@https://browserleaks.com/js/canvas.js?v=63246769:10:704
@https://browserleaks.com/js/canvas.js?v=63246769:10:5329
@https://browserleaks.com/js/canvas.js?v=63246769:10:5332

The lines in both reports indicate the execution of the same script - https://browserleaks.com/js/canvas.js?v=63246769 and the same line numbers. So from my point of view the JShelter works in both browsers.

From user experience point of view, we can filter out lines of "Error: FPDCallerTracker" and lines containing the ID of the extension "ammoloihpcbognfddfjcljgembpibcmb". But the be exploited by malicious parties to name their scripts to be filtered out. So I am not in favour of adding a filter like that.

Are we on the same page here?

Regarding the blocking functionality of FPD, go to the main options page, it should be "chrome-extension://ammoloihpcbognfddfjcljgembpibcmb/options.html" (in Chromium-based browsers). You would notice that FPD can only notify you, and you can change the detection aggressivity. Whereas in Firefox, you can change the behaviour as Passive, Limited blocking, and Full blocking, in Chromium-based browsers only passive behaviour is possible. See https://jshelter.org/mv3-jshelter-debut/, and especially "What does not work yet" section. Please go to your browser vendor and advocate to bring the blocking webRequest API back. We cannot do anything with that.

As a final note, I plan to write a blog post on how to use FPD soon. Hopefully, in March.

I am closing as invalid as I think that I addressed all the issues raised but feel free to add more information and I might consider to reopen the issue.

Metadata Update from @polcak:
- Issue close_status updated to: Invalid
- Issue status updated to: Closed (was: Open)

Metadata