Oltre ad essere un elemento vitale per il rispetto della privacy in generale, il mantenimento di un registro dei consensi è specificamente richiesto dal GDPR. Tra le altre cose, tale registro dovrebbe includere un modo per identificare l’utente, la prova del consenso, la registrazione dell’azione di consenso e i documenti legali messi a disposizione dell’utente al momento del consenso. Qui puoi leggere tutti i requisiti.
La Consent Solution offre delle API per:
Puoi accedere alle API via HTTP o attraverso la nostra libreria Javascript. La libreria Javascript prevede inoltre due funzionalità aggiuntive:
I metodi, illustrati in seguito, sono gli stessi per entrambe le interfacce. Le istruzioni di integrazione e le caratteristiche di ogni interfaccia sono spiegate nelle rispettive guide:
L’intuitiva interfaccia grafica della dashboard ti permette di ordinare, analizzare e conservare i consensi.
Per accedere alla Consent Solution Dashboard, vai su Dashboard > [Il tuo sito/app], poi Consent Solution > Consent Solution Dashboard:
Una volta raccolti i consensi, ordinarli e analizzarli è facilissimo, essendo i record classificati per “Consensi”, “Interessati” e “Note legali”:
Per accedere ai singoli utenti e ai dettagli di consenso/nota legale ti basta fare click sulle icone sul lato destro della tabella:
In alternativa puoi usare la funzione di ricerca:
Puoi anche applicare filtri dettagliati specifici per la tabella che stai cercando.
Qui puoi vedere la dashboard in azione:
La Consent Solution ti permette di salvare le azioni di consenso eseguite dai tuoi utenti (di seguito “interessati”) e di memorizzare tutte le informazioni necessarie per conservarne una prova. Queste azioni di consenso si traducono in una serie di informazioni salvate per ciascun interessato, con la possibilità di richiamarle tramite un endpoint dedicato. Questi valori includono le preferenze dell’utente (newsletter, profilazione etc.) modificate attraverso ogni azione di consenso.
Il processo di configurazione funziona generalmente come illustrato in seguito:
La Consent Solution è flessibile a tal punto da poter essere utilizzata nei casi più disparati, compresi quelli offline, come la conservazione di tutti i consensi raccolti su supporto cartaceo.
Questo metodo è usato per inviare eventi di consenso. È possibile scrivere e leggere, ma non modificare gli eventi di consenso pre-esistenti. È inoltre possibile conservare i consensi nel registro storico dei consensi prestati dall’interessato, indipendentemente dal loro eventuale impatto sulle sue preferenze.
timestamp
Tipologia: stringa (ISO 8601 timestamp)
Valore di default: compilato automaticamente (se non fornito)
Descrizione: il timestamp del momento in cui il consenso è stato prestato
subject ([id], [email], [first_name], [last_name], [full_name], [verified])
Tipologia: hash
Descrizione: wrapper del set di proprietà del subject
, che può essere salvato sia attraverso il metodo Subject che con il metodo Consent. Per le proprietà supportate, fai riferimento al metodo Subject
Nota: il subject.id viene compilato automaticamente, se non fornito
legal_notices ([identifier], [version])
Tipologia: array (accetta più oggetti)
Descrizione: array dei documenti legali da allegare all’evento di consenso, identificate da identifier
e version
. Se non fornito, alla version
verrà applicato il valore dell’ultima disponibile.
Sono accettati i seguenti campi:
identifier
(stringa): è utilizzato per indicare i tuoi documenti legali. Accetta valori semantici o valori custom. I valori semantici predefiniti sono:
version
(stringa): usata per identificare la versione dei documenti legali che il tuo utente ha accettato. Il valore di default è quello dell’ultima versione disponibileproofs ([form], [content])
Tipologia: array (accetta più oggetti)
Descrizione: array che include le prove da allegare all’evento di consenso. È utilizzata normalmente per allegare cosa ha compilato l’interessato (ad esempio, il form
) e il contenuto di tale compilazione (ovvero il content
del form)
Sono accettati i seguenti campi:
form
(stringa): usato per includere il formcontent
(stringa): usato per includere il contenuto del formIn alcuni casi, come l’upload di un form cartaceo, è sufficiente fornire solo uno dei due valori (ad esempio il content
) che conterrà sia il form che il suo contenuto.
preferences ({ [preference_name]: [preference_value], ... })
Tipologia: hash
Descrizione: insieme di coppie chiave-valore riguardanti le preferenze registrate assieme al consenso. Queste preferenze saranno anche aggiornate per l’interessato e potranno essere recuperate con il metodo Subject. È consigliato definire il nome delle preferenze e mantenerlo invariato in tutte le chiamate. Ad esempio potresti utilizzare le seguenti coppie:
general: true|false
newsletter: true|false
profiling: true|false
Questo metodo ti permette di salvare e di recuperare le informazioni relative all’interessato.
id
Tipologia: stringa
Valore di default: pre-compilato (se non definito)
Descrizione: necessario per identificare in modo univoco gli interessati. Viene generato automaticamente se non è specificato. È consigliato inviare l’identificativo univoco già presente nel proprio database, oppure memorizzare quello che forniamo noi al fine di inserirlo nella callback, così da ritrovare l’interessato e aggiornare le sue preferenze, o per registrare altri consensi
email
first_name
last_name
full_name
Tipologia: string
Descrizione: se desideri identificare più facilmente un interessato
verified
Tipologia: bool
Descrizione: campo riservato a segnalare se l’interessato è verificato, ad esempio attraverso un double opt-in
preferences ()
Tipologia: hash
Descrizione: contiene le preferenze più aggiornate che l’utente ha espresso attraverso gli eventi di consenso. Include l’ID di consenso più recente per ciascuna preferenza
Questo metodo ti permette di registrare i documenti legali cui si fa riferimento in “consent > legal_notices”.
Ad esempio, puoi utilizzare questi documenti:
Al primo setup e ogni qual volta modificherai i documenti, puoi utilizzare questo metodo per aggiornarne le relative versioni. Se utilizzi iubenda per i tuoi documenti legali, aggiorniamo automaticamente i contenuti di questo metodo ogni volta che vengono apportate delle modifiche ai tuoi documenti.
Puoi scoprire come abilitare questa funzionalità qui.
Ad ogni invio di una nuova nota legale, il campo version
è incrementato di 1, a partire da 1.
legal_notices
(
{
identifier: [ privacy_policy|cookie_policy|terms|[custom] ],
content: [il testo legale]
timestamp: [data] // auto generato, può essere sovrascritto
version: [1+] // numero progressivo, auto generato, non può essere sovrascritto
}
)
Sono accettati i seguenti campi:
identifier
(stringa): usato per salvare un identificativo dei tuoi documenti legali. Ammette valori semantici o valori custom. I valori semantici predefiniti sono: content
(stringa o hash): indica il testo legale proposto all’utente. È possibile memorizzare contenuti in più lingue passando un hash con la seguente struttura { [language_code]: [content], ... }
timestamp
(data): auto generato, ma può essere riscritto. Dovrebbe essere personalizzato con la data di aggiornamento della nota legale. Di default, questo campo è compilato con la data in cui avviene la chiamataversion
(numero): auto generato, non può essere riscritto