MIZAN · live controls
Not a badge. A probe that fired, and what it failed to look at.
Every row below was produced by a program that made a real request against real production or the real repository and wrote down what came back. Each probe ships a negative control — the same assertion run against a deliberately wrong input, which has to come back DARK. A prover that cannot fail is not a prover, so when a negative control does not fail, the verdict it produced is thrown away and the control reads CANT-CHECK. Every run is hash-chained and published, so you can recompute all of it yourself and disagree with us in public.
What the three verdicts mean
There is no verdict called “pass”. CANT-CHECK is not a soft yes; it is the honest answer when we could not tell, and it is counted separately from LIVE for exactly that reason.
- LIVE
- The probe fired and observed the control working.
- DARK
- The probe fired and the control did not work. This is a finding, not a warning.
- CANT-CHECK
- The probe could not run, or its negative control failed to fail. Not a pass. Not a failure. Unknown.
The run these verdicts came from
- Sealed at
- 2026-08-13T04:23:30.519Z
- Chain entry
- seq 6
- Head (rowHash)
- d769352f88e79e6da5a103b8a521769cbcba2ef035fbc283ff7644ec424872bb
- Verdict counts
- LIVE 8 · DARK 0 · CANT-CHECK 6
This entry is unsigned. It is hash-linked, which proves the rows are mutually consistent; it does not prove we authored them, and it does not claim to.
Every control, with its limits
The right-hand column is the product. A compliance vendor’s green badge cannot print it, because the badge is generated from configuration and has no idea what its own check declined to look at.
- LIVE
MZ-001 · probe auth-gate-fires
Authentication gate refuses unauthenticated callers
Every path listed in PROTECTED_PATH_PREFIXES in apps/web/middleware.ts refuses an anonymous caller at the edge, before any route handler runs.
observed 24/24 protected prefixes refused anonymously (7 x 307->/sign-in, 17 x opaque 404) method GET https://steadywrk.app<each PROTECTED_PATH_PREFIXES entry>/<nonce> anonymously, redirect:manual -> status + LocationWhat this LIVE verdict establishes
Recompute this page yourself
This page is rendered from a hash chain, and the chain is published in full. Nothing here asks you to take our word for a verdict: fetch the feed, fold it forward from genesis, and compare the head to the one printed above. The verifier has no dependencies and imports nothing from our code — that is the point of it.
# 1. Fetch the chain. It carries its own algorithm description.
curl -sS https://steadywrk.app/api/public/mizan -o mizan.json
# 2. Recompute it from genesis — with our verifier, or with yours.
node security/mizan/verify.mjs https://steadywrk.app/api/public/mizan
# 3. Prove the verifier itself can still fail before you believe it.
node security/mizan/verify.mjs --selftest
# The formula, so you never have to run our code at all:
# genesis_tag = STEADYWRK-MIZAN-GENESIS-v1
# prevHash(1) = SHA256(genesis_tag)
# canonical(x) = JSON.stringify(x) with every object key sorted, recursively
# rowHash(n) = SHA256(seq | prevHash | sealedAt | canonical(payload))
# prevHash(n) = rowHash(n-1) seq starts at 1 and must be contiguousThe feed lives at /api/public/mizan. Step 3 is not optional decoration: a verifier that always prints VALID would be as useless as a badge that is always green, so it builds a good chain, flips one byte, and demands that the second chain be rejected before it will believe the first.
What recomputation buys you: the head is a pure function of the rows served. What it does not buy you: proof that the probes fired, or fired against production. The chain commits to what the probes saidthey saw — a fabricated observation hashes exactly as well as a true one. Read each control’s method above, then re-run the probes in security/mizan/probes/ yourself. They are published for that reason.
Looking for something else?
- Want to check STEADYWRK rather than a control? /verify-us lists every public surface, and — in the same size type — what no outsider can verify yet.
- Want the posture narrative rather than the probes? /trust covers the instrument surfaces and the privacy position.