auto (recommended): on startup paloma writes a known LSB pattern to a tiny canvas, reads it back and compares. If the bits flipped, anti-fingerprint canvas randomization is active (brave shields, tor, librewolf, hardened firefox) — paloma routes through a pure-js PNG codec via fflate that bypasses canvas entirely. If the readback was clean, the native canvas path is used (slightly smaller output PNGs).
force canvas-free: always use the JS codec. Safe everywhere. Slightly larger output (~5-10%) because filter heuristics are simpler than the browser's PNG encoder.
force canvas: always use the native canvas pipeline. Smallest files. Will silently produce undecodable PNGs if a fingerprint shield is on — the hint-text next to the select warns when this is detected.