AZMARA PLATFORM
Security

Security Overview

Security is not an add-on in Azmara — it is baked into every layer from the ground up.

Threat model

ThreatWhereMitigation
SQL injection@azmr/dbParameterised queries only; identifier validation
Path traversal@azmr/db, @azmr/aiassertSafePath() on all file operations
Eval / code injection@azmr/aiNo eval; AI code runs in a capability-scoped V8 isolate (isolated-vm)
XSS@azmr/uiReact JSX escaping; no dangerouslySetInnerHTML
Reactive infinite loops@azmr/coreEffect depth limit (100) with descriptive error
Log tampering@azmr/securitySHA-256 hash chain — any modification breaks chain
Missing secretsAllvalidateEnv() fails fast at startup
Dependency attacksRootpnpm.onlyBuiltDependencies allowlist; pnpm audit
Unauthorised access@azmr/security, @azmr/policycorecreateAccessControl RBAC, policy engine auth requirements
Leaked/weak API keys@azmr/policycoreHashed storage, timing-safe comparison, rotation with grace period

OWASP Top 10 alignment

OWASP RiskStatusImplementation
A01 Broken Access Control✅ DonecreateAccessControl (RBAC) and createJWT in @azmr/security; @azmr/policycore's policy engine adds per-route auth requirements on top
A02 Cryptographic Failures✅ DoneAES-256-GCM + scrypt column encryption (@azmr/db's createColumnEncryption)
A03 Injection✅ DoneParameterised queries, no eval, identifier validation
A04 Insecure Design✅ DoneThreat-modelled from day one
A05 Security Misconfiguration✅ DoneWAL/secure_delete PRAGMAs, env validation, @azmr/policycore's CORS wildcard-with-credentials misconfiguration guard
A06 Vulnerable Components✅ DoneonlyBuiltDependencies, pnpm audit
A07 Identification and Authentication Failures✅ DonecreateJWT (timing-safe verify, expiry); @azmr/policycore's API key lifecycle (hashed storage, timing-safe comparison, rotation)
A08 Software & Data Integrity✅ DoneCapability-scoped V8 isolate sandbox for all AI code — no capability is available unless explicitly granted
A09 Logging & Monitoring✅ DoneHash-chained tamper-evident audit log
A10 SSRF🔲 PlannedURL allowlisting planned for AI fetch capabilities

Security layers

┌─────────────────────────────────┐
│  @azmr/policycore              │  ← Policy engine, request signing, secrets, API keys
├─────────────────────────────────┤
│  @azmr/security                │  ← Validation, RBAC, JWT, audit log, sanitisation
├─────────────────────────────────┤
│  @azmr/db                      │  ← Parameterised SQL, identifier guards, column encryption
├─────────────────────────────────┤
│  @azmr/ai                      │  ← Capability-scoped V8 isolate sandbox (isolated-vm)
├─────────────────────────────────┤
│  @azmr/core                    │  ← Effect depth guard
└─────────────────────────────────┘

On this page