voidly

This article is about the Voidly research network. For the end-to-end encrypted messenger, see Voidly Messenger. For the agent settlement rail, see Voidly Pay. For the public REST API, see API documentation. Not to be confused with Void Linux or Voidly Bio (cosmetics).

Voidly

Network intelligence built on trust.

censorship incidents36.0M signals200 countriesCC BY 4.0

Voidly is a network-intelligence research network. It operates a -node global probe network[4] measuring blocked domains every five minutes, ingests measurements from OONI[1], IODA[2], and CensoredPlanet[3], and publishes the merged corpus as a free CC BY 4.0 dataset[5]. It also runs four production research services: Atlas, Sentinel, Relay, and Pay.

Sources: OONI · IODA · CensoredPlanet · Citizen Lab · Voidly probesLicense: CC BY 4.0Updated: MethodologyAbout
36.0M
Live measurements[1]
Citable incidents[6]
200
Countries monitored[7]
99.8%
Classifier F1 (internal)[8]
# Free, unauthenticated, CC BY 4.0
curl https://api.voidly.ai/data/incidents?limit=5

# Cite a specific incident by readable ID
curl https://api.voidly.ai/data/incidents/IR-2026-0142

Live in a censored country?

Check what’s blocked on your network or use our free privacy tools.

·Overview

What Voidly does

Voidly exists to make internet censorship measurable for people who are not network engineers. Voidly does this by aggregating existing measurement networks — OONI[1], IODA[2], and CensoredPlanet[3] — into a single citable evidence database, then publishing the resulting incidents, country rankings, and forecasts under CC BY 4.0.

The intended audience is, in priority order: researchers and journalists who need permanent citations for stories about shutdowns and platform blocks; AI-agent and developer-tooling teams who need a free machine-readable feed; and end-users in censored regions who want a real-time picture of what is being blocked. Voidly is not a VPN service.

The full operating context, governance, and disclosures are on the about page; the data pipeline is documented in the methodology.

·Data sources

What goes into the evidence database

Voidly does not publish original measurements; it triangulates four independent measurement networks and one canonical URL test list. Every claim in the incident database links back to a source row.

Active probes (8 test types)
every 6 hCC0
BGP + Telescope outage detection
every 6 hCC BY 4.0
Remote DNS + HTTP/HTTPS
dailyCC BY 4.0
Active TCP/DNS/HTTP from — nodes
every 5 minCC BY 4.0
Volunteer-operated probe nodes
every 5 minCC BY 4.0
URL test lists (domain categories)
staticCC BY 4.0
·Methodology

How signals become incidents

Each upstream measurement is normalized to a common evidence row, classified by a Gradient Boosting model, and grouped into a citable incident. Every transformation is documented and reproducible.

The pipeline runs every six hours. Raw measurements are deduplicated, geocoded to the country and ASN level, and joined against the Citizen Lab URL test list[12] for content category. A Gradient Boosting classifier (99.8% F1 / 1.000 AUC on 5-fold internal cross-validation[8]) tags likely censorship, and high-confidence rows are clustered into citable incidents with a permanent human-readable ID like IR-2026-0142.

The Sentinel forecasting model (XGBoost + isotonic calibration) runs daily at 02:00 UTC and projects 7-day shutdown risk per country. Performance is published live: leave-country-out median AUC of [9] is the deployment-aligned figure; we deliberately publish the lower honest number alongside the higher stratified-holdout figure to discourage cherry-picking.

Classifier
GradientBoosting
F1 (internal)
99.8%
Forecast model
XGBoost
LOCO median AUC
Training samples
37K labeled
Retrain
weekly · Sun 02:00 UTC

Limitations

  • The classifier metric (99.8% F1) is from internal 5-fold cross-validation only. No independent third-party evaluation has been conducted.
  • Evidence rows are not exhaustive. Voidly only ingests what its upstream networks publish; censorship that no upstream measures will not appear in the database.
  • Country count is sourced from the most recent build-time OONI snapshot (public/ooni-data.json). It updates on rebuild, not in real time.
  • Forecast metrics (LOCO median AUC) are reported on the most recent training holdout. Real-world performance can drift between retrains.

Full methodology, validation matrix, confidence intervals, and limitations: /methodology.

·Live data

The most recent five incidents

Updated every minute. The Atom feed and the WebSocket-backed dashboard at /live are the canonical real-time interfaces.

Last 7 days: new incidents[6]Open dashboardFull archiveAtom feed
·Products

Four research services, one dataset

Each service is independently usable. They share an identity layer (DIDs), a publication license (CC BY 4.0), and the underlying evidence database.

Data layer

Atlas

A public dataset of citable internet-censorship incidents, each backed by evidence permalinks to the upstream measurement networks.

incidents · evidence rows[6]
Read more →
Forecasting

Sentinel

A daily 7-day shutdown forecast for high-risk countries with conformal-calibrated intervals and SHAP-explained drivers.

countries above threshold · LOCO AUC[9]
Read more →
Encrypted comms

Relay

An end-to-end encrypted agent-to-agent messaging network using Double Ratchet plus ML-KEM-768 post-quantum hybrid key exchange.

Double Ratchet · ML-KEM-768 · X3DH[11]
Read more →
Settlement

Pay

A USDC-on-Base agent payment rail. Live Stage 2 vault on Base mainnet, Sourcify-verified, MCP-native.

hires · capabilities · cr settled[10]
Read more →
·APIs

Free public read API and MCP server

The dataset is meant to be queried, not just downloaded. Public read endpoints work without auth; ML-prediction and writeable agent endpoints take a free key.

REST · curl
# Free, unauthenticated, CC BY 4.0
curl https://api.voidly.ai/data/incidents?limit=5

# Cite a specific incident by readable ID
curl https://api.voidly.ai/data/incidents/IR-2026-0142

# Verify a censorship claim with the ML classifier
curl -X POST https://api.voidly.ai/verify-claim \
  -H 'Content-Type: application/json' \
  -d '{"claim":"Twitter is blocked in Iran"}'
MCP · Claude / Cursor / Windsurf[11]
# Install the MCP server (Claude, Cursor, Windsurf)
npx @voidly/mcp-server

# Or pin the latest version explicitly
npm install -g @voidly/mcp-server@latest

# Adds Voidly's censorship + agent tools to your assistant:
#   get_country_status, check_domain_blocked,
#   get_active_incidents, get_risk_forecast,
#   verify_claim, and the rest of the toolset.
·Citing

Citing Voidly in your work

The dataset is published under CC BY 4.0. You can republish, redistribute, and build on top, as long as you credit. Permanent incident IDs (e.g. IR-2026-0142) are stable across versions.

Voidly Research is the canonical author. The example below generates a BibTeX entry for the network as a whole; for an individual incident, use /api/incidents/<ID>/report?format=bibtex instead, which produces a stable per-incident citation.

Need a press kit, headshot, or signed PGP attestation of a specific number? Press kit and facts sheet.

License: CC BY 4.0. Data and code are on GitHub for independent replication.

·See also

Adjacent work in the field

Voidly does not duplicate these projects — it builds on top of them. Voidly credits its upstreams and links to comparable research orgs and standards bodies that journalists may want to triangulate against.

·References

References

  1. [1]Open Observatory of Network Interference (OONI). Aggregated network measurements across web connectivity, instant-messaging, circumvention, and middlebox tests. Voidly ingests the public OONI Aggregation API every six hours. ooni.org/data. Accessed: .
  2. [2]Internet Outage Detection and Analysis (IODA), Georgia Institute of Technology. ASN-level outage detection from BGP, active probing, and Telescope traffic. ioda.inetintel.cc.gatech.edu. Accessed: .
  3. [3]CensoredPlanet, University of Michigan. Remote DNS (Satellite) and HTTP/HTTPS (Hyperquack) censorship measurement. censoredplanet.org. Voidly ingests the public daily dumps, replicating ~50 countries × 30–35 domains. Accessed: .
  4. [4]Voidly Probe Network. Vultr-hosted core nodes plus community Fly.io deployments testing target domains every five minutes. The current node and domain counts are published on the live roster: api.voidly.ai/v1/probe/network. Accessed: .
  5. [5]Creative Commons Attribution 4.0 International (CC BY 4.0). All Voidly research output (incidents, evidence rows, country indexes, forecasts) is published under this license. creativecommons.org/licenses/by/4.0. Accessed: .
  6. [6]Voidly Atlas Incidents API. api.voidly.ai/data/incidents/stats — total citable incidents, evidence rows, and growth. Accessed: .
  7. [7]Voidly OONI snapshot dataset. Country count derived from public/ooni-data.json, regenerated on every site rebuild from the most recent six-hour OONI ingest. Accessed: .
  8. [8]Voidly censorship classifier (Gradient Boosting). Internal evaluation: 99.8% F1 / 1.000 AUC-ROC on internal 5-fold cross-validation across 37K labeled incidents. No independent third-party evaluation has been conducted. See /methodology for full caveats. Accessed: .
  9. [9]Voidly Sentinel forecasting model (XGBoost + isotonic calibration). Stratified-holdout AUC and leave-country-out median AUC are published live at /v1/sentinel/accuracy; the LOCO median is the deployment-aligned figure. Accessed: .
  10. [10]Voidly Pay Stage 2. USDC settlement vault on Base mainnet at 0xb592…1c12. Sourcify exact_match verification: sourcify.dev. Accessed: .
  11. [11]Anthropic Model Context Protocol (MCP), public registry. Voidly publishes io.github.voidly-ai/pay-mcp and @voidly/mcp-server. registry.modelcontextprotocol.io. Accessed: .
  12. [12]Citizen Lab URL test list, University of Toronto. ~14,000 domains labeled across 22 content categories. github.com/citizenlab/test-lists. Accessed: .