Voidly
All findingsPublished research

Two networks, one domain, different answers: why we publish single-source blocks as a floor, not a fact

A data-trust audit of the observatory itself. Voidly aggregates three independent networks that measure different things: OONI (active web-connectivity, 5,552 domains / 93 countries, full accessible+blocked verdicts), CensoredPlanet (remote DNS/HTTP, just 28 high-profile domains / 42 countries,…

Read the full published summary

A data-trust audit of the observatory itself. Voidly aggregates three independent networks that measure different things: OONI (active web-connectivity, 5,552 domains / 93 countries, full accessible+blocked verdicts), CensoredPlanet (remote DNS/HTTP, just 28 high-profile domains / 42 countries, detection-only), and IODA (ASN connectivity outages, no per-domain signal). Their scopes barely overlap: of 28,287 domain×country cells the two domain-measuring networks cover, only 384 (1.4%) are tested by BOTH — so most detections are single-source by construction. And where they overlap they often disagree: on the 384 cells where CensoredPlanet flagged a block and OONI also tested, OONI independently confirmed only 110 (29%); on the other 274 (71%) OONI's active test reached the site. The gap is mostly methodology, not error: CensoredPlanet's entire 28-domain set is large CDN platforms (facebook/google/youtube/chatgpt/telegram/whatsapp/…), exactly where remote DNS measurement false-positives on legitimate GeoDNS variance — the canonical case being CensoredPlanet flagging facebook.com 'blocked' in Singapore (which doesn't block it) with no OONI confirmation. This is WHY Voidly publishes single-source detections as a floor/suspected, treats multi-source-corroborated incidents (191 of 498 citable = 38%) as the citable core, and requires a block across ≥3 networks for a confirmed-national blocklist. Reporting the intersection, not the union, is the cost of being citable. HONEST CAVEATS: (1) 'OONI didn't confirm' ≠ 'CensoredPlanet was wrong' — different vantage/time/method, intermittent or ISP-specific blocks; the 29% is a cross-confirmation rate not an error rate. (2) Asymmetric by design — CP stores detections only, so this is OONI-confirmation-of-CP, not symmetric agreement; IODA excluded (no domain signal). (3) The small 384-cell overlap is structural (CP tests 28 domains), not a sampling flaw. (4) Voidly is the analysis layer aggregating upstreams, not an independent source. Live: /data/incidents/stats + /v1/measurement/summary.

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:

  • OONI — active web-connectivity tests from real vantage points. Broad: 5,552 domains across 93 countries, with full accessible and blocked verdicts (71,565 evidence rows).
  • CensoredPlanet — remote DNS/HTTP measurement. Narrow and detection-only: a fixed set of 28 high-profile domains across 42 countries (24,373 rows), and it records anomalies, not "all-clear" results.
  • IODA — ASN-level connectivity outages. No per-domain granularity at all (it answers "is the network up," not "is this site blocked").

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:

  • Single-source detection → a floor, not a fact. A block seen by only one network is published as suspected / a lower bound — never asserted as confirmed national censorship.
  • Multi-source corroboration → the citable core. Of Voidly's 498 citable incidents, 191 (38%) are corroborated by two or more independent sources. Those are the ones a journalist or researcher should lean on hardest.
  • Confirmed-national requires breadth — the natblock floor demands a block measured across ≥3 independent networks before a domain enters a country's confirmed blocklist.

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.

The source record.

Original source links and labels. Linked responses may have changed since publication.