Arquitectura
De la petición a la evidencia
py3-none-any: todo funciona en Python puro, y la extensión aegis_rust acelera partes concretas cuando está instalada.llamante ──────────► gateway Aegis ──────────────────────► proveedor
│ admisión: auth · alcance · límites
│ WAF · rate limiting · sesión
│
│ (política superada) reenvío
│ ◄──────────── respuesta ──────────
│
│ redactar → hash → firmar → WAL + fsync → hoja MMR
│ (los rechazos se confirman en la misma cadena
│ firmada antes de devolver el error)
│
llamante ◄────────── respuesta + X-Aegis-Evidence-Status
+ X-Aegis-Request-ID + cabeceras de prueba X-Aegis-MMR-*El registro de evidencia se confirma antes de que la respuesta sea observable por el llamante.
Eventos saneados salen de forma incremental por una cola acotada mientras el estado es pending-terminal. Un resumen terminal exacto se confirma y sólo entonces se emite el marcador final; si el commit falla, el marcador se retiene.
Sin firmante, sin limitador distribuido o con un ledger que no reproduce, no hay servicio.
Varios workers compartiendo un WAL no dan una cadena ordenada única; no hay orden total entre procesos ni regiones.
La respuesta sale después de la evidencia, no antes
Pulse «Enviar petición» y siga el orden real del gateway en llamadas no-streaming: su aplicación sólo ve la respuesta cuando el registro ya es durable.
- 01admisiónAdmisión
Autenticación, alcance y límites del cuerpo.
- 02admisiónWAF y rate limiting
Regex normalizadas, sesión y limitador (Redis en producción).
- 03proveedorReenvío al proveedor
Sólo si la política se supera. Los rechazos saltan directamente al registro.
- 04proveedorRespuesta del proveedor
El gateway la retiene: todavía no la ve su aplicación.
- 05evidenciaRedactar y hashear
Redacción opt-in; el WAL guarda hashes en el path declarado.
- 06evidenciaFirmar y encadenar
HMAC por defecto; Ed25519 o ML-DSA-65 si se configura.
- 07evidenciaWAL + fsync → hoja MMR
Commit durable (group commit). Si falla, 503 y ningún nodo sin confirmar.
- 08emisiónEmisión
Respuesta + X-Aegis-Evidence-Status + cabeceras de prueba MMR.
En streaming, los eventos saneados salen de forma incremental con estado pending-terminal; un resumen terminal exacto se confirma y sólo entonces se emite el marcador final.
Piezas del núcleo
Cambie un endpoint, no su código
Gateway compatible con OpenAI y con la API nativa de Anthropic. Para Python hay un drop-in; para TypeScript, integración nativa del proveedor.
# AntesOPENAI_BASE_URL=https://api.openai.com/v1 # Después — el tráfico pasa por AegisOPENAI_BASE_URL=http://aegis:8080/v1# Evaluación local (modo desarrollo: desactiva los controles# que dan sentido a los registros; sólo para leer la API)git clone https://github.com/JuanLunaIA/aegis-latent-core.gitcd aegis-latent-core && python3 -m venv .venv && . .venv/bin/activatepython -m pip install --require-hashes -r requirements.lockpython -m pip install --no-deps -e .AEGIS_SECURITY_ENFORCEMENT_MODE=development AEGIS_AUTH_DISABLED=true \AEGIS_BACKEND_URL=http://127.0.0.1:9999 aegisImagen firmada: ghcr.io/juanlunaia/aegis-latent-core:5.0.1. Aviso de canal:pip install aegis-latent-core instala hoy 4.1.2, no 5.0.1.
Árbol del repositorio
7444 tests pasando, 39 omitidos, 0 fallidos · cobertura de sentencias 91,3 % (2026-09-24) · el mínimo que exige CI es 65 %.