Skip to main content
Back to Blog

Security

Credential Reads Should Always Deny

In agent governance, reading .env or secrets paths is not a 'maybe' — it is an unconditional deny. We encoded that as a Week 1 hard rule in ActantOS.

Secure vault protecting credentials

The Confused Deputy Problem

Agents routinely attempt to read configuration files, API keys, and environment files. Sometimes the intent is benign — the model wants context. Sometimes it is not. You cannot reliably distinguish intent at runtime with an LLM.

ActantOS uses deterministic labels: credential_access=true on the normalized action facts. Cedar policy forbids it. The decision is deny with reason_code=policy_forbid.credential_path.

Never Route Credentials to Approval

A common mistake in governance design is treating credential access as 'high risk, send to human.' That creates approval fatigue and trains approvers to click through sensitive reads.

ActantOS Rule 8 from the implementation spec: credential_access=true is always deny, never approval_required.

Prove It in the Demo

The enforcement demo script explicitly tests guarded_read(".env") → denied. If your governance layer allows credential reads after approval, you have a policy bug — not a feature.

Try it: Quickstart · Early MVP