What happens during a speed test
Your browser sends ordinary HTTP requests to a public measurement endpoint and to this site. Those requests necessarily include your IP address, which is how any request on the internet works. The endpoint reports your IP, operator and nearest edge location back to your browser so the result page can show them.
The test payload is generated locally and contains no information about you. Uploaded payloads are discarded by the measurement endpoint.
What is stored on your device
stoi-theme— your light or dark preference.stoi-last-result— the four numbers from your last run, kept for 24 hours so the page can show "last test" after a reload.stoi-last-auto-run— a timestamp in session storage that prevents the automatic test from running again within five minutes in the same tab.
None of these are sent anywhere. Clearing site data removes them.
What is not done
- No accounts, profiles or identifiers.
- No analytics or advertising scripts.
- No server-side storage of individual results.
- We do not sell, rent or share your measurement data with anyone.
That last point covers this site. It does not describe what the third-party measurement endpoint does with the requests it receives — see the next two sections, which describe that separately and specifically.
Shared links
When you copy a result link, the four measured numbers and the measurement time are encoded in the URL itself. The shared page reads them from the link; nothing is uploaded. Anyone with the link can read those numbers, so share deliberately.
The third-party measurement endpoint
Measurements contact speed.cloudflare.com, which is operated by Cloudflare, not by us. Cloudflare's handling of those requests is governed by its own privacy policy — we are not the controller of what it receives and we cannot see or retrieve it.
Cloudflare's own disclosure for this service states that it receives, and what it does with, the following. This is quoted from speed.cloudflare.com and its privacy panel, checked on 29 October 2026:
- Your IP address — received, as with any request made over the internet.
- An estimate of your location at country and city level, derived from that IP address.
- The Autonomous System Number (ASN) of your ISP, derived from the same address.
Cloudflare states that it truncates the IP address it receives as part of the speed test to /24 for IPv4 and /48 for IPv6. It also states that it shares anonymised measurement information — for example the estimated geolocation and ASN — with its measurement partners as part of a shared internet performance database, and that it does not share your IP address with those partners.
In plain terms: during a test, Cloudflare receives your IP address and derives your approximate location and ISP from it, retains a truncated form of the address, and contributes anonymised performance data to a shared dataset. That is third-party processing, and it happens because a speed test cannot work without a remote endpoint to measure against. Our own pages and scripts do not send anything about you anywhere.
Cloudflare may change this disclosure. The authoritative version is always Cloudflare's own page and privacy policy, not this summary.
Our relationship with the endpoint
Being accurate about this matters more than sounding reassuring.
- There is no agreement between this project and Cloudflare. The endpoints are publicly reachable, and that is the whole of it. No partnership is claimed, and none should be inferred.
- No permission has been granted to us in writing. We have not been authorised by Cloudflare to use these endpoints for this site.
- No service commitment exists. Cloudflare does not provide this project with a service-level agreement, an uptime guarantee or a support channel. The endpoints could change, rate-limit or stop responding without notice to us.
- That limitation is unresolved and is treated as a launch blocker for scaling public traffic. It is tracked as risk R1 in
docs/phase3/PHASE3-ENDPOINT-DECISION.md. Editing this page does not resolve it, and this page is not offered as a substitute for resolving it.
If this deployment is later configured to use a self-hosted measurement backend instead, the operator of that backend takes Cloudflare's place and that operator's policy applies.