Each call names an external source, a threshold and a resolution date before the outcome is known. The score is published whether it flatters us or not — a record that only reports its wins is not a record.
Each call’s probability is that country’s own long-run rate, re-weighted toward its recent behaviour. The base rate we score against is that same long-run rate. So this first cohort is not a test of whether we understand the world — it is a narrower and more answerable question: does weighting recent behaviour beat the long-run average? A negative score means it does not, and that is a valid result we expect to publish. It is also why we withhold any skill number until three independent resolution batches exist: one fortnight cannot separate a forecasting method from the weather it happened to land in.
Until 23 August, each censorship call was priced by weighting a country’s recent behaviour against its long-run rate. A walk-forward backtest then measured that weighting at −7.1% skill on this domain — worse than using the long-run rate alone — so the weight was set to zero.
That correction was right, and it had a consequence we did not act on for six days. With the weight at zero the stated probability is the long-run rate, and the long-run rate is what we score against. Every censorship call issued since has had a skill of exactly zero — not approximately zero, and not because the forecast was poor, but by arithmetic. A number divided by itself.
So we have stopped issuing them, under a rule that is not specific to censorship: a generator that cannot state a probability different from its own base rate issues nothing, unless it is a declared calibration harness whose entire purpose is to sit on climatology. State a claim, or be a control.
The censorship calls already on the book are untouched. They were made, and they resolve as made — including the 39 due on 5 September. What stops is adding more. We do not have a replacement generator yet, and we will not issue censorship calls again until we have one that is capable of being wrong.
OONI is a volunteer network, and its coverage is thinnest in precisely the places where running a measurement tool is most dangerous — so the countries we most want to be right about are the ones we have least evidence for.
Before a call is scored, we ask whether we looked hard enough to be entitled to an answer. A censorship call is scored only if OONI observed that country on at least half the days in the call’s window, across enough measurements that one volunteer’s network conditions cannot decide a public verdict. Below that line the call is marked unresolvable: it stays on the book, it carries the reason, and it is excluded from every number on this page.
The rule cuts one way only. A confirmed block we did observe resolves the call as a hit no matter how thin the coverage — seeing something happen is evidence that it happened. It is the absence of a block that needs a well-observed window to mean anything.
Unresolvable is not the same as void. A call is void when our own criterion was unsound — our mistake, withdrawn by us. It is unresolvable when the world did not supply enough evidence to judge either way. Neither is ever scored, and neither is ever deleted.
We are stating this before the first calls resolve, because a rule published afterwards is not a rule — it is an explanation.
Each domain has its own resolver, its own base-rate estimator and its own dependence structure. Pooling them would produce one number dominated by whichever domain happened to write more rows, which is not a track record.
Nothing here is scored against a NexusWatch number. That distinction is the whole product: an index that grades its own forecasts can accumulate rows forever without ever being wrong. One domain is deliberately unglamorous: USGS seismicity windows, stated at their own climatology. They are a calibration harness — a domain where the right answer is computable, so a broken scoring pipeline cannot hide — and they are excluded from the claim counts above.
Ordered by how far each call sits from that country’s own base rate — the ones at the top are where we are actually saying something rather than restating how often it happens anyway.
UGUGX depreciates 2.02% or more against USD at any point within 14 days, from 4336.26.39% (+13pts) UGUGX depreciates 2.02% or more against USD at any point within 14 days, from 4113.32.38% (+13pts) MAMAD depreciates 1.50% or more against USD at any point within 14 days, from 9.81548.38% (+12pts) UGUGX depreciates 1.91% or more against USD at any point within 14 days, from 4166.17.38% (+12pts) MAMAD depreciates 1.50% or more against USD at any point within 14 days, from 9.80737.38% (+12pts) MAMAD depreciates 1.50% or more against USD at any point within 14 days, from 9.74391.37% (+12pts) MAMAD depreciates 1.50% or more against USD at any point within 14 days, from 9.83419.37% (+12pts) UGUGX depreciates 1.89% or more against USD at any point within 14 days, from 4126.43.37% (+12pts) MAMAD depreciates 1.50% or more against USD at any point within 14 days, from 9.72655.36% (+11pts) MAMAD depreciates 1.50% or more against USD at any point within 14 days, from 9.77493.36% (+11pts) MAMAD depreciates 1.50% or more against USD at any point within 14 days, from 9.78792.36% (+11pts) UGUGX depreciates 1.83% or more against USD at any point within 14 days, from 4100.68.37% (+11pts) MAMAD depreciates 1.50% or more against USD at any point within 14 days, from 9.71107.35% (+11pts) MAMAD depreciates 1.50% or more against USD at any point within 14 days, from 9.79932.36% (+11pts) MAMAD depreciates 1.50% or more against USD at any point within 14 days, from 9.78797.36% (+11pts) MXMXN depreciates 1.55% or more against USD at any point within 14 days, from 18.7231.36% (+11pts) UGUGX depreciates 1.60% or more against USD at any point within 14 days, from 4022.11.37% (+11pts) UGUGX depreciates 1.61% or more against USD at any point within 14 days, from 4016.57.36% (+11pts) UGUGX depreciates 1.83% or more against USD at any point within 14 days, from 4040.74.36% (+11pts) MAMAD depreciates 1.50% or more against USD at any point within 14 days, from 9.81064.35% (+11pts) MAMAD depreciates 1.50% or more against USD at any point within 14 days, from 9.81473.35% (+11pts) UGUGX depreciates 1.74% or more against USD at any point within 14 days, from 4060.88.36% (+10pts) UGUGX depreciates 1.76% or more against USD at any point within 14 days, from 4029.72.36% (+10pts) UGUGX depreciates 1.60% or more against USD at any point within 14 days, from 4004.88.36% (+10pts) UGUGX depreciates 1.63% or more against USD at any point within 14 days, from 3999.60.35% (+10pts) MXMXN depreciates 1.52% or more against USD at any point within 14 days, from 18.6826.36% (+10pts) UGUGX depreciates 1.67% or more against USD at any point within 14 days, from 3999.30.35% (+10pts) MAMAD depreciates 1.50% or more against USD at any point within 14 days, from 9.81292.34% (+10pts) UGUGX depreciates 1.67% or more against USD at any point within 14 days, from 3987.29.35% (+10pts) MXMXN depreciates 1.44% or more against USD at any point within 14 days, from 18.6316.36% (+10pts) MXMXN depreciates 1.52% or more against USD at any point within 14 days, from 18.6923.35% (+10pts) MAMAD depreciates 1.50% or more against USD at any point within 14 days, from 9.81526.34% (+10pts) MXMXN depreciates 1.39% or more against USD at any point within 14 days, from 18.4419.35% (+10pts) MXMXN depreciates 1.50% or more against USD at any point within 14 days, from 18.7340.34% (+9pts) MXMXN depreciates 1.39% or more against USD at any point within 14 days, from 18.4465.34% (+9pts) MXMXN depreciates 1.32% or more against USD at any point within 14 days, from 18.4655.35% (+9pts) MXMXN depreciates 1.39% or more against USD at any point within 14 days, from 18.4571.33% (+9pts) MXMXN depreciates 1.24% or more against USD at any point within 14 days, from 18.4668.34% (+9pts) IQIQD depreciates 0.84% or more against USD at any point within 14 days, from 1517.42.34% (+9pts) CZCZK depreciates 1.22% or more against USD at any point within 14 days, from 21.6566.33% (+8pts)Two defects in our own instruments published these as misses when the evidence says otherwise: the collector stored one hour of each day instead of the whole day, and the resolver scored a call before the last day of its window had any evidence at all. Both are fixed. The verdicts below are what we published and we have not rewritten them — the corrected reading sits beside each one. Every number on this page still counts the call as it was published.
VNOONI records at least 1 confirmed website or app blocking event in VN within 14 days. — published MISS, evidence says HITCORRECTED VEOONI records at least 1 confirmed website or app blocking event in VE within 14 days. — published MISS, evidence says HITCORRECTED UZOONI records at least 1 confirmed website or app blocking event in UZ within 14 days. — published MISS, evidence says HITCORRECTED KEOONI records at least 1 confirmed website or app blocking event in KE within 14 days. — published MISS, evidence says HITCORRECTED EGOONI records at least 1 confirmed website or app blocking event in EG within 14 days. — published MISS, evidence says HITCORRECTED CUOONI records at least 1 confirmed website or app blocking event in CU within 14 days. — published MISS, evidence says HITCORRECTED BDOONI records at least 1 confirmed website or app blocking event in BD within 14 days. — published MISS, evidence says HITCORRECTED AFOONI records at least 1 confirmed website or app blocking event in AF within 14 days. — published MISS, evidence says HITCORRECTED VNOONI records at least 1 confirmed website or app blocking event in VN within 14 days. — published MISS, evidence says HITCORRECTED UZOONI records at least 1 confirmed website or app blocking event in UZ within 14 days. — published MISS, evidence says HITCORRECTED KEOONI records at least 1 confirmed website or app blocking event in KE within 14 days. — published MISS, evidence says HITCORRECTED EGOONI records at least 1 confirmed website or app blocking event in EG within 14 days. — published MISS, evidence says HITCORRECTED CUOONI records at least 1 confirmed website or app blocking event in CU within 14 days. — published MISS, evidence says HITCORRECTED BDOONI records at least 1 confirmed website or app blocking event in BD within 14 days. — published MISS, evidence says HITCORRECTED AFOONI records at least 1 confirmed website or app blocking event in AF within 14 days. — published MISS, evidence says HITCORRECTED VNOONI records at least 1 confirmed website or app blocking event in VN within 14 days. — published MISS, evidence says HITCORRECTED UZOONI records at least 1 confirmed website or app blocking event in UZ within 14 days. — published MISS, evidence says HITCORRECTED KEOONI records at least 1 confirmed website or app blocking event in KE within 14 days. — published MISS, evidence says HITCORRECTED EGOONI records at least 1 confirmed website or app blocking event in EG within 14 days. — published MISS, evidence says HITCORRECTED CUOONI records at least 1 confirmed website or app blocking event in CU within 14 days. — published MISS, evidence says HITCORRECTED BDOONI records at least 1 confirmed website or app blocking event in BD within 14 days. — published MISS, evidence says HITCORRECTED AFOONI records at least 1 confirmed website or app blocking event in AF within 14 days. — published MISS, evidence says HITCORRECTED VNOONI records at least 1 confirmed website or app blocking event in VN within 14 days. — published MISS, evidence says HITCORRECTED UZOONI records at least 1 confirmed website or app blocking event in UZ within 14 days. — published MISS, evidence says HITCORRECTED KEOONI records at least 1 confirmed website or app blocking event in KE within 14 days. — published MISS, evidence says HITCORRECTED25 of 54 shown here; the rest are in the full book, each with the evidence that corrects it.
The brief opens with this ledger, every morning. Read the latest issue · Subscribe · first call recorded 2026-08-22
Daily snapshots of this book are committed to the public repository — ledger-snapshots/ — so the stated probabilities and thresholds carry GitHub's timestamps, not ours. A reader can verify no call moved between issuance and resolution without trusting us.