Permissions
Airlock evaluates tool access with one simple model:
denyblocks the callaskrequires human approvalallowpermits the call immediately- anything unmatched is default-denied
Precedence is always:
text
deny > ask > allow > default-denyPolicy is per agent
Each agent gets its own policy surface. That means claude-code can be more restrictive than helena, even when both connect through the same Airlock instance.
Profiles reduce repetition
Use profiles when several agents share a policy baseline.
Tool routing and exec policy are separate
Two checks often apply to shell access:
- can the agent call the tool at all?
- which command strings are legal once inside the tool?
That lets you say things like:
- the agent may call
exec/run - but only
git status,git diff*, andnpm test*are auto-allowed