Deterministic verification for statistical claims.
An AI agent connects with one URL. Before it states a number about a country, the engine resolves that number across every UN agency that publishes it, refuses comparisons that aren't sound, and returns evidence anyone can re-check.
No language model. Same inputs, same ruleset, same verdict, every time.Connect
One URL. No credentials.
Add it as a custom connector in any MCP-capable client.
loading…
Authentication: None. The engine is read-only over public UN data.
In your client
Four platforms, same endpoint.
The five verdicts
Every answer is one of these, or none of them.
Three are refusals. That is deliberate: a refusal you can act on beats a number you cannot trust. A sixth outcome is no verdict at all, when required metadata is not published by every source. Unknown is not agreement, and the engine will not round it up.
Two or more demonstrated independent origins agree under an active profile. Publisher count is not origin count, so this is harder to reach than it looks.
Only one agency publishes it. Usable, but nothing corroborates it.
Comparable figures differ beyond a reviewed threshold. The engine shows every figure and refuses to pick one. It never averages.
The figures measure different things, a count against a proportion, or two different age bands. The comparison is refused and the reason named.
The indicator exists but this place or year isn't covered. The gap is reported, never filled.
A real result
Maternal mortality ratio · Nigeria · 2023
Three UN agencies publish this indicator. Two agree exactly. The third is 5.5% higher; and all three declare a different denominator.
| Agency | Per 100,000 | Denominator |
|---|---|---|
| UN Statistics Division | 992.83 | live births |
| UNICEF | 992.83 | births |
| UNDP Human Development Report Office | 1047.24 | unspecified |
No verdict. Not because the figures are close, but because two fields that decide comparability are not published by every source: what the figures are divided by, and whether a per-100,000 measure is a rate or a ratio. Four further gaps are disclosed on the record and do not block, because a flag raised on everything is a flag nobody reads. The stronger finding is underneath: UNSD and UNICEF trace to one institution, and UNDP HDRO cannot be attributed to any publisher in the graph. Three names, one origin, one unknown. The engine neither averages them nor picks a winner.
This is a live record, not a mock: see it on screen · read the passport · recompute the chain yourself.
How a claim is checked
Five steps, no model in any of them.
- Resolve
resolve_indicatorfinds every agency publishing the concept, grouped by publisher, not ranked, so no single agency's figure reads as the figure. - Ground
ground_claimfetches each agency's metadata and observation concurrently, pinning every value to its exact source facet. - Gate Unit, scale, denominator, age band, observation period and reference year are compared before any arithmetic. A mismatch stops the comparison.
- Trace Each publisher is resolved to its institutional origin. Several agencies republishing one inter-agency estimate is one source, and the record says so rather than letting three names read as three confirmations.
- Seal
finalize_passportreturns an Evidence Passport: the verdict, every source, a SHA-256 chain, and the exact upstream calls to replay.
Two modes beyond checking a figure
Because a policy question is rarely one number.
Both hold the same line as the rest of the engine: it computes what follows, and refuses what it cannot establish.
The engine projects; it does not predict. Each scenario is the exact arithmetic consequence of one stated assumption, shown step by step with its formula and its source. Scenarios are ranked by how well each method reproduced history it was not shown, which is a property of the past, never a claim about which future is likelier.
Where an institution publishes a projection, that projection leads. Nigeria's population returns the UN Population Division's own medium, low and high variants from World Population Prospects first, with the engine's extrapolations following as a cross-check.
Assembles every grounded claim into the structure a research brief must carry, and names what is still missing. Sections are marked engine or author: the first are assembled from the record and must not be embellished, the second are the writer's and labelled as interpretation.
It will say a brief is not publishable when claims reached no verdict or the evidence rests on one origin. The engine holds no language model and does not write the paper; it places the evidence and marks the holes.
Four source scopes, used together: the UN System Data Commons, Google Data Commons, the World Bank and IMF, and figures read from an official publisher's own site through a registry. UN publishers republish one another constantly, so more agencies is not more corroboration; the record reports origin count beside publisher count.
Why you don't have to trust us
Every passport carries a replay manifest.
The exact ordered UN queries that produced its numbers. Re-run them and compare. The hash chain proves the record wasn't altered; only the replay proves the figures are right. Authenticity here rests on reproducibility, not secrecy.
Verify a passport yourself
Runs entirely in your browser. It never sends the passport anywhere.
Questions people ask
Is this an AI agent?
Why won't it just tell me which number is right?
What data does it use?
EXTERNAL
and can corroborate a UN figure but never replace one.Does it store my questions?
finalize_passport, that's the point of a citable record. Nothing else is retained, and there are no accounts, no
credentials and no tracking on this site.