Saltar al contenido
Banco de tareas

DAT-005DatosMejora

Montar el almacén analítico en la UE y publicar series con privacidad diferencial

Dificultad
Avanzada
Estimación
1sem
Estado
Abierta
Habilidades
pythonduckdbparquetprivacidad diferencialgithub actions

Zona sensible. Toca permisos, datos personales, el mapa, secretos o la identidad de marca. Necesita revisión de la titular y conviene haber completado alguna tarea antes.

Contexto

Las analistas voluntarias no deben tocar la base de producción (GOBERNANZA.md). Necesitan un almacén con solo agregados, y las series que se publican cada mes necesitan una garantía más fuerte que el umbral k, porque muchas publicaciones repetidas filtran información (OBSERVATORIO.md §5.3).

Qué hacer

  1. En tools/observatorio/, un trabajo programado que se conecte con el rol observatorio_lector y vuelque cada tabla del esquema observatorio a Parquet particionado por mes en un almacenamiento de objetos en la UE (cifrado, claves en secretos del CI).
  2. Un cuaderno o script DuckDB de ejemplo que reproduzca una serie de OBSERVATORIO.md.
  3. Una función de publicación que añada ruido de Laplace discreto con una biblioteca auditada (OpenDP o Tumult Analytics), con ε configurable (0,5 por serie y mes por defecto) y un registro del presupuesto gastado.
  4. Generar la versión publicable con fecha, diccionario de datos y nota de método (incluido «±N a propósito»).

Criterios de aceptación

  • El trabajo falla si el rol tiene acceso a cualquier tabla fuera de observatorio

  • Ningún archivo Parquet contiene identificadores de personas

  • No se usa Math.random ni ruido en coma flotante hecho a mano

  • Cada publicación incluye el ε gastado y el acumulado del año

  • El almacenamiento está en la UE y documentado en la DPIA

Archivos

Antes, esto

¿Te la quedas?

  1. 1. Haz un fork y crea la rama tarea/DAT-005-montar-el-almacen-analitico-en-la-ue-y-p.
  2. 2. En tareas/datos/DAT-005-montar-el-almacen-analitico-ue-con-privacidad-dif.md, cambia la cabecera:
    estado: reservada
    asignada: tu_usuario_de_github
  3. 3. Abre un PR con ese cambio (commit firmado: git commit -s). Al fusionarse, es tuya durante 14 días.

Todo lo demás