React Cookie Law
Un Cookie Banner “GDPR compliance” per React
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 consensionAcceptPreferences
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.