React Cookie Law

Un Cookie Banner “GDPR compliance” per React

Alessandro Sarzina
Palmabit
4 min readOct 11, 2018

--

Photo from Pexels

Il GDPR (General Data Protection Regulation) è un regolamento dell’Unione Europea entrato in vigore il 25 maggio 2016 e operativo dal 25 maggio 2018. Mira a rafforzare la protezione dei dati personali degli utenti, compresi i visitatori dei siti web. Il regolamento prevede diversi elementi e spetta al singolo gestore individuare le modalità operative da applicare. Non ci sono regole universali.

Nell’ambito web è una novità importante. Rende necessario un lavoro di aggiornamento nella quasi totalità dei siti, a partire dall’analisi degli interventi da eseguire. Non tutti i siti raccolgono i dati allo stesso modo. In linea di principio va chiesto il minimo indispensabile per ogni specifica finalità. Le informative devono essere chiare, non ambigue. Le persone di cui si stanno raccogliendo i dati devono saper in ogni momento cosa si sta chiedendo, qual è lo scopo, chi ha accesso ai dati e per quanto tempo le informazioni saranno conservate.

Dal 2015 sono presenti nelle pagine i cosiddetti “cookie banner”. Nella maggioranza dei casi contengono un unico pulsante di accettazione. Spesso il consenso è recepito allo scroll della pagina. Il GDPR introduce una novità: il consenso deve essere “granulare” ed esplicito. Un esempio: i visitatori hanno a disposizione diverse checkbox, una per ogni tipologia di cookie. Non è ammessa la preselezione se la finalità è la profilazione, ad esempio a scopi di marketing. Tutto deve essere chiaro, preciso e comprensibile. Non bisogna indurre l’utente ad accettare senza consapevolezza. Altrettanto facilmente il visitatore deve poter revocare i consensi dati. Resta valida la possibilità di assenso allo scroll della pagina.

Un servizio commerciale per rendere conforme un sito web al GDPR è CookieBot (https://www.cookiebot.com). CookieBot raccoglie i consensi tramite una finestra di dialogo configurabile e offre servizi aggiuntivi: informativi sui cookie, un cookie manager, un repository globale dei cookie, reporting e altri. E’ un servizio a pagamento completo.

React Cookie Law

Nell’ambito open source, escludendo le numerose funzionalità premium di servizi simili a CookieBot, React Cookie Law (https://github.com/Palmabit-IT/react-cookie-law) offre un semplice componente React chiamato CookieBanner compliance alle specifiche del GDPR.

Il banner mostra un messaggio testuale, il link alla cookie policy, una o più checkbox per l’accettazione granulare e il pulsante di conferma. Tutto è personalizzabile.

Come detto React Cookie Law fornisce un componente React chiamato CookieBanner che può essere in inserito in qualsiasi punto del body.

Esiste un solo parametro obbligatorio: message, che contiene il testo da mostrare all’utente. Tutti gli altri sono opzionali. Se non specificati sono usati i valori di default. Tra questi vi sono i parametri che definiscono:

  • il testo del link alla cookie policy
  • il link alla pagina della cookie policy
  • le label delle checkbox
  • quali checkbox mostrare o nascondere
  • il testo del pulsante di accettazione
  • le callback
  • lo stile.

Nell’esempio seguente sono elencati i valori predefiniti.

Tipi di cookie

Il componente gestisce quattro tipologie di cookie:

  • necessari
  • preferenze
  • statistiche
  • marketing

Il primo non è editabile ed è spuntato di dafault, in quanto abilità i cookie necessari al funzionamento della pagina. Preferenze e statistiche sono opzionali ma pre-spuntati. Marketing è opzionale e non è pre-selezionato.

I parametri showPreferencesOption, showStatisticsOption e showMarketingOption consentono di nascondere le checkbox e quindi non chiedere all’utente l’accettazione di queste tipologie di cookie.

Installazione

Per installare la libreria usare i comandi:

yarn add @palmabit/react-cookie-law

oppure

npm install @palmabit/react-cookie-law

Come funziona

Al render il componente verifica l’esistenza del cookie rcl_consent_given per la pagina corrente. Se manca il banner è mostrato; in caso contrario no.

All’accettazione da parte del visitatore sono creati altri 3 cookie, solo se abilitati e se le rispettive checkbox hanno la spunta. I nomi dei cookie sono rcl_preferences_consent, rcl_statistics_conset e rcl_marketing_consent.

Esistono 4 diverse callback:

  • onAccept sempre chiamata all’accettazione dei consensi
  • onAcceptPreferences
  • onAcceptStatistics
  • osAcceptMarketing

Le callback non tornano alcun parametro, ma informano dell’avvenuta accettazione. Se i cookie sono già presenti al caricamento della pagina, le callback sono chiamate una volta al render del componente, ovviamente solo per le tipologie di cui è stato dato il consenso.

Stile

Il componente è completamente personalizzabile sia nei testi sia nello stile grafico. L’attributo styles consente di definire l’oggetto contenente gli stili per ogni elemento del banner.

La documentazione elenca tutte le opzioni grafiche disponibili.

React Cookie Law non è un registro di archiviazione dei consensi dati, né un servizio per la stesura policy e dei testi legali. La responsabilità è lasciato al gestore del sito. La libreria offre agli sviluppatori un semplice strumento per integrare un componente CookieBanner conforme al GDPR.

--

--