Audit trail
inmutable
Cómo capturamos y blindamos cada interacción con la IA — desde el prompt hasta la fuente recuperada — de forma que ningún regulador pueda cuestionarla.
El problema que resuelve
Componentes que usamos
Azure Monitor + Log Analytics
Captura de cada invocación al modelo: timestamp, usuario, prompt completo, contexto RAG devuelto y respuesta. Retención configurable hasta 10 años.
Azure Blob Storage inmutable
Política WORM (Write-Once Read-Many) sobre cada log de sesión. Una vez escrito, ningún operador — ni siquiera el administrador de la cuenta — puede modificarlo ni borrarlo.
Claude API + system prompt hash
Cada llamada incluye el hash SHA-256 del system prompt activo. Si el prompt cambia, el hash cambia y el sistema lo detecta como un evento de cambio validable.
Microsoft Fabric (OneLake)
Centralización de logs de auditoría en un data lake federado. Permite queries forenses sobre millones de eventos en segundos, con lineage completo.
LangChain callbacks
Middleware de observabilidad que intercepta cada step del pipeline RAG: retrieval, reranking, prompt construction y generation — todo trazado automáticamente.
Azure OpenAI (model metadata)
Cada respuesta incluye el ID del deployment y la versión exacta del modelo usada. Si Microsoft actualiza el modelo, el log lo captura y activa re-validación.
Flujo de captura end-to-end
El usuario envía un prompt
El gateway de la plataforma genera un session_id único y registra: usuario autenticado (Azure AD), timestamp UTC, prompt completo y hash del system prompt vigente.
Recuperación RAG (Azure AI Search)
Se registran los chunk_ids de los documentos recuperados, el score de relevancia de cada uno y la versión del índice de embeddings. El contexto inyectado en el prompt queda completo en el log.
Generación (Azure OpenAI / Claude)
La respuesta se captura junto al model_id, deployment_version, tokens de entrada/salida y finish reason. El log es inmutable desde este momento (WORM blob).
Revisión humana (HITL)
Si la salida requiere aprobación, el revisor la firma con su identidad Azure AD. La aprobación, el rechazo o la corrección manual se añaden al mismo registro de sesión como evento adicional.
Archivado y retención
El log completo se vuelca a OneLake (Fabric) y se sellado con política WORM. El periodo de retención se configura según el predicate rule aplicable: 5 años para GMP, 10 para ensayos clínicos.
Qué artículo cubre cada elemento
| Elemento del log | EU AI Act | Anexo 11 | 21 CFR Part 11 |
|---|---|---|---|
| Identidad del usuario | Art. 12 | cl. 9, cl. 12 | §11.10(e), §11.300 |
| Timestamp UTC inmutable | Art. 12 | cl. 9 | §11.10(e) |
| Prompt + system prompt hash | Art. 12, Art. 19 | cl. 10 | §11.10(e) |
| Contexto RAG (chunk IDs) | Art. 13 (trazabilidad) | cl. 5, cl. 9 | §11.10(b) |
| Versión del modelo | Art. 15, Art. 72 | cl. 10, cl. 11 | Validated state |
| Revisión humana firmada | Art. 14 | cl. 14 | §11.50, §11.70 |