KNOBE Lens

Drop in a KNOBE. Verify it here.

The Lens checks a .knobe.md file's sealed payload and tells you whether it is intact. It runs the same canonical algorithm as lens.py, the reference verifier, only in your browser, with nothing to install.

Verification happens locally in your browser. No upload. No server. No AI.
Drag a .knobe.md file here
Your file never leaves this page.
No file handy?

What the verdict means

Integrity is not truth. A green check proves the sealed record has not changed since sealing, not that its contents are correct, safe, or appropriate. The check is where inspection begins, not where it ends. The protocol's recommended posture is quarantine-first: treat any external object as untrusted until you have reviewed it, regardless of whether it verifies.

verified
The payload's contents hash exactly to the stored payload_hash. The sealed record is intact.
verified · body modified
The sealed payload is intact, but the human-readable markdown body no longer matches the sealed body_hash. Inspect before relying on this version.
failed
The recomputed hash does not match the stored one. The payload has been altered, or the stored hash is wrong.
unreadable
No valid payload could be found or parsed: malformed file, missing block, duplicate keys, an unsupported spec version, or invalid encoding.

Bare-numeric payloads: When a payload contains bare JSON numeric values (which KNOBE v1 treats as a spec violation), Browser Lens does not issue a hash verdict. This is a browser Lens behavior, not a protocol state. Use lens.py for canonical verification of these files.

Conformance is reported separately from integrity. A file can be verified yet still carry conformance warnings or be invalid: for example a missing field, a malformed date, or multiple payload blocks. Integrity asks "is the sealed record unchanged?"; conformance asks "is it well-formed against the spec?"

This Lens matches lens.py for conforming all-string KNOBE v1 payloads and deliberately declines hash verdicts for bare-numeric payloads, deferring to lens.py as canonical. The engine is verified against 11 sealed public KNOBEs, 9 conformance vectors, and 10 adversarial hardening vectors (30 files total). For automation, audits, and the definitive result, use lens.py, a single standard-library Python file with no dependencies. Read the algorithm in the specification.