En el departamento de IT se respira un ambiente de pánico que no veía desde la paranoia del Efecto 2000. Este viernes 25 de mayo entra en vigor el Reglamento General de Protección de Datos (GDPR o RGPD) en toda Europa. Los equipos legales están lellendo las cartillas: multas de hasta el 4% de la facturación global si no cumplimos, y los usuarios ahora tienen un poder mágico llamado "Derecho al olvido".

A nivel teórico, todos estamos de acuerdo en que la privacidad es un derecho, especialmente tras escándalos como los de la NSA. Pero a nivel de ingeniería, aplicar esto a un sistema heredado (legacy) de hace diez años es una auténtica pesadilla.

La trampa de la integridad referencial

El problema es el siguiente: un usuario nos manda un correo exigiendo que borremos todos sus datos. Vas a la tabla Usuarios e intentas hacer un simple DELETE. Inmediatamente, la base de datos te grita con una violación de clave foránea (Foreign Key Constraint).

Resulta que ese id_usuario está atado a la tabla Facturas. Pero la ley de hacienda te obliga a conservar los registros de facturación durante al menos cinco años. No puedes borrar la factura, pero el GDPR te prohíbe tener el nombre y el email del usuario.

La solución técnica no es el borrado físico (Hard Delete), sino la anonimización irreversible. Tienes que sobrescribir los datos personales con valores neutros, manteniendo el esqueleto del registro intacto para que las métricas de BI no se rompan.

-- Script de anonimización dura (Soft Delete + Obfuscation)
-- Ejecutar con extremo cuidado dentro de una transacción

START TRANSACTION;

-- Borramos rastros en tablas secundarias sueltas
DELETE FROM Logs_Navegacion WHERE id_usuario = 48572;

-- Anonimizamos la entidad principal
UPDATE Usuarios
SET 
    nombre = 'ANONIMIZADO',
    apellidos = 'ANONIMIZADO',
    -- Hacemos un hash del email + salt aleatorio por si necesitamos reconciliar cuentas (seudonimización)
    email = SHA2(CONCAT(email, RAND(), 'secreto_interno'), 256),
    telefono = '000000000',
    direccion = 'BORRADA GDPR',
    activo = 0
WHERE id_usuario = 48572;

COMMIT;

Reflexión: Obligados a construir amnesia

Llevamos la última década obsesionados con el Big Data, construyendo enormes Lagos de Datos (Data Lakes) bajo la premisa de "guarda todo lo que puedas para siempre, ya lo analizaremos luego". Nuestras arquitecturas estaban diseñadas para recordar compulsivamente.

De la noche a la mañana, la ley nos obliga a diseñar sistemas capaces de sufrir amnesia selectiva. Rastrear dónde ha quedado guardado el correo de un cliente (¿está en un log de un servidor web antiguo? ¿en un backup en cinta magnética de hace tres años? ¿en la base de datos de marketing?) es arqueología pura. Nos va a costar millones de euros adaptar estas tuberías, pero, en el fondo del alma, creo que esta purga digital nos obligará a ser ingenieros mucho más limpios y responsables con lo que guardamos.