Voidly / global report
Global censorship.
In the evidence.
Follow the country scores. Open the records. Keep each source in view.
Highest scores in the retrieved index
38,241 source-window samples
3,839 source-window samples
871 source-window samples
A measurement-based index, separate from incident counts and shutdown forecasts.
- Read checked
- 2026-09-09T04:15:31.075Z
- Generated by source
- Not reported
Source provenance
No source note supplied.
- Backend / version
- sqlite / Not reported
- stale / stale_known
- not reported / not reported
- Omitted rows
- 0
- Read checked
- 2026-09-09T04:15:31.704Z
- Generated by source
- 2026-09-09T04:15:31.701Z
- Data as of
- 2026-09-09T03:21:13.631Z
Source provenance
Newest per-country ingestion stamp — the only field here that can go stale. `dateModified` and `generated_at_utc` are serve times, minted per request; do not read them as data freshness.
- Backend / version
- Not reported / 2026.09.09
- stale / stale_known
- not reported / not reported
- Omitted rows
- 0
- Read checked
- 2026-09-09T04:15:31.030Z
- Generated by source
- 2026-09-09T04:15:30.992726Z
Source provenance
No source note supplied.
- Backend / version
- sqlite / 2026.09.09
- stale / stale_known
- not reported / not reported
- Omitted rows
- 0
The record behind it.
Tracked records include suspected censorship, mixed incidents and outage signals. They are not all verified censorship events.
Citable categories, evidence links and caveats
- Source citable category
- 716
- Category records with linked evidence
- 639
- Category records with multiple sources
- 339
citable_censorship = censorship/mixed incidents excluding suspected/draft. citable_with_evidence = the subset with >=1 linked evidence permalink (the individually-verifiable count). citable_multi_source = the subset corroborated by >=2 independent sources. The remainder are single-source historical-backfill rows.
The source category, individual evidence links and multi-source corroboration are different properties. Open the incident before citing its evidence.
A country-by-country view.
The highest positive scores among valid measured rows, with each source-window sample count. Lower coverage can make a score less reliable.
| Order here | Country | Score / 100 | Samples | Source level |
|---|---|---|---|---|
| 1 | RussiaRU | 36 | 38,241 | medium |
| 2 | MyanmarMM | 20 | 3,839 | low |
| 3 | TanzaniaTZ | 17 | 871 | low |
| 4 | ChinaCN | 16 | 485 | low |
| 5 | IranIR | 15 | 5,357 | low |
| 6 | UAEAE | 14 | 1,379 | low |
| 7 | VenezuelaVE | 14 | 10,907 | low |
| 8 | AlgeriaDZ | 12 | 1,137 | low |
| 9 | PakistanPK | 12 | 1,779 | low |
| 10 | MoroccoMA | 11 | 969 | low |
Score definition, measurement window and model note
- Country rows retrieved
- 130
- Source-window days / measurements
- 30 / 409,779
derived: sum of countries[].samples (OONI measurementCount) over the rolling 30-day live window. Not floored, not padded, not a constant.
Newest per-country ingestion stamp — the only field here that can go stale. `dateModified` and `generated_at_utc` are serve times, minted per request; do not read them as data freshness.
Cross-country LOCO MEAN F1 0.711, which /v1/classifier/info names as its headline_metric; the median 0.870 is dominated by small-sample countries and is not the honest single number. 0.63 on the 61 countries with n>=30. Forward-temporal holdout AUC 0.669 / F1 0.474 — generalizes across countries, degrades across time (retrained weekly). The retired v2 (0.998 F1) had country-tier leakage; not cited as live.
{
"scoringVersion": "2026.08-eb-k10",
"method": "ooni_anomaly_rate_30d_shrunk_empirical_bayes",
"formula": "score = round(100 * anomalyRate * n / (n + 10))",
"shrinkK": 10,
"levelBasis": "level is derived from the unrounded shrunk rate (severe >= 0.7, high >= 0.5, medium >= 0.25, low >= 0.1, else free) — NOT from the rounded integer score. A country with samples: 0 is \"unmeasured\", never \"free\".",
"levelValues": [
"severe",
"high",
"medium",
"low",
"free",
"unmeasured"
],
"unmeasuredMeaning": "samples: 0 means OONI published NO measurements for this country in the 30-day window. That is the absence of evidence, not evidence of absence, so such rows are level \"unmeasured\" and are excluded from summary.freeCount. Before 2026-08-29 they were published as \"free\" — North Korea, Eritrea, the Bahamas and Nicaragua were all served as free countries on zero measurements.",
"rankTieBreak": "shrunkRate desc, then samples desc, then code asc — a total order, identical in every distribution",
"lowConfidenceBelowSamples": 30,
"appliesTo": [
"https://api.voidly.ai/data/censorship-index.json",
"https://api.voidly.ai/data/censorship-index.csv"
],
"changedAt": "2026-08-29",
"changedFields": {
"https://api.voidly.ai/data/censorship-index.json": {
"unchanged": [
"score",
"samples",
"country set"
],
"changed": [
"rank",
"level"
],
"detail": "score: 0 of 130 rows changed — byte-identical to what was served before. rank: 108 of 130 changed, 50 of them toward rank 1, entirely within groups whose score did not move (largest: SE 121 to 95, LT 86 to 61, SI 91 to 64, all at score 1-2; among rows scoring 10 or above only HN 9 to 8 and IR 8 to 9 swap). level: 4 of 130 changed, all of them zero-measurement rows moving from \"free\" to \"unmeasured\" — see unmeasuredMeaning."
},
"https://api.voidly.ai/data/censorship-index.csv": {
"unchanged": [
"samples",
"country set",
"columns 1-8 by name, order and meaning"
],
"changed": [
"rank",
"score",
"level",
"4 columns appended"
],
"detail": "score: 12 of 130 rows changed, every one DOWNWARD (largest TM 50 to 8). level: 3 changed downward (TM high to free, DZ and PK low to free) plus the 4 zero-measurement rows to \"unmeasured\". Any row taken from this file before 2026-08-29 should be re-fetched. Four columns were appended (raw_anomaly_rate, shrunk_rate, low_confidence, scoring_version); a reader that pins the column COUNT at 8 will reject the file, one that reads by position or header name will not."
}
},
"changeNote": "Before 2026-08-29 the CSV distribution published the UNSHRUNK anomaly rate while the JSON published the shrunk one, and the two sorted differently. Turkmenistan was served as rank 1 / score 50 / high in the CSV on 2 measurements; its shrunk score is 8 / free. 12 scores, 3 levels and 124 ranks disagreed between the two files. Both are now computed once. NO SCORE OR LEVEL MOVED UPWARD IN EITHER FILE — verified against the full live 130-country corpus. BOTH distributions changed, not only the CSV: the CSV s scores and levels moved down, and the JSON s `rank` changed for 108 of 130 rows because ties on the rounded score used to be broken by upstream array order. See `changedFields` for the per-distribution breakdown. A consumer that stored `rank` from EITHER file should re-fetch."
}The original report called this a composite of block rate, category breadth and consistency. The actual scoring definition above belongs to the retrieved index; its window and methods can differ from historical report text.
Where records accumulate.
Source-reported country counts describe the incident corpus. They are not a ranking of intent, severity or a country's actual censorship rate.
Read the labels.
Severity, incident type and status describe different fields in the same source. The category “censorship” is not a blocking-method measurement.
By severity
- critical
- 8,185 / 96.8%
- warning
- 267 / 3.2%
By type
- disruption
- 4,778 / 56.5%
- censorship
- 3,340 / 39.5%
- mixed
- 334 / 4.0%
By status
- active
- 5,081 / 60.1%
- suspected
- 2,958 / 35.0%
- confirmed
- 413 / 4.9%
Follow each source.
OONI contributes network measurements; IODA observes outages through BGP, active probing and telescope traffic; CensoredPlanet measures remote DNS and HTTP/S behavior.
Evidence rows by source
- ooni
- 227,925 / 44.6%
- Voidly
- 174,778 / 34.2%
- censoredplanet
- 41,125 / 8.0%
- ioda
- 34,163 / 6.7%
- Voidly-Community
- 33,129 / 6.5%
Cross-source comparison can help assess a record; it does not make every incident independently corroborated. Voidly probe measurements and community nodes have their own coverage and dates.
Added to the record.
The statistics handler counts incident creation and evidence retrieval time. These are ingestion figures, not counts of events that began during the period.
Incident records created
6,536 evidence rows retrievedIncident records created
82,747 evidence rows retrievedthrough 2026-09-08
The latest recorded event date is not automatically today.Open a recent record.
This list is a separate source read. Its records are not used to fill missing corpus statistics.
- Ireland / 2026-09-08T23:20:00Z
Internet connectivity disruption in Ireland
108817425e26 · disruption · active · critical
ioda - North Macedonia / 2026-09-08T23:20:00Z
Internet connectivity disruption in MK
fab62a244b8c · disruption · active · critical
ioda - Mexico / 2026-09-08T22:40:00Z
Internet connectivity disruption in Mexico
4cf23afb64df · disruption · active · critical
ioda - Uganda / 2026-09-08T19:55:00Z
Internet connectivity disruption in Uganda
adca61925d20 · disruption · active · critical
ioda - Iceland / 2026-09-08T19:40:00Z
Internet connectivity disruption in Iceland
ce40936368a5 · disruption · active · critical
ioda - Bangladesh / 2026-09-08T19:10:00Z
Internet connectivity disruption in Bangladesh
8068b5e4e72e · disruption · active · critical
ioda - Germany / 2026-09-08T18:40:00Z
Internet connectivity disruption in Germany
9dcbb5ed47ee · disruption · active · critical
ioda - India / 2026-09-08T18:40:00Z
Internet connectivity disruption in India
dd2cf22796e9 · disruption · active · critical
ioda
Keep the methods close.
Reference details from the original report remain below. Current source responses and historical evaluation figures have different scopes.
Original collection description and evaluation context
Collection documentation
- The original page describes roughly 1,100 distinct domains per day from a 5,154-domain pool across 130 countries. Its node count was a build-time constant, not a verified active roster.
- It describes OONI ingestion for eight test types across 130 countries every six hours; CensoredPlanet DNS/HTTP/S data across 50 countries; and continuous IODA ASN-level outage alerts.
- These are documented source/configuration descriptions, not fresh coverage or delivery checks. Read the current probe roster and source dates before quoting them.
Classifier v3.3 reference
GradientBoosting: LOCO mean F1 0.71 across 127 countries; 0.63 on the 61 with n≥30. The 0.87 median is inflated by 46 small-sample countries at a perfect 1.0. Training used 4,237 labelled samples, including 1,116 positive samples across 131 countries.
Shutdown-risk reference
The original shutdown_risk_v9 evaluation reports forward country-ranking AUC 0.90 against Access Now KeepItOn shutdowns. It ranks which countries; within-country day timing AUC is 0.33, below chance. These are not the distinct Atlas honest_forecast_v1 event model's scores.
The original page describes cross-source correlation and an incident-generation schedule every 30 minutes. A documented schedule is not proof that each run succeeded, and correlation is not independent confirmation of every incident.
Use the evidence.
Keep the canonical report URL, source timestamps, record types and any unavailable or degraded state with a citation.
Voidly-original research output is CC BY 4.0. Upstream measurements retain their own terms; see source-specific licensing. No blanket license is assigned to every input.
Voidly Censorship Intelligence · Ai Analytics LLC · Report source read checked 2026-09-09T04:15:31.704Z. This read is not a publication or data-update timestamp.