Skip to content

Policies

Policies control what happens when an AI agent tries to call an API operation through Airlock.

Policy Basics

Every server has a policy that defines the behavior for each tool.

Actions

ActionBehavior
ALLOWExecute immediately without approval
REQUIRE_APPROVALCreate a pending request and notify approvers

Default Policy

When you create a server, all tools default to ALLOW. You can toggle any tool to require approval from the server detail page.

Configuring Policies

From the Control Room

  1. Navigate to your server's detail page
  2. Find the Tools section listing all available operations
  3. For each tool, toggle between:
    • Allow - Executes without approval
    • Require Approval - Needs human approval before executing
  4. Changes are saved automatically

Assigning Approvers

For tools set to require approval, you should assign who can approve requests:

  1. Click Add Approver next to the tool
  2. Select approvers:
    • Individual users from your organization
    • Groups for team-based approval
  3. Multiple approvers can be assigned — any one of them can approve

Self-Approval

For lower-risk operations, you can enable self-approval which allows the user who triggered the request to approve it themselves. This is useful when you want the approval step as a confirmation rather than a second-person review.

Conditional Approval

Policies support conditions that determine when approval is required based on parameter values. For example, you can require approval only when an amount exceeds a threshold:

  • If the condition is met, the operation requires approval
  • If the condition is not met, the operation is auto-approved

Conditions support numeric comparisons: >, >=, <, <=, ==, !=.

Policy Patterns

Read-Only Access

Allow all read operations, require approval for writes:

Tool PatternAction
list_*ALLOW
get_*ALLOW
search_*ALLOW
create_*REQUIRE_APPROVAL
update_*REQUIRE_APPROVAL
delete_*REQUIRE_APPROVAL

Full Access with Delete Protection

Allow most operations, but require approval for destructive actions:

Tool PatternAction
Most toolsALLOW
delete_*REQUIRE_APPROVAL

Maximum Security

Every operation needs human approval:

Tool PatternAction
All toolsREQUIRE_APPROVAL

Best Practices

  1. Start Permissive, Then Tighten: Begin with tools allowed and add approval requirements as you identify sensitive operations
  2. Protect Destructive Actions: Always require approval for delete and bulk-update operations
  3. Use Groups: Assign approvers to groups rather than individuals for easier management
  4. Enable Self-Approval for Low Risk: Use self-approval for operations that need a confirmation step but don't need a second person
  5. Regular Review: Periodically audit your policies to ensure they match your security requirements

Tool Naming

Tools are named based on the operationId in your OpenAPI specification:

yaml
paths:
  /users:
    get:
      operationId: list_users  # Tool name: list_users
    post:
      operationId: create_user  # Tool name: create_user

For pre-built integrations, tool names come from the upstream MCP server and are shown on the server detail page.

Use consistent naming conventions to make policy management easier:

  • list_* for collection endpoints
  • get_* for single resource retrieval
  • create_* for creation
  • update_* for modifications
  • delete_* for deletion

Built with VitePress