Documentazione

Indice dei contenuti

Consent Solution – Introduzione e funzionamento

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:

  • aggiungere, revocare, gestire il consenso dell’utente;
  • memorizzare più preferenze per ogni utente (ad esempio se si dispone di più newsletter o moduli di opt-in);
  • memorizzare se un utente è stato verificato con il double opt-in (doppio opt-in);
  • memorizzare ulteriori informazioni sull’utente, consentendone l’identificazione futura;
  • per ogni consenso, tenere traccia del documento legale o della privacy policy che l’utente ha accettato;
  • per ogni consenso, tenere traccia del form o della dicitura con cui il consenso stesso è stato richiesto all’utente;
  • caricare una prova del consenso o nota legale in qualsiasi formato, incluso un PDF se il consenso è stato raccolto su supporto cartaceo;
  • per ogni utente, ottenere le ultime preferenze espresse e un’indicazione dell’azione di consenso compiuta a prova dello stesso;
  • per ogni utente, ottenere una cronologia dei consensi.

 

Come accedere alle API

Puoi accedere alle API via HTTP o attraverso la nostra libreria Javascript. La libreria Javascript prevede inoltre due funzionalità aggiuntive:

  • estrazione automatica dei dati del consenso da un form
  • salvataggio asincrono tramite localstorage

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:

Differenze principali

  • L’API in HTTP deve essere autenticata con chiave privata, la libreria Javascript con chiave pubblica
  • L’API Javascript supporta solo azioni di scrittura, non di lettura

Dashboard dei consensi

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:

Consent Solution Dashboard

Una volta raccolti i consensi, ordinarli e analizzarli è facilissimo, essendo i record classificati per “Consensi” e “Interessati”:

Consent Solution Dashboard - Consensi e interessati

Per accedere ai singoli utenti e ai dettagli di consenso ti basta fare click sulle icone sul lato destro della tabella:

Consent Solution Dashboard - Dettaglio consensi e interessati

In alternativa puoi usare la funzione di ricerca:

Consent Solution Dashboard - Ricerca consensi e interessati

Puoi anche applicare filtri dettagliati specifici per la tabella che stai cercando.

Qui puoi vedere la dashboard in azione:

 

Informazioni generali sulla Consent Solution

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.

Definizioni

  • Interessato: è la persona a cui si riferiscono i dati personali, che generalmente coincide con l’utente
  • Consenso: l’azione di consenso effettuata dall’interessato. Ogni azione di consenso contiene tutte le informazioni necessarie per identificare in modo univoco il consenso stesso, l’interessato che l’ha prestato, le preferenze espresse con quel consenso, i documenti legali che l’utente ha accettato, la prova (ad esempio, il form che è stato presentato all’utente)
  • Preferenze: i vari opt-in che l’utente ha accettato, come newsletter, profilazione etc.

Esempio di configurazione

Il processo di configurazione funziona generalmente come illustrato in seguito:

  1. Identificazione di tutte le preferenze espresse dagli interessati (generali, newsletter, e-mail comportamentali, profilazione etc.)
  2. Determinazione dell’identificativo univoco da inviare alla Consent Solution per accedere successivamente ai consensi e alle preferenze espresse da ciascun interessato. Questo campo non è obbligatorio e, se non viene fornito, viene generato ed assegnato all’interessato automaticamente
  3. Identificazione di tutti i punti in cui l’interessato può modificare le proprie preferenze, ad esempio:
    • al signup;
    • quando si iscrive ad una nuova newsletter;
    • quando l’utente viene verificato con un double opt-in;
    • in una specifica pagina dedicata alle preferenze dell’utente.
  4. Invio di una chiamata di consenso per ciascuna azione

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.

Metodi e proprietà

Consent

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.

Proprietà

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:
    • privacy_policy
    • cookie_policy
    • terms
  • version (stringa): usata per identificare la versione dei documenti legali che il tuo utente ha accettato. Il valore di default è quello dell’ultima versione disponibile
proofs ([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 form
  • content (stringa): usato per includere il contenuto del form

In 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
  • etc.

Subject

Questo metodo ti permette di salvare e di recuperare le informazioni relative all’interessato.

Proprietà da scrivere

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

Proprietà in sola lettura

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

Legal_notices

Questo metodo ti permette di registrare i documenti legali cui si fa riferimento in “consent > legal_notices”.

Ad esempio, puoi utilizzare questi documenti:

  • Privacy Policy
  • Cookie Policy
  • Termini e Condizioni

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.

Proprietà

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:
    • privacy_policy
    • cookie_policy
    • terms
  • 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 chiamata
  • version (numero): auto generato, non può essere riscritto

Leggi anche