¿Qué hace Cumplimiento GDPR?
Reglas
- Implementa un endpoint de eliminación de datos (derecho al olvido): elimina o anonimiza toda la PII del usuario a petición.
- Realiza un seguimiento del consentimiento explícito con marcas de tiempo: a qué consintió el usuario, cuándo y qué versión de la política.
- Anonimiza la PII en análisis y registros: utiliza identificadores opacos, nunca correos electrónicos o nombres en bruto.
- Implementa un endpoint de exportación de datos (derecho a la portabilidad): devuelve todos los datos del usuario en formato JSON o CSV.
- Muestra un banner de consentimiento de cookies: no se cargan scripts de seguimiento hasta que el usuario opta por participar.
- Enlaza a una política de privacidad desde cada página que tenga formularios de recopilación de datos.
- Mantén un registro de auditoría para el acceso a PII: quién vio qué datos personales y cuándo.
- Notificación de violación en 72 horas: tener un proceso documentado y una lista de contactos lista.
app.delete("/api/user/data", requireAuth, async (req, res) => {
const userId = req.user.id;
await db.transaction(async (tx) => {
await tx.delete(userProfiles).where(eq(userProfiles.userId, userId));
await tx.delete(userSessions).where(eq(userSessions.userId, userId));
await tx.update(users).set({
email: `deleted_${userId}@anonymized.local`,
name: "Deleted User",
deletedAt: new Date(),
}).where(eq(users.id, userId));
});
await auditLog("user_data_deleted", { userId, requestedBy: userId });
res.json({ success: true });
});
const consentSchema = z.object({
marketing: z.boolean(),
analytics: z.boolean(),
policyVersion: z.string(),
});
app.post("/api/consent", requireAuth, async (req, res) => {
const consent = consentSchema.parse(req.body);
await db.insert(consentRecords).values({
userId: req.user.id,
...consent,
consentedAt: new Date(),
ipAddress: req.ip,
});
res.json({ success: true });
});
Evitar
- Eliminar datos de forma blanda sin eliminar realmente la PII: los correos electrónicos de usuarios "eliminados" aún permanecen en la base de datos.
- Cargar Google Analytics o píxeles de seguimiento antes del consentimiento de cookies.
- Almacenar correos electrónicos en bruto en eventos de análisis o registros de aplicación.
- No tener un mecanismo de exportación de datos: los usuarios tienen derecho legal a sus datos.
- Asumir que el GDPR solo se aplica a empresas con sede en la UE: se aplica a cualquier aplicación que atienda a usuarios de la UE.