Appearance
Authentication
Airlock handles authentication at multiple levels: user authentication to the Control Room, and API authentication for connecting to target services.
User Authentication
Users authenticate to the Airlock Control Room using:
- Email/Password: Standard email and password login
- Google OAuth: Sign in with Google
Organization Membership
Each user belongs to an organization. Organizations provide:
- Isolated data (servers, policies, users)
- Shared billing and quotas
- Team collaboration
API Authentication
When connecting AI agents to APIs through Airlock, credentials are handled per-user.
Built-in OAuth Integrations
Some integrations (GitHub, Google Calendar, Gmail, Fathom) have pre-configured OAuth credentials managed by Airlock:
- Go to your server's detail page
- Click the Connect button
- Complete the authorization flow in the popup window
- Airlock securely stores your OAuth tokens
OAuth tokens are automatically refreshed when they expire.
Standard OAuth Integrations
Most pre-built integrations (Notion, Linear, Atlassian, etc.) use standard OAuth with the upstream service. The flow is the same — click Connect and authorize.
API Key Integrations
For services that use API keys or bearer tokens (e.g., Datadog, custom APIs):
- Go to your server's detail page
- Enter your API credentials (API key or bearer token)
- Click Save
Credential Security
All credentials are encrypted at rest using AES-256-GCM:
- Encryption happens before storage
- Keys are managed securely
- Credentials are decrypted only when making API calls
MCP Connection Authentication
When AI agents connect to Airlock via MCP, they authenticate using MCP OAuth 2.0:
- Add the MCP URL to your AI client (Claude Desktop, Claude Code, Augment, etc.)
- The client initiates the OAuth flow automatically
- You authenticate in your browser
- The client receives access tokens and connects
This happens seamlessly when you add a new connector in Claude Desktop.
Session Persistence
MCP connections stay active without requiring you to re-authenticate:
- Access tokens expire after 8 hours and are refreshed automatically
- Refresh tokens are valid for 30 days
- Your AI client handles token refresh transparently — no action needed on your part
After 30 days, or if you revoke access from the Airlock dashboard, the client will prompt you to re-authenticate.
Token Security
- All tokens are encrypted at rest using AES-256-GCM
- Refresh tokens are stored as cryptographic hashes — even a database breach would not expose usable credentials
- Tokens are bound to your account and the specific client that requested them
- Revoking access from Cognito (e.g., signing out) immediately invalidates all refresh tokens
Best Practices
- Use OAuth When Available: OAuth provides better security than static API keys
- Rotate Credentials Regularly: Update API tokens periodically
- Use Least Privilege: Provide tokens with minimal required permissions
- Monitor Usage: Check audit logs for unusual activity
- Revoke Unused Access: Remove credentials when no longer needed