Privacy & measurement limits

What each connection check shares

Tests run only when you start them

HTTP probes and optional downloads contact Connection Checkup. Public DNS checks contact Cloudflare at 1.1.1.1 and Google at dns.google from your browser; those services receive your IP and a controlled public name. No packet-loss datagrams are sent.

Optional website check

Our server resolves the public host and sends HEAD requests with bounded redirects. Credentials are rejected, query and fragment are removed, response bodies are not kept. The target remains only in memory during the request and is not sent to analytics. Do not enter internal/private work names.

Local diagnostic state

Your tab stores a pseudonymous run ID, categorized results and comparison answers for at most 30 minutes of app use. It does not retain the entered website, DNS answers, SSID or device name. Retest creates a new run ID. Closing the tab clears session storage.

Optional analytics

Analytics is off until you enable it in the footer. With consent, we send categorized landing, test, diagnosis and action events, a short-lived run ID, known referrer category and campaign labels. We do not send raw target URLs, IPs, SSIDs, device names, DNS response contents or free text. First-touch attribution is held locally for up to 90 days and session attribution for 30 minutes. Disabling analytics removes local first-touch attribution and stops events. Storage or analytics failures never block tests.

Operational infrastructure

The web server necessarily receives source IPs to deliver responses and temporarily rate-limit tests. Application analytics strips them. Hosting access-log retention must be configured by the operator; avoid storing URL queries or diagnostic POST bodies. Third-party resolver retention is controlled by those providers.

Measure only what the test observes

HTTP timing includes browser and server work. Download rate is a bounded payload sample. Server DNS/TLS/HTTP checks use a different location from your browser. Router health, local DNS settings, network-layer packet loss and the exact cause of an interruption remain unknown unless independently observed.