Methodology

How the test measures, what each number means, and where the limits are. Every finding in a result links back to these rules.

Evidence labels

OBSERVED: seen directly by your browser or by one of our measurement servers. A server observation (for example the address it saw) is stronger than a browser timing.

REPORTED: stated by you or by an outside data source, such as an IP database or a provider's documentation.

INFERRED: derived by a named, versioned rule from named evidence.

UNKNOWN: not measured, not enough evidence, or not possible from a website.

What a website cannot see

No website can read your IMSI, ICCID, APN, cell tower, active eSIM profile or the route inside the mobile core. An ASN identifies the visible IP network, not necessarily the seller, SIM issuer, local operator or roaming partner. GeoIP is a database estimate, not proof of where a gateway is.

Visible identity

Each measurement server determines the source address of your request from its own socket. Forwarded headers are only trusted from our own reverse proxy. The server enriches the address locally with IP databases (IPinfo Lite for country and network, DB-IP Lite for city), checks Apple's published Private Relay egress list, and returns a signed receipt without the raw address (only a pseudonym that is valid within this one test). Your browser shows the raw address to you only.

HTTP response delay

The main metric is request-to-first-byte (responseStart − requestStart from Resource Timing) of small, uncached HTTPS requests, after two warm-up requests per server. Servers are measured in interleaved, rotating order. When the browser hides that timing we fall back to the full fetch duration and say so. It is not an ICMP ping.

We show median, lowest value, the middle 50% and the number of samples. 'Variation' is the mean absolute difference between consecutive samples; it is not RTP jitter. A 95th percentile is only shown from 20 samples.

Phases that did not happen (a reused connection, cached DNS) are reported as not performed, never as 0 ms. TLS is never counted twice.

The light-speed check

Light in standard fibre covers about 204 km per millisecond; we use 210 km/ms to stay on the safe side. If your traffic left the mobile network at place E, a request to server N must take at least 2 × (distance you→E + distance E→N) / 210 ms. Measured times can only be longer than that, so a lowest measured time below the floor rules E out. Uncertainty radii of your location, the server and the place are subtracted first, so the check errs on the side of not excluding.

It can rule places out; it can never point at the exit. Long delays fit many places, and a slow radio link can hide a nearby exit.

Findings, not a score

There is no overall quality score. Each finding lists observations, an interpretation, alternative explanations, evidence strength (weak, moderate, strong), what is missing and at most one useful retest. A foreign GeoIP result alone is never more than moderate evidence.

Thresholds in rule set 1.0.0: a foreign server must beat the best local one by at least 10 ms in both median and minimum; 'strong' needs 20 ms, eight samples each and separated middle halves. Local delay counts as high above 80 ms minimum. A server needs five valid samples to take part in comparisons.

Data budget

Quick diagnosis uses at most 2 MiB, the connection test at most 20 MiB and the deep test at most 100 MiB of test payload, counted by one budget manager that reserves bytes before every request. Header bytes are an estimate. Page assets, TLS and retransmissions come on top. Servers enforce their own limits per signed grant.

Throughput is reported in decimal Mbps as 'measured at this data budget'. Short transfers may not fill a fast line.

Corrections

If you think a result or rule is wrong, send the session id and what you observed. Corrections change the rule set version; old findings keep the version they were made with.

Versions

test 2026.10-2 · inference 1.3.0