Primo — Canvas / WebGL fingerprint self-test

Every FAIL below is a property a page can check in a few lines and that stock Chrome always satisfies — i.e. a tampering proof, not a statistical hint.

Canvas 2D

BrowserScan's own scenes

fingerprintjs v3's canvas scenes, which is what BrowserScan runs. Our scene passing says nothing about theirs — how much noise engages depends on the content.

WebGL

Session identity — must DIFFER between tabs

Readback cost

The spoof runs only inside pixel-readback APIs, so this is the only place it can cost anything. Compare the numbers against stock Chrome on the same machine — a page that never reads pixels back is unaffected either way.

Cross-tab linkability

Any signal that is the SAME in two tabs is a key a site can join 20 sessions on. Open this page in a second tab, press Copy signals there, paste below and press Diff. Everything marked SAME is a linker — decide for each whether it is meant to be (a deliberately host-locked value) or a leak.