Independent Verification
Anyone can verify a BrivoraProof without trusting Brivora, the system operator, or any intermediary. No API. No account. Just math.
Verify a proof
Section titled “Verify a proof”import { verify } from '@brivora/verify';
const verified = await verify.check(proof, verifierPublicKey);console.log(verified.valid); // trueconsole.log(verified.governance); // 'eu-ai-act'console.log(verified.timestamp); // ISO timestampWhat verification checks
Section titled “What verification checks”- Merkle root matches the evidence chain — tamper evidence
- ML-DSA-65 signature is valid — authenticity
- Ed25519 signature is valid if present — hybrid verification
- Timestamp is within acceptable range
- Proof version is supported
Verification without Brivora
Section titled “Verification without Brivora”The verification algorithm is fully specified in the Protocol Specification. Any implementation in any language can verify a BrivoraProof. You do not need Brivora’s software, servers, or permission.
Chain verification
Section titled “Chain verification”Verify an entire chain of proofs:
const chainResult = await verify.checkChain(proofs, publicKey);console.log(chainResult.valid); // true if entire chain is validconsole.log(chainResult.length); // number of proofs in chainconsole.log(chainResult.coverage); // time range covered