Every corrective action carries an owner, a verifier, and a due date. The record can't move to closed until the verifier signs the effectiveness gate — and the owner can't be the verifier. The audit trail enforces it. The regulator sees the chain without asking.
The verifier is structurally different from the owner — not by policy, by the workflow itself. Closure is a transaction across the graph, not a status field flip. Override exists, is role-gated, and leaves its own record.
Every action carries a typed link upward to the finding, hazard, or audit observation that spawned it. Owner and verifier are different people from the moment the record is created — not by policy, by structure.
Due dates cascade by finding severity. As the clock approaches the breach line, the escalation chain fires automatically — to the owner first, then their manager, then the post-holder. No human polling a spreadsheet.
The owner cannot mark their own action complete. The verifier — a different person — receives the evidence package, reviews against the original finding, and signs the effectiveness gate. The graph refuses to record closure otherwise.
Effectiveness is verified before closure, not measured after the fact. The signature locks the record, timestamps the closure, and updates every linked finding, hazard, and SPI in the same transaction.
Source finding, owner, verifier, evidence, signature, timestamps. The chain is the record. No screenshots, no PDF assembly — the audit pack is the data, exported on demand.
An action doesn't close in a corner of CAP. The signature locks the source finding, updates the linked SPI, and surfaces in any audit lane that touches the evidence chain. Four examples that matter on Monday morning.
Open a sample finding, assign owner and verifier, watch the SLA cascade, and sign the effectiveness gate — with the founder, on your data shape, in 30 minutes.