# EPICA: EPIC-MGN-007 - Auditoria ## Metadata | Campo | Valor | |-------|-------| | **ID** | EPIC-MGN-007 | | **Nombre** | Auditoria y Trazabilidad | | **Modulo** | audit | | **Fase** | Fase 3 - Extended | | **Prioridad** | P2 | | **Estado** | Backlog | | **Story Points** | 13 | | **Sprint(s)** | Sprint 13 | --- ## Descripcion Sistema de auditoria que registra automaticamente todos los cambios en entidades del sistema, historial de logins, y permite exportar logs para cumplimiento normativo. Soporta retencion configurable y alertas de actividad sospechosa. --- ## Objetivo de Negocio Proveer auditoria que: - Garantice trazabilidad de cambios para compliance - Facilite investigacion de incidentes de seguridad - Cumpla requisitos normativos (SOC2, ISO 27001) - Detecte patrones de acceso sospechosos - Soporte auditorias externas con exportacion de logs --- ## Stakeholders | Rol | Nombre/Equipo | Responsabilidad | |-----|---------------|-----------------| | Product Owner | Equipo Producto | Definicion de requisitos compliance | | Tech Lead | Equipo Backend | Arquitectura de logging | | Security Officer | Seguridad | Validacion de politicas | | Auditores | Externos | Consumo de reportes | --- ## Historias de Usuario | ID | Historia | Prioridad | SP | Estado | |----|----------|-----------|-----|--------| | US-MGN007-001 | Como auditor, quiero ver historial de cambios por entidad para rastrear modificaciones | P0 | 5 | Backlog | | US-MGN007-002 | Como auditor, quiero ver historial de logins para detectar accesos sospechosos | P0 | 3 | Backlog | | US-MGN007-003 | Como admin, quiero exportar logs de auditoria para auditorias externas | P1 | 3 | Backlog | | US-MGN007-004 | Como admin, quiero configurar politicas de retencion para cumplir normativas | P2 | 2 | Backlog | **Total Story Points:** 13 SP --- ## Criterios de Aceptacion de la Epica **Funcionales:** - [ ] Log automatico de cambios (create, update, delete) en todas las entidades - [ ] Historial de logins con IP, user agent y geolocalizacion - [ ] Exportacion a CSV/JSON con filtros de fecha y entidad - [ ] Retencion configurable por tipo de log (30, 90, 365 dias) - [ ] Dashboard de actividad con graficos temporales **No Funcionales:** - [ ] Performance: Logging no debe agregar mas de 50ms por request - [ ] Storage: Logs antiguos archivados automaticamente - [ ] Seguridad: Logs inmutables (append-only) **Tecnicos:** - [ ] Cobertura de tests > 80% - [ ] Documentacion de politicas de retencion - [ ] Triggers auditados documentados --- ## Dependencias **Esta epica depende de:** | Epica/Modulo | Estado | Bloqueante | |--------------|--------|------------| | EPIC-MGN-001 Auth | Ready | Si | | EPIC-MGN-004 Tenants | Ready | Si | **Esta epica bloquea:** | Epica/Modulo | Razon | |--------------|-------| | Ninguna | Modulo standalone | --- ## Desglose Tecnico **Database:** - [ ] Schema: `audit_logging` - [ ] Tablas: 3 (audit_logs, login_history, retention_policies) - [ ] Triggers: Trigger generico para todas las tablas auditables - [ ] Particionado: Por fecha para performance - [ ] RLS Policies: Si (lectura por tenant) **Backend:** - [ ] Modulo: `audit` - [ ] Interceptor: AuditInterceptor (NestJS) - [ ] Entities: 3 (AuditLog, LoginHistory, RetentionPolicy) - [ ] Endpoints: 4 (readonly + export) - [ ] Jobs: RetentionCleanupJob (diario) - [ ] Tests: 12+ **Frontend:** - [ ] Paginas: 2 (AuditLogs, LoginHistory) - [ ] Componentes: 4 (AuditTable, FilterPanel, ExportButton, ActivityChart) - [ ] Stores: 1 (auditStore) --- ## Riesgos | Riesgo | Probabilidad | Impacto | Mitigacion | |--------|--------------|---------|------------| | Volumen alto de logs | Alta | Medio | Particionado, archivado automatico | | Performance degradada | Media | Alto | Async logging, batch inserts | | Storage exhaustion | Media | Alto | Retention policies, alertas de storage | --- ## Definition of Ready (DoR) - [x] Historias de usuario definidas - [x] Criterios de aceptacion claros - [x] Dependencias identificadas - [x] Estimacion completada - [ ] Politicas de retencion definidas con legal - [x] Sin bloqueadores activos ## Definition of Done (DoD) - [ ] Codigo implementado y revisado - [ ] Tests pasando (unit, integration) - [ ] Triggers instalados en todas las tablas - [ ] Documentacion actualizada - [ ] Inventarios actualizados - [ ] Trazas registradas - [ ] Demo realizada - [ ] Product Owner aprobo --- ## Documentacion Relacionada - Requerimientos: `docs/03-requerimientos/RF-audit/` - User Stories: `docs/05-user-stories/mgn-007/` - DDL Spec: `docs/04-modelado/database-design/DDL-SPEC-audit_logging.md` --- ## Historial | Fecha | Cambio | Autor | |-------|--------|-------| | 2025-12-05 | Creacion de epica | Requirements-Analyst | | 2025-12-05 | Completado con secciones faltantes | Requirements-Analyst | --- **Creada por:** Requirements-Analyst **Fecha:** 2025-12-05 **Ultima actualizacion:** 2025-12-05