Signal · In-path interference
Three findings, kept apart on purpose.
OONI's public aggregation for China over a ninety day window. Devices rewriting HTTP on the path. The transport that real-time voice and circumvention depend on. And measurement methods that never complete a single run inside the country. These are three different kinds of observation, and collapsing them into one index would destroy what each of them says.
Reading could not be loaded
This page publishes nothing when the feed does not load. There is no cached figure and no placeholder, because a plausible-looking number here would be worse than a blank page.
Palimpsest is a free public good. MIT licensed, developed in the open, never a commercial product, and every finding on it ships the raw file it was computed from.
What funding buys Source on GitHubBoth indices, across the recorded history
in-path-interference-history.jsonlEvery committed reading is published in the raw history file, and this chart draws from it when the page loads.
Rates are computed over completed tests only, so an execution blackout changes the denominator, never the line. The signal is young; the chart states its own count until the record is long enough to draw.
Finding 1 of 3
Interference you can see
These tests do not ask whether a site is blocked. They send deliberately malformed or oddly cased HTTP and check whether anything on the path rewrote it before it arrived.
A non-zero rate is positive evidence of a device in the middle, whether or not that device chose to block anything.
Family: MIDDLEBOX
Middlebox index
Finding 2 of 3
Degradation you can measure
Whether the plumbing that real-time voice and pluggable-transport circumvention depend on is usable at all. STUN reachability for WebRTC, a stock Tor bootstrap, and Tor carried over Snowflake.
This is a health reading on transport. It is not a claim about any single website, and it is not the same measurement as the Great Firewall reachability index.
Family: TRANSPORT
Transport index
Finding 3 of 3
Measurement that cannot happen
Some test methods ran inside China this window and never once produced a result. That is not a low anomaly rate. It is no anomaly rate at all, because OONI's anomaly counter only ranges over runs that completed.
Drawing this as zero percent would invert it. Zero percent reads as clean. What it actually says is that the method cannot be carried out here, so nothing can be read from it in either direction.
So this finding is never given a bar and never given a percentage.
Family: EXECUTION
Execution blackouts
Other families in this reading
How the denominator was chosen
The rule, as the collector states it
loading
anomaly_count ÷ completed_count is a rate.
anomaly_count ÷ measurement_count is not.
Why it matters here
Reading the three marks
- Solid fill: anomalies as a share of runs that completed. A real rate.
- Hatched fill: runs that never produced a result, as a share of runs attempted.
- Dashed void, no bar: no rate exists. Nothing completed, so there is nothing to take a share of.
Every mark on this page is labelled in words as well as in colour and shape, so none of the three depends on colour to be told apart.
Every count in the reading
| Test | Family | Attempted | Completed | Failures | Anomalies | Anomalies / completed | Failures / attempted | State |
|---|---|---|---|---|---|---|---|---|
| loading reading | ||||||||
Take the evidence with you
- in-path-interference-latest.json The exact file this page renders. Every figure above comes from it at load time.
- in-path-interference-history.jsonl One line per round, appended and never rewritten.
- collectors/in_path_interference.py The collector, including the floor below which a test is reported as insufficient rather than given a rate.
- OONI open data The upstream source. We ingest OONI's already-aggregated measurements and probe nothing ourselves.
- Observatory China censorship observatory Signals across the network, content and model layers, each one publishing its own raw file. This page is one of them.
- Registry Verifiable eval registry Pre-registered suites, hash-chained, anchored outside our own infrastructure. A peer of the observatory, not a side feature.
- Funding A funded public good MIT licensed and open from the first commit. Grants and donations pay for the collectors, the storage and the anchoring.
Watch the censor, never the censored. This reading is built entirely from public aggregate data published by OONI. No person inside China is asked to run anything for it, and no individual measurement is attributed to anyone.