● Live https://loom.p31ca.org

Every agent action, hash-chained and human-decided.

The Loom is the governance layer the 2026 standards demand — a hash-chained, append-only audit trail where Lumi proposes and a human decides. Post-quantum identity, independent verification, co-presence enforced at the gate.

What "loom" actually means

Try it. Tamper with block 4 and watch the chain break — then verify.

Try it — break the chain
#1family: focus on the garden
prev genesishash a1b2903f71
#2lumi: propose a bench for the street
prev a1b2903f71hash a1b2d51199
#3human: approve the bench proposal
prev a1b2d51199hash a1b25cfd51
#4family: focus on the kitchen
prev a1b25cfd51hash a1b2f87065
#5lumi: propose a reading corner
prev a1b2f87065hash a1b2f16efb
#6human: reject — not enough spoons today
prev a1b2f16efbhash a1b2cdd704

This is a simplified demo of the property. The real Loom chain uses SHA-256 over RFC 8785-canonicalized records, and the live chain is independently verifiable.

What's inside

Hash-chained audit

SHA-256 per RFC 8785, tamper-evident, independently verifiable via GET /api/loom/verify.

Co-presence enforcement

Lumi proposes, the human decides — a scope gate refuses any autonomous action.

Post-quantum identity

ML-DSA-65 capability tokens bound to a responsible principal (AIC-JWT).

Refusal sidecar

Every refused action recorded with its reason, on a separate verifiable chain.

Built with

React 19Durable ObjectsD1Cloudflare AccessML-DSA-65

Questions people ask

Is the chain really verifiable?

Yes — GET /api/loom/verify recomputes it. Anyone can check it.

What stops Lumi from acting alone?

A scope gate refuses any action the human did not approve.

Try Loom now.

Open the Loom →