Security¶
AIRelays separates two authority domains:
- upstream provider auth
- local client access to AIRelays itself
The upstream subscription login is not the relay access credential.
Protected Routes¶
Protected by default:
/v1/*/no-tools/v1/*
Public:
/GET /healthz
Detailed diagnostics live behind GET /v1/relay/status unless you intentionally launch an open local relay.
Relay Token¶
The normal path is:
airelays init
Show the current token:
airelays token show
Rotate it:
airelays token rotate
Open Local Relay Mode¶
Open local relay mode applies to all enabled providers, including the Claude runtime.
airelays init --no-auth
airelays serve --no-auth --port 8080
Equivalent environment override:
AIRELAYS_REQUIRE_BEARER_AUTH=false airelays serve --port 8080
Claude Guardrails¶
When the Claude runtime is enabled:
- bearer auth is required
- loopback binding is required
trust_x_forwarded_foris rejected- the runtime is stateless
- the runtime is local-only
Rate Limits¶
Default single-process protections:
120requests/minute per IP- burst
40 8concurrent requests per IP- temporary IP block after repeated bad tokens
Upload Ceilings¶
32MiB per file256MiB total stored file bytes
Logging¶
AIRelays logs:
- inbound requests
- provider resolution
- endpoint rejects
- provider and upstream requests
- provider and upstream responses
- provider stream lines
- usage summaries
Request and response contents, including prompts and model outputs, can be written to the local AIRelays log files. Raw bearer tokens are redacted.