Iubenda logo
Aan de slag

Documentatie

Inhoud

Consent Database – Inleiding en methodes

 

Het bijhouden van uitgebreide toestemmingsregisters is een essentieel onderdeel van de naleving van de privacywetgeving in het algemeen, maar dit wordt specifiek vereist door de AVG. Met zo’n register moet je onder meer kunnen bewijzen om welke gebruiker het gaat, hoe toestemming is gegeven, en welke juridische documenten je de gebruiker op dat moment hebt voorgelegd. Lees hier meer over de wettelijke vereisten.

Met de Consent Database krijg je een API om het volgende te doen:

  • De toestemming van gebruikers toevoegen, intrekken en beheren
  • Meerdere voorkeuren opslaan voor elke gebruiker (bv. voor meerdere nieuwsbrieven of opt-ins)
  • Bijhouden wanneer de toestemming is bevestigd door een dubbele opt-in
  • Aanvullende gegevens opslaan over gebruikers, zodat je hen in de toekomst kunt identificeren
  • Voor elke toestemming bijhouden welke juridische tekst of privacyverklaring de gebruiker heeft geaccepteerd
  • Voor elke toestemming bijhouden welk formulier of welke bewoordingen aan de gebruiker zijn voorgelegd
  • Uploaden wat als bewijs kan dienen van toestemming of juridische kennisgeving, zoals een pdf wanneer toestemming offline is verkregen
  • Voor elke gebruiker de meest recente voorkeuren bijhouden, samen met welke handeling bewijs van toestemming vormt
  • Voor elke gebruiker de historische gegevens over toestemming bijhouden

 

Verschillende toegangen tot de API

Je hebt toegang tot de API via HTTP of via onze JavaScript-bibliotheek. De JavaScript-bibliotheek heeft ook een paar extra functies, zoals:

  • Het automatisch ophalen van toestemming uit een formulier
  • Asynchroon opslaan via lokale opslag

De methoden zijn dezelfde voor alle interfaces en worden hieronder toegelicht. Elke interface heeft eigen specifieke kenmerken en instructies voor integratie, die in de betreffende gidsen worden toegelicht:

Belangrijkste verschillen

  • De HTTP-API moet worden geverifieerd met de private sleutel, de JavaScript-bibliotheek met de publieke sleutel
  • De JavaScript-API ondersteunt alleen schrijven, niet lezen

Dashboard voor toestemmingen

Met het gebruiksvriendelijke visuele dashboard kun je je toestemmingsdocumentatie gemakkelijk sorteren, analyseren en bekijken.

Het dashboard voor je Consent Database vind je via het algemene dashboard van je account > [Your website/app]en vervolgens Consent Database > Dashboard Consent Database.

Zodra je je toestemmingen hebt verzameld, wordt het sorteren en analyseren van je gegevens over toestemmingen van gebruikers een fluitje van een cent. Je gegevens worden gecategoriseerd naar “Toestemmingen”, “Betrokkenen” en “Juridische kennisgevingen”:

Dashboard Consent Solution - Toestemming, betrokkenen en juridische kennisgevingen

Via de pictogrammen aan de rechterkant van de tabel heb je gemakkelijke toegang tot details over individuele gebruikers, toestemming en juridische kennisgevingen:

Dashboard Consent Solution - Toestemming, betrokkenen en juridische kennisgevingen (details)

Of gebruik de krachtige zoekfunctie om betrokkenen, toestemmingen of juridische kennisgevingen te vinden:

Dashboard Consent Solution – Toestemming, betrokkenen en juridische kennisgevingen (zoekfunctie)

Je kunt zelfs gedetailleerde filters toepassen die specifiek zijn voor de tabel waarin je zoekt.

Bekijk hier een overzicht van het dashboard:

 

Technisch overzicht

De Consent Database is bedoeld om toestemmingshandelingen op te slaan die door je gebruikers (hier betrokkenen genoemd) zijn uitgevoerd, samen met alle informatie die nodig is om bewijs te leveren. Deze toestemmingshandelingen resulteren in een reeks opgeslagen waarden over je betrokkenen of gebruikers, die je later kunt oproepen via een specifiek eindpunt. Deze waarden omvatten de voorkeuren van de gebruiker (abonnement op de nieuwsbrief, profilering enz.) die door elke toestemmingssectie zijn gewijzigd.

Naamgevingsconventies

  • Betrokkene: de persoon op wie de persoonsgegevens betrekking hebben. Deze valt in het algemeen samen met de gebruiker.
  • Toestemming: de toestemmingshandeling. Elke toestemmingshandeling bevat alle informatie die nodig is voor de unieke identificatie van die specifieke toestemming, de persoon die de toestemming heeft verleend, de voorkeuren die met die toestemming tot uitdrukking zijn gebracht, de juridische kennisgevingen waarmee de gebruiker heeft ingestemd en het bewijs hiervan (bv. het formulier dat de gebruiker is voorgelegd).
  • Voorkeuren: de verschillende opt-ins waarmee de gebruiker heeft ingestemd, zoals een nieuwsbrief, profilering enz.

Voorbeeld van een implementatieflow

De implementatieflow zal er in het algemeen als volgt uitzien:

  1. Identificeer alle voorkeuren die je van betrokkenen verzamelt (algemeen, nieuwsbrieven, door gedrag getriggerde e-mails, profilering enz.).
  2. Bepaal welke unieke id naar de Consent Database moet worden verzonden om later de toestemmingen en voorkeuren van elke betrokkene in te kunnen zien. Dit veld is niet verplicht, en als je geen id doorstuurt, wijzen we een automatisch gegenereerde id voor de betrokkene toe.
  3. Identificeer alle punten waar de betrokkenen hun voorkeuren kunnen wijzigen, zoals:
    • bij aanmelding
    • bij het inschrijven voor de nieuwsbrief
    • bij verificatie via dubbele opt-in
    • via de voorkeurenpagina van de gebruiker in je dashboard
  4. Stuur een toestemmingsaanroep voor elke voorkeur.

De Consent Database is flexibel genoeg om te worden gebruikt in de meest uiteenlopende scenario’s, waaronder offline scenario’s, zoals het opslaan van toestemmingen die op papier zijn verzameld.

Methoden en eigenschappen

Toestemming

Deze methode wordt gebruikt om toestemmingsgebeurtenissen te verzenden. Je kunt schrijven en lezen, maar geen bestaande toestemmingsgebeurtenissen wijzigen. Bewaar de toestemmingen als een logboek van de toestemmingen die de betrokkene heeft gegeven, ongeacht of die enige voorkeuren hebben beïnvloed of niet.

Eigenschappen

`timestamp`

Type: tekenreeks (ISO 8601-tijdstempel)
Standaardwaarde: automatisch ingevuld indien niet opgegeven.
Beschrijving: de tijdstempel van het moment waarop de toestemming is gegeven

subject ([id], [email], [first_name], [last_name], [full_name], [verified])

Type: hash
Beschrijving: wrapper voor de set eigenschappen subject, die zowel via de Betrokkene-methode als vanuit de Toestemmingsmethode kunnen worden opgeslagen. Bekijk de Betrokkene-methode voor meer informatie over de eigenschappen die binnen deze set worden ondersteund.
Opmerking: subject.id wordt automatisch ingevuld indien niet opgegeven.

legal_notices ([identifier], [version])

Type: matrix (accepteert meerdere objecten)
Beschrijving: matrix van de juridische kennisgevingen die aan de toestemmingsgebeurtenis moeten worden gehecht, geïdentificeerd door hun identifier en version. Indien version niet is opgegeven, wordt de laatst beschikbare gebruikt. Accepteert de volgende velden:

  • identifier, tekenreeks, gebruikt om een id van je juridische documenten door te geven. Accepteert semantische namen of aangepaste waarden. Voorgedefinieerde semantische namen zijn:
    • privacy_policy
    • cookie_policy
    • terms
  • version, tekenreeks, gebruikt om de versie op te geven van de juridische documenten die je gebruiker heeft geaccepteerd. Standaard wordt de laatst beschikbare versie gebruikt.
proofs ([form], [content])

Type: matrix (accepteert meerdere objecten)
Beschrijving: matrix van de bewijzen die aan de toestemmingsgebeurtenis moeten worden gehecht. Deze wordt gewoonlijk gebruikt voor het bijvoegen van het document dat aan de betrokkene is voorgelegd (bv. het form) en wat de betrokkene heeft ingevuld (bv. de content van het formulier).
Accepteert de volgende velden:

  • form, tekenreeks, gebruikt voor het formulier
  • content, tekenreeks, gebruikt voor de inhoud van het formulier

In sommige gevallen, zoals bij het uploaden van een papieren formulier, volstaat het om slechts één van de twee te uploaden (zoals de inhoud) dat zowel het formulier als de inhoud bevat.

preferences ({ [preference_name]: [preference_value], ... })

Type: hash
Beschrijving: set van sleutel-waardeparen met voorkeuren die je bij de toestemmingsactie opslaat. Deze voorkeuren worden ook bijgewerkt voor de betrokkene en kunnen worden opgehaald met de Betrokkene-methode. Het is aan te raden een voorkeursnaamgeving te bepalen en deze aan te houden voor al je aanroepen. Bijvoorbeeld:

  • general: true|false
  • newsletter: true|false
  • profiling: true|false
  • enz.

Betrokkene

Met deze methode kun je informatie over de betrokkene opslaan, en deze weer ophalen.

Te schrijven eigenschappen

id

Type: tekenreeks
Standaardwaarde: automatisch ingevuld indien niet opgegeven.
Beschrijving: hiermee kun je je betrokkenen uniek identificeren. Wordt automatisch gegenereerd indien niet opgegeven. Het is aan te raden om ofwel een id te verzenden die je al in je database hebt, of de id op te slaan die wij genereren en vervolgens in de retouraanroep te verstrekken, zodat je later een betrokkene kunt ophalen en hun voorkeuren kunt bijwerken of aanvullende toestemmingsgebeurtenissen kunt verzenden.

email
first_name
last_name
full_name

Type: tekenreeks
Beschrijving: extra velden waarmee je gemakkelijker betrokkenen kunt identificeren.

verified

Type: booleaanse waarde
Beschrijving: gereserveerd veld dat wordt gebruikt om aan te geven of een betrokkene is geverifieerd, bijvoorbeeld via de dubbele opt-in-methode.

Alleen-lezen-eigenschappen

preferences ()

Type: hash
Beschrijving: bevat de meest recente voorkeuren die de gebruiker via de toestemmingsgebeurtenissen heeft opgegeven. Inclusief de laatste toestemmings-id voor elke voorkeur.

Legal_notices

Met deze methode kun je de juridische kennisgevingen opslaan waarnaar je vervolgens kunt verwijzen onder toestemming → legal_notices.

Je hebt bijvoorbeeld de volgende juridische kennisgevingen:

  • Privacybeleid
  • Cookiebeleid
  • Algemene voorwaarden

Je kunt deze methode gebruiken om de versie bij te werken bij de eerste installatie en alle updates daarna. Als je iubenda gebruikt voor je juridische documenten, dan werken we de inhoud van deze methode automatisch voor je bij zodra je juridische documenten worden gewijzigd.
Meer informatie over het inschakelen van deze functie.

Telkens wanneer een nieuwe of bestaande legal_notice wordt ingevuld, wordt het version-veld met 1 opgehoogd, te beginnen bij 1.

Eigenschappen

legal_notices 
    (
        { 
            identifier: [ privacy_policy|cookie_policy|terms|[custom] ], 
            content: [the actual legal text]
            timestamp: [date] // auto-generated, but can be overridden
            version: [1+] // progressive number, auto-generated, cannot be overridden
        }
    )

Accepteert de volgende velden:

  • identifier, tekenreeks, gebruikt om een id van je juridische documenten door te geven. Accepteert semantische namen of aangepaste waarden. Voorgedefinieerde semantische namen zijn:
    • privacy_policy
    • cookie_policy
    • terms
  • content, tekenreeks of hash, de eigenlijke juridische tekst die je de gebruiker voorlegt. Je kunt meertalige content opslaan door een hash door te geven met de volgende structuur { [language_code]: [content], ... }
  • timestamp, datum, automatisch gegenereerd, maar kan worden overschreven, moet worden aangepast aan het tijdstip waarop de juridische kennisgeving wordt bijgewerkt. Standaard wordt het tijdstip gebruikt waarop de aanroep wordt uitgevoerd.
  • version, getal, automatisch gegenereerd, kan niet worden overschreven.

Zie ook