Canvas, WebGL, Fonts and Audio

Everything in this group has the same shape: the value a page reads is not a declared property, it is the output of something actually being rendered - a canvas drawn, a WebGL context queried, a font measured, an audio buffer processed. That makes these surfaces higher entropy than a plain property check, and also harder to spoof convincingly, because the output has to agree with itself and with the platform the browser claims to be, not just look plausible in isolation.

Canvas and WebGL rendering

Fonts, emoji and text metrics

Audio


Table of contents


Back to top

MIT licensed. Every page here is written against the current source of the thing it describes, and several record something we got wrong first.

This site uses Just the Docs, a documentation theme for Jekyll.