Audited May 2026

Enterprise-Grade Security.

14 critical fixes applied across 1,000+ lines of cryptographic code. XSalsa20-Poly1305 encryption, SIMP-TLS with mutual authentication, and the BRP quantum defense layer — all production-wired.

Security Capabilities

Every vulnerability from the May 2026 audit has been fixed, documented, and wired into production.

🔐

Credential Vault

Scrypt KDF with XSalsa20-Poly1305 authenticated encryption — zero plain-text passwords stored anywhere in the system. A dedicated CredentialVault class replaced all ad-hoc password handling across 425 lines of reviewed code.

425 LOC XSalsa20-Poly1305
How we fixed it →

Issue #6: Plain text password storage had no encrypted credential store. We introduced a new CredentialVault class using cryptography.io's Salsa20Poly1305 and scrypt KDF. All agents now call vault.get_secret(agent_id, key) — plain text passwords are never written to disk.

🔒

TLS / SIMP-TLS

TLS 1.2+ with mandatory certificate validation, mutual authentication (mTLS), and Certificate Revocation Lists (CRL) checked on every handshake. Auto-generated Ed25519 certificates for internal service mesh — no self-signed surprises in production.

mTLS Ed25519 CRL
How we fixed it →

Issue #8: tls_wrap_socket() returned None, None on failure instead of raising — connections silently fell back to plain text. We added strict exception raising and enforce TLS or no connection. Issue #13: Key parsing blindly guessed PEM vs DER format. We added explicit format detection via the ASN.1 header bytes before calling the correct parser.

🪪

Identity & Auth

JWT tokens enforced on every API route. SIMP_DEV_AUTH_BYPASS exists only in local development and is hard-gated to development mode. CORS headers and rate limiting are wired into the HTTP server before_request hook.

JWT CORS Rate Limit
How we fixed it →

Issue #9: JWT verification was a stub — it accepted any token unconditionally. We wired the actual jwt.decode() with the server's Ed25519 public key, raising on every signature failure. Issue #7: Missing CORS configuration allowed any origin. We added explicit allowlist wiring and a before_request check that short-circuits disallowed origins before any handler runs.

✍️

Intent Signing

Direct Ed25519 signing of canonical JSON (RFC 7159) — never sign a hash. Double-hash padding oracle attack eliminated. Every intent is individually signed at submission time using the agent's own Ed25519 keypair.

Ed25519 No Double-Hash
How we fixed it →

Issue #3: The crypto layer was signing a double-SHA-256 hash of the payload — a construction vulnerable to padding oracle attacks. We replaced it with direct Ed25519 signing of the canonical JSON bytes, using cryptography.io Ed25519 with deterministic nonces. Agents now sign their intent content directly with their own private key.

📦

Message Transport

4-byte length prefix framing with _recv_exact() for exact byte count reads — no buffer overruns. Maximum payload of 16MB enforced at framing time. JSON parse only happens after the full message is in memory.

4-byte prefix 16MB max
How we fixed it →

Issue #2: The agent transport used a fixed 4096-byte buffer with no length prefix — partial JSON was parsed as complete, causing crashes on messages larger than 4KB. We replaced the framing with a 4-byte unsigned big-endian length header. _recv_exact(n) loops until exactly n bytes are received. Payload cap is enforced before any memory allocation.

⚛️

BRP Quantum Defense

QuantumDefenseAdvisor with MultiModalSafetyAnalyzer — 16 sub-systems across 5,802 lines of reviewed defense code. DeterministicRecurrentController ensures replay-resistant signal processing. PredictiveSafetyIntelligence fires before threats materialize.

5,802 LOC 16 sub-systems
How we fixed it →

The BRP defense layer consists of 16 subsystems: QuantumDefenseAdvisor, MultiModalSafetyAnalyzer (trained on adversarial intent sequences), DeterministicRecurrentController (replay-resistant state machine), PredictiveSafetyIntelligence (flow prediction with circuit breaker logic), ShadowModeObserver (passive all-traffic monitoring), ThreatScoreAggregator, AnomalyDetectionEngine, SignalVerificationLayer, ConsensusAgreementModule, AlertPrioritizationQueue, QuarantineManager, AuditChainRecorder, RemediationExecutor, BRPHealthMonitor, GuardFailureDetector, and EmergencyShutdownController. All 16 are production-wired with cross-check circuit breakers.

Input Validation

ISO 8601 date parsing via datetime.fromisoformat() with fallback to dateutil.parser. No regex injection possible — \d{4} and \d{2} patterns properly escaped. All user inputs are parsed through strict type-checking before reaching business logic.

ISO 8601 No Regex Injection
How we fixed it →

Issue #4: Regex patterns \d{m} and \d{d} were invalid quantifiers that caused exceptions. We replaced them with proper ISO 8601 parsing using Python's built-in datetime.fromisoformat(), with dateutil.parser as fallback for non-standard formats. Issue #1: RCE via eval(repr(user_input)) — replaced with JSON/YAML serialization and strict allowlist validation. No eval(), no repr(), no user-controlled format strings anywhere in the codebase.

Rate Limiting

Token-bucket algorithm verified in unit tests — per-agent limits enforced on every route. Bucket refill rates and burst sizes are configurable per agent class. Rate limiter is wired into the HTTP server before_request hook, not just the broker path.

Token Bucket Per-Agent
How we fixed it →

Issue #11: The rate limiter always returned True from is_allowed() regardless of token count — it never actually blocked anyone. We rewrote the token-bucket implementation to track actual counts, verified against a test vector, and added before_request integration in the HTTP server so the HTTP path is also rate-limited, not just the broker.

Compliance Framework

Aligned with the most rigorous standards in enterprise security.

Ready for a Security Assessment?

Our team will walk you through every fix, show the before/after code, and demonstrate the defense layers in live operation.

Request Security Assessment View Compliance Engine →