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
- The agent calls a mutating tool with its normal arguments.
- LyraShield returns a PENDING result with an
approvalIdand a URL such ashttps://app.lyrashieldai.com/agent-approvals/<approvalId>. - A human reviews the exact action and inputs, then approves or denies.
- 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. - Replays with the same
approvalIdreturn 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 approvalsPOST /api/v1/agent-approvals— create an approvalPOST /api/v1/agent-approvals/<id>/approve— approve an action (requiresinputfor 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.