Skip to main content

Module canvas_noise

Module canvas_noise 

Source
Expand description

Canvas fingerprint noise injection.

Generates a CDP Page.addScriptToEvaluateOnNewDocument script that overrides CanvasRenderingContext2D and OffscreenCanvasRenderingContext2D APIs to inject deterministic per-session noise into all pixel-readback operations.

The noise is driven by crate::noise::NoiseEngine (T37). Given the same seed, every canvas read produces the same perturbation — enabling cross-context consistency (main thread vs. OffscreenCanvas in a Worker).

§Example

use stygian_browser::canvas_noise::canvas_noise_script;
use stygian_browser::noise::{NoiseEngine, NoiseSeed};

let engine = NoiseEngine::new(NoiseSeed::from(42_u64));
let js = canvas_noise_script(&engine);
assert!(js.contains("__stygian_noise"));
assert!(js.contains("toDataURL"));

Functions§

canvas_noise_script
Generate the canvas noise injection script for a given NoiseEngine.