PRML is an open format for writing down, before a test runs, what the test has to achieve: metric, comparator, threshold, dataset hash, seed. A verifier recomputes the SHA-256 digest from the manifest's canonical bytes and returns PASS, FAIL or TAMPERED. The public registry adds Ed25519-signed receipts, independent RFC 3161 timestamps and a Rekor transparency-log entry. A receipt shows that the bar existed no later than the timestamp and whether a later copy is byte-identical to it. It never shows that a result is true.
Live example: a pre-registered robustness evaluation of the open-source SynthID-Text watermark, with six pass bars timestamped before the main run and the results reported against them: 8 of 12 outcomes met.
- Spec: spec.falsify.dev/v0.1 · Community Specification License 1.0 · Zenodo DOI
- Site: falsify.dev · Registry: registry.falsify.dev
- Registered and listed: IANA media type
application/vnd.prml+yaml·prmlnamespace in the OWASP CycloneDX property taxonomy · JSON Schema in SchemaStore · UK AI Security Institute's Inspect extensions page · OECD.AI catalogue of tools. Listings and registry entries, not endorsements. - Crosswalks: EU AI Act technical documentation (Art. 11 / Annex IV, retention Art. 18) · NIST AI RMF · ISO/IEC 42001
4 reference implementations (Python, JavaScript, Go, Rust), byte-equivalent across 21 conformance vectors, all rejecting the same 20 negative vectors, plus a 92-vector edge suite derived from the formal grammar. MIT code, Community Specification License 1.0 for the spec, 646 tests in CI, OpenSSF Best Practices passing.
| falsify | Spec + Python reference + conformance suite (Go/JS/Rust under impl/) |
| falsify-js | JavaScript reference (npm: falsify-js) |
| prml-verify-action | GitHub Action: gate CI on tampered or regressed eval claims |
| mlflow-falsify | MLflow plugin: bind runs to their locked bar, verify on run end |
| falsify-inspect | Inspect AI adapter (on the UK AISI extensions page) |
| falsify-giskard | Giskard scenario adapter |
| falsify-cookbook | Patterns, anti-patterns, worked examples (CC0) |
| falsify-integrity-index | Scorecard: 27 well-known eval claims vs 9 falsifiability criteria |
Running a benchmark or leaderboard? Require a receipt: no locked claim, no entry.
Falsify OÜ, Tallinn · hello@falsify.dev
