Security Model

Phoenix Agent is designed with security as a first-class concern. Every action is controlled, logged, and reversible.

Authorization & Yolo Mode

The central security mechanism. By default, every shell, mouse, or keyboard action requires explicit confirmation before executing.

ModeBehavior
DefaultEach action prompts for confirmation (Allow / Deny) before running. Nothing executes without your approval.
Yolo (/yolo on)Actions execute automatically without per-step confirmation. All operations are still logged to the audit trail.
Important: Even in yolo mode, every action is recorded in the decision journal with reasoning. You can always review what the agent did and why.

Granular Permissions

PermissionDefaultControls
file_readGRANTEDRead files and directories
file_writeDENIEDCreate/modify/delete files
shell_executeDENIEDRun shell commands
mouse_controlDENIEDControl mouse cursor
keyboard_controlDENIEDSimulate keyboard input
screen_captureDENIEDTake screenshots
network_accessGRANTEDMake HTTP requests
install_packagesDENIEDInstall system packages

API Key Encryption

All API keys are encrypted at rest using Fernet (AES-128-CBC + HMAC-SHA256):

Audit Logging

Every security-relevant action is logged with:

{
  "timestamp": "2025-01-15T10:30:00Z",
  "action": "executed_command",
  "details": {
    "command": "mkdir C:\\Users\\...\\test",
    "exit_code": 0
  }
}

Decision Journal

Beyond simple logging, the decision journal records why the agent made each choice:

{
  "decision": "executed_command",
  "reason": "User requested directory creation",
  "alternatives": ["manual creation"],
  "context": {"command": "mkdir test"}
}

Best Practices