Beitrag wurde zuletzt am aktualisiert

Piwik datenschutzkonform einsetzen

Piwik Besucherstatistik

Was jagt nicht das Thema Datenschutz und Webanalyse seit 2010 durch die Blogs und die Medien. Da gibt es Begriffe wie der Düsseldorfer Kreis und Landesdatenschutzbeauftragte, die beide auch Unwort des Jahres hätten werden können. Google Analytics wird zur schrecklichsten Plage im Internet erklärt und selbst die Namen einiger Datenschützer aus der ersten Reihe hat man plötzlich zumindest schon mal gehört. Aber es soll in diesem Beitrag nicht um das Für und Wider beim Thema Datenschutz und Webstatistik gehen, sondern darum, wie man die OpenSource-Software Piwik datenschutzkonform einsetzt.

Sicher hätte ich zuvor einen Beitrag zur Installation und zum Datenschutz selbst schreiben sollen, doch dafür gibt es noch keine amtliche Vorschrift und deshalb mache ich das hier etwas anders. Ich möchte an dieser Stelle darauf hinweisen, dass es sich bei diesem Beitrag nicht um eine vom Datenschutz zertifizierte Webanalyse handelt. Außerdem sind sich die Landesdatenschützer teilweise uneinig, ebenso deutsche Gerichte und die europäischen Gesetze sehen den Datenschutz noch einmal anders. Im Zweifelsfall mit einem Fachanwalt Kontakt aufnehmen!

Die folgende Punkte möchte ich in diesem Artikel beschreiben

Wie lässt sich eine IP-Anonymisierung einrichten?

Im Piwik-Administrationsbereich muss vom Administrator unter Einstellungen / Plugins die Erweiterung AnonymizeIP aktiviert werden. Das Plugin wird in der Standardinstallation bereits mitgeliefert. In der Konfigurationsdatei unter /config/global.ini.php lässt sich die Anzahl der zu anonymisierenden IP-Oktette festlegen. Ohne Anpassung dieses Wertes wird das letzte Oketett einer Besucher-IP-Adresse durch eine 0 ersetzt und somit gekürzt gespeichert. Da eine IPv4-Adresse aus 4 Oktetten (z.B. 192.168.100.55) besteht, gibt es 5 mögliche Werte für diesen Parameter. So ist die 0 (die IP wird gar nicht gekürzt), über 1 (es wird das letzte Oktett entfernt) bis 4 (die IP wird vollständig anonymisiert) konfigurierbar. Ich habe hier bei www.redirect301.de eine vollständige Ersetzung der IP eingestellt.

ip_address_mask_length = 4

Um sich bei Updates von Piwik nicht die Einstellungen jedes Mal zu überschreiben, empfehle ich die Einstellung in der /config/config.ini.php vorzunehmen. Hierfür einfach am Ende die folgenden beiden Zeilen einfügen:

[Tracker]
ip_address_pre_mask_length = 4

Somit ist es egal was in der global.ini.php steht. Die config.ini.php überschreibt die dortigen Werte.

Auch mit diesen Einstellungen werden die Herkunftsländer der Besucher erfasst und da ich keine weitere Verwendung für eine vollständige, gekürzte oder eben nicht vorhandene IP-Adresse in meiner Piwik-Datenbank habe, kann ich auf diesen Wert pauschal verzichten.

Wie lässt sich die IP-Anonymisierung überprüfen?

Ganz einfach: in der Datenbank! Hierzu in der Tabelle log_visit die Spalte location_ip ansehen (z.B. im phpMyAdmin). Dazu die neusten Eintragungen ausgeben lassen

SELECT idvisit, location_ip
FROM `log_visit`
ORDER BY `log_visit`.`idvisit` DESC
LIMIT 0 , 30 

und wenn die Werte in location_ip hier nur noch \0\0\0\0 anzeigen, dann werden die IPs vollständig anonymisiert.

Iframe für OptOut in die Webseite einbinden

Piwik stellt eine Widerspruchsmöglichkeit bereit, die in Form eines Iframes in die eigene Webseite oder in einen Blog eingebaut werden kann. Bei WordPress oder einem anderen System, das einen Editor zur Inhaltspflege bietet, kann der Iframe-Baustein per Kopieren und Einfügen übernommen werden. Das Einfügen des HTML-Codes muss im HTML-Modus/ HTML-Ansicht des Editors erfolgen. Ich denke jeder hat (oder sollte dies nun nachholen) einen Beitrag Datenschutz oder Privacy. Hier an der gewünschten Stelle den HTML-Code, der im Piwik-Administrationsbereich unter Einstellungen / Allgemeine Einstellungen hinterlegten ist, einbinden.

Die Werte für Höhe und Breite des Iframes lassen sich natürlich verändern. Voreingestellt ist eine Breite von 600 Pixel und eine Höhe von 200 Pixel. Um die Hinweistexte in deutscher Sprache ausgegeben zu bekommen, muss noch der Parameter &lang=de an die URL angehangen werden.

<iframe frameborder="no" width="600" height="200" src="http://analytics.weihmann.de/index.php?module=CoreAdminHome&action=optOut&lang=de"></iframe>

Ausführliche Informationen zum OptOut-Iframe von Piwik habe ich in einen separaten Artikel hier auf www.redirect301.de veröffentlicht.

Deutschsprachige Piwik OptOut-Erklärung

Wenn man Iframe eingebunden hat erscheinen die Hinweistexte weiter in englisch, obwohl der Parameter &lang=de an die URL angehangen wurde. Der Grund hierfür ist das derzeitige (Piwik 1.2) Fehlen einer Übersetzung. Diese lässt sich schnell und unproblematisch nachholen.

In der Piwik-Installation gibt es unter /lang die PHP-Datei de.php. Diese mit einem Text-Editor (zur Not reicht der Windows-Editor) öffnen und die folgenden Zeilen vor dem schließenden PHP-Array ); einfügen:

'CoreAdminHome_OptOutComplete' => 'Es wurde ein <a title="Link zum Wikipedia-Artikel" href="http://de.wikipedia.org/wiki/Web_Analytics#Cookies">Cookie</a> gesetzt, mit dem Ihre Besuche mit diesem Browser auf dieser Webseite nicht statistisch erfasst werden.',
'CoreAdminHome_OptOutCompleteBis' => 'Wenn Sie das Cookie (Opt-Out Cookie) löschen, den Computer wechseln, oder einen anderen Browser benutzen, müssen Sie dieses Cookie erneut setzen, um der Speicherung Ihrer Besuche und Aktionen auf dieser Webseite zu widersprechen.',
'CoreAdminHome_YouMayOptOut' => 'Ihre Besuche und Aktionen auf dieser Webseite werden statistisch erfasst, anonym gespeichert und dienen der inhaltlichen Bedarfsermittlung.',
'CoreAdminHome_YouMayOptOutBis' => 'Wenn Sie der Speicherung und Zählung Ihrer Besuche widersprechen möchten, entfernen Sie bitte das untere Häkchen. Dabei wird ein <a title="Link zum Wikipedia-Artikel" href="http://de.wikipedia.org/wiki/Web_Analytics#Cookies">Cookie</a> auf Ihrem PC gespeichert. Mit dieser Textdatei geben Sie unserer Software zu erkennen, keine weiteren Besuche und Aktionen von Ihnen mehr zu zählen und zu speichern.',
'CoreAdminHome_YouAreOptedIn' => 'Besuche und Aktionen auf unserer Webseite werden anonym gespeichert',
'CoreAdminHome_YouAreOptedOut' => 'Besuche und Aktionen auf unserer Webseite werden nicht gespeichert',

Den Text kann man sich an seine Gegebenheiten anpassen, erweitern, kürzen oder komplett umschreiben. Ich habe diesen so weitgehend aus dem Piwik-Forum übernommen und mit Links zur Wikipedia erweitert. Sicherlich werde ich diesen auch noch einmal überarbeiten und dann natürlich hier sowie in meiner eigenen Datenschutzerklärung veröffentlichen.

Verringerung der Cookie-Lebensdauer

Piwik speichert einen Cookie, der zur Erkennung wiederkehrender Besucher genutzt wird. Standardmäßig ist die Lebensdauer dieses Cookies auf 2 Jahre eingestellt, was natürlich vom ULD (Unabhängiges Landeszentrum für Datenschutz Schleswig-Holstein) als viel zu lang eingestuft wurde. Das ULD empfiehlt in ihrer Veröffentlichung Hinweise und Empfehlungen zur Analyse von Internet-Angeboten mit Piwik die Lebensdauer für einen Tracking-Cookie von einer Woche nicht zu überschreiten. Klingt für mich nach einem gewürfelten Wert und ich habe mich für eine Lebensdauer von 0 Sekunden entschieden; in einem Beispiel der ULD wurden 7200 (also 2 Stunden) verwendet. Piwik wird trotzdem anhand heuristischer Methoden versuchen einen wiederkehrenden Besucher zu erkennen.
Diese Einstellung wird unter /config/config.ini.php vorgenommen. Eine Zeitangabe erfolgt in Sekunden. Die Einstellungen aus der global.ini.php, in diesem Fall, cookie_expire = 63072000, werden dabei überschrieben.

[Tracker]
cookie_expire = 0

Update vom 20.09.2011: Seit der Piwik-Version 1.2 werden anstatt 3rd Party Cookies 1st Party Cookies eingesetzt. Dadurch ändert sich einiges beim Setzen der Cookies bzw. deren Gültigkeit. Wie man die Cookies bei Piwik in den Griff bekommt, steht im Artikel Piwik und die Lebensdauer der Cookies hier auf redirect301.de.

Anpassungen am Piwik-Template für das OptOut-Iframe

Das optOut.tpl – die Template-Datei für das OptOut-Iframe – liegt unter /plugins/CoreAdminHome/templates. Da die Inhalte nicht weiter formatiert sind, habe ich diese per CSS-Datei meinem Layout angepasst. Weiterhin habe ich das Indexieren dieses Frames für Suchmaschinen unterbunden.

<html>
  <head>
    <meta name="robots" content="noindex, nofollow">
    <link href="http://url-und-pfad-zur-css-datei.css" rel="stylesheet" type="text/css">
  </head>
  <body>
  ...
</html>

Zwei Zeilen für die robots.txt

Um den Suchmaschinen-Crawlern zu signalisieren, dass es hier keine indexierbaren Inhalte gibt, ist noch die robots.txt anzupassen. Auch eine zusätzliche Passwortabfrage mit htpasswd oder dem sichereren htdigest ist schnell erledigt und sorgt für zusätzlichen Schutz vor ungebetenen „Gästen“.

User-agent: *
Disallow: /

Weiterführende Links

21 Kommentare zu "Piwik datenschutzkonform einsetzen"

  1. Guter Artikel :)

    Die Idee, Links zur Wikipedia in die OptOut-Erklärung zu setzten, werde ich bei mir auch umsetzen.

    Ein kleiner Fehler ist mir im Artikel aber aufgefallen:

    „gibt es auch 4 mögliche Werte für diesen Parameter“

    0 bis 4 sind 5 Werte :-)

  2. Danke @Cujo. Klar, 4 Oktette – also die Werte 1 bis 4 für jeweils ein IP-Netz und die 0 für „da kann ich den Parameter auch weg lassen, da nicht anonymisiert wird“.

    D.h.:
    ip_address_mask_length = 0 # 192.168.100.55
    ip_address_mask_length = 1 # 192.168.100.0
    ip_address_mask_length = 2 # 192.168.0.0
    ip_address_mask_length = 3 # 192.0.0.0
    ip_address_mask_length = 4 # 0.0.0.0

    Der Wert für „location_ip“ in der Datenbank-Tabelle „log_visit“ hat bei mir also immer den Wert 0.

  3. Hallo Daniel,

    ich bin Anfänger im Bereich Piwik. Vielen Dank für Deine hilfreichen Erläuterungen.
    Beim Thema Verringerung der Cookie-Lebensdauer kann ich allerdings Deine Beschreibung nicht wirklich verstehen; Ich nutze die Vers. 1.3 und kann unter /config/cookie_expire diese Datei nicht finden. Seh´ ich den Wald vor lauter Bäumen nicht?
    Gruß
    Ralf

    • Stimmt, so macht’s keinen Sinn (ist im Artikel geändert)!
      Die Anpassung muss unter /config/config.ini.php erfolgen. Hier den Wert

      [Tracker]
      cookie_expire = 0

      hinzufügen bzw. abändern.

  4. Hallo Daniel,
    danke für Deine rasche Antwort.
    Ein [Tracker] ist nach Installation nicht enthalten.

    An welcher Stelle füge ich
    [Tracker]
    cookie_expire = 0
    ein?

    Gruß
    Ralf

  5. Hallo,

    danke für die hilfreichen Ausführungen!

    Allerdings lässt sich unter dem IE (7,8,9) in Deinen Datenschutzbestimmungen den Haken für das „nicht erfassen“ nicht entfernen. Es wird darauf hin immer wieder auf den Textblock gesprungen, wo darauf hingewiesen wird, dass anonym erfasst wird. Unter den anderen Browsern geht das?

    Hat vielleicht jemand eine Erklärung wie das ganze auch unter dem IE funktioniert?

    VG

  6. Woran könnte es liegen, dass ich mein Cookie nicht beeinflussen kann. In der config.ini.php sieht eindeutig „cookie_expire = 7200“ . Das ausgelieferte Cookie bleibt aber trotzdem auf 2 Jahre Dauer stehen. Es wurde auch versucht in der global.ini.php den Eintrag zu ändern… gleicher Fehler. Das Cookie bleibt auf 2 Jahre stehen.

    Gibts dazu irgendwelche Erkenntnisse?

    • Auch mir ist dieses Problem vor kurzem aufgefallen, habe aber bisher leider im Piwik-Forum noch keine Antwort bekommen. Seit wann die Cookies nicht auf die Konfiguration reagieren weiß ich nicht; ich habe dies leider nicht nach jedem Update kontrolliert.

      • Das Tracking Tag muss dazu angepasst werden.

        Dazu ÜBER der Zeile…

        piwikTracker.trackPageView();

        …folgende Zwilen einfügen (für ein 7 Tage Cookie)

        piwikTracker.setVisitorCookieTimeout(‚604800‘);
        piwikTracker.setSessionCookieTimeout(‚0‘);

  7. Hallo, Daniel.
    Ich bedanke mich auch mal für die Ausführungen. Ich hatte Piwik über Cujo´s webmaster-zentrale für mich entdeckt und die Anonymisierung auch eingerichtet.
    Die Cookie Lebensdauer von 2 Jahren ist tatsächlich etwas lang. :)
    Danke auch für den Hinweis mit der .htaccess und natürlich für das Update wie man die Cookielebensdauer auf ein vertretbares Maß reduzieren kann.
    Gruß, Max

  8. Was ist mit dem Punkt „3.3 Referrer datensparsam verwenden“ aus dem .pdf des ULD zur datenschutzkonformen Nutzung von Piwik? (https://www.datenschutzzentrum.de/tracking/piwik/20110315-webanalyse-piwik.pdf)

    Um auf der sicheren Seite zu sein, muss man das PlugIn, das die Referrer auswertet, in Piwik abschalten. Aber dadurch gehen wertvolle Daten, wie verweisende Suchmaschine, verweisende Websites, verwendete Keywords etc. verloren.

    Wie unsicher muss man sich sein, wenn man dieses PlugIn nicht ausgeschaltet hat? Unter welchen Umständen kann man da Probleme bekommen?

  9. Und was ist mit dem iframe mit der Widerspruchsmöglichkeit? Das ULD empfiehlt die Platzierung dieses iframes in der Datenschutzerklärung UND beim Erstaufruf einer Website. Aber als ich auf diese Seite gekommen bin, hab ich keine Möglichkeit gesehen, dem zu widersprechen.

    Welche Gefahren bestehen hier? Muss man das umsetzen? Was, wenn man es nicht tut?

    • Seit ein paar Tagen ist auch GoogleAnalytics nicht mehr „böse“! Hierzu wurden im Netz auch noch einmal reihenweise Infos veröffentlicht; auch von offiziellen Seiten wie datenschutz-hamburg.de Die Widerspruchsmöglichkeit reicht sicherlich in einer Datenschutzerklärung völlig aus … Deine Fragen kann aber sicher nur ein Datenschutzbeauftragter korrekt beantworten oder besser ein Anwalt – zu beiden Berufsgruppen gehöre ich nicht.

  10. Vielen Dank! Hatte mir einen Wolf gesucht wie ich den iFrame Inhalt formatieren kann.

  11. Es besteht noch die Möglichkeit über den JavaScript-Code `piwikTracker.setDoNotTrack(true);` alle Benutzer vom Tracking auszuschließen, die das von Mozilla vorgeschlagene Do-Not-Track-Feature benutzen (siehe http://dnt.mozilla.org/ und http://piwik.org/docs/javascript-tracking/ (nach „setDoNotTrack“ suchen)). Vielleicht solltest du dies noch im Artikel erwähnen.

    Habe gerade in deiner Datenschutzerklärung gelesen, dass du Google Analytics verwendest. Wieso eigentlich? Dadurch machst du doch deine Anstrengungen zu Nichte, mit Piwik eine datenschutzkonforme Auswertung der Zugriffsstatistik zu bekommen…

    • Vielen Dank für deinen hilfreichen Kommentar. Das Do-Not-Track-Feature hatte ich bisher überhaupt noch nicht auf dem Plan, was ich schnellstens nachholen werde.

      Ich gehöre mit Sicherheit nicht zu den großen Datenschutz-Aposteln und arbeite mit Piwik überwiegend im beruflichen Teil meines Web-Lebens. Bei redirect301.de handelt es sich um meinen privaten Blog, in dem ich auch gern ein wenig herum probiere oder bestimmte Dinge teste. Seit längerem lassen ich Piwik und GoogleAnalytics (beide nach derzeit aktuellen Datenschutzbestimmungen eingebaut) parallel laufen. Ich vor einiger Zeit schon geplant, diese beiden Statistik-Tools miteinander in einem Artikel zu vergleichen. Ich kam bisher einfach noch nicht dazu …

      Auch wenn ich ein großer Anhänger von Piwik bin, bietet mir GoogleAnalytics eine ganze Reihe an Vorteilen, die ich zumindest für diesen Webauftritt nur ungern missen möchte. Es ist also gut möglich, dass auf redirect301.de GA im Einsatz bleiben wird.

  12. Gute Anleitung, jedenfalls besser als die riesen pdf des ULG!

Hinterlasse einen Kommentar

E-Mail Adresse wird nicht veröffentlicht.