Das LOOM Cookie Module

Von Julian Bischop
Cookies auf einem Gitter

Eine Erweiterung des EU Cookie Compliance Module

Allen, die seit Mitte 2018 eine Website aufbauen oder pflegen, ist  die Datenschutz-Grundverordnung (DSGVO) ein Begriff. Auch, wenn von Nutzern meist im Bruchteil einer Sekunde weggeklickt, ist das Thema eine nicht zu unterschätzende Herausforderung – sowohl bei Entwicklern als auch bei Betreibern einer Onlinepräsenz.

Zwar liefert das Drupal Modul "EU Cookie Compliance”, erhältlich auf der Drupal Projekt Seite, eine gute Basis und nimmt einen Teil der Herausforderung ab, jedoch sind Benutzerfreundlichkeit und Funktionsumfang optimierbar.

Motivation zur Optimierung - Einerseits sind Teile der Benutzeroberfläche optimierbar und hier insbesondere die Pflege von Kategorien und ihrer zugehörigen Cookies sowie Skripten: 

Verwendet werden dort drei Leerzeilen getrennte Textfelder, wobei eines zum Festlegen der Kategorien dient und zwei schematisch identische Textfelder zum Auflisten der Cookies bzw. Skripte mit ihren jeweiligen Kategorien.

 Auf der anderen Seite ist die Filterung der Cookies ausbaufähig. Diese basiert momentan darauf, dass ein Javascript in kurzen Intervallen prüft, ob ein sich auf der Blockliste befindlicher Cookie im Dokument gesetzt ist und leert ihn, falls der Konsens nicht gegeben sein sollte.

Diese Implementierung bringt leider die Problematik mit sich, dass die Cookies für die Intervallperiode des Skripts im Dokument verfügbar sind. Dies führt unter anderem dazu, dass Analysedienste trotz mangelnden Konsens, Daten vom Nutzer bekommen, was rechtswidrig sein kann. Zudem kommt es zum mehrfachen Erscheinen desselben Nutzers in der Auswertung der Analyse, da der Cookie regelmäßig geleert und dann neu gesetzt wird. Fast alle Cookies, die von unseren Drupalseiten gesetzt werden, kommen nicht durch die Seite an sich, sondern von externen Analysedienstleistern, wie Google Analytics, Werbeanbieter oder Marketingplattformen. Diese betten Javascript in die Seite ein. Durch diese Skripte werden dann Cookies gesetzt. Ob hier auch das EU Cookie Compliance Modul helfen kann, ist abhängig von der Art und Weise der Implementierung dieser Dienste.  Das EU Cookie Compliance Tool kann grundsätzlich Skripte blockieren, aber nur jene, die Drupal bekannt sind. Nutzt die Webseite zum Beispiel den Tag Manager und werden über diesen die Dienste in die Seite gebracht, sind sie Drupal gänzlich unbekannt. Genauso können Videos – zum Beispiel von Youtube – oder iFrames auch Cookies setzen und diese ggf. von einem Redakteur durch ein Textfeld in die Seite gebracht werden, ohne dass das Drupalsystem das mitbekommt.

Diese Problematik hat uns dazu veranlasst, das EU Cookie Compliance Modul zu erweitern.

Implementierung: Verbesserung ist unser Motor

Zur Verbesserung der Benutzeroberfläche lagern wir die Kategorie in einen eigenen Entitätstypen aus, welcher so zur zentralen Pflegestelle der individuellen Cookie- und Skriptlisten wird. Die Kategorie enthält alle Informationen, die zum Blockieren benötigt werden (Cookie- bzw. Skriptnamen) sowie Metadaten. Das können Beschreibungen oder ein Musterbeispiel  für den Endkunden sein. Ausgehend von der Kategorie werden serverseitig zwei Wege begangen, um das Ausschließen der zugehörigen Cookies und Skripte zu garantieren.

Als erstes wird Drupals hook_page_attachments_alter() Hook verwendet, um mit bestmöglicher Performance alle Skripte zu blockieren und solche herauszufiltern, die in Drupal als Anhang hinzugefügt wurden. Da viele Module und Quellen jedoch nicht den “offiziellen” Weg gehen, um Skripte anzuhängen, würde Drupal von deren Existenz nichts mitbekommen. Ein Filtern bliebe aus. Um dem Entgegenzuwirken, wird ein “Response” Event Subscriber eingesetzt. Dieser wird bei jeder Antwort die Drupal absenden möchte aufgerufen, sodass er die fertige Antwort nochmal durchsuchen und gegebenenfalls filtern kann. Hier werden auch externe Container, in Form von iframes und embeds, gefiltert und können auf Wunsch durch beliebigen HTML Code ersetzt werden, um zum Beispiel auf die Notwendigkeit eines spezifischen Konsens hinzuweisen.

Zusätzlich wird auf der Seite des Clients ein Skript geladen, welche unter Zuhilfenahme von Regulären Ausdrücken das Nachladen dynamischer Skripte –  wie durch den Google Tag Manager –  verhindert.

 

Das Wesentliche zusammengefasst

In Zeiten der digitalen Aufklärung ist eine normgerechte Datenverarbeitung ein wichtiger Bestandteil einer Website. Eine gründliche technische Implementierung hilft beim Rechtsschutz und beim Vertrauensgewinn der Endnutzers. So war es naheliegend und schlussendlich erfolgsbringend das EU Cookie Compliance Moduls zu erweitern. Wir freuen uns über einen klaren Gewinn an Funktionalität und Bedienbarkeit ohne Einbußen.

Neuen Kommentar hinzufügen