Módulo 12 · Nivel empresarial (integración)

Lección 56 — Cumplimiento

RGPD, logs de auditoría y SOC 2 / ISO 27001 en visión general.

Publicada
En esta lección
  1. Ejercicio 1 — Las bases legales
  2. Ejercicio 2 — El mapa del Art. 30
  3. Ejercicio 3 — Las evidencias SOC 2
  4. Ejercicio 4 — El audit log y la brecha
  5. Ejercicio 5 — El DPO interno
  6. Entrega

El marco del sistema, probado. Sin solutions.md hasta entregar.

Ejercicio 1 — Las bases legales

  1. Clasifica cada dato de TU TicketFlow con su base legal (contrato/consentimiento/interés legítimo/obligación legal): email, teléfono opcional, historial de compras, IP del login, la cookie de analítica, la foto del perfil del org. La tabla del mapa con la columna de base.
  2. El consentimiento revocable: implementa la evidencia del opt-in: fecha + versión del texto aceptado (el "dijo sí a ESTA versión" del §4) + la revocación con audit. Test: consiente → revoca → el marketing deja de tocarlo (¿el flag o el filtro? decide y documenta).
  3. La excepción del dinero: el usuario pide supresión total: ¿qué se borra y qué se ANONIMIZA (¿el email del ticket? ¿el ledger?)? Implementa el flujo del 23 extendido: el borrado del perfil + la anonimización del histórico conservando la facturación. El test: el export posterior NO contiene PII pero el ledger del 08 sigue cuadrando.

Ejercicio 2 — El mapa del Art. 30

  1. Completa el mapa (§2) para TU sistema: cada tabla del 00b con dato/dónde/fin/base/retención/acceso. Las tablas sin clasificar: ¿el log del 45 (¿PII? ¿base?)? ¿la caché del 38 con perfil?
  2. El PII en el log y en la caché: revisa (45/38) que el log lleve identificadores y la caché de perfil tenga purge por usuario: el test del cumplimiento: un grep/scan de las claves de caché y de los logs de ejemplo SIN patrones de email/teléfono. Implementa el guard.
  3. El documento: docs/compliance/mapa-datos.md (48) con la tabla completa + la fecha de revisión trimestral + el dueño. El doc que el DPO lee primero.

Ejercicio 3 — Las evidencias SOC 2

  1. Los reportes del sistema: escribe las 3 consultas de evidencia (§3): el reporte de accesos (¿quién escaló permisos este trimestre?), el reporte de secretos (¿cuándo rotaron y quién?), el reporte de cambios (¿qué PRs llegaron a prod sin review? — ¿el pipeline del 41 lo permite? verifica). Cada una como query/script del repo.
  2. La cadena de cambios: el test del control: intenta (en lab) llegar a prod sin PR (¿el push directo? ¿el kubectl del 43?): ¿qué lo bloquea (¿la protección de branch? ¿el pipeline?)? Documenta los controles de cambio con su evidencia.
  3. El gap honesto: ¿qué control del §3 NO tienes (¿el DR drill? ¿el access review trimestral?)? Crea el issue con dueño/fecha (49) — el gap documentado es un control en camino; el oculto es el hallazgo del auditor.

Ejercicio 4 — El audit log y la brecha

  1. Las consultas del auditor (§4): implementalas como scripts/endpoint de admin (con el rol del 21): "¿quién vio/exportó los datos del usuario X?", "¿quién cambió el precio del evento Y?", "¿quién descargó el export este mes?". Cada consulta con su test (la 33: el admin correcto la ejecuta, el otro 403).
  2. La retención como job (31): el purgado automático del audit log >12 meses (frío) y del dato de marketing revocado. El test con FakeClock: el dato que caduca se purga con su fila de audit ("se purgó por retención").
  3. El runbook de brecha (72 h): escribe docs/compliance/runbook-brecha.md: la cronología tipo (detectar/acotar/contener/notificar/aprender) con los comandos de cada paso (las alertas del 46, el protocolo del 47, la plantilla de notificación) y los umbrales de quién se notifica (¿regulador? ¿afectados? la decisión documentada).

Ejercicio 5 — El DPO interno

  1. El linter del cumplimiento: el test que falla si un campo de texto libre (¿un nuevo CharField/email?) entra a una tabla del mapa sin anotación de base/retención (¿el Meta del modelo con data_classification = {...}?). Implementa el guard del esquema.
  2. La retención y el export como sistema: los jobs del 31 (el purgado del ejercicio 4) + el export del 23 + el audit de cada ejecución: el "DPO interno" en un diagrama (ASCII) de los procesos automáticos de cumplimiento con sus evidencias.
  3. El cierre del módulo: la checklist de cumplimiento de TicketFlow (los 10 ítems: bases legales, mapa, retención, derechos, brecha, evidencias...) con el estado real de cada uno (/pendiente/issue). El documento de autoevaluación que el auditor (o el 57) pide.

Entrega

Pega el mapa con bases legales, las 3 evidencias SOC 2, el runbook de brecha y la checklist final. Después: Lección 57 — Proyecto final.