Primust issues signed VPECs that bind committed artifacts, declared controls, proof floor, provable surface, and explicit gaps into evidence another party can verify offline.
Every governance stack runs on trust. Trust the dashboard. Trust the log. Trust the vendor. Trust the auditor.
Primust is the layer that removes the ask.
Run whatever checks you run: rule engines, AI policy, fraud detection, your internal harness. Primust turns that governed run into a portable credential bound to specific artifacts, proof levels, and explicit gaps. Not a guardrail. Not a policy engine. Not a dashboard. A portable evidence artifact.
provable_surface is the distribution. The proof floor is the weakest link. A run can be mostly Mathematical and still have an Attestation floor. A good artifact carries both, instead of hiding the weaker segment behind a blanket claim.WORM logs, hash chains, and tamper-evident audit trails are useful. Keep them. But they prove a different claim. They preserve records after something happened. They do not, by themselves, prove that a declared governance process executed on specific committed data the way you later describe it.
The point is not that logs are bad. The point is that a review often depends on the execution claim itself.
{
"workflow_id": "customer-screening",
"bundle_id": "aml_kyc_v2",
"input_commit": "poseidon2:b7f2...",
"output_commit": "poseidon2:90cc...",
"checks": [
"pep_screen",
"sanctions_screen",
"watchlist_screen"
],
"proof_floor": "execution",
"provable_surface": 0.80,
"gaps": [],
"issuer_kid": "kid_api"
}pip install primust and primust init should get evidence into the path without forcing a rewrite. Keep the pipeline, keep the checks, and emit a portable artifact around the run.This is not disclaimer language. It is what makes the credential defensible.
Install primust-verify, point it at any credential, and get a verdict offline. Apache-2.0. Portable. No dashboard dependency.
Then install primust itself and start issuing your own. Sandbox keys use the same schema and verifier path. When you move to production, the key prefix changes. Nothing else should.