Rightshold™ Sign up

Answers · agent controls

How do I run a break-glass override for an AI agent so an emergency can bypass a normal gate, with a short TTL and a full audit trail the agent cannot edit?

Last updated

TL;DR: A break-glass path is a rare, deliberate emergency override: it temporarily widens an agent's scope or bypasses a normal approval gate when the ordinary path cannot wait (outage, safety incident, locked-out owner). Treat it as louder than a normal approval, not quieter. Make the override itself dual-controlled or owner-only; give it a short hard TTL (minutes, not days); require a reason and a ticket or incident id; write a high-severity ledger entry the agent's credentials cannot edit or delete; auto-revert when the TTL ends and notify owners; and drill the path on a schedule so the first real use is not the first test. NIST SP 800-53 AC-3(10) calls this an audited override of access control: allowed only under defined conditions, by defined roles, and always audited. request_human_approval (or declare_intent with a break_glass flag in the action) records the human authorization; record_ai_run seals what happened during the window; revoke_agent is the kill switch if the override goes wrong.

What should I check, step by step?

1. Define the only conditions that may invoke break-glass (for example: production outage with customer impact, safety incident, or owner locked out of the normal approver path). Ban convenience and routine troubleshooting.

  1. Make the override itself dual-controlled or restricted to a named owner role. The person who benefits from the widened scope should not be the sole person who can open it.
  2. Bind the override to a short hard TTL (for example 15–60 minutes), a named reason, a ticket or incident id, the agent or credential id, and the exact scope being widened (tools, environments, spend ceiling).
  3. Write a loud, append-only ledger entry at open and at close: who authorized, who used it, start, planned expiry, actual end, reason, ticket, scope delta. The agent's API key must not be able to UPDATE or DELETE those rows.
  4. Auto-revert when the TTL ends: restore the prior policy, revoke temporary grants, and notify owners on open, on expiry and on any manual extension (extensions should themselves be dual-controlled).
  5. During the window, keep normal logging on: every tool call, every spend, every permission change. Prefer session recording or an outside-agent flight recorder for the override window.
  6. After every use, run a post-event review within a fixed window (for example 24–72 hours): was the trigger legitimate, was scope minimal, what must be fixed so the next emergency does not need break-glass?
  7. Drill quarterly: open a break-glass in a non-production environment, confirm the loud entry, confirm auto-revert and notifications, then revoke. An undrilled path fails when you need it.

What is a break-glass override for an AI agent?

Break-glass is an emergency exception to normal agent gates: a temporary widen of scope or a bypass of a waiting approval when waiting would make the incident worse. It is not a standing admin mode, not a shared root password, and not a way to skip policy because someone is in a hurry.

How do dual control, short TTL, reason and ticket work for agent break-glass?

Require a human authorization to open the window: request_human_approval with an action that names break_glass, the scope delta, reason and ticket_id, or declare_intent with the same fields so the agent's allowed operations for that window are explicit. Prefer two independent humans for high-blast-radius overrides.

How do I keep a loud audit trail, auto-revert and drills for agent break-glass?

On open, write a high-severity entry the agent cannot suppress: override_id, agent or credential id, authorizer ids, reason, ticket_id, scope_before, scope_after, opened_at, expires_at. On close (auto or manual), write closed_at, close_reason and whether auto-revert succeeded.

How do I ask Rightshold about this (free, no key)?

Add the MCP server https://www.rightshold.com/mcp to Claude, Cursor, ChatGPT, Grok or VS Code, then ask: “Open a break-glass override for my on-call agent: widen its production restart scope for 30 minutes only, bound to incident INC-9042 and reason 'api outage', require my approval, write a loud ledger entry, and auto-revert when the TTL ends.”

One-click setup

{
  "tool": "request_human_approval",
  "arguments": {
    "summary": "break-glass: widen on-call agent to production restart for 30m under incident INC-9042",
    "action": {
      "type": "break_glass",
      "agent": "oncall-ops-bot",
      "credential_id": "crd_…",
      "scope_delta": [
        "prod:restart_service"
      ],
      "reason": "api outage — normal approver path unavailable",
      "ticket_id": "INC-9042",
      "ttl_minutes": 30,
      "policy_id": "break-glass",
      "policy_version": "v3"
    },
    "expires_in_minutes": 15
  }
}

Rightshold records human approvals, intents, AI-run receipts and revocations on a signed, hash-chained ledger. Enforcing a hard TTL, dual control for the override itself, auto-revert of your internal grants and post-event review are controls you run around those records. Rightshold does not decide when an emergency is real. Not legal advice.

What are the sources?

Related

Not legal advice. JSON · Markdown · All answers

Get a free API key in one call

No card and no email needed. 100 free credits; the license and policy checks stay free without a key.

curl -s -X POST https://www.rightshold.com/v1/accounts/signup -H "Content-Type: application/json" -d '{"accept_terms":true}'
export RIGHTSHOLD_API_KEY=rs_...   # the api_key from the reply (shown once)
curl -s https://www.rightshold.com/v1/licenses/check -H "Authorization: Bearer $RIGHTSHOLD_API_KEY" \
  -H "Content-Type: application/json" -d '{"license":"MIT","intended_use":{"commercial_use":true}}'