Version: 1.0
Status: Release Candidate
Requirements: 60
The ARAL Security specification defines security requirements, threat models, and protection mechanisms across all layers.
ARAL uses STRIDE for threat modeling per layer.
| Layer | S | T | R | I | D | E |
|---|
| L7 Protocol | ⚠️ | ⚠️ | ⚠️ | ⚠️ | ⚠️ | ⚠️ |
| L6 Orchestration | ⚠️ | ⚠️ | ⚠️ | ⚠️ | ⚠️ | ⚠️ |
| L5 Persona | ⚠️ | ⚠️ | ✓ | ⚠️ | ⚠️ | ⚠️ |
| L4 Reasoning | ⚠️ | ⚠️ | ⚠️ | ⚠️ | ⚠️ | ⚠️ |
| L3 Capabilities | ⚠️ | ⚠️ | ⚠️ | ⚠️ | ⚠️ | ⚠️ |
| L2 Memory | ⚠️ | ⚠️ | ⚠️ | ⚠️ | ⚠️ | ⚠️ |
| L1 Runtime | ⚠️ | ⚠️ | ⚠️ | ⚠️ | ⚠️ | ⚠️ |
Legend: S=Spoofing, T=Tampering, R=Repudiation, I=Info Disclosure, D=DoS, E=Elevation
| ID | Requirement | Level |
|---|
| ARAL-S-001 | All external requests MUST be authenticated | MUST |
| ARAL-S-002 | Authentication MUST support OAuth 2.0 / OIDC | MUST |
| ARAL-S-003 | Authentication SHOULD support mTLS | SHOULD |
| ARAL-S-004 | Authorization MUST be capability-based | MUST |
| ARAL-S-005 | Authorization MUST follow least privilege | MUST |
| ARAL-S-006 | Tokens MUST have bounded lifetime | MUST |
| ARAL-S-007 | Token refresh MUST NOT extend beyond max lifetime | MUST |
| ARAL-S-008 | Failed auth attempts MUST be logged | MUST |
| ARAL-S-009 | Auth SHOULD implement rate limiting | SHOULD |
| ARAL-S-010 | Service-to-service auth MUST use SPIFFE/mTLS | MUST |
| ID | Requirement | Level |
|---|
| ARAL-S-020 | Data in transit MUST use TLS 1.3+ | MUST |
| ARAL-S-021 | Data at rest SHOULD be encrypted | SHOULD |
| ARAL-S-022 | PII MUST be identified and protected | MUST |
| ARAL-S-023 | Sensitive data MUST NOT appear in logs | MUST |
| ARAL-S-024 | Data retention MUST follow defined policies | MUST |
| ARAL-S-025 | Data deletion MUST be verifiable | MUST |
| ARAL-S-026 | Encryption keys MUST be rotated periodically | MUST |
| ARAL-S-027 | Key management SHOULD use HSM or KMS | SHOULD |
| ARAL-S-028 | Data classification MUST be documented | MUST |
| ARAL-S-029 | Cross-border data transfer MUST be compliant | MUST |
| ID | Requirement | Level |
|---|
| ARAL-S-030 | Persona MUST be validated at startup | MUST |
| ARAL-S-031 | Persona MUST be immutable at runtime | MUST |
| ARAL-S-032 | Persona changes MUST require restart | MUST |
| ARAL-S-033 | Persona SHOULD be cryptographically signed | SHOULD |
| ARAL-S-034 | Persona signature SHOULD use Ed25519 or ECDSA | SHOULD |
| ARAL-S-035 | Invalid persona MUST prevent agent startup | MUST |
| ARAL-S-036 | Persona constraints MUST be enforced by L6 | MUST |
| ARAL-S-037 | Persona override attempts MUST be logged | MUST |
| ARAL-S-038 | Persona version MUST be checked for compatibility | MUST |
| ARAL-S-039 | Persona MUST NOT grant more than declared | MUST |
| ID | Requirement | Level |
|---|
| ARAL-S-050 | Capabilities MUST declare required permissions | MUST |
| ARAL-S-051 | Capability invocation MUST check permissions | MUST |
| ARAL-S-052 | Capabilities MUST validate all inputs | MUST |
| ARAL-S-053 | Capabilities MUST NOT exceed declared scope | MUST |
| ARAL-S-054 | Dangerous capabilities MUST require confirmation | MUST |
| ARAL-S-055 | Capability errors MUST NOT leak internals | MUST |
| ARAL-S-056 | Capabilities SHOULD implement sandboxing | SHOULD |
| ARAL-S-057 | External capabilities MUST use allowlist | MUST |
| ARAL-S-058 | Capability results MUST be validated | MUST |
| ARAL-S-059 | Capability timeouts MUST be enforced | MUST |
| ID | Requirement | Level |
|---|
| ARAL-S-080 | Secrets MUST be stored via vault references | MUST |
| ARAL-S-081 | Secrets MUST NOT be in code or config files | MUST |
| ARAL-S-082 | Secret access MUST be audited | MUST |
| ARAL-S-083 | Secrets MUST be rotated periodically | MUST |
| ARAL-S-084 | Secret exposure MUST trigger rotation | MUST |
"vault": "hashicorp-vault",
"path": "secret/aral/api-key",
| ID | Requirement | Level |
|---|
| ARAL-S-090 | All security events MUST be logged | MUST |
| ARAL-S-091 | Logs MUST use structured JSON format | MUST |
| ARAL-S-092 | Logs MUST include trace_id | MUST |
| ARAL-S-093 | Logs MUST be tamper-evident | MUST |
| ARAL-S-094 | Logs MUST be retained per policy | MUST |
| ARAL-S-095 | Log access MUST be restricted | MUST |
"level": "INFO|WARN|ERROR",
"actor": "agent_id or user_id",
"action": "action_performed",
"resource": "affected_resource",
"outcome": "success|failure",
| Category | Requirements |
|---|
| Authentication & Authorization | 10 |
| Data Protection | 10 |
| Persona Security | 10 |
| Capability Security | 10 |
| Secret Management | 5 |
| Audit Logging | 6 |
| Total ARAL-SECURITY | 60 (+ 9 implicit) |
© 2026 IbIFACE — CC BY 4.0