approval_gate

Human approval step for risky operations.


What it mitigates


ProfileenabledonTimeout
localtrue for high-impact actionsdeny
standardoptional by policydeny
unboundedoptional / monitor modealert or deny

Minimal config

approval:
  enabled: true
  mode: sync_wait
  waitTimeoutSec: 300
  temporaryGrantTtlSec: 1800
  onTimeout: deny
  onConnectorError: deny
  store:
    engine: sqlite
    path: ./.radius/state.db
    required: false
  channels:
    telegram:
      enabled: true
      transport: polling
      botToken: "${TELEGRAM_BOT_TOKEN}"
      allowedChatIds: []
      approverUserIds: []
    http:
      enabled: false
      url: "http://127.0.0.1:3101/approvals/resolve"
      timeoutMs: 10000
      headers: {}

Operational notes