Skip to main content
The action classifier assigns a risk level to an action identifier presented by a caller. It is a lookup utility, not a universal interceptor. Execution paths must explicitly call it and separately enforce any audit, policy, or approval decision.

Overview

Each identifier passed to classifyAction() resolves to one of three levels: Fail-closed principle: Unknown actions default to destructive. If an action is not in the registry, it is treated as the highest risk level. Registry locking: After bootstrap completes, lockRegistry() is called to prevent runtime classification changes by source integrations. Once locked, registerAction() throws an error.
classifyAction() and requiresConfirmation() do not create an approval request or pause execution. Human approval occurs only on an execution path that explicitly calls ApprovalGate.requestApproval(), and only when the daemon has wired that gate for the path.
Source: packages/core/src/security/action-classifier.ts. 178 registered actions across 21 categories.

API

classifyAction

Returns the registered classification for an action, or "destructive" for unknown actions (fail-closed).

requiresConfirmation

Returns true if the action is classified as "destructive". This is a boolean policy signal only; it does not invoke the approval gate.

registerAction

Register a new action type with its classification. Overwrites any existing registration. Throws Error if the registry has been locked via lockRegistry().

lockRegistry

Locks the registry, preventing any further registrations. Idempotent — calling multiple times is a no-op.

isRegistryLocked

Returns true if lockRegistry() has been called.

Usage Example

Complete Action Registry

All 178 registered actions from ACTION_REGISTRY, grouped by category.

Configuration

The ActionConfirmationConfigSchema records confirmation policy signals for execution paths that explicitly consult it:
These settings do not install a global action guard. A tool or RPC path that does not consult them is unaffected.
Source: packages/core/src/config/schema-security.tsActionConfirmationConfigSchema Zod schema.

Classification Summary

Security Model

Defense-in-depth security architecture

Safe Path

Path traversal prevention

Tool Security

SSRF guard, tool policies, content scanner