When two of our networks test the same site, they usually give different answers

Voidly aggregates three independent measurement networks, and they do not measure the same thing:

Because their scopes barely overlap, cross-validation is only structurally possible on CensoredPlanet's 28 domains. Of the 28,287 domain×country cells the two domain-measuring networks cover between them, only 384 (1.4%) are tested by both OONI and CensoredPlanet. Most detections are single-source by construction, not by choice.

And where they do overlap, they often disagree. On the 384 cells where CensoredPlanet flagged a block and OONI also tested the target, OONI independently confirmed a block on only 110 (29%); on the other 274 (71%), OONI's active test reached the site.

That gap is mostly methodology, not error — and it has a shape

CensoredPlanet's 28-domain test set is entirely large CDN-hosted global platforms — facebook.com, google.com, youtube.com, chatgpt.com, claude.ai, telegram.org, whatsapp.com, instagram.com, twitter.com, signal.org, protonvpn.com, bbc.com, nytimes.com, theguardian.com, reddit.com, tiktok.com and a handful more. These are exactly the domains where remote DNS measurement is most prone to false positives: a global CDN legitimately returns different IPs per region, and a remote resolver comparison can read that GeoDNS variance as "DNS inconsistency = blocking" when the site is in fact reachable.

The canonical case surfaced in Voidly's own data this month: CensoredPlanet flagged facebook.com as DNS-blocked in Singapore — a country that does not nationally block Facebook — off a cluster of remote-resolver anomalies, with no OONI confirmation. An active connection test reaches Facebook in Singapore fine. The 71% "unconfirmed" rate is dominated by exactly this class.

So the honest reading is not "CensoredPlanet is wrong 71% of the time." DNS-layer remote measurement and connection-layer active measurement answer different questions; a block can also be intermittent, ISP-specific, or time-shifted between the two measurements. The disagreement is a feature of measuring censorship from multiple angles — which is precisely why no single angle is treated as ground truth.

This is why we publish agreement, not volume, as truth

Voidly's trust model falls directly out of this structure:

A data source that quietly reported the union of all three networks as "confirmed censorship" would inflate its numbers and import every CDN false positive. Reporting the intersection — and labeling the rest as a floor — is the cost of being citable.

Honest caveats (read before you cite)

  1. "OONI did not confirm" is not "CensoredPlanet was wrong." The 29% is a cross-confirmation rate, not a CensoredPlanet error rate. Different vantage points, different measurement times, intermittent or ISP-specific blocking, and DNS-layer vs connection-layer methods all produce honest disagreement.
  2. This is asymmetric by design. CensoredPlanet stores only detections (no "all-clear" rows), so the metric is "OONI confirmation of CensoredPlanet block-flags," not symmetric agreement. IODA is excluded entirely (it has no per-domain signal).
  3. The overlap is small (384 cells) because CensoredPlanet tests only 28 domains — that narrowness is itself the structural point, not a sampling flaw.
  4. Voidly is the analysis layer aggregating these upstream networks, not an independent fourth measurement source. The trust model is about how we combine others' data.

Reproduce every number

Numbers live as of 26 June 2026. Source counts and the multi-source split are public.