Data Policy & Telemetry Handling
Production configuration review referenced below: October 8, 2026
This policy describes the browser implementation and separately identifies the production Cloudflare configuration review dated above. That historical configuration review is not a fresh verification of production settings. Hosting-provider request processing, browser-local records and optional database storage are distinct.
1. Measurements and Request Data
The browser measures download and upload throughput, latency and jitter, and displays loaded-latency diagnostics where available. Cloudflare processes your IP address to deliver requests. The IP-information endpoint returns IP, approximate city/country and ISP information to the browser where available. The API uses the connecting IP for transient rate-limit checks; this is not an IP-hashing pipeline.
2. Server-Side Database Storage
No database persistence was configured in the production Pages settings checked on October 8, 2026. That finding is historical; this content revision does not verify whether those bindings have changed. The results API can optionally write a transaction ID, timestamp, download speed, upload speed, ping, jitter and ISP text to Supabase when the required bindings are enabled. That record does not include a raw or hashed IP address, account ID, browser history or browsing content.
With those bindings absent, the results response reports that database logging did not occur. Hosting-provider logs and temporary request processing remain separate and are governed by Cloudflare's service settings and Privacy Policy. Enabling persistence later requires reviewing the actual processor, storage fields and retention controls first.
3. Local History and Sharing
The vv-history localStorage entry keeps up to ten recent results on your browser. New schema-version-2 records contain a result snapshot: throughput and HTTP timing values, jitter, timestamp, mode and ISP/network labels where available, measurement contract and validity status, accepted timing samples, probe attempts and failure reasons, and phase timing evidence. Not every field is present in every record. New letter grades are withheld; older records may retain grades labelled unverified. Invalid or unavailable measurements remain labelled as such rather than becoming valid results. You can remove records through Clear History or your browser's site-data settings. Records have no automatic time-based expiry.
Share links encode measurements and, when included, timestamp, mode and ISP information in URL parameters. The mv=2 marker, bounded me measurement-evidence object and core invalidity markers can also expose timing samples, attempt or failure information and measurement status. A share URL is not a complete copy of every local snapshot field. Anyone with the link can read its values. There is no server-side result-token store or automatic link-expiry mechanism. Browser history, recipients and hosting request logs may retain copied URLs. Review the full URL before sharing; share only information you intend recipients to retain.
We do not currently share aggregate data externally. This publisher practice is separate from hosting-provider request processing, optional consented analytics, and result links you choose to share. See the Privacy Policy for third-party processing and available controls.
4. Newsletter and ISP Index
The newsletter endpoint is unavailable while database bindings are absent. If enabled later, it can store an email address, subscription ID and creation time; the current API does not implement double opt-in verification or an automated deletion schedule.
The ISP Index currently presents sourced provider guidance with empirical rankings and scores withdrawn. The current shipped dataset is empty; the guides are not a ranking generated from newly submitted tests. Refer to the Index's methodology and correction notices rather than treating provider information as evidence of an active results-collection pipeline.
5. Your Controls and Requests
You can export current test results as JSON or CSV, clear local history, and manage optional analytics/advertising through Cookie Preferences. JSON exports preserve the structured snapshot and measurement evidence. CSV exposes defined columns, including validity status, timing samples, attempts and exclusions; it is not a complete copy of all nested phase evidence. Exports may include network or ISP labels where available, so review them before sharing. The application does not require a user account for a speed test. We do not sell individual test records or IP addresses.
For data questions or requests, use the private conversation on the Contact page. Rights and request handling are described in the Privacy Policy.
Support data is separate from test results
Messages sent through support are stored separately from diagnostic results. The thread includes your chosen subject, message text and timestamps; test results are not automatically attached. Session and recovery credentials are stored as hashes. Access expires 30 days after the last accepted message, with bounded hourly cleanup. See the support privacy and recovery details. A data-rights request can be sent in your existing thread; never send the recovery key in a message. Failed sends are not delivered requests.