Method paperThe rules behind our panels
“Is the Chinese registry down?” is a measurement question. Most answers to it are measurement errors.
This page explains the method behind our availability panels. It defines what one observer, on one network and with one client, can conclude about an official Chinese source. Each rule exists because omitting it produced a wrong conclusion, including one in our own published writing that we withdrew.
Short answer
Before treating a failed lookup as evidence about a supplier, test the source itself. Reachability claims need two vantage points, paired user agents and same-session controls. They must also keep “could not connect” distinct from “was refused”. We have observed dead routes and client filtering on dated tests of official Chinese hosts.
Five rules before you act on a failed lookup
- 1. Two vantage points, or say which one. Every claim is tagged with where it was measured from: a consumer connection inside mainland China, a commercial datacentre proxy outside it, or both as a pair. A result without its vantage is not a result, the same URL can serve one path and refuse the other on the same afternoon.
- 2. Controls in every session. Each round requests one Chinese government host (
www.gov.cn) and one Chinese commercial host (www.baidu.com) from the same machine, moments apart. If the controls fail, the round is voided and says nothing about the targets. It is never reported as “the sites were down”. The controls verdict is recorded in the published data, machine-readable, per round. - 3. Paired user agents. Every target is requested twice: once as a plain command-line client, once with a desktop-browser user agent. Official hosts filter by client type, and the filtering is not stable over time. A host that returns 403 to a script one day can drop its connection entirely the next.
- 4. Record the first answer. Redirects are not followed and requests are not retried. A 301 is an observation. It is not an obstacle. A retry that succeeds hides an intermittent failure that a buyer at that moment would have hit. Both practices make data look better than reality, which is the one thing measurement must not do.
- 5. Keep 0 distinct from 403. “No HTTP status at all” means the connection never completed — timeout, TLS failure, or a dead route. A 403 or 412 means a server received the request and declined it. These are different facts with different causes, and collapsing them into “failed” destroys the dataset’s meaning. Refusal codes are answers; silence is not.
| What the probe records | What it means | Did a server answer? |
|---|---|---|
200 | Front page served | Yes |
301 | Redirect offered. Not followed: recorded as the first answer | Yes |
403 / 412 | Request received and declined, typically by client-type filtering | Yes: refusal is an answer |
| no status | Connection never completed: timeout, TLS failure, or dead route | No: silence is not |
The two artefacts these rules exist to catch
On 7 August 2026 we withdrew a claim that a Chinese official portal “is generally not reachable from overseas”. The overseas egress we had tested through turned out to fail on .gov.cn, .gov.au and .gov hosts indiscriminately. The decisive counterexample was an Australian government site that failed through that egress while a mainland-China connection opened it normally. The failure travelled with the proxy. It did not travel with the targets. Two days later, on 9 August 2026, we walked into the same trap while writing this page. We had cited a paired observation. Three official Chinese government files (two provincial PDFs and one central-government page) returned HTTP 200 direct and no status at all through a commercial datacentre proxy. We treated the proxy result as though it were a fact about those files. Re-running it with the controls attached showed it was not: the government control host returned no status on that proxy path either, while the commercial control served normally. By rule 2, that path is void. It establishes only that this egress could not reach .gov.cn. It establishes nothing about the files. The direct path, where both controls served, is what carries the three 200s. The lesson is not that we are careful. It is that the rule has to be executed mechanically, because the people who wrote the rule still misread their own data until the controls were put back in.
On 8 August 2026, a court host (zxgk.court.gov.cn) returned 403 to a command-line client and 200 to the same request with a desktop-browser user agent, in the same minute. On 9 August 2026, the same probe found that host, now joined by wenshu.court.gov.cn — refusing the command-line client at connection level, no HTTP status at all, while still serving 200 to a browser. Two lessons in one pair of observations: a scripted “outage” can be a bot filter, and the filter itself drifts between days. An undated, single-client observation of these hosts is worthless.
Reproducing it
- Procedure. HTTPS GET to each host’s front page only, 25-second timeout, no redirects followed, no retries. Both user agents ran per target, with controls in the same session, and we logged status code and elapsed time recorded as observed. No searches submitted, no CAPTCHA touched, no data collected from any portal — measuring whether a front door opens is a different activity from walking through it.
- Published runs. Each run’s full output, every host, round, client and the controls verdict, is published as open data under CC BY 4.0. See doi.org/10.5281/zenodo.21859883, alongside the panel and the registry record the runs feed.
- Disagreement is data. If you run this from another network or date and see something different, that is not a contradiction — vantage and date are part of the result. We publish corrections with attribution, including ones that contradict us; one is already on the registry-availability page.
What this method cannot do
- It measures doors, not rooms. A 200 on a front page does not mean a search completes — interactive paths can require verification steps a front-page probe never touches.
- Two vantage points are two, not all. A consumer connection in another Chinese province, or a residential connection abroad, may see something different from both of ours. The method generalises. Any single pair of observation points does not.
- It cannot explain, only observe. The method separates “refused” from “unreachable” and “target” from “route”. It cannot say why a host refuses a client, and we do not guess on its behalf.
- Nothing about any company. An unreachable portal is a fact about infrastructure on a date — never evidence that a record is missing or that anyone is concealing anything.
The method exists because of one portal above all. The GSXT (National Enterprise Credit Information Publicity System), the China company registry every serious attempt to verify Chinese company identity runs through. Whether that registry answers, refuses or times out on a given date is exactly the kind of claim this method turns from folklore into a dated observation. That is the difference between "the system was down" and a China company search that failed at a named host, on a named date, from a named client.
The method applied again, two weeks later, including the round we threw away
A method is worth what it does on its second run. This one was re-run on 22 August 2026 against the same target set, and both halves of what came back are reported here.
| Vantage | Controls | Outcome |
|---|---|---|
| Domestic (Shanghai node) | Both healthy | Valid: 7 of 8 hosts unchanged, 1 stopped refusing command-line clients |
| Overseas (via proxy) | Government control returned nothing; commercial control 200 | Voided in full |
The voided round is the better advertisement for the method. Rule 3 says a round with a failed control describes the link. It says nothing about the targets, so that data was discarded. It was not published. That is exactly the mistake made on 7 August 2026 when a proxy failure was read as “the portal is unreachable from abroad” and written into a public answer.
The valid half carries its own correction to this method’s output: one host’s client filtering changed within two weeks, so a single availability snapshot expires. Any finding produced by this method needs a date I checked it and periodic re-probing rather than being written once and left standing. Raw records for both halves: china-official-source-retest-2026-08-22.json.
The same discipline applied to a measurement that is not about availability
This page describes a method for probing sources. The parts that matter, a fixed frame, controls in every round, a stated date, and a rule for discarding bad rounds — are not specific to availability. On 21–22 August 2026 I ran a very different measurement under the same discipline, and what carried over is shown below.
| Discipline | Availability probe | Registry fill-rate run |
|---|---|---|
| Frame fixed in advance | 8 hosts, chosen before probing | All 45 qualifying NHTSA matches, no sampling |
| Controls | 2 control hosts every round | Ghost-company probe establishes the “no result” code |
| Bad rounds discarded | Overseas round of 22 Aug voided | First classifier voided: 300000 misread as failure |
| Date stated | Yes, on every claim | Yes, on every table |
The third row is the one that keeps a method honest. Both runs produced a result we threw away. One was an overseas probe round whose control failed. The other was a first-pass classifier that read the registry's “no result” code as an error and would have reported a 100% fill rate with 55 failures. Neither discard was forced by an external check. Both came from a rule written before the run.
A method is only worth what it rejects. Raw records for the retest are published as china-official-source-retest-2026-08-22.json. The per-company records stay on file and are available on request. They keep the original error codes and a note describing the misclassification, and we do not quietly re-run it.
Citing this method
Quote or adapt this method freely, including commercially, provided observations you publish with it carry their vantage and date. The underlying runs are open data: doi.org/10.5281/zenodo.21859883.
Currawong, “Measuring China official source availability: the method”, paired-vantage, paired-client availability measurement with same-session controls, distilled from measurements of 5–9 August 2026.
https://currawongweb.com/verify/measuring-chinese-official-source-availability/
Browse all measured studies and methods in the research index.
This page describes a measurement procedure. It is not legal advice, and it is not a statement about any company or about conditions on any network or date beyond the observations cited.
Being pushed to pay a deposit right now? The checks that matter before money moves take about ten minutes and cost nothing.
If you want these records pulled for your own supplier: the “Just check who they are” selection of the report menu covers them, packs from $26.55. Delivery follows the window on your order confirmation. Buying from a Chinese seller of record is the other route entirely. Its own choice, its own trade-offs.