erp-core/docs/08-epicas/EPIC-MGN-007-audit.md

5.0 KiB

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)

  • Historias de usuario definidas
  • Criterios de aceptacion claros
  • Dependencias identificadas
  • Estimacion completada
  • Politicas de retencion definidas con legal
  • 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