Security Architecture

Pranor implements defense-in-depth across all modules.

Authentication & Authorization

LayerMechanismModule
API clientsJWT (RS256/ES256) + OAuth2/OIDCAuth
Inter-servicemTLS with auto-rotating certificatesMesh
Admin APIsAPI key + RBACAll modules
Browser sessionsSecure cookies + MFA (TOTP/WebAuthn)Auth

Zero-Trust Model

Every request between modules is authenticated:

Client → Gate (JWT validation)
       → Mesh (mTLS between services)
       → Target Service (RBAC enforcement)

No module trusts another implicitly. Mesh provides workload identity via SPIFFE.

Encryption

ScopeAlgorithmWhere
Data at restAES-256-GCMVault, Pulse
Data in transitTLS 1.3All inter-module traffic
Secrets storageAES-256-GCM + Shamir sharingSecret
Browser queueAES-256-GCM client-sidePulse (OPFS)
JWT signingRS256 or ES256Auth

Enterprise Security (EE)

FeatureDescription
FIPS 140-3 modeHSM-backed key management
Post-quantum cryptoX25519 + Kyber hybrid key exchange
Byzantine consensusBFT Raft for tamper-resistant clusters
eBPF XDP accelerationKernel-level packet filtering
Blind broker E2EEPulse broker never sees plaintext messages
Merkle audit ledgerTamper-evident append-only audit trail

RBAC Model

// Define roles in Auth
POST /api/v1/rbac/roles
{
  "name": "editor",
  "permissions": ["read:articles", "write:articles"]
}

// Assign to users
POST /api/v1/rbac/users/user-123/roles
{ "roles": ["editor"] }

Gate enforces RBAC policies on every routed request.

Secret Management

Pranor Secret provides:

  • Dynamic secret injection into processes
  • Shamir key splitting for master key unsealing
  • Automatic rotation with versioning
  • Leak detection scanning
pranor secret inject --env production -- ./my-service

Next Steps