Magento – DSGVO – Telefonnummer nicht mehr anzeigen in der Kasse und weitere Datensparsamkeit

dsgvo

 

Am 25.05.2018 geht es los – die DSGVO „geht live“. Der neue Wahnsinn und Stress pur für mehr oder weniger jeden, der im Internet eine Präsenz unterhält. Natürlich wird aktuell unglaublich viel Panik gemacht – denn mit Panik kann man gutes Geld verdienen.

Selbstverständlich schauen auch wir an welchen Stellen was geändert sein muss. Leider kann man nicht wirklich viel Konkretes für Magento-Shop-Benutzer als Tipp verzapfen, einen Tipp können und wollen wir aber geben.

Ein -nicht wirklich schlechter- Punkt der DSGVO ist die Datensparsamkeit. Das heißt nur Daten erfassen, die wirklich, wirklich, wirklich notwendig zur Auftragsverarbeitung sind. Das heißt wiederum, dass die Angabe des Geburtsdatums bei der Registrierung oder im Kassenbereich in den allermeisten Fällen entfernt werden solle. Im Falle eines Shops mit jugendschutzrelevanten Produkten ist das aber wahrscheinlich noch erlaubt. Da man dies aber ganz einfach im Backend einstellen kann, soll es hierum auch gar nicht gehen.

Es soll um die Angabe der Telefonnummer gehen. Diese ist im Magento-Standard Pflicht. Eine Adresse ohne Telefonnummer kennt Magento nicht. Somit ist der Kunde u.a. im Checkout gezwungen seine Telefonnummer anzugeben, wenn er bestellen möchte. Nun muss man sich als Shopbetreiber die Frage stellen, ob die generelle Angabe der Telefonnummer WIRKLICH notwendig ist, um die Bestellung auszuführen. Ich denke: Nein.

Leider gibt Magento aber keine einfache Möglichkeit die Telefonnummer die Telefonnummer aus dem Checkout zu entfernen noch sie optional zu machen (was wahrscheinlich auch nicht DSGVO-konform wäre).

Man muss also selber Hand anlegen, um das Telefonnummernfeld aus der Rechnungs- und auch Versandadresse zu entfernen. Leider ist dies nicht ganz trivial, aber machbar.

Es müssen drei Dateien geändert werden sowie eine Anpassung in der Datenbank gemacht werden.

  1. Den Telefonnummern-Prüfprozess aus der PHP-Datei entfernen: Hierzu kopieren wir die Abstract.php aus dem Verzeichnis app/code/core/Mage/Customer/Model/Address in das Verzeichnis app/code/local/Mage/Customer/Model/Address
    Anschließend entfernen wir den Prüfprozess (oder kommentieren ihn aus) für die Telefonnummer aus dieser.
  2. Den Telefonnummern-Prüfprozess aus der Datenbank entfernen: Warum die Entwickler von Magento an zwei Stellen einen solchen Prüfprozess hinterlegt haben, ist mir schleierhaft. Nunja, er ist nunmal da, daher muss er auch hier weg. In der Datenbank in der Tabelle „eav_attributes“ suchen wir in der Spalte „attribute_code“ nach „telephone“ (dies sollte auf der zweiten Seite sein oder meist bei ID 31). Dort wird dann bei „is_required“ der Wert von „1“ auf „0“ gesetzt und gespeichert.
    Wem das zu nervig ist, kann dies auch mit einem kleinen PHP-Skript machen, welches ich angepasst habe:

    Diesen Code einfach in eine Datei mit der Endung .php auf dem Server in das Magento-Root-Verzeichnis legen. Nach Anpassung der Datenbank-Daten (s. Hinweise in der Datei) einfach nur die Datei per Browser aufrufen (Bsp. www.shop.de/removephonerequirement.php). Anschließend wird das gemacht, was man sonst per Hand wie oben beschrieben machen müsste.
  3. Telefonnummer aus der Rechnungsadresse entfernen: Hierzu muss die für das eigene Template verwendete billing.phtml angepasst werden. Nutzt man das RWD-Theme, läge diese im Verzeichnis app/design/frontend/rwd/default/template/persistent/checkout/onepage

    Diesen Part einfach entfernen oder auskommentieren.
  4. Telefonnummer aus der Versandadresse entfernen: Hier gehen wir ebenso vor und wählen die shipping.phtml in unserem Fall im Verzeichnis app/design/frontend/rwd/default/template/checkout/onepage

    Einfach ebenso vorgehen wie vorher.
  5. Wenn wir schon einmal dabei sind, können wir die Telefonnummer auch noch schnell aus dem Kunden-Adressbuch nehmen. Hierzu suchen wir die edit.phtml im Template-Verzeichnis. Bei uns app/design/frontend/rwd/default/template/customer/address

    Hier wird dann ebenfalls der für die Telefonnummer relevante Part entfernt.

Dies sollte alles gewesen sein, um diesem Teil der DSGVO zu entsprechen. Ich hoffe es hilft dem einen und anderen.

Ich freue mich über Kommentare und Meinungen zur DSGVO.

Update vom 08.06.2018

Im Rahmen der geforderten Datensparsamkeit geht es auch dem Kontaktformular an den Kragen. „Ist es denn für die Beantwortung einer Frage wirklich wichtig den Namen des Fragenden zu kennen?“ – und damit ist die verpflichtende Angabe des Namensfeldes fraglich. Somit wird von einigen Experten empfohlen das Namensfeld bei der Kontaktaufnahme nur optional und nicht verpflichtend anzuzeigen. Generell übrigens der Hinweis, dass man Pflichtfelder auch deutlich als solche kennzeichnen soll. Für mich übrigens falsch herum ausgedrückt. Das System sorgt schon dafür, dass diese Felder ausgefüllt sind. IMHO ist es viel wichtiger zu kennzeichnen, welche Felder NICHT verpflichtend also optional sind. Somit gibt der Kunde nicht ungewollt Daten ein, die er nicht angeben müsste.

Aber zurück zum Kontaktformular. Welche Felder braucht man also, welche nicht? Das „Name“-Feld sollte also optional sein. Die Angabe einer Website, Faxnummer, Betreff…. usw. ist nur in den seltensten Fällen notwendig, sollte also entfernt sein oder optional. Wie sieht es mit den Kontaktmöglichkeiten aus? Telefon, E-Mail? Dürfen beide ein Pflichtfeld sein? In den meisten Fällen wohl ein klares „NEIN“. Eine Art der Kontaktaufnahme reicht. Nimmt man also das Mail-Feld als Pflichtangabe und Telefon optional, sollte es in Ordnung sein. Möglich wäre sonst vielleicht auch das verpflichtende Feld einfach „E-Mail oder Telefonnummer“ zu nennen und dem Kunden die Wahl zu überlassen wie er kontaktiert werden möchte. Den eingegebenen Wert systemisch zu verifizieren, wird dann natürlich schwieriger.
Fakt ist nun aber, dass Magento die Angabe des Namens im Kontakt-Formular als Pflichtfeld angibt. Dies muss also geändert werden, um optional zu sein. Dazu benötigen wir zwei Änderungen.

  1. Wird die verwendete form.phtml angepasst (bei RWD zum Beispiel im Ordner app/design/frontend/rwd/default/template/contacts). Hier steht ca. in Zeile 41

    Aus dieser Zeile entfernen wir nur „required-entry“.
    Weiterhin wird zwei Zeilen drüber

    noch

    entfernt, so dass nur noch

    übrig bleibt.
  2. Als nächstes öffnen wir die Datei app/code/core/Mage/Contacts/controllers/IndexController.php. Hier wird geprüft, ob die Felder ausgefüllt sind (und teilwese auch wie). Ca. in Zeile 75 steht der Bereich, der für den Namen zuständig ist.

    Dieser wird ersatzlos gestrichen. Leider ist es nicht möglich durch eine Kopie der Ordnerstruktur und der Datei in den „code/local“-Ordner die Kerndatei in Ruhe zu lassen und nur eine Kopie zu erstellen, die die Originaldatei überstimmt. Hierzu müsste ein echter Rewrite erstellt werden und dazu bedarf es optimalerweise einer kleinen Extension.

Nun ist das Feld für den Namen kein Pflichtfeld mehr.

Nun könnte man noch auf die Idee kommen eine Checkbox einzubauen, die der Nutzer anklicken muss als Einverständnis zur Übermittlung der Daten. Natürlich gibt es hier keine klare Rechtsprechung. Ich schließe mich der Meinung an, dass man in der Datenschutzinformation über das Kontaktformular und die Verwendung der Daten informieren muss. Eine Checkbox ist m.E. nicht notwendig. Sind wir mal ehrlich: Kann man in ein Kontaktformular Daten eingeben, auf den „Senden“-Button klicken und dann überrascht sein, dass seine Daten übermittelt werden und dann im schlimmsten Fall sogar jemand antwortet? Jeder halbwegs zurechnungsfähige Mensch, sollte sich also im Klaren darüber sein, dass er durch einen Klick die von ihm eingegebenen Daten übermittelt. An wen und was damit geschieht, kann er dann in den DS-Informationen nachlesen (wenn er denn will).

Wer als Seiten-Betreiber sicher gehen möchte, packt noch einen Hinweis mit Link auf die Kontaktseite. Dies kann man ganz einfach durch Hinzufügen eines Statischen Blocks (siehe HIER) oder durch Hinzufügen des Textes direkt in der Datei machen. Ist die Seite einsprachig reicht zum Beispiel

Arbeitet man multilingual könnte man auch

verwenden und dies dann übersetzen mit der translate.csv oder der allgemeinen Mage_Contacts.csv

So, wieder etwas zur Datensicherheit beigetragen….oder?

Genutzt in Magento Versionen 1.7 – 1.9 Kommentare? Ergänzungen? Hinweise? Gerne!

Published by Covos

Seit 2009 arbeite ich nun intensiv mit Magento. Begonnen habe ich mit der Erstellung und dem Betrieb von B2C-Shops. Ausgeweitet wurde dies durch meine Tätigkeit im Logistik-Sektor. Hieraus entstanden erste spezialisierte B2B-Systeme. Heute arbeite ich tag-täglich mit spannenden B2C- und B2B-Shop-Projekten und berichte in diesem Blog über Herausforderungen und gebe Insider-Tipps.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht.