#Canvas

#What most anti-detect browsers do

Nearly all commerical anti-detect solutions add noise to the canvas to avoid canvas fingerprinting, even on shapes that render the same on every device. This technique is easily detectable by drawing a rectangle and comparing it to an expected result.

#What Camoufox does

Camoufox implements Canvas anti-fingerprinting by using a patched build of Skia with modified subpixel rendering logic, making it impossible to tell your device apart from a device that renders anti-aliasing in a different way.


#Properties

PropertyTypeDescription
canvas:aaOffsetintOffset each pixel's transparency when drawing anti-aliasing.
canvas:aaCapOffsetboolBy default, the offset will cause the pixel's transparency to wrap around the 0-255 alpha range. By enabling this property, the offset will be clamped to 0-255.

Canvas fingerprint & integrity tests
https://camoufox.com/tests/canvas

2D Shape drawing tests
https://camoufox.com/tests/shapetests

Research discussion
https://github.com/daijro/camoufox/discussions/41