Saltar al contenido
Banco de tareas

DAT-004DatosAntes de lanzar

Impedir que la auditoría guarde los textos que borra la purga y ponerle caducidad

Dificultad
Media
Estimación
1d
Estado
Abierta
Habilidades
postgresrgpd

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

purgar_textos_caducados() sustituye el texto de los mensajes del buzón no publicados a los 12 meses y borra las historias no publicadas. Pero el disparador auditar_buzon (y auditar_historias) se activa con esa misma operación y guarda en auditoria.antes una copia completa del texto, del municipio y de la situación. Resultado: la caducidad que promete /privacidad no se cumple, y la auditoría no tiene plazo de conservación. Lo mismo pasa con los textos y la autora de hilos y comentarios que modera el equipo.

Qué hacer

  1. Hacer que auditar() no registre las operaciones de la purga (p. ej., comprobar una variable de sesión que la purga fija con set_config, o excluir cuando auth.uid() es nulo y la operación es la purga).
  2. En auditoria, guardar en antes y despues solo las columnas que cambian y nunca texto o cuerpo completos (basta un hash para probar qué se cambió).
  3. Añadir caducidad: borrar registros de auditoría de más de 24 meses en la purga mensual (y documentarlo).
  4. Limpiar las copias ya existentes en instancias desplegadas (script de una vez).

Criterios de aceptación

  • Tras ejecutar la purga, auditoria no contiene ningún texto purgado

  • Una edición de moderación queda registrada con quién, cuándo y qué columnas cambian, sin texto completo

  • Los registros de más de 24 meses desaparecen con la purga mensual

  • SEGURIDAD.md y /privacidad mencionan el plazo de la auditoría

Archivos

Antes, esto

¿Te la quedas?

  1. 1. Haz un fork y crea la rama tarea/DAT-004-impedir-que-la-auditoria-guarde-los-text.
  2. 2. En tareas/datos/DAT-004-impedir-que-la-auditoria-guarde-los-textos-purgados.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