How It Works
- When the proxy sees a request from an unknown agent (not in the registry), it can auto-quarantine the agent.
- A quarantine record is created with a reason and timestamp.
- The proxy blocks all subsequent requests from the quarantined agent with
403 Forbidden. - An admin reviews the agent and either releases it from quarantine or permanently blocks it.
Quarantine an Agent
Release from Quarantine
After reviewing a quarantined agent, release it to restore proxy access:List Quarantined Agents
What the Agent Sees
When a quarantined agent sends a request through the proxy:Audit Trail
Every quarantine action is logged:| Event Type | Description |
|---|---|
agent.quarantined | Agent placed in quarantine (includes reason and actor) |
agent.quarantine.released | Agent released from quarantine (includes actor) |
Enforcement Architecture
Quarantine uses the same Redis-backed enforcement as the kill switch:- Write path: API writes quarantine status to PostgreSQL and publishes to Redis.
- Read path: Proxy checks Redis on every request — quarantined agents get an immediate
403. - Fail-open: If Redis is unavailable, the proxy falls back to allowing the request.
- Latency: Quarantine takes effect within milliseconds of the API call.
Quarantine vs Kill Switch
| Feature | Quarantine | Kill Switch |
|---|---|---|
| Purpose | Isolate unknown/suspicious agents for review | Emergency shutdown of known agents |
| Trigger | Auto-detected shadow agents or manual | Manual or anomaly-driven |
| Release flow | Review then release | Unblock when resolved |
| Audit event | agent.quarantined | agent.blocked |
Use Cases
- Shadow agent detection — Auto-quarantine agents not in the registry.
- Onboarding gate — New agents start quarantined until approved by security.
- Incident containment — Quarantine suspicious agents while investigating.
- Zero-trust enforcement — No agent gets proxy access without explicit registration and approval.

