Das Kleingedruckte von counting beans

Jede Webseite hat ein Impressum mit diversen rechtlich vorgeschriebenen Angaben. Dazu Datenschutzinformationen, Angaben zu Cookies usw. Das könnte man als das "Kleingedruckte" der Webseite beschreiben. Ich möchte es etwas anders machen. Zusätzlich zum Impressum (das ganz unten auf jeder Unterseite verlinkt ist), möchte ich hier eine lesbare Version des Kleingedruckten anbieten.

Also ein Dokument, in dem verständlich beschrieben wird, was formal so im Hintergrund einer Webseite eine Rolle spielt. Ich vermeide hier bewusst das Wort rechtlich, denn ich bin juristischer Laie. Ich möchte also niemanden beraten, sondern den Leserinnen und Lesern möglichst verständliche und transparente Informationen geben.

HTML Basiswissen

Um Datenschutz und Cookies zu verstehen, ist eine Information elementar wichtig: auf welcher Webseite surfe ich eigentlich gerade herum? "Auf counting-beans.de" höre ich Dich sagen, aber bist Du sicher?
Dazu der winzige Schnipsel Basiswissen:
Eine Webseite wird als ein HTML-Code ausgeliefert, den man sich im Webbrowser auch anzeigen lassen kann (bei Google Chrome z.B. mit der Funktion "Seitenquelltext anzeigen" oder STRG-U. Wenn ich auf eine andere Seite verlinken möchte, nutze ich den HTML Code "HREF". Z.B. findet ihr den folgenden Link auf das Bundesministerium für Ernährung und Landwirtschaft im Quellcode als

< a href="https://www.bmel.de" >

Ihr seid also auf www. counting-beans.de, bekommt den Link angezeigt, und wenn ihr den anklickt, kommt ihr zur Seite des BMEL. Daher kommt ja der alte Begriff des Surfens.

Nun zu einem anderen HTML Code. Mit IMG bindet man ein Foto ein, und wenn ich als fiktives Beispiel jetzt den Code ...

< img src="https://www.bmel.de/Bilder/Wichtig/Cem_Oezdemir/Portrait-1.jpg" / >

... in den Quelltext meiner Webseite einfügen würde, erschiene das Bild des Ministers Cem Özdemir hier auf meiner Webseite. In dem Moment würde aber die Anfrage von Dir an die Webseite des Bundesministeriums weitergeleitet werden. Zu meiner Frage "auf welcher Webseite surfe ich eigentlich gerade herum", wäre die Antwort: auf counting-beans.de und gleichzeitig auch auf bmel.de.

Nun ist der Abruf eines Bilds relativ harmlos, aber innerhalb von HTML gibt es noch den Code, der sagt: jetzt kommt ein Script! Ein Script ist ein ausführbares Programm, und das ist in der Regel in der Programmiersprache JavaScript geschrieben.

Wenn ich also ein Script von bmel.de einbinde, führt das dazu, dass das zur Ausführung kommt, wenn jemand counting-beans.de ansurft. Und zwar immer sozusagen live, neu von bmel.de heruntergeladen. D.h. der Webseitenbetreiber (ich) bekommt nicht mal mit, ob sich das Script ändert, was er von einer fremden Seite eingebunden hat. Mit der "fremden Seite" sind wir dann, übersetzt, schon bei "third-parties" und den third-party-cookies. Denn diese dritte Datei, die der Ersteller einer Webseite mit "einlädt", kann Cookies auf dem Rechner der Nutzer speichern.

Gruselig, oder? Nun gibt es ja genau diesen Cookie-Wahnsinn, und damit Cookie-Banner, die dreistellige Anzahlen von Dritten anzeigen und für jeden dieser (typischerweise) Werbefirmen an- und abschalten lässt, ob Cookies erlaubt sind, aber meine Antwort darauf ist viel einfacher und schlanker:
Ich will das alles nicht! Jetzt also dazu, wie es bei mir aussieht.

Externe Parteien

Ich versuche möglichst, ohne die direkte Einbindung fremder Inhalte auszukommen. Das würde z.B. bedeuten, Youtube Videos nicht einzubetten, sondern nur zu verlinken. Das ist ein hoher Anspruch, und mal sehen, ob ich dem gerecht werde, wenn die Webseite wächst.

Stand heute (April 2024) muss ich dieses Prinzip nur durchbrechen, in dem ich ein Bild der Vergütungsgemeinschaft Wort auf manchen Seiten einbinde. Das Bild besteht nur aus einem Pixel, d.h. es geht nicht um das Bild selbst, sondern gerade um den eigentlich unerwünschten Effekt, dass eine dritte Partei mitbekommt, wenn jemand eine Seite ansurft.

VG Wort setzt dann auch ein Cookie, und ich finde das vertretbar, da es sich um einen Verein unter Aufsicht des Deutschen Patent- und Markenamts handelt, dessen Handeln durch ein Gesetz, das Verwertungsgesellschaftengesetz, bestimmt ist

Mit ein wenig Bauchgrummeln - lieber hätte ich es, wenn meine Seite völlig frei von externen Dritten wären. Aber Webseitenbetrieb kostet eben Geld und die VG Wort vergütet ein paar meiner Beiträge.

Transparenz bzgl. Cookies

Neben der oben erwähnten Möglichkeit, den HTML-Code einer Seite anzuzeigen, gibt es noch eine weitere Funktion in heutigen Web-Browsern, die Transparenz herstellen kann, was da so geschieht beim Zugriff auf eine Webseite, nämlich die Entwicklertools. Man findet sie irgendwo im Menü, bei Google Chrome zusätzlich per STRG-Shift-I. Bleiben wir bei Chrome, dann findet sich beim Klick auf "Application" (oberes horizontales Menü) eine Übersicht über wesentliche Bestandteile der Webseite am linken Rand. Insbesondere die Cookies sind dort zu finden.

Zur Demonstration empfehle ich mal, eine kommerzielle Seite, der man (eigentlich) vertraut, zu öffnen. Ich mache das mal für die Süddeutsche Zeitung. Hier werden ca. 140 Werbepartner gelistet, zu denen man sich ansehen kann, welche Daten diese verarbeiten:

Werbepartner Süddeutsche

Übrigens: mit den Pfeiltasten kann man scrollen. Keine Ahnung, ob es Absicht ist, keine Bildlaufleiste anzubieten oder ob noch nie jemand das Bedürfnis hatte, hier ernsthaft Informationen über die Partner anzuschauen.

Hier nun die Cookie-Liste aus den Entwicklertools:

Cookies Süddeutsche Zeitung

Ich will's nicht überstrapazieren, aber ich hatte das oben schon mal gruselig genannt.

Zu Vergleich nun die Cookies dieser Seite, also counting-beans.de. Mit den Entwicklertools kann man also prüfen, ob das zutrifft, was der Seitenbetreiber erklärt bzw. verspricht.

Cookies counting-beans

In der Abbildung sind drei Cookies zu sehen. Fangen wir mal mit dem chronologisch ersten an, dem cookieConsent. Wer die Entstehung nachvollziehen möchte, löscht in den Browsereinstellungen alle Cookies und surft dann die Seite www.counting.beans.de an, bei eingeschalteten Entwickler-Tools. Die Cookie Liste ist dann leer und das Cookie-Zustimmungsbanner erscheint.

Wenn man Akzeptieren klickt, wird das Cookie namens cookieConsent erzeugt. In den Entwicklertools ist oberhalb der Cookie-Auflistung ein Aktualisieren- (Refresh-) Knopf, den drückt man einmal und das Cookie namens cookieConsent erscheint. Wenn man es anklickt, erscheint der Inhalt, nämlich "accepted".

Das Cookie dient ausschließlich dazu, das Einverständnis festzuhalten. Wenn man also in dem Zustand (Cookie ist vorhanden), irgendeine Seite/Unterseite von counting-beans.de ansurft, erfolgt die Cookie-Abfrage nicht nochmals. Wenn man das Cookie löscht (z.B. im Kontextmenü in den Entwicklertools), kommt eben beim nächsten Mal wieder die Abfrage.

Das nächste Cookie ist das csrftoken. Es entsteht, wenn man eine Seite mit Formulareingaben aufruft. Das ist (Stand März 2024) nur der Nutriscore-Rechner. Es handelt sich um ein Sicherheitsfeature, das verhindert, dass sich ein Bösewicht in die Formularübertragung einklinkt. Nun gibt es Schlimmeres, als bei der Nutzung eines Nutriscore-Rechners gehackt zu werden, aber hier werden einfach die normalen Sicherheitsstandards verwendet, die nötig sind, um wirklich schutzbedürftige Eingaben, nämlich personenbezogene Daten, zu schützen. Es handelt sich hier also um ein technisch notwendiges Cookie, während strenggenommen das erste Cookie, also das cookieConsent nur ein Komfort-Cookie ist. Wenn es das Komfort-Cookie nicht gäbe, müsste man jedes mal, wenn man counting-beans.de ansurft (und das macht ja bestimmt jeder / jede von euch mehrfach am Tag), wieder neu sein Einverständnis zu dem technischen Cookie geben.

Schließlich kommt das oben schon angesprochene Cookie der VG Wort ins Spiel. Es taucht unter dem unscheinbaren Namen srp auf, aber in der Spalte Domain ist klar ersichtlich, dass es von der vgwort stammt. Nicht alle Seiten binden das sogenannte Zählpixel ein. Eine, die es tut, ist Mathematische Optimierung von Ernährungsaufgaben mit Solver und Python. (beim Nachvollziehen "Aktualisieren" in der Browser-Liste nicht vergessen).

Der Grund dafür, dass nicht alle Seiten VG Wort-relevant sind, ist, dass ein Text eine gewisse Mindestlänge von 1800 Zeichen enthalten muss, um vergütungsberechtigt zu sein. Wer sich für Details interessiert - das ist alles sehr transparent incl. Höhe der Vergütung auf der Webseite von VG Wort und auf den Webseiten von vielen anderen zu finden.

Schließlich kann man jetzt noch fragen, warum ich so kategorisch die Nutzung der Webseite ohne Cookies ausschließe. In vielen Cookie-Bannern kann man ja zwischen technisch notwendigen und zusätzlichen Cookies z.B. von Werbepartnern unterscheiden. Aber genau diese zusätzlichen verwende ich ja gerade nicht.
Ich will nicht verschweigen, dass zu dem VG Wort Cookie umstritten ist, ob man es als technisch notwendig betrachten kann. Meine Sicht: nein, es ist nicht technisch notwendig, um Texte auf einer Internetseite anzuzeigen. Ja, es ist technisch notwendig, wenn man die Möglichkeiten nach dem oben bereits genannten Verwertungsgesellschaftengesetz nutzen möchte.

Ausblick

Ich gehe davon aus, zukünftig für interaktive Analysen den Dienst Power BI der Firma Microsoft einzusetzen. Dann würden unter der Domäne "app.powerbi.com" weitere Cookies erscheinen (Stand April 2024 sind das vier). Ob ich diese Technik so massiv nutze, dass die Webseite ohne Einverständnis keinen Sinn macht (und ich daher bei meinem Alles-oder-Nichts Einverständnis-Modell bleibe), oder ob ich dazu übergehe, diese Analysen und vor allem den damit verbundenen Zugriff auf die Microsoft-Seite incl. der Cookies separat ein-/ausschaltbar zu machen, kann ich noch nicht sagen.

Marken

In dieser Webseite geht es um Lebensmittel. Die konkreten Produkte sind natürlich heutzutage alles Markennamen. Ich nutze diese Namen, um etwas über das Produkt zu sagen, nicht, um mir den Namen zu eigen zu machen. Ich hoffe, dass die Inhaber der Marken das ebenso sehen und mir keine Anwälte auf den Hals hetzen. Sollte ich eine Marke verletzen, wäre ich natürlich für einen kleinen Hinweis dankbar, so dass ich das Problem ohne weitere Kosten abstellen kann.

Umgekehrt: ich habe counting-beans als eine Marke angemeldet. Auch wenn ich gerade erst mit der Webseite und weiteren Aktivitäten starte und nicht im geringsten weiß, wie sie sich entwickelt, so will ich doch diesen Namen als gesichert wissen.

Wer sich auch dazu ein genaueres Bild machen möchte, kann dazu die Recherchemöglichkeiten beim deutschen Marken- und Patentamt nutzen: DPMA Register für Marken

Wobei ich vorwarnen möchte. Die Sache ist kompliziert, alleine das Zusammenspiel zwischen Marken einzelner Länder und höheren organisatorischen Einheiten (europäische Marken) geht über mein persönliches Verständnis hinaus.

Credits

Ich bewege mich hier im Bereich von Datenanalyse und Webprogrammierung. Und es ist geradezu ein Glücksfall, wie viele Softwarepakete kostenlos, im sogenannten Open-Source-Modell, zur Verfügung stehen. Daher weiß ich fast gar nicht, wo ich anfangen soll, den Schöpferinnen und Schöpfern meinen Dank und ggf. auch die per Lizenzmodell zu recht eingeforderte Anerkennung (sogenannte "Attribution") auszudrücken.

Es geht los mit der Programmiersprache Python. Sie wird durch eine Organisation, der Python Software Foundation, betreut und weiterentwickelt.

Die Programmiersprache Python wäre nichts ohne die Erweiterung durch Bibliotheken, auch "Pakete" genannt. Ich nenne hier nur die wichtigsten, denn jede Bibliothek benutzt wiederum andere Bibliotheken, so dass sich im Endeffekt ein Gewusel von ganz vielen Paketen ansammelt, von denen ich die meisten gar nicht kenne und gar nicht bewusst einsetze.

Die wichtigsten im Bereich der Analyse sind Pandas, Numpy, Scikit-Learn und viele weitere (siehe auch der letzte Teil zum Beitrag "Mathematische Optimierung...").
Für die Erstellung der Webseite gibt es dann ein Framework namens Django, das durch das Paket Wagtail um Content-Management-Funktionen ergänzt wird. (Nebenbei: damit erstellt man kostenfrei eine Webseite, beim Hosting hört dann der kostenfreie Spaß auf).

Basis für beides, also Analysen und Repräsentation der Ergebnisse auf einer Webseite, ist eine Datenbank. Hier nutze ich Postgres, nach eigenen Angaben "The World's Most Advanced Open Source Relational Database". Es geht ja hier um Credits, da sei der kleine Werbespruch erlaubt.

Auch hier gibt's einen kleinen Ausblick, bereits jetzt arbeite ich mich in die öffentlichen Daten, die durch das Projekt Open Food Facts bereitgestellt werden, ein. Irgendwann werden darauf basierende Analysen in diese Webseite Einzug nehmen.

Werbung

Zum Stand April 2024 nutze ich zwei Arten der Monetarisierung der Webseite. Zur ersten, nämlich der Vergütung durch die VG Wort, habe ich weiter oben schon alles Wesentliche gesagt.

Die zweite Methode ist die sogenannte Affiliate-Technik. Ich mache Werbung, z.B. für ein Buch, und leite per Link zu Amazon weiter. Im Link steckt die Kennung meiner Seite. Sollte jemand auf Basis dieser Verlinkung bei Amazon etwas kaufen (nicht nur das verlinkte Buch), wird Amazon mir eine kleine Provision zuschreiben. Auch dieses Verfahren ist völlig transparent, man kann sich bei Amazon den Mechanismus incl. der Provisionen genau anschauen, und wiederum auch bei vielen anderen Webseiten, die sich um Geld-verdienen-im-Internet drehen.

Kleiner selbstkritischer Einwurf: ich kann natürlich leicht mit der völligen Transparenz um die Ecke kommen. Als Mini-Webseitenbetreiber ist man natürlich auf Modelle angewiesen, die komplett im Internet veröffentlicht sind, und ist nicht in der Position, individuelle Verträge mir Agenturen abzuschließen.

Sollte counting-beans mal so groß werden, dass ich mit irgendwelchen Organisationen Verträge direkt schließe, werde ich diese, selbst wenn ich wollte, kaum hier veröffentlichen können, da das wohl kein Vertragspartner erlauben würde.

Zurück zu der Amazon-Werbung: ich nutze nicht die Werbeformen, bei denen beim Abruf der counting-beans-Seite bereits ein Amazon Produktbild oder gar Script eingebunden wird (siehe oben, dann würde eben Amazon gleichzeitig angesurft, was der Nutzer doch gar nicht wollte). Bleibt nach meinem Kenntnisstand nur der einfache Link, der, wie oben geschildert, Amazon erst ins Spiel bringt, wenn man drauf klickt. Dies Links sind schlicht mit dem Wort "Werbung" versehen.

Einerseits zur Verdeutlichung, andererseits als tatsächliche Werbung hier einige solche Amazon-Affiliate Links, die mir also Provision einbringen würden, wenn ein Kauf zustande kommt:

Online-Marketing

Python

Data science mit Python

Django

Wagtail

Postgres

Cookies