Tutto quello che vorresti sapere prima di installare.
Uno sguardo dettagliato su come funziona DataFirefly Account Delete GDPR, perché l'abbiamo progettato così, e il ragionamento dietro le funzionalità qui sopra.
Perché questo modulo è essenziale
Dal 2018, il GDPR impone a ogni azienda che tratta dati personali di cittadini europei di permettere ai propri utenti di esercitare il loro diritto alla cancellazione (Articolo 17). PrestaShop non offre questa funzionalità nativamente: l'amministratore deve trattare ogni richiesta manualmente, eliminare l'account lato negozio, poi rimuovere l'email da ogni piattaforma newsletter una per una. È dispendioso in termini di tempo, fonte di errori, e rischioso in caso di audit del Garante. Questo modulo automatizza interamente il processo, dalla richiesta del cliente fino alla cancellazione dalle piattaforme newsletter di terze parti.
Due modalità: anonimizzazione o cancellazione totale
Il modulo offre due modalità di funzionamento. In modalità anonimizzazione (consigliata), i dati personali del cliente vengono sostituiti con valori anonimi: il suo cognome diventa «Anonymized», la sua email un identificativo interno unico, i suoi indirizzi vengono ripuliti (ma conservati se sono collegati ad ordini). Gli ordini restano intatti per rispettare l'obbligo contabile italiano di conservazione per 10 anni, conformemente all'articolo 2220 del Codice Civile e al DPR 633/72 per i documenti IVA. In modalità cancellazione, l'account viene interamente eliminato se non esistono ordini; altrimenti il modulo passa automaticamente in anonimizzazione per non rompere lo storico legale.
Conferma tramite email sicura
Per evitare le cancellazioni accidentali o malevole, il modulo invia un'email di conferma contenente un link unico con token crittografico. Il token viene generato con random_bytes di 32 byte poi convertito in esadecimale su 64 caratteri. Solo il suo hash SHA-256 viene memorizzato nel database, mai il token in chiaro. Il link scade dopo una durata configurabile (24 ore per default). Il cliente deve inoltre validare la sua password prima che l'email di conferma venga inviata: questo blocca i tentativi di cancellazione da parte di un terzo che abbia accesso a una sessione aperta.
Integrazioni newsletter dettagliate
Tre piattaforme sono supportate in standard. Per Mailchimp, l'endpoint utilizzato è POST su lists/{list_id}/members/{hash}/actions/delete-permanent che elimina definitivamente l'iscritto e impedisce ogni futura reiscrizione con questa email (il vero diritto all'oblio nel senso GDPR). Un'opzione permette di passare a un semplice archivio se preferisci. Per Brevo (ex-Sendinblue), è DELETE su v3/contacts/{email} che rimuove il contatto da tutte le liste. Se inserisci un List ID, il contatto viene solo rimosso da questa lista precisa invece di essere eliminato totalmente. Per Mailjet, il modulo usa l'endpoint GDPR ufficiale DELETE v4/contacts/{id} dopo lookup dell'identificativo contatto. Ogni provider possiede un pulsante «Testa la connessione» nel back-office per validare la configurazione prima della messa in produzione.
Architettura estensibile per aggiungere altre piattaforme
I provider newsletter seguono un pattern Strategy con un'interfaccia PHP DataFirefly/AccountDelete/ProviderInterface. Aggiungere Sendgrid, Mailerlite, HubSpot, ActiveCampaign o qualsiasi altra piattaforma richiede solo la creazione di una classe che estende AbstractProvider con quattro metodi: isEnabled, getKey, deleteSubscriber e testConnection. La classe viene poi referenziata in DataFirefly/AccountDelete/Service::getProviders. Nessun'altra modifica del modulo è necessaria. La documentazione README fornita con il modulo dettaglia un esempio completo.
Registro di trattamento GDPR
Ogni richiesta viene registrata nella tabella ps_dfad_log con solo dati pseudonimizzati: hash SHA-256 dell'email (mai l'email in chiaro), hash SHA-256 dell'IP del richiedente, identificativo interno del cliente, modalità applicata (anonimizzazione o cancellazione), elenco dei provider contattati con il loro codice di ritorno HTTP, user-agent troncato, identificativo negozio, timestamp UTC. Questo registro serve come prova del trattamento in caso di audit del Garante o di controversia con un cliente. Non viene volutamente eliminato alla disinstallazione del modulo per preservare questa prova nel tempo.
Tutti i dati ripuliti
Oltre all'anonimizzazione dell'account cliente in sé, il modulo ripulisce numerose tabelle collegate: ps_emailsubscription e ps_newsletter (cancellazione nativa PrestaShop), ps_cart e ps_cart_product (carrelli non ordinati), ps_wishlist e ps_wishlist_product (lista desideri se il modulo nativo è attivo), ps_compare e ps_compare_product (comparatore prodotti), ps_customer_thread e ps_customer_message (scambi servizio clienti), ps_guest (sessioni ospite non collegate ad ordini). Gli indirizzi non collegati ad ordini vengono eliminati interamente, quelli collegati ad ordini vengono anonimizzati (firstname, lastname, address1, postcode, city, phone sostituiti con valori neutri).
Ancora non ci sono recensioni.