
TYPO3 Plugin:
ujamii_dsgvo
ujamii-dsgvo-dsgvo
Datenschutz/DSGVO Compliance Erweiterung für TYPO3
Beschreibung
Am 25. Mai 2018 treten die neuen Gesetze zum Datenschutz in Kraft. Mit Bußgeldern von bis zu 20 Mio. Euro. ?, oder 4% von globalen Umsatz für internationale Unternehmen, jede Organisation (kommerziell UND nicht-kommerziell), die in der europäischen Region tätig ist Die Union muss die in den verlinkten Dokumenten beschriebenen Vorschriften einhalten.
Für TYPO3-Websites hat dies mehrere Auswirkungen:
- private Daten in der Datenbank müssen gelöscht werden (anstatt
gelöscht=1
) - die Übertragung der Daten an den Webserver oder einen Mail-Dienst muss verschlüsselt werden
- impressum und Datenschutzinformationen müssen auf einer separaten Website stehen (zumindest in Deutschland)
- die Benutzer müssen über permanente Cookies informiert werden und haben die Möglichkeit, sich für Tracking-Dienste zu entscheiden
- ...
Diese Erweiterung soll helfen, mögliche Probleme zu identifizieren und regelmäßige Aufgaben wie die Bereinigung der Datenbank durchzuführen und löschen Sie "gelöschte" Datensätze sowie ältere Daten, die in Formularen übermittelt wurden
Links
Installation
- Holen Sie sich die Dateien
- installation über composer:
composer erfordert ujamii/ujamii-dsgvo
- installation über das Archiv: Herunterladen und Entpacken im
typo3conf-Verzeichnis
, Umbenennen des Ordners in ujamii_dsgvo
- installation über composer:
- aktivieren Sie die Erweiterung im Backend (ggf. muss der Autoloading-Cache geleert werden)
- ein neues Submodul "DSGVO" im Hauptmodul "web" erscheint
Verwendung
Betriebsarten
Die Erweiterung kann Datensätze in der Datenbank zählen, anonymisieren oder wirklich löschen. Das Backend-Modul verwendet den Auswahlmodus, um die Übersicht anzuzeigen. Mit den beiden Schaltflächen unterhalb der Tabellenübersicht, können Sie den Prozess des Überschreibens der Datensätze mit Dummy-Daten (Anonymisierung) oder des Löschens starten.
Das Löschen von Datensätzen kann der Datenintegrität schaden, da TYPO3 standardmäßig keine Einschränkungen auf Datenbankebene verwendet.
Der Löschmodus ist also NICHT der Standardmodus! Wenn Sie die Datensätze wirklich löschen möchten, verwenden Sie diesen Modus/Button explizit.
Bitte beachten Sie, dass, wenn Sie weitere Tabellen zur Konfiguration hinzufügen, der Anonymisierungsmodus nichts bewirkt, solange es keine gibt
anonymisierung
des Teilsatzes! Außerdem müssen Sie selbst für das richtige Datenformat sorgen. Schreiben von falschen Datentypen in das Feld = Wert
liste kann zu Fehlern führen.
Der Anonymisierungsmodus schreibt auch in die Felder tstamp
und crdate
(falls im TCA konfiguriert). Der neue Wert dieser Felder wird angezeigt
dieser Wert ist auch das Kennzeichen, dass diese Zeilen bereits behandelt wurden. So werden Zeilen mit tstamp = 0 UND crdate = 0
nicht gezählt/bearbeitet werden. Wenn Sie selbst Datensätze von außerhalb des TYPO3-Datahandlers erstellen, überprüfen Sie bitte, ob diese Felder nicht 0 sind
nach dem Schreiben Ihrer Datenbank
Für mehr Flexibilität werden die Werte für übergeordnete Daten in der Datenbank über PageTS konfiguriert.
Wenn Sie also Ihre eigene Tabelle hinzufügen möchten, fügen Sie einfach den anonymierten
Teil hinzu und die Erweiterung kümmert sich auch um Ihre Daten
Im TYPO3-Backend
Klicken Sie auf das Modulsymbol im Hauptmenü des Backend (innerhalb von "web"). Sie sehen eine Übersicht für jede konfigurierte Konfiguration erweiterung und Datenbanktabelle. Grüne Zeilen bedeuten nichts zu löschen, rote Zeilen bedeuten, dass etwas gelöscht/anonymisiert wird, wenn klicken Sie auf die rote Schaltfläche "Löschen" oder die orangefarbene Schaltfläche "Anonymisieren" am Ende der Seite. Die Anzahl der betroffenen Zeilen wird auch angezeigt auf die Übersichtsseite.
Als CommandController auf der Shell
Ein Aufruf wie typo3/cli_dispatch.phpsh extbase cleanup:cleandatabase --page-uid=1 --mode=select
gibt so etwas aus:
2018-04-06 17:27:01
FALSCH bedeutet Erweiterung nicht installiert, Integer ist die Anzahl der betroffenen Datensätze.
array(5 Elemente)
kern => Array(2 Elemente)
fe_users => 0 (integer)
be_users => 0 (integer)
powermail => array(1 Element)
tx_powermail_domain_model_mail => 0 (integer)
formhandler => FALSE
tt_address => FALSE
kommentare => FALSCH
Mögliche Werte für den Parameter --mode=
sind:
- auswählen (zählt nur Zeilen, verändert die Datenbank nicht)
- anonymisieren (überschreibt Zeilen mit konfigurierten Werten, siehe pagets.ts)
- löschen (tut, was es sagt, wirklich LÖSCHT die Zeilen von der Datenbank)
Erweiterung der Datenbankbereinigung
Um die Datenbankbereinigung zu erweitern, die im Backend oder über CLI/Scheduler durchgeführt werden kann, müssen Sie nur schreiben etwas Typoscript und fügen es in die pageTS Ihrer Website ein.
Sie können mehrere Tabellen hinzufügen, die nach Erweiterung gruppiert sind. Die Ausgangsebene ist module.tx_ujamiidsgvo_dsgvo_dsgvocheck.settings.db
und die nächste Ebene ist der Erweiterungsname (z.B. Powermail
) und dann der Tabellenname.
Die Option allDeleted
kann 0 (Standard) oder 1 sein. Wenn auf 1 gesetzt, werden alle gelöschten=1 Datensätze in dieser Tabelle verwendet
bei jedem Durchlauf des Prozesses. Der Name des Löschfeldes
wird aus dem TCA gelesen.
Wenn Sie die Option andWhere
setzen, werden die Zeilen in der Datenbank, die durch den Prozess abgedeckt werden, eingeschränkt. Wenn du also gehst
dieses leere alle Aufzeichnungen in diesem Tisch werden gehandhabt werden Also denken Sie besser vorher darüber nach ;-)
Beispiel für eine Powermail-Erweiterung:
module.tx_ujamiidsgvo_dsgvocheck {
einstellungen {
db {
powermail {
tx_powermail_domain_model_mail {
allDeleted = 1
andWhere = crdate < UNIX_TIMESTAMP(DATE_SUB(now(), INTERVAL 6 Monate))))
anonymisieren {
sender_name = anonymisiert
sender_mail = anonymisiert
//...
}
}
}
}
}
}
Um zu sehen, welche Tabellen standardmäßig abgedeckt sind, werfen Sie einen Blick in die pagets.ts.
Sie können den Anonymisierungsteil
komplett überspringen, wenn Sie nur Datensätze für eine bestimmte Tabelle wirklich löschen wollen.
Cookie-Einwilligung
Wenn Sie auf Ihrer Website Cookies verwenden, müssen Sie zumindest Ihre Benutzer benachrichtigen und eine Ablehnung von Cookies vorsehen die für die Website/den Dienst selbst nicht wesentlich sind und/oder eine Art private Informationen enthalten von der Benutzer. Leider werden auch dynamische IP-Adressen als privater Informationswert angesehen (zumindest in Deutschland).
Daher kann es für Sie ausreichen, eine gebrauchsfertige Lösung eines Drittanbieters zu verwenden. Diese Erweiterung stellt ein Beispiel dar basierend auf cookieconsent.insites.com. Um es in Ihrem TYPO3-Projekt zu verwenden, kopieren Sie einfach die Teilvorlage. zu Ihrem Projektteilpfad und fügen Sie ihn dann wie folgt in Ihre fluid-Vorlage ein:
<f:render partial="Frontend/CookieConsent" />
Wenn Sie das Beispiel direkt verwenden möchten, fügen Sie einfach den Teilordner zu Ihren fluid-Pfaden hinzu:
10 = FLUIDSCHABLONE
10 {
datei = ......
partielle Wurzelpfade {
0 = ...
1 = EXT:ujamii_dsgvo/Ressourcen/Privat/Private/Teilen/
}
layoutRootPaths.0 = .....
}
Um die Zielseite zu konfigurieren, setzen Sie einfach page.privacyInfo = xyz
in Ihren Typoscript-Konstanten,
wobei xyz
die UID der Seite ist. Wenn Sie ändern möchten, wie diese Cookie-Einwilligung eingebunden wird,
schauen Sie sich die setup.ts an
Deaktivieren von Cookies
Google Analytics
Um die Verfolgung von Cookies abzulehnen, müssen Sie einige Zeilen JavaScript-Code hinzufügen und stellen dem Benutzer einen Link oder eine Schaltfläche zur Verfügung, die die Opt-Out-Funktionalität auslöst. Im TYPO3-Backend könnte dies leicht geschehen durch erstellen eines neuen Inhaltselements auf der Datenschutzinformationsseite. Fügen Sie ein neues Element vom Typ "HTML" hinzu und fügen Sie so etwas wie den beispiel unten: (bei Verwendung von Bootstrap CSS)
<a class="btn btn-danger">Ich möchte nicht verfolgt werden</a>
<a class="btn btn-danger">Ich will not getrackt werden</a>
Sie können eine detailliertere Beschreibung hinzufügen wie z.B.:
Sie können das Tracking von Google Analytics deaktivieren. Um es zu deaktivieren, klicken Sie bitte auf die untenstehende Schaltfläche. In Ihrem Browser wird ein Cookie erstellt. Wenn diese Option aktiviert ist, protokolliert Google Analytics keine Daten mehr.
oder auf Deutsch:
Sie können das Web-Tracking von Google Analytics abschalten. Klicken Sie hier, um den stehenden Button zu öffnen. Es wird dann ein Cookie in Ihrem Browser gesetzt. Wenn der Cookie erstellt wurde, wird Google Analytics keine Daten mehr erheben.
Matomo (ehemals Piwik)
Matomo stellt ein fertiges Snippet direkt in der Tracking-Anwendung selbst zur Verfügung, also folgen Sie einfach dem Befehl anweisungen auf ihrer Website und du bist fertig
TODOs / Bekannte Probleme
Werfen Sie einen Blick auf die Problemliste auf GitHub.
Die Befehlssteuerung ist nach der Installation der Erweiterung im CLI/Scheduler nicht verfügbar
Wenn Sie TYPO3 NICHT im composer-Modus verwenden und die Erweiterung per Archivdownload installiert haben, müssen Sie möglicherweise das Autoloading deaktivieren cache von TYPO3 manuell, nach der Installation der Extension im Extension Manager. Dies geschieht durch Ausführen von
php typo3/cli_dispatch.phpsh extbase extension:dumpclassloadinginformation
# oder
rm -rf typo3temp/autoload/*
Icon-Credits
Symbol heruntergeladen von https://www.flaticon.com/free-icon/database-protection_1825
Icons von Freepik von www.flaticon.com sind lizenziert von CC 3.0 BY
Benötigen Sie schnelle Hilfe mit dieser Extension? Unser Team von erfahrenen TYPO3-Entwicklern löst Probleme unkompliziert und zum Stundensatz.
Verteilung:UJAMII_DSGVO ist auf
0.02 % aller TYPO3 installiert.
- 0.11 % aller TYPO3 8.7.x Installationen installiert
- 0.03 % aller TYPO3 7.6.x Installationen installiert
Aktualität:UJAMII_DSGVO ist auf dem neusten Stand (v.unknown) bei
100 % aller TYPO3 Installationen
- 0 % aller TYPO3 9.5.x Installationen
- 0 % aller TYPO3 9.3.x Installationen
- 0 % aller TYPO3 9.2.x Installationen
- 0.11 % aller TYPO3 8.7.x Installationen
- 0.03 % aller TYPO3 7.6.x Installationen
- 0 % aller TYPO3 7.5.x Installationen
- 0 % aller TYPO3 7.4.x Installationen
- 0 % aller TYPO3 7.3.x Installationen
- 0 % aller TYPO3 7.2.x Installationen
- 0 % aller TYPO3 7.1.x Installationen
- 0 % aller TYPO3 7.0.x Installationen
- 0 % aller TYPO3 6.2.x Installationen
- 0 % aller TYPO3 6.1.x Installationen
- 0 % aller TYPO3 6.0.x Installationen
- 0 % aller TYPO3 5.0.x Installationen
- 0 % aller TYPO3 4.7.x Installationen
- 0 % aller TYPO3 4.6.x Installationen
- 0 % aller TYPO3 4.5.x Installationen
- 0 % aller TYPO3 4.4.x Installationen
- 0 % aller TYPO3 4.3.x Installationen
- 0 % aller TYPO3 4.2.x Installationen
- 0 % aller TYPO3 4.1.x Installationen
- 0 % aller TYPO3 4.0.x Installationen
- 0 % aller TYPO3 3.5.x Installationen
PHP Version:UJAMII_DSGVO wird benutzt mit
- 25 % PHP/7.2
- 75 % PHP/7.0

Gosign-Responsive Index: TYPO3 Installationen nutzen UJAMII_DSGVO zu
- 86 % wenn der Gosign-Responsive-Index zwischen 80 % und 100 % ist
- 14 % wenn der Gosign-Responsive-Index zwischen 60 % und 80 % ist
- 0 % wenn der Gosign-Responsive-Index zwischen 40 % und 60 % ist
- 0 % wenn der Gosign-Responsive-Index zwischen 20 % und 40 % ist
- 0 % wenn der Gosign-Responsive-Index zwischen 0 % und 20 % ist

Pagespeed: TYPO3 Installationen nutzen UJAMII_DSGVO zu
- 43 % wenn der Pagespeed zwischen 80 % und 100 % ist
- 43 % wenn der Pagespeed zwischen 60 % und 80 % ist
- 29 % wenn der Pagespeed zwischen 40 % und 60 % ist
- 0 % wenn der Pagespeed zwischen 20 % und 40 % ist
- 0 % wenn der Pagespeed zwischen 0 % und 20 % ist
[DependciesAndConflicts]