Identity
Unique identifier and role definition
The Persona layer (L5) defines the agent’s identity, behavioral contract, and operational constraints. It serves as the agent’s “constitution” - immutable rules that govern its behavior.
A Persona is a cryptographically signed document that defines who the agent is, what it can do, and how it should behave. It cannot be changed at runtime and must be validated before the agent starts.
Identity
Unique identifier and role definition
Constraints
Allowed/denied capabilities and operational limits
Personality
Tone, verbosity, and behavioral traits
Immutability
Cannot be changed without agent restart
{ "id": "persona-uuid", "name": "Customer Support Assistant", "role": "customer_support", "version": "1.0.0", "created_at": "2026-01-15T12:00:00Z", "constraints": { "allowed_capabilities": ["*"], "denied_capabilities": [ "database:write", "filesystem:write", "dangerous_action" ], "max_reasoning_depth": 5, "max_memory_mb": 512, "require_confirmation": [ "send_email", "delete_*", "charge_payment" ], "rate_limits": { "requests_per_minute": 100, "tokens_per_hour": 100000 } }, "personality": { "tone": "professional", "verbosity": "concise", "language": "en-US", "formality": "formal" }, "metadata": { "organization": "Acme Corp", "department": "Customer Service", "owner": "support-team@acme.com" }, "signature": { "algorithm": "ed25519", "public_key": "...", "signature": "...", "signed_at": "2026-01-15T12:00:00Z" }}| Requirement | Description |
|---|---|
| Unique ID | Each persona must have a unique identifier |
| Version | Semantic versioning for compatibility tracking |
| Role | Descriptive role defining agent’s purpose |
| Requirement | Description |
|---|---|
| Capability Control | Explicitly allow/deny capabilities |
| Depth Limits | Maximum reasoning iterations to prevent loops |
| Resource Limits | Memory, compute, and network quotas |
| Confirmation Requirements | High-risk actions requiring approval |
| Requirement | Description |
|---|---|
| Runtime Immutable | Cannot be changed while agent is running |
| Validated at Startup | Must pass validation before agent starts |
| Cryptographic Signature | Should be signed for authenticity |
| Enforced by L6 | Orchestration layer enforces constraints |
{ "allowed_capabilities": ["*"], "denied_capabilities": [ "database:write", "filesystem:delete", "network:write:*external*" ]}{ "allowed_capabilities": [ "web_search", "send_email", "database:read", "calculate" ], "denied_capabilities": []}{ "allowed_capabilities": [ "database:read:*", "api:get:*", "file:read:/safe/*" ], "denied_capabilities": [ "database:write:*", "api:post:*", "file:*:/system/*" ]}{ "require_confirmation": [ "send_email", "delete_*", "charge_*", "publish_*", "modify_production_*" ], "confirmation_timeout_seconds": 300}{ "pending_action": { "action_id": "uuid", "capability": "send_email", "parameters": { "to": "user@example.com", "subject": "Important Notice", "body": "..." }, "reason": "Requires confirmation per persona constraints", "expires_at": "2026-01-15T12:05:00Z" }}| Tone | Description | Example |
|---|---|---|
| Professional | Formal and business-like | ”I would be happy to assist you with…” |
| Friendly | Warm and approachable | ”Hey! I’d love to help you with…” |
| Technical | Precise and detailed | ”Executing query: SELECT * FROM…” |
| Casual | Relaxed and informal | ”Sure thing! Let me grab that for you…” |
| Level | Description | Response Length |
|---|---|---|
| Concise | Brief, to-the-point | 1-2 sentences |
| Moderate | Balanced explanation | 2-4 sentences |
| Detailed | Comprehensive | 4+ sentences |
| Verbose | Exhaustive | Full paragraphs |
# Generate keypairopenssl genpkey -algorithm ed25519 -out private.pemopenssl pkey -in private.pem -pubout -out public.pem
# Sign personaopenssl dgst -sha256 -sign private.pem -out persona.sig persona.json
# Embed signaturejq --arg sig "$(base64 persona.sig)" '.signature.signature = $sig' persona.json{ "signature": { "algorithm": "ed25519", "public_key": "MCowBQYDK2VwAyEA...", "signature": "base64-encoded-signature", "signed_at": "2026-01-15T12:00:00Z", "issuer": "Acme Corp PKI" }}{ "validation_error": { "code": "invalid_persona", "message": "Persona signature verification failed", "details": { "field": "signature", "reason": "Public key does not match signature" } }}{ "request": { "agent_id": "agent-uuid", "capability": "database:write", "parameters": {...} }, "persona_check": { "allowed": false, "reason": "Capability 'database:write' is in denied list", "action": "reject_request" }}{ "event": "persona_violation", "timestamp": "2026-01-15T12:00:00Z", "agent_id": "agent-uuid", "attempted_action": "database:write", "persona_constraint": "denied_capabilities", "outcome": "blocked", "severity": "high"}Assistant
Helpful, conversational, low-risk capabilities
Analyzer
Read-only, data analysis, reporting
Executor
Task automation, write capabilities, supervised
Guardian
Security monitoring, read-only, alerting
© 2026 IbIFACE — CC BY 4.0