| SecurityConfig | Top-level config aggregating path validation, sanitization, and persona validation settings |
| PathValidator | Validates file paths against directory allowlists, symlink policies, traversal patterns, and Unicode attacks |
| InputSanitizer | Sanitizes user input for prompt injection, length limits, and suspicious content with risk scoring |
| SecurityValidationError | Structured error with type, retryability, details, and suggested fix |
| SecurityViolationEvent | Immutable event record for detected security violations with severity and source |
| InputSanitizationRecord | Tracks sanitization actions with SHA-256 hash and risk score |
| PermissionChecker | Validates tool operations against allow/deny glob patterns — deny-first evaluation |
| PermissionError | Error carrying persona name, tool, argument, and denial reason |
| Sandbox | Interface with Wrap, Validate, Cleanup methods for OS-level isolation |
| DockerSandbox | Docker container sandbox with --read-only, --cap-drop=ALL, --network=none, --security-opt=no-new-privileges |
| NoneSandbox | Passthrough no-op sandbox — used when bubblewrap is handled externally by Nix |
| TraceLogger | NDJSON audit logger with credential scrubbing for all logged output |
| DebugTracer | NDJSON debug tracer with credential scrubbing, optional stderr mirror, and thread-safe writes |
| TraceEvent | Single structured trace event with timestamp, type, step ID, duration, metadata |
| Permissions | Struct with AllowedTools and Deny lists — the manifest-level permission definition |
| PersonaSandbox | Per-persona sandbox config with AllowedDomains network whitelist |
| RuntimeSandbox | Global sandbox config: backend, image, default domains, env passthrough |
| SandboxOnlySettings | Minimal settings.json written only when sandbox is enabled |
| Severity | Security event severity: LOW, MEDIUM, HIGH, CRITICAL |
| ViolationType | Security violation category: path_traversal, prompt_injection, invalid_persona, malformed_json, input_validation |
| PersonaSpec | Decoupled subset of persona config for agent markdown compilation — model, allowed tools, deny tools |