Skip to main content
I/O Checkup
System ready

Privacy and Browser Permissions

Learn how I/O Checkup handles device permissions, local preferences, diagnostic data, and requests to its hosting provider.

Device data stays in the diagnostic page

Keyboard, mouse, touch, and controller checks process the events exposed to this page. Microphone audio and webcam frames are analyzed locally; the diagnostic interface does not upload recordings or camera frames.

Do not enter passwords or other sensitive text in a keyboard test. Exported reports and downloaded images are files you control. Sharing them with another person is your decision.

Camera, microphone, and sound

A camera or microphone test asks for access when you start it. You can stop the test and revoke permission through your browser site settings. The site cannot grant itself permission or override a browser denial.

Speaker tests generate audio after an action. Start at a low volume. A permission granted previously may remain in browser settings even after the test stops.

Local storage

The site stores preferences such as theme and device type in this browser. Reaction-test records may also be saved locally. Clearing site data removes these local records and preferences. Private browsing or disabled storage may prevent saving; the tests should still work without it.

These preferences are not an account and do not automatically synchronize between browsers or devices.

GPU reports: local by default

GPU report history stays in this browser unless you choose to publish a report. Local exports and compact share links are under your control. Clearing local history or browser site data does not remove an already published report.

Publishing requires a separate consent checkbox and a Publish action. Only eligible standard benchmarks can be published. You do not need an account, and no name or email is requested. Publishing also requires working browser storage with enough space to save the private deletion code. Local tests and exports still work without storage.

What becomes public

A published GPU report is publicly accessible, including browser-reported GPU details, browser and operating-system information, test settings, FPS, frame-interval measurements and samples, workload version, and timestamps. The full sanitized report can be read or downloaded by other visitors. Hardware identity and scores are not independently verified.

Custom shader source, local video files, and private notes are not published. Review the report before publishing. Public information can be copied by others; withdrawal from our service cannot delete copies held elsewhere.

GPU report retention and withdrawal

Public GPU reports expire 365 days after publication and stop appearing in public views at expiry. Daily cleanup deletes expired database records within the following 24 hours. Withdrawing a report immediately removes its public report and GPU measurements from the active database.

A minimal nonpublic consent and removal record remains until the original 365-day expiry and the next daily cleanup. It contains the report ID, deletion-code hash, consent time, policy version, expiry, and withdrawal time, but no GPU measurements.

After publishing, this browser receives a private deletion code. The code is not included in public report links. Keep the optional private backup safe: anyone with the code can withdraw the report. Use the withdrawal controls in the GPU tool to remove a report with its code.

If the code is lost, contact the publisher with the public report URL and the reason for removal. We review privacy, abuse, and removal requests manually, but a public URL alone does not prove ownership. Clearing browser data can erase your locally saved deletion code.

GPU anti-abuse processing

The GPU service limits publication attempts, validates reports, and checks for duplicates. These controls reduce spam and manipulated submissions but do not certify a benchmark score. We may remove abusive or misleading submissions.

To enforce rate limits, the service derives a keyed hash from the connecting IP address using a private server secret. The GPU database stores this identifier, not the raw IP address. Rate-limit records expire within 24 hours and daily cleanup removes them within another 24 hours, for a maximum of 48 hours. Cloudflare hosting and security logs are separate from this GPU database.

GPU storage provider and policy version

Public GPU reports and temporary anti-abuse records are stored in Cloudflare D1. Provider-managed recovery backups may retain deleted records for up to 30 days, depending on the plan; these backups are not public reports. Expiry and withdrawal rules must be reapplied before any restored data is made public.

GPU public-results policy version: gpu-public-2026-10-09. Last updated: 9 October 2026. These disclosures describe this feature and do not promise legal compliance in every jurisdiction.

Requests made when you visit

Loading I/O Checkup makes normal web requests to its hosting provider, Cloudflare. These requests can include an IP address, browser information, requested URL, and security or diagnostic metadata. This is separate from local analysis of your device inputs.

I/O Checkup loads Google Tag Manager (container GTM-5TP3JSGQ) from Google. This makes requests to Google in addition to our hosting provider. Any additional analytics or marketing tags, and the data they collect, depend on the container configuration. Hosting-level processing remains subject to the provider configuration and policies; visiting this site can leave network records.

External links and questions

An external link opens another service with its own privacy practices. Contact the publisher through the Contact page for a privacy question. Please do not send private recordings, passwords, or device serial numbers.