Vocabulary
Every record says what it rests on.
https://pansofica.com/vocabulary/record-status
The record status is a flag any system can carry beside a record about a person. It says what the record rests on, whether the person it is about has confirmed or disputed it, when it was last reviewed, and which document backs it.
Every term on this page has a stable address: the address of this page, then the term as a fragment. A value is never renamed and never reused.
The terms
One property, one shape, three members.
recordStatusThe property a record carries, or one fact on a record. Its value is one record status flag.
RecordStatusFlagThe flag itself: one status, the instant of the last review, and the document behind it.
statusOne of the five values of this vocabulary. A reader that meets any other value ignores the flag.
lastReviewedThe instant of the newest review behind the status, in ISO 8601: the reading of the document, the subject’s confirmation, or a reviewer’s ruling on a correction. Empty when none is on file.
documentThe document the status rests on: the address it was published at and the SHA-256 digest of the bytes that were read. Empty for a status that has no document.
The five values
Each value has one meaning, and one phrase a page shows for it.
verifiedThe fact was read from a document that a registry published.
- A page shows
- Rests on
reportedThe fact was published on the open web and is not yet backed by a registry document.
- A page shows
- Rests on
subject_confirmedThe person the record is about claimed the record and confirmed this fact.
- A page shows
- Rests on
subject_correctedThe subject filed a correction to this fact and a reviewer accepted it.
- A page shows
- Rests on
disputedA correction or a doubt is open. The fact stays on the record while it is reviewed.
- A page shows
- Rests on
The rules
- 01
Derived, never declared.
Nobody types a status in. It is worked out when the record is read, from what is on file: the document, the subject’s confirmations and corrections, a reviewer’s rulings.
- 02
A dispute never removes a fact.
A disputed fact stays where it is, marked as disputed, until a person has reviewed it.
- 03
Only the subject can confirm or dispute.
Only the subject of a claimed record can confirm it or dispute it, and only on their own record.
- 04
Every change leaves a receipt.
A confirmation, a correction and a ruling are each kept with who, what and when. Nothing is overwritten.
- 05
The status says that, never what.
A status says that something is disputed. It never carries the private detail of the dispute: not the note, not the reason.
How a system embeds it
Three forms of the same flag. Use the one your system already speaks.
A JSON member
Put one member beside the record, or beside each fact on it. The label is the status in words, ready to show.
{
"recordStatus": {
"status": "verified",
"label": "Verified from the commission's document",
"lastReviewed": "2026-03-16T09:30:00.000Z",
"document": {
"url": "https://registry.example/results/2026-03-14.pdf",
"sha256": "5b1f0c9a7d3e4f6281a0b9c8d7e6f5a4b3c2d1e0f9a8b7c6d5e4f3a2b1c0d9e8"
}
}
}A JSON-LD property
On a page that already carries JSON-LD, add this vocabulary to the context as a prefix and put the property on the person, or on each event.
{
"@context": [
"https://schema.org",
{
"pf": "https://pansofica.com/vocabulary/record-status#"
}
],
"@type": "Person",
"name": "Fixture Alpha",
"pf:recordStatus": {
"@type": "pf:RecordStatusFlag",
"pf:status": {
"@id": "pf:verified"
},
"pf:lastReviewed": "2026-03-16T09:30:00.000Z",
"pf:document": {
"@type": "CreativeWork",
"url": "https://registry.example/results/2026-03-14.pdf",
"sha256": "5b1f0c9a7d3e4f6281a0b9c8d7e6f5a4b3c2d1e0f9a8b7c6d5e4f3a2b1c0d9e8"
}
}
}A signed link and a badge
A signed link is a short signed statement of one record’s status, made by the service that holds the record. The badge is an image that reads the link and prints the live status in words.
GET https://api.pxl8.io/sports-data/fighters/record-status/link?slug=SLUG<a href="https://pxl8.io/SLUG?rs=SIGNED_LINK" rel="noopener">
<img src="https://www.pansofica.com/record-status/badge.svg?t=SIGNED_LINK" alt="Record status" referrerpolicy="no-referrer">
</a>How anyone verifies a link
- 01Fetch the public keys and pick the one whose kid matches the header of the link.
- 02Check the EdDSA signature of the link with that key.
- 03Check that exp has not passed.
- 04Compare slug and sub with the record you are looking at. A link for another record says nothing about this one.
What the badge never does
- It sets no cookie.
- It carries no tracking pixel and loads nothing from a third party.
- It runs no script. It is an image of typeset words.
- The application stores nothing per view.
The public key
Links are signed with an Ed25519 key. This is the current public key, read from the service that signs.
-----BEGIN PUBLIC KEY-----
MCowBQYDK2VwAyEA5qsoDWRA7V87ygLAqz+Uo2y9NPxu9ehPbZZebDwot5M=
-----END PUBLIC KEY-----Stable addresses
These do not move. Each one sets no cookie and needs no key.
GET https://www.pansofica.com/.well-known/record-status-keys.jsonGET https://www.pansofica.com/record-status/badge.svg?t=GET https://www.pansofica.com/record-status/verify?t=GET https://www.pansofica.com/vocabulary/record-status.jsonldTell us which records you keep.
We reply by email, from a person who can answer questions about the vocabulary.