Inspiration

AI-assisted development can move faster than the evidence behind a claim. A polished result can look finished even when an underlying file changed, a test never ran, or a human approval is still missing. I built ProofLock Console to make that gap visible.

What it does

ProofLock loads a bounded JSON receipt, recomputes its canonical SHA-256 identity, resolves only repository-contained artifact paths, rehashes the declared files, and evaluates authority gates separately from file integrity.

The bundled demo verifies four real repository artifacts. All four hashes match, but the result remains HOLD because engineering CAD, prototype testing, qualified safety review, and human release are still open. That is the point: intact evidence is not the same as permission to make a stronger claim.

How I built it

The browser app is plain HTML, CSS, and JavaScript using Web Crypto. A matching Python CLI applies the same receipt and gate rules for local automation and CI. Pytest covers receipt tampering, path traversal, invalid or duplicate gates, artifact mismatches, and attempts to promote while required gates remain open.

I used Codex with GPT-5.6 to narrow the scope, implement the browser and Python paths, challenge the trust model, build the tests, and improve the interface. The latest pass also fixed a Windows-specific false alarm by giving text artifacts an explicit LF-canonical hash mode while keeping binary artifacts byte-exact.

Challenges

The hardest design choice was separating three questions:

  1. Is this the same artifact?
  2. Does the evidence support the claim?
  3. Is promotion actually authorized?

ProofLock reports those separately and fails closed when any required gate is missing.

What I am proud of

  • The sample verifies 4 of 4 declared artifacts.
  • A changed receipt fails its canonical hash.
  • A repository path cannot escape the project root.
  • PROMOTE is rejected while required gates remain open.
  • The public demo gives judges a working test path without exposing private evidence.

What I learned

Auditability gets stronger when every artifact has a stable identity, every claim names its evidence boundary, and missing authority cannot be replaced by confident prose.

What is next

Next steps are an independent reproduction run, signed receipt adapters, and CI integrations. Those are planned extensions, not completed capabilities.

Built With

Share this project:

Updates