Todo lo que querrías saber antes de instalar.
Una mirada detallada a cómo funciona DataFirefly Account Delete RGPD, por qué lo construimos así y la lógica detrás de las características anteriores.
Por qué este módulo es esencial
Desde 2018, el RGPD obliga a toda empresa que trate datos personales de ciudadanos europeos a permitir que sus usuarios ejerzan su derecho de supresión (Artículo 17). PrestaShop no ofrece esta funcionalidad de forma nativa: el administrador debe gestionar cada solicitud manualmente, eliminar la cuenta del lado de la tienda y luego eliminar el email de cada plataforma de newsletter una por una. Esto consume tiempo, es propenso a errores y arriesgado en caso de auditoría de la autoridad de protección de datos. Este módulo automatiza completamente el proceso, desde la solicitud del cliente hasta la baja de las plataformas de newsletter de terceros.
Dos modos: anonimización o eliminación total
El módulo ofrece dos modos de funcionamiento. En modo anonimización (recomendado), los datos personales del cliente se reemplazan por valores anónimos: su nombre se convierte en Anonymized, su email en un identificador interno único, sus direcciones se limpian (pero se conservan si están vinculadas a pedidos). Los pedidos permanecen intactos para cumplir con la obligación contable francesa de conservación durante 10 años, de acuerdo con el artículo L123-22 del Código de Comercio. En modo de eliminación, la cuenta se borra completamente si no existen pedidos; de lo contrario, el módulo cambia automáticamente a anonimización para no romper el historial legal.
Confirmación por email segura
Para evitar eliminaciones accidentales o malintencionadas, el módulo envía un email de confirmación que contiene un enlace único con un token criptográfico. El token se genera con random_bytes de 32 bytes y luego se convierte a hexadecimal de 64 caracteres. Solo se almacena su hash SHA-256 en la base de datos, nunca el token en texto claro. El enlace expira después de un período configurable (24 horas por defecto). El cliente también debe validar su contraseña antes de que se envíe el email de confirmación: esto bloquea los intentos de eliminación por parte de un tercero que tenga acceso a una sesión abierta.
Integraciones newsletter detalladas
Tres plataformas se admiten de serie. Para Mailchimp, el endpoint utilizado es POST en lists/{list_id}/members/{hash}/actions/delete-permanent, que elimina permanentemente al suscriptor y evita cualquier futura resuscripción con este email (el verdadero derecho al olvido según el RGPD). Una opción permite cambiar al simple archivado si lo prefiere. Para Brevo (antes Sendinblue), es DELETE en v3/contacts/{email} que elimina al contacto de todas las listas. Si introduce un List ID, el contacto solo se elimina de esta lista específica en lugar de eliminarse por completo. Para Mailjet, el módulo utiliza el endpoint oficial RGPD DELETE v4/contacts/{id} después de la búsqueda del identificador de contacto. Cada proveedor tiene un botón Probar conexión en el back office para validar la configuración antes de pasar a producción.
Arquitectura extensible para añadir otras plataformas
Los proveedores de newsletter siguen un patrón Strategy con una interfaz PHP DataFirefly/AccountDelete/ProviderInterface. Añadir Sendgrid, Mailerlite, HubSpot, ActiveCampaign o cualquier otra plataforma solo requiere crear una clase que extienda AbstractProvider con cuatro métodos: isEnabled, getKey, deleteSubscriber y testConnection. Luego se hace referencia a la clase en DataFirefly/AccountDelete/Service::getProviders. No es necesaria ninguna otra modificación del módulo. La documentación README enviada con el módulo detalla un ejemplo completo.
Registro de tratamiento RGPD
Cada solicitud se registra en la tabla ps_dfad_log solo con datos seudonimizados: hash SHA-256 del email (nunca el email en texto claro), hash SHA-256 de la IP del solicitante, identificador interno del cliente, modo aplicado (anonimización o eliminación), lista de proveedores contactados con su código HTTP de retorno, user agent truncado, identificador de tienda, marca de tiempo UTC. Este registro sirve como prueba de tratamiento en caso de auditoría o disputa con un cliente. No se elimina deliberadamente cuando se desinstala el módulo, para preservar esta prueba a lo largo del tiempo.
Todos los datos limpiados
Además de la anonimización de la propia cuenta del cliente, el módulo limpia muchas tablas relacionadas: ps_emailsubscription y ps_newsletter (baja nativa de PrestaShop), ps_cart y ps_cart_product (carritos no pedidos), ps_wishlist y ps_wishlist_product (lista de deseos si el módulo nativo está activo), ps_compare y ps_compare_product (comparador de productos), ps_customer_thread y ps_customer_message (intercambios de SAC), ps_guest (sesiones de invitados no vinculadas a pedidos). Las direcciones no vinculadas a pedidos se eliminan por completo, las vinculadas a pedidos se anonimizan (firstname, lastname, address1, postcode, city, phone reemplazados por valores neutros).
No hay valoraciones aún.