Controller axes, buttons, rumble commands, and diagnostic samples are processed in your browser. CTRLCHK does not send or persist raw controller input on a server. There is no account. There is no advertising script.
What stays on the device
The Gamepad API stream, rest samples, range envelopes, snapback events, button presses, trigger peaks, and the JSON report are created locally. Copied reports and share links exist only when you ask for them. A share permalink encodes headline numbers (score, confidence, P95, deadzone) — not the sample cloud.
What may be collected in production
Privacy-preserving site analytics (Vercel Analytics) may measure page performance and visits in production. They do not include Gamepad API input, stick positions, or report JSON. They are not used to retarget you.
What we removed
An unused Google AdSense loader used to sit in the document head. It loaded a third-party script without rendering any ads. It is gone. If display ads return, they will ship with ads.txt, reserved slots, and a hard suppress during capture so an iframe cannot starve the sampling loop. That design lives in the project’s monetization notes, not in your controller stream.
Questions about a report you generated are unanswerable from our side: we never received it. Keep the JSON if you need a record.