AI Security
Allowed is not verified
July 30, 2026 · 7 min
IAM answers who. OAuth answers with which credentials. A policy gate answers may this tool be called.
None of those questions is did the exact thing a human approved actually happen, once, in the real world.
That gap is where agent systems will leak money, mail, and rows.
A retry loop does not need to be malicious. A timeout after a successful transfer is enough. A human clicking approve on amount A, then an agent swapping recipient B, is enough. A row that changed between approval and execution is enough.
This is the TOCTOU problem with a language model in the middle.
KarmaSakshi Protocol exists for that narrower job:
- Resolve the action into one canonical Effect Manifest.
- Seal it.
- Bind authorization to that hash, not to a tool name.
- Revalidate preconditions at commit time.
- Execute with exactly-once reservation semantics.
- Independently observe the system of record.
- Issue an Action Passport that re-verifies the chain.
The agent never holds the signing key. The engine is the only component that may call commit(). Adapters do not authorize. Compensation is honest about being best-effort.
If your safety story ends at "the tool was allowlisted," you have a permission layer. You do not have a proof.