Trust levels
Every claim carries a trust level, serialised as a label:
{ "predicate": "brand_name", "object": "Example", "trust_level": "L3" }The levels are L0, L1, L2, L3, L4 and L5 — an ordered scale from observed to
attested. A higher level means a stronger provenance story, not a stronger belief.
No level means “true”
Section titled “No level means “true””L5 is the top of the scale and it means a verified party attested this. It does not
mean the statement is correct. A manufacturer can attest something wrong about its own
product; the attestation is what we can evidence, and the level records that, nothing more.
This is why the level is a property of the claim and not of the product, and why two claims about the same subject and predicate can sit at different levels without one of them being deleted. Contradiction is representable on purpose.
Filtering
Section titled “Filtering”Where an operation accepts a minimum trust level, it takes the label form:
GET /v1/products/search?trust_level_min=L3An integer is not accepted. The scale is a labelled ordinal, and treating it as a number invites arithmetic on it — averaging two levels, or interpolating a “2.5” — which the model does not support and which would produce a value that means nothing.
Absence of a level
Section titled “Absence of a level”trust_level is nullable. A claim without one has not been assessed, which is not the same
as being assessed at the bottom of the scale. Do not coerce a missing level to L0.