Skip to content

Methodology

How Veridity knows what it shows

Veridity publishes facts, not conclusions. This page explains how a fact gets into the graph, how competing values are ordered, and how corrections work. The full specification is in the design documents that ship with the source code.

Early preview, sample data. Everything shown is fictional and illustrative. The live data pipelines are not connected yet.

Statements

Every fact is a statement: a subject, a property and a value, plus qualifiers. Each statement also records the source document and the exact locator inside it, how the value was derived, the extractor or person that produced it, a confidence, a rank, its license lane, its visibility, the schema version, and two times: when the fact was true and when Veridity recorded it.

Statements are append-only. Nothing is edited in place. A correction is a new statement that supersedes the old one, so the history of every value stays inspectable.

Derivation

The small mark next to a value says how Veridity knows it. Opening the value (or pressing E in the workspace) shows the full provenance.

SRC: read from a primary sourceSource
Copied deterministically from a structured record the source published, such as a filing row or a roll-call vote. Carries the source document and a row-level locator.
EXT: extracted from a documentExtracted
Read out of a document by an extractor (entity recognition, a parser or a language model). Carries the span, the extractor, model and prompt version, and a confidence.
INF: inferred from other statementsInferred
Computed from other statements: rollups, rule inferences and analysis scores. Carries its premises and the rule or method version.
HUM: written by a personHuman
Asserted by an identified person: a journalist's write-back, a community contribution or an operator decision. Public contributions need evidence and rank below official sources.

When a person confirms an extracted value, Veridity records a new human statement that references it. The original keeps its extracted derivation.

Ranks and best values

All values are kept. For compact display, Veridity picks one best value per entity and property and always shows that others exist. The default order is:

  1. Only statements the reader may see: visible, allowed in their channel's lane, not retracted, suppressed or deprecated.
  2. Valid at the time being viewed.
  3. Rank: preferred before normal.
  4. Source class: official primary sources outrank community contributions.
  5. Derivation among machine statements: source, then extracted, then inferred.
  6. Confidence, then the newest system time.

Example (fictional): an amended FEC filing reports $42,600; a news article reports $57,100; the original filing said $38,900. The amended filing is preferred, the original is deprecated and shown struck through, and the news figure stays visible because the disagreement may itself be the story.

Valid time and system time

  • Valid time is when a fact holds in the world: a term in office, an ownership stake, the date of a contribution. Later evidence can revise it.
  • System time is when Veridity learned the fact. It is never revised.

Together they answer “what did Veridity know on a given date?”. Investigations can be pinned to a system time, so a shared link reproduces exactly what its author saw, and readers can jump to now to see what changed. Year-only facts keep their precision instead of being padded into false dates.

License lanes

Every statement carries the license lane of its most restrictive input. The server enforces what each lane allows; the interface shows a lane label only when the lane is not open.

open
Public domain, CC0 or CC BY. Free to reuse with the attribution the source requires.
nc
Non-commercial only. Offered only through free channels.
sa
Share-alike (ODbL, CC BY-SA). Published in a separate share-alike dump.
display
Shown in the app only. Never in the API, dumps or MCP.
13107
Officials' financial disclosures under 5 U.S.C. § 13107. Free news and research use only.

Data Veridity authors is CC BY 4.0. Third-party data keeps its original license. See the data license.

Corrections and disputes

  • Source amendments supersede automatically: the new statement becomes preferred and the old one deprecated.
  • Retraction hides a statement Veridity no longer asserts (a wrong extraction or entity link, an accepted dispute). It stays in the history with its reason.
  • Suppression handles legal, rights and privacy removals. Each use is logged in an append-only ledger and counted on the public Ops page.
  • Disputes can be filed by any account, with grounds and evidence. Outcomes are written back as statements, and the full chain stays in the history.

Private individuals

People without a public role (elected official, candidate, judge, registered lobbyist, executive, journalist and similar) are treated as private individuals:

  • Their pages are searchable inside Veridity but marked noindex for search engines.
  • Locations stop at city and state. Street addresses, personal phone numbers and personal email addresses are never stored or served.
  • Dates are shown to the year.
  • Anyone, with or without an account, can request a fix for a wrong link: see fix requests.

AI in the pipeline

Language models extract facts from documents and help verify contributions. Wherever a model produced something, the provenance names the extractor or model and its version. There is no assistant built into the product; people who want one bring their own AI through the MCP server, which follows the same license lanes as the API. Models never see end-to-end encrypted content.

How this project itself uses AI is documented in the AI disclosure.