# 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

Property Type Description
canvas:aaOffset int Offset each pixel's transparency when drawing anti-aliasing.
canvas:aaCapOffset bool By 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.

# See related

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