Back to console

Security

Threat model, controls, and vulnerability reporting.

Last updated: 2026-09-23

AegisLedgerAI applies defense in depth, privacy by design, and rehearsed incident containment. This page summarizes the public security posture. It is not a complete configuration audit.

Threat model

The threat model covers forged or replayed callbacks, confused deputy, cross-tenant access, identifier enumeration, payload substitution, agent prompt or evidence injection, malicious files, XSS, CSRF, SSRF, credential leakage, provider compromise, signing-key compromise, ledger tampering, stale-source deception, dependency compromise, insider misuse, denial of service, and DNS or release compromise.

Access control

Every protected mutation derives actor, owner, and organization scope from authenticated server context. The browser cannot supply or elevate authority. Row-level security and backend authorization checks are both required. Privileged actions require phishing-resistant multi-factor authentication. Service-role clients are restricted to reviewed backend functions and are never imported by browser code.

Network and transport

Public endpoints enforce body, rate, and time limits. Provider URLs require HTTPS and SSRF defenses against loopback, private, link-local, metadata, Unix socket, unsafe redirects, and DNS rebinding. Responses use Cache-Control: no-store; errors expose a stable code, safe message, and correlation ID — never raw provider errors or stack traces.

Vulnerability reporting

If you believe you have found a security vulnerability, please report it through the Contact page with a description and reproducible steps. Do not attempt to exploit vulnerabilities against production data. We acknowledge reports and coordinate fixes. A /.well-known/security.txt resource is planned for a future release.

Incident response

Incident runbooks cover suspected forged callbacks, cross-tenant exposure, leaked secrets, signing-key compromise, false healthy sources, ledger tampering, provider breaches, and harmful public claims. Local containment does not wait for remote provider cooperation.