Certvas
Trust

Provenance is the product.

Anyone can scrape a PDF. What makes data usable in a regulated, cited, or AI-grounded workflow is knowing exactly where every value came from and under what license. That’s what Certvas is built to prove.

Four guarantees

What “license-clean” actually means.

1 · A public License Register

No data enters the pipeline without a row recording the source, its license, and permitted use. Every published value carries a license_class pointing back to that register — the terms travel with the data, not in a forgotten contract.

2 · Per-value source references

Fundamentals cite the source document and page (source_ref) and the moment of capture (observed_at). Tenders cite the OCDS release. If you can’t trace a number to its origin, it isn’t in the product.

3 · No natural-person data

Published tables contain organizations only. In procurement data, party records are classified and natural persons are excluded in the model layer — a structural rule, enforced in code and checked in CI, not a promise.

4 · Measured quality, not claimed

Each product ships a metrics.json with measured coverage, freshness and accuracy — and the same figures are queryable live via the API and the MCP get_quality_metrics tool. We publish the numbers whether or not they flatter us.

Method

How values are extracted.

Fundamentals are extracted from official published filings, normalized so a value printed “in thousands” becomes an actual-unit figure, and labelled with an extraction confidence. Period type (full-year vs. interim) is derived from the calendar against each issuer’s fiscal year-end rather than trusting ambiguous cover-page wording — because “year ended” in a comparative column has mislabeled many a dataset before ours.

Where a source lacks a global identifier (LEI), we assign a documented, stable seed key rather than silently guessing an identity — and record that decision in the register.

Each product publishes a machine-readable data contract — AF-FUND, AF-TENDER, AF-MACRO — in the open Data Contract Specification format, so a diligence desk can lint it with datacontract-cli instead of reading prose. It is generated from the same registers that gate every release: the schema, the licence terms and the quality floors a release must clear. It also says plainly what we do not promise: no uptime percentage and no contractual response time.

Every pack ships a VERIFY.py that recomputes one digest over all of its files, proving which file you hold. We also anchor that digest in Bitcoin with OpenTimestamps, proving when it existed: a pack whose digest sits in a block mined before a date cannot have been re-cut after it. The digests and proofs are public in the timestamp index. Verify one against its digest file at opentimestamps.org, or with ots verify.

Delivery

Three ways, same guarantees.

Files

Parquet + CSV with provenance, dictionary and metrics bundled in the release.

REST API

Key-authenticated, rate-limited, every response wrapped in a provenance envelope. OpenAPI described.

MCP server

Agent-native tools that return values with their source and license, so your model can cite them.