TBDS-1 · Making fact records machine-citable and human-verifiable for any publisher
This specification defines a minimal set of conventions so that any data publisher can produce fact records that are machine-citable and human-verifiable. Adopting it requires no use of any service operated by this platform.
| Term | Definition |
|---|---|
fact_record | Fact record: a minimal citable assertion about the world, carrying a stable identifier and sources |
assertion | Assertion: the semantic content of a record |
source | Source: primary or secondary material supporting the assertion |
recheck | Recheck: a third party can redo the verification from the record alone |
Every fact record MUST have a stable identifier.
The identifier MUST be unique (no duplicates library-wide), stable (never changed once published), addressable (the record can be retrieved by it), and SHOULD NOT carry volatile semantics (do not encode facts that change, such as price or status).
Identifiers SHOULD follow the form `<prefix>-<number>`, where the prefix identifies the record type.
Identifiers MUST NOT be recycled or reassigned. When a record becomes invalid, the identifier MUST be retained and tombstoned (see §7.3).
Every record MUST declare `assertion_kind`, one of observation / compilation / derivation / model.
A `derivation` MUST NOT be presented as a statement made by the source.
Every source MUST be graded on three independent axes — L (authority), R (reusability) and AI (AI-feedability). No axis substitutes for another.
Every source MUST record `reliance_page_url` (the terms page actually relied upon) and `snapshot_at`.
Where a source's terms pages contradict each other, the strictest reading MUST be applied and `contradiction_flag` set.
Where data originates elsewhere (a republishing source), `upstream` MUST be recorded — upstream rights are not covered by downstream licences.
Every record MUST carry a confidence level: A (verified against a government document or official announcement), B (company statement or authoritative media), C (unverified / doubtful).
Confidence MUST be determined by source type, MUST NOT by editorial preference.
Every record MUST carry at least one source, and each source MUST include `url`, `publisher`, `locator`, `retrieved_at` and `quote`.
A record MUST carry `as_of` (the point in time the underlying material refers to) and MUST keep it distinct from `retrieved_at`.
A record SHOULD carry `content_hash` (a checksum of the record content).
A record without sources MUST NOT be presented as sourced.
The record library MUST be append-only: new facts are appended, never overwritten.
Every change to a record MUST be logged in `revision_log` (timestamp, what changed, on what basis).
Invalidation of a record MUST be expressed as a tombstone, not a deletion.
The publisher MUST provide the ability to retrieve a record's revision history by identifier.
When citing a record, the citer MUST retain: `<publisher name> <record identifier> <retrieval URL> (accessed <date>)`.
A citation SHOULD also retain confidence and `as_of` — an A-grade fact as of a date is not the same thing as a number.
The publisher MUST provide a public, submittable correction channel.
The publisher MUST commit to an explicit response time (48 hours to first response is recommended).
The publisher MUST maintain a public correction archive recording what claims were overturned, on what basis, and when.
Payment MUST NOT influence a verification outcome. A fee may buy the verification act, never the direction of the conclusion.
An adopter SHOULD provide an executable conformance self-check producing a per-rule verdict.
A declared conformance level MUST be reproducible by a third party.
Partial conformance is allowed, but the level reached MUST be declared truthfully — never claim full conformance unless every rule holds.
| Value | Meaning | Extra requirement |
|---|---|---|
observation | Direct observation (raw data, measured values) | — |
compilation | The source itself states it in these terms | MUST carry a verbatim quote |
derivation | Derived by induction or computation from multiple pieces of evidence | MUST carry method_id and the input record identifiers |
model | Model output (forecast, estimate) | MUST be marked as model-produced |
| Value | Meaning | Extra requirement |
|---|---|---|
L | Authority — can this be relied on? | — |
R | Reusability — can this be lawfully republished? | — |
AI | AI-feedability — can this be fed to AI? | — |
| Value | Meaning | Extra requirement |
|---|---|---|
A | Verified against government document or official announcement | — |
B | Company statement or authoritative media | — |
C | Unverified / doubtful | — |
This specification text is published under CC BY 4.0. Copying, modification, redistribution, use in commercial products and building your own standard on it are permitted and encouraged. The only requirement is attribution. A specification that cannot be freely adopted cannot become a standard: the value of a standard comes from how many adopt it, not from who owns it.
If you implement only three rules, implement these three. Doing so already makes a record recheckable; the rest is strengthening.
TBDS-1-2.1 — Stable identifiers — unique, stable, never recycledTBDS-1-6.1 — Traceable sources — every record carries url + publisher + locator + retrieved_atTBDS-1-7.3 — Invalidate, do not delete — tombstone instead of deletingPartial conformance is permitted. Levels:
L1 | Minimal adoption set (Appendix C) |
L2 | All machine-checkable rules pass (the automatable part of §2–§6) |
L3 | All MUST rules, including non-machine-checkable ones, with manual evidence |
L4 | All MUST and SHOULD rules, plus an executable self-check |
This platform does NOT claim full conformance. Per-rule results and blocking rules: /standard/conformance
python conformance.py your-records.json --map your-map.json --level L1
Without --map a flat same-name mapping is used. --map connects the semantics of the standard to your own field layout: the specification does not care how your physical fields are arranged, only what they mean.
When citing this specification, retain the following string:
Trustbase Lab. Trustbase Citable-Fact Standard v0.1 (TBDS-1). https://trustbaselab.com/standard(accessed <date>)
This specification text is published under CC BY 4.0 — copy, modify, redistribute, use in commercial products, and build your own standard on it. The only requirement is attribution.