Offline verification

Verify a report, in your own browser.

Paste a kolm report. Verification runs in your browser. Nothing uploads. Load the sample or drop a .json file. Two things are checked: the Ed25519 (the digital-signature math)Ed25519 is a widely used public-key signature scheme. The signer holds a private key; anyone can check the signature with the matching public key. It is the same family of math used to sign software releases. signature proves the bytes are untampered, and the signing key is matched against kolm's published issuer keyring, so a report re-signed with someone else's key cannot pass as ours. No account, no kolm server in the path.

One verifier checks both artifacts kolm signs: a compiled .kolm model and a signed report.

Reviewing a vendor's AI application? Read the buyer's guide: what to ask for and how to check it.

Evidence report (JSON)

paste · load · drop
Verification idle

Load the sample or paste a report, then press Verify. Nothing is pre-filled; every check runs in your browser.

in-browser WebCrypto · Ed25519 (RFC 8037) SHA-256 key fingerprint, recomputed locally Open verifier: kolm-audit-verify.js Issuer keyring: kolm-issuers.json Format: signed report spec Embed a verify badge
01 / The two checks

They don't trust us. They check the math.

A valid signature alone is not enough. A forger can sign their own edited report with their own key. Both tiers have to hold.

Why offline

Nothing for us to fake

Asymmetric signatures need only the public key, and it travels inside the report. kolm is never in the verification path, so there is no back end to quietly return a green check.

Tier 1 · signature

Untampered since signing

The report is signed by the holder of the embedded key and has not changed by a single byte since. Edit one field and the signature fails in red. Try Tamper a field.

Tier 2 · issuer

And ours

The embedded key is matched against kolm's published keyring. Re-sign an edited report with an attacker's own key and tier 1 passes, but tier 2 exposes it. Try Forge with a rogue key.

TRUST PATH / VERIFICATION LOOPlive

VALID · seal intact VOID on tampered bytes

Read

report.json

The signed envelope is read in the buyer's browser. Offline, no upload.

0bytes sent
Canonical

Rebuild the bytes

Signed fields are put back in one fixed order so the exact signed bytes return.

1canonical form
Signature

WebCrypto verify

The embedded public key checks the Ed25519 signature. One changed byte fails.

Ed25519checked
Issuer

Match the keyring

The key is matched against kolm's published issuer keyring. Public keys only.

2tiers held
Trust path verification runs in the buyer's own browser against pinned public keys no kolm server in the trust path

Scope is contractual. Permission posture, redaction and audit-trail integrity are assessed. Injection is tested and reported, not warranted.

02 / In plain language

The four words behind the green check.

No cryptography background needed. Here is what each term means, with a concrete example, and the order the checks run in.

Read

Parse the report

The pasted JSON is read in your browser. Nothing is uploaded.

0 bytes sent
Canonical

Re-serialize the bytes

The signed fields are put back in one fixed order so the exact signed bytes can be reproduced.

1 canonical form
Signature

Check Ed25519

The embedded public key checks the signature over those bytes. One changed byte fails.

Ed25519 verified
Issuer

Match the keyring

The key is matched against kolm's published issuers, so a rogue key cannot pass as ours.

2 tiers held

Ed25519

The digital-signature math. The signer holds a secret private key; anyone can check the result with the matching public key. The same family of math used to sign software releases.

private key signs · public key checks

Hash

A short fixed-length fingerprint of a file. Change one character anywhere and the fingerprint changes completely, so it is an exact tamper detector.

"report" then "Report" gives a wholly different digest

Canonical bytes

One fixed way to write out the report's fields. Because the order and spacing are pinned, the signer and the verifier hash the exact same bytes and reach the same answer.

same fields, one and only one byte sequence

Offline, in your browser

Every check runs locally on this page. The report never leaves your machine and no kolm server sits in the trust path, so there is no back end that could quietly return a green check.

unplug the network and it still verifies

Hand your buyer a report they can check.

A signed evidence report your buyer verifies right here, against your key, with no account and no server in the trust path.

Ed25519-signed Offline-verifiable Sample report

Caveats: Scope is contractual. Permission posture, redaction and audit-trail integrity are assessed. Injection is tested and reported, not warranted.