Toestemming aantoonbaar vastleggen
Legt elke verlening en intrekking van toestemming vast als gebeurtenis in een onveranderlijk register, met versiebeheer per doel. Voor wie toestemming onder de AVG moet kunnen aantonen.
Installation
composer require ginkelsoft/laravel-data-consentToestemming die je kunt aantonen
Verwerk je persoonsgegevens op grond van toestemming, dan eist de AVG meer dan een vinkje. Artikel zeven vraagt dat je kunt aantonen dát toestemming is gegeven, waarvoor, en dat intrekken net zo makkelijk was als geven. Bij bijzondere categorieën, zoals gezondheidsgegevens in de zorg, moet die toestemming bovendien expliciet zijn.
In de praktijk verdwijnt dat bewijs vaak in een los vinkveld dat bij de volgende wijziging wordt overschreven. Dan weet je wel dat iemand nu is aangemeld, maar niet meer waar en wanneer hij ooit instemde, of dat hij tussendoor had ingetrokken. Dit package maakt van toestemming een volledig, aantoonbaar logboek.
Vastleggen en intrekken
Elke verlening en elke intrekking is een gebeurtenis die wordt vastgelegd in een append-only, hash-geketend consent_log. Intrekken verwijdert de eerdere toestemming niet, het legt een nieuwe gebeurtenis bovenop de historie. Zo blijft de volledige geschiedenis aantoonbaar: gegeven op dag X, ingetrokken op dag Y.
use Ginkelsoft\DataConsent\Actions\RecordConsent;
$consent = new RecordConsent;
$consent->grant(
subjectId: '01HXYZ',
purpose: 'newsletter',
version: '2026-05',
source: 'web',
);
$consent->withdraw(
subjectId: '01HXYZ',
purpose: 'newsletter',
version: '2026-05',
source: 'email',
);
De version koppelt de toestemming aan een specifieke versie van je voorwaarden. Wijzig je de tekst, dan dekt eerdere toestemming de nieuwe versie niet automatisch en leg je een verse verlening vast.
Status opvragen
Of toestemming nu actief is voor een bepaald paar van betrokkene en doel, leid je af uit de laatste gebeurtenis voor dat paar. Een statushelper geeft dat terug, plus de volledige geschiedenis als je die nodig hebt.
use Ginkelsoft\DataConsent\Support\ConsentStatus;
$status = new ConsentStatus;
$status->isGranted('01HXYZ', 'newsletter');
$status->activeFor('01HXYZ');
$status->history('01HXYZ', purpose: 'newsletter');
De methode activeFor geeft alleen de doelen terug waarvan de laatste gebeurtenis een verlening is, handig voor een accountscherm dat toont waar iemand op dit moment toestemming voor heeft gegeven.
Dit log bewaart wel de identiteit
Anders dan de andere logboeken in de familie bewaart consent_log de identiteit van de betrokkene direct. Dat kan niet anders: je kunt niet bewijzen dat juist deze persoon toestemming gaf zonder te weten wie het is. Vermeld die tabel daarom in je DPIA en pas er je eigen bewaarbeleid op toe. Het package levert ook commands voor ops, backfills en tests.
Open source, MIT
Open source onder de MIT-licentie, beschikbaar via GitHub en Packagist. Het bouwt op Compliance Core en deelt daarmee de hash-keten met de rest van de familie.
composer require ginkelsoft/laravel-data-consent
Onderdeel van de AVG-familie naast bewaartermijnen, vergetelheid, inzage en het datalek-register. Hulp bij het inpassen valt onder maatwerk software en onderhoud en doorontwikkeling.