Skip to content
LyraShield AIOpen beta

Updated

Agent approvals

Mutating actions requested by a remote agent (scan, report, fix proposal, retest) are held in aPENDING state until a human explicitly approves or denies them.

Lifecycle

  1. The agent calls a mutating tool with its normal arguments.
  2. LyraShield returns a PENDING result with an approvalId and a URL such as https://app.lyrashieldai.com/agent-approvals/<approvalId>.
  3. A human reviews the exact action and inputs, then approves or denies.
  4. The agent re-calls the same tool with the same arguments plus approvalId. The server verifies the input hash, executes the tool once, and stores the result.
  5. Replays with the same approvalId return the stored result without re-executing.

Expiry

PENDING approvals expire after 15 minutes. An expired approval must be re-requested; the human-readable URL will show the expired state.

API

  • GET /api/v1/agent-approvals?workspaceId=<id> — list approvals
  • POST /api/v1/agent-approvals — create an approval
  • POST /api/v1/agent-approvals/<id>/approve — approve an action (requires input for hash verification)
  • POST /api/v1/agent-approvals/<id>/deny — deny an action

Trusted CI opt-out

The environment variable LYRASHIELD_MCP_ALLOW_REMOTE_MUTATIONS=true still bypasses the approval gate for genuinely trusted automation. This is a blunt instrument; the approval flow is the recommended default.