Where Playwright and Puppeteer leave fingerprints, mochi.js leaves nothing measurable. Each pillar covers one class of detection.
🧬 Relational consistency engine Every fingerprint surface — canvas, WebGL, audio, fonts, MediaDevices, WebGPU — derives from a single (profile, seed) pair through a 48-rule DAG. No Frankenstein fingerprints; a Mac UA never lands next to Linux WebGL.
🌐 Chromium-native fetch session.fetch() routes through Chromium itself via CDP — Network.loadNetworkResource for simple GETs, page.evaluate('fetch') for non-GET. JA4/JA3/H2 are real Chrome by definition. No parallel HTTP layer to keep in lockstep, no FFI to install.
🎯 Behavioral synthesis humanClick / humanType / humanScroll synthesize from biomechanical models — Bezier paths with overshoot+correction, Fitts-law movement times, lognormal digraph delays. Profile-parameterized: hand, tremor, wpm, scrollStyle.
📐 Probe-Manifest harness Captured baselines from real devices live in the repo. Every PR diffs the live session's Probe Manifest against the baseline; Zero-Diff is a CI gate. Intentional divergences live next to a written rationale.