IT

Consenso preventivo ai cookies e WordPress: una possibile soluzione

DISCLAIMER: non sono un avvocato, tutto quello che leggete qui sotto non ha alcun valore legale. Facendo come ho fatto io non è detto che eviterete multe del garante, visite di Equitalia, ispezioni vaticane o il pagamento di un fiorino ogni volta che passate.

(non mi interessano le chiacchiere, fammi subito vedere come hai risolto!)

Photo by Jim Lukach
Photo by Jim Lukach

Oggi parliamo di biscotti… ma, nonostante l’argomento del blog, non mi riferisco a quelli con i pezzetti di cioccolato che si sciolgono in bocca provocando momenti di estasi mistica.

No, oggi parliamo dei “cookies”, piccoli file di testo che vengono memorizzati nel nostro computer durante la navigazione su Internet. Il termine è stato coniato nel lontano ’94 da un programmatore chiamato Lou Montulli, che lavorava per Netscape. Probabilmente questi piccoli file gli ricordavano dei biscottini da dare in pasto ai computer e da lì è nato questo nome curioso.

Nel corso degli anni i cookies sono stati sempre al centro di polemiche per i potenziali problemi con la privacy: infatti, oltre ad innocenti informazioni tecniche, possono essere utilizzati per tracciare il comportamento degli utenti. Si va dai semplici fini statistici, alla pubblicità mirata più o meno aggressiva.

Qualche anno fa un gruppo di Parlamentari Europei, con la mente offuscata dal Gewurztraminer (vi ho mai detto che ho un debole per quello Alsaziano?) ha deciso di regolamentare tutto questo proliferare di zuccheri e grassi idrogenati provocato dai cookies.
L’ha fatto emanando una serie di norme, che sono poi state recepite dai vari stati con regolamenti locali. In italia tutto questo è finito nelle mani del Garante che già a giugno del 2004 aveva emanato le prime linee guida, avvisando tutti che a partire dal 2 giugno 2015 tutti i siti sarebbero stati in regola.

Alcune di queste norme erano talmente assurde che tutti quanti han pensato che, con un anno all’orizzonte, ci sarebbe stato tutto il tempo di riportare tutti alla ragione e semplificare le cose. Così non è stato, ed il polverone che si è scatenato online nell’ultimo mese ne è la dimostrazione.

Non mi dilungo sulla legge e sulle varie interpretazioni, potete documentarvi in rete nei millemila siti che ne parlano. Vi lascio alcuni spunti:

In breve, quello che prevede la normativa per chi gestisce un sito è:

  1. Avere una bella Privacy Policy. Questo valeva anche prima, ma diventa ancora più importante;
  2. Avere una Cookies Policy. Dove si descrivono i cookie utilizzati (non serve la lista precisa con i nomi dei cookie ma una lista generica) facendo distinzione tra quelli tecnici e quelli traccianti, si descrivano i cookie propri e quelli di terze parti e si includano i link alle policy di queste terze parti;
  3. Mostrare, al primo accesso di un utente, un avviso del tipo “Attenzione questo sito utilizza cookies! Fanno ingrassare, creano dipendenza e intasano le arterie. Per saperne di più e per la dieta dell’estate clicca qui…” e al posto della dieta si fa apparire la cookie policy del punto 2;
  4. Tadaaaa! Bloccare i cookie prima che l’utente visualizzi – e accetti – l’avviso del punto 3. Lo ripeto qualora non fosse chiaro: bloccare i cookie prima che l’utente visualizzi – e accetti – l’avviso del punto 3.
    Sapete un minimo come funziona il web? Ecco… avrete già capito questa cosa è un delirio!

Si è discusso in lungo, in largo e pure di traverso, su quale sia la corretta interpretazione della normativa e sopratutto sulla distinzione tra cookie “tecnici” e cookie di “tracciamento”. E sopratutto si è cercato di capire quali cookie vanno bloccati e quali no. E’ parere abbastanza diffuso che:

  • Cookie di sessioni (compresi quelli delle CDN) sono acettati, vanno indicati nella cookie policy ma non bloccati preventivamente;
  • le statistiche gestite in proprio (es. Piwik) vanno bene, purché si anonimizzino gli indirizzi IP;
  • le statistiche estene (es. Google Analytics) sono in un limbo. Un’apertura del Garante sembra che consenta Google Analytics a patto che non si usi il tracciamento (noto come Universal Analytics) e si anonimizzino gli IP;
  • Pubblicità varia (es. AdSense) va bloccata finché l’utente non accetta la policy;
  • Pulsanti “attivi” dei vari social: vanno bloccati (per attivi intendo che richiamano direttamente gli script dai social, un semplice link per la condivisione va bene);
  • Google Maps: va bloccato;
  • Video embed YouTube: vanno bloccati, oppure bisogna utilizzare il dominio youtbe-nocookie.com che non rilascia cookie;
  • Varie ed eventuali: vanno valutati con attenzione di volta in volta.

Per la generazione del popup di avviso si trovano centinaia di script in rete. La scrittura della privacy/cookie policy è invece più complessa, perché deve avere requisiti che vanno rispettati. Ci si può affidare ad un legale per scriverla (molto costoso) oppure aderire a servizi come Iubenda che con pochi euri/anno forniscono una privacy policy bella e pronta, scritta da Avvocati e – teoricamente – a prova di bomba-Garante.
Ovviamente si tratta di policy preconfezioante, che però sono adatte alla maggior parte dei siti, sopratutto se amatoriali.

GialloZafferano e AlterVista ci hanno fatto un grosso regalo, facendo un “contratto flotta” con Iubenda e dando la possibilità a tutti i blogger ospitati di usufruire del servizio aggratis!

Iubenda, tra le varie cose, offre anche uno script che permette di disattivare porzioni di codice finché l’utente non accetta l’informativa. E’ tutto spiegato qui: https://www.iubenda.com/it/help/posts/674

Per farla breve, si tratta di sostituire gli script javascript e gli iframe con una versione che non viene eseguita dal browser, se non dopo che l’utente ha accettato l’informativa e lo script di Iubenda ha riattivato le porzioni di codice disattivate. E’ più facile a farsi che a dirsi…

Per fare un esempio pratico:

<script type="text/javascript">// <![CDATA[
….
// ]]></script>

diventa…

<script class="_iub_cs_activate" type="text/plain">// <![CDATA[
….
// ]]></script>

o, in alternativa per gli script inline…

<script class="_iub_cs_activate-inline" type="text/plain">// <![CDATA[
….
// ]]></script>

La soluzione che ho trovato

Come dicevo, GialloZafferano / AlterVista hanno messo a disposizione i servizi di Iubenda, non hanno però implementato nessun blocco degli script. Ho provato a chiedere al supporto di farlo ma per il momento latitano.

Ho quindi iniziato a modificare il tema per gestire le famose esclusioni. Il problema è nato quando mi son trovato a dover gestire widget ed automatismi (ad esempio la pubblicità gestita da Altervista). Ho quindi pensato alla soluzione più “banale” possibile: cerca&sostituisci, aka search&replace.

Le regole che ho inserito nel plugin Real-Time Find and Replace
Le regole che ho inserito nel plugin Real-Time Find and Replace

Ho cercato plugin già fatti adatti allo scopo ma nessuno faceva al caso mio: ci sono centinaia di plugin che fanno sostituzioni massive nei post, ma non trovavo nulla che agisse sul codice. Stavo per iniziare a valutare di scrivere qualcosa io, quando mi sono imbattuto in questo: Real-Time Find and Replace di MariosAlexandrou.

Si tratta di un plugin essenziale ma che svolge una funzione fondamentale: un search&replace sul codice, dopo che tutti gli altri plugin/widget sono stati eseguite.

Una volta installato si tratta quindi di fare un lavoretto di inventario e di impostare correttamente le regole di sostituzione nella configurazione del plugin. Sono supportate anche le regex, se qualcuno vuole farsi del male 😉

Qui a destra potete vedere un esempio delle regole che ho impostato io. Si tratta appunto di un esempio, ognuno in funzione del suo tema, dei plugin e dei widget dovrà personalizzare il plugin secondo le specifiche necessità.

Ovviamente questa soluzione è valida anche se utilizzati servizi diversi da Iubenda ma che si basano sullo stesso principio di inserire gli script in formato text con una classe specifica che verrà attivata dopo l’accettazione del popup.

In futuro…

Iubenda sta sviluppando un plugin per WordPress che attualmente è in beta. Ho mandato al supporto la dritta di utilizzare il search&replace e sembra l’abbiano apprezzata, quindi dalle prossime versioni inizieranno ad includere alcune sostituzioni automatiche. Ovviamente è difficile star dietro a tutto quindi un intervento manuale sarà sempre necessario, ma più cose si automatizzano meglio è!

Aggiornamento: il plugin per WordPress di Iubenda è stato rilasciato, si può scaricare direttamente da WordPress.org e include il blocco automatico per  YouTube, Facebook, G + e Twitter (altri in arrivo).

Aggiornamento 2: il 27 luglio Google ha inviato una notifica a tutti gli utilizzatori di AdSense, formalizzando la necessità di richiedere il consenso per l’uso dei cookies (responsabilità che ricade sui gestori del sito) per poter utilizzare AdSense. Tutti i siti dovranno adeguarsi entro il 30 novembre, ma ricordo che secondo la legge italiana dovrebbero essere già a norma dal 2 giugno.

P.S. Se non sei ospitato da AlterVista o GialloZafferano, e vuoi acquistare i servizi di Iubenda, utilizza questo link: http://iubenda.refr.cc/2ZXLHB8 avrai uno sconto del 10% e a me daranno qualche spicciolo per acquistare i loro servizi per i sitarelli che gestisco 😉