Technical documentation
Independent audits of provider directory facts.
This page documents the current service: what a record is, what its states mean, and how to check one yourself. Nothing here is an API offer — machine access is not required to purchase an engagement, and no integration is implied.
What a record is
A record is a set of propositions about one subject, each checked against a public authority the subject does not control, signed with an Ed25519 key whose public half ships inside the record. Every proposition carries its own state, its own observation time, and its own re-check deadline. A record never receives a whole-record verdict — it is only the sum of its propositions.
The four states
- VERIFIED — this authority reading supports this proposition for this subject, within its stated reliance period.
- UNVERIFIABLE — the check is complete but the admissible evidence cannot establish the proposition; the recorded reason says why. It says nothing adverse about the provider by itself.
- CONTESTED — comparable evidence disagrees after subject, field-role, time, and normalization preconditions; both readings are kept.
- STALE — the last supported reading is retained but its re-check deadline has passed; re-observe before current reliance.
Reading a record page
Findings are grouped by subject, then by buyer question. Each row shows the state and field, the finding, the source authority, the observation time, the re-check deadline with its timezone, and whether the deadline interval is a policy value or a measured one. Timestamps are published in UTC with the site-wide timezone stated beside them.
Verifying a record yourself
Every record page carries a verification panel that re-derives the record's canonical form (keys sorted, no whitespace, signature excluded), hashes it with SHA-256, and checks the Ed25519 signature against the embedded public key — in your browser, with nothing sent to us. Tampering with any covered field breaks the check.
The signature covers the record's id, schema, subject, public key, propositions, candidate relations, and dependency manifest digest. Excluded: signature, signing, derivation — the queries and cited artifacts are bound by the dependency manifest digest inside the signed scope.
For a full engagement worked end-to-end — scope, frozen sample, findings, follow-up receipts, evidence, and the shipped check that verifies it all — see the frozen public delivery under /verify/astra-r5/ and the sample audit page.
The read interface (demonstration)
The machine interface answers one question: is a specific proposition about a specific subject supported? It is a demonstration surface — no API keys are issued, and purchasing an engagement requires no integration.
- Four-state handling: a completed check returns exactly one of four states — VERIFIED names its authority; UNVERIFIABLE carries the recorded reason with HTTP 200 — an absent answer is a real answer, never an error; CONTESTED keeps both readings; STALE retains the last supported reading past its deadline. An operation error is not a fact state: it returns a structured error envelope with no verdict, never a silent substitution.
- Expiry handling: every response carries checked_at and next_required_by. A deadline ends permitted reliance on that evidence; it does not predict when reality changes. Unmeasured horizons say so — never a coerced date.
- Required access: none is issued. Public records are readable by anyone; machine access is not part of any engagement.
What we publish and what we do not
- We publish signed findings, the evidence behind them, and the explicit limits of each check.
- We do not sell directory data, and we do not accept it from the business being checked.
- We do not score, rank, or estimate — no percentages, no fifth state.
- A deadline ends permitted reliance on that evidence; it does not predict when reality changes.
Direct evidence: the frozen public delivery and its reproduction instructions live at /verify/astra-r5/README.md; a full worked record at /records/mo-dental-013494 — the stable subject URL, which always resolves to the current head at request time.