voidly
Research

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

Russia36 / 100

38,241 source-window samples

Myanmar20 / 100

3,839 source-window samples

Tanzania17 / 100

871 source-window samples

A measurement-based index, separate from incident counts and shutdown forecasts.

Incident statisticsResponse available
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
Inspect this response ↗
Country indexResponse available
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
Inspect this response ↗
Recent recordsResponse available
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
Inspect this response ↗

The record behind it.

Tracked records include suspected censorship, mixed incidents and outage signals. They are not all verified censorship events.

8,452Total tracked incident records
511,120Evidence rows in the separate evidence corpus
106,257Incident-to-evidence links
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.

Retrieved country scores — first ten positive measured scores
Order hereCountryScore / 100SamplesSource level
1RussiaRU3638,241medium
2MyanmarMM203,839low
3TanzaniaTZ17871low
4ChinaCN16485low
5IranIR155,357low
6UAEAE141,379low
7VenezuelaVE1410,907low
8AlgeriaDZ121,137low
9PakistanPK121,779low
10MoroccoMA11969low
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.

  1. VenezuelaVE266
  2. RussiaRU262
  3. IranIR249
  4. EgyptEG214
  5. PakistanPK212
  6. AzerbaijanAZ206
  7. MyanmarMM201
  8. BangladeshBD145
  9. IndiaIN144
  10. BelarusBY143

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.

Last 24 hours60

Incident records created

6,536 evidence rows retrieved
Last 7 days453

Incident records created

82,747 evidence rows retrieved
Source event-date range2016-07-15

through 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.

  1. Ireland / 2026-09-08T23:20:00Z

    Internet connectivity disruption in Ireland

    108817425e26 · disruption · active · critical

    ioda
  2. North Macedonia / 2026-09-08T23:20:00Z

    Internet connectivity disruption in MK

    fab62a244b8c · disruption · active · critical

    ioda
  3. Mexico / 2026-09-08T22:40:00Z

    Internet connectivity disruption in Mexico

    4cf23afb64df · disruption · active · critical

    ioda
  4. Uganda / 2026-09-08T19:55:00Z

    Internet connectivity disruption in Uganda

    adca61925d20 · disruption · active · critical

    ioda
  5. Iceland / 2026-09-08T19:40:00Z

    Internet connectivity disruption in Iceland

    ce40936368a5 · disruption · active · critical

    ioda
  6. Bangladesh / 2026-09-08T19:10:00Z

    Internet connectivity disruption in Bangladesh

    8068b5e4e72e · disruption · active · critical

    ioda
  7. Germany / 2026-09-08T18:40:00Z

    Internet connectivity disruption in Germany

    9dcbb5ed47ee · disruption · active · critical

    ioda
  8. 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.