Google Fonts und Datenschutz: was extern eingebundene Schriften wirklich bedeuten
Wer Schriften direkt von Google lädt, schickt die IP-Adresse jedes Besuchers in die USA. Wie Sie in fünf Minuten prüfen, ob Ihre Seite betroffen ist, und wie die Umstellung abläuft.
Ein technisches Thema mit rechtlicher Kante. Was beim Laden einer Schrift passiert, wie Sie Ihre eigene Seite prüfen und was die Umstellung praktisch bedeutet.
Schriften sind das Unauffälligste an einer Website. Genau deshalb stehen sie in so vielen Seiten seit Jahren unverändert drin, eingebunden mit zwei Zeilen aus einer Anleitung, die damals überall stand. Ich habe die Zeilen selbst jahrelang benutzt. Auf dieser Seite standen sie bis vor Kurzem auch.
Das Problem ist nicht die Schrift. Es ist der Weg, den sie nimmt.
Was beim Laden einer Schrift passiert
Wenn eine Seite eine Schrift von Google einbindet, steht im Kopf der Seite ein Verweis auf fonts.googleapis.com. Der Browser des Besuchers ruft diese Adresse auf, bekommt eine CSS-Datei zurück, und lädt daraufhin die eigentlichen Schriftdateien von fonts.gstatic.com.
Jeder dieser Aufrufe ist eine Verbindung vom Rechner Ihres Besuchers zu einem Server von Google. Und jede Verbindung im Internet trägt zwangsläufig die IP-Adresse mit, sonst käme keine Antwort zurück. Die IP-Adresse gilt in Europa als personenbezogenes Datum.
Der Besucher merkt davon nichts. Er sieht nur, dass die Überschrift in der richtigen Schrift steht. Passiert ist trotzdem etwas: eine Übermittlung an einen Dritten, ausgelöst allein durch den Aufruf Ihrer Seite, ohne dass jemand gefragt wurde.
Das Landgericht München I hat dazu im Januar 2022 entschieden (Az. 3 O 17493/20) und einem Kläger Schadenersatz zugesprochen, weil eine Website Google Fonts dynamisch eingebunden hatte. Das Urteil betraf einen Einzelfall und war umstritten. Es hat aber eine Welle von Abmahnschreiben ausgelöst, die viele Seitenbetreiber erreicht hat.
Ich bin kein Jurist und gebe hier keine Rechtsberatung. Was ich sagen kann, ist das Technische: Die Übermittlung findet statt, sie ist nachweisbar, und sie ist vermeidbar.
In fünf Minuten prüfen, ob Ihre Seite betroffen ist
Sie brauchen dafür kein Werkzeug und keinen Dienstleister. Drei Wege, vom einfachsten zum genauesten.
Weg 1: In den Quelltext schauen. Öffnen Sie Ihre Seite im Browser und drücken Sie Strg+U (Mac: Cmd+Alt+U). Dann Strg+F und nach fonts.googleapis suchen. Ein Treffer genügt. Suchen Sie zusätzlich nach gstatic.
Weg 2: Den Netzwerk-Mitschnitt ansehen. F12 drücken, Reiter „Netzwerk”, Seite neu laden, ins Filterfeld google eintippen. Was dort auftaucht, hat Ihr Browser tatsächlich abgerufen. Das ist der ehrlichste Test, weil er auch findet, was über Umwege eingebunden ist.
Weg 3: Die eingebundenen CSS-Dateien prüfen. Manchmal steht der Verweis nicht in der Seite selbst, sondern in einer Stildatei des Themes oder eines Plugins, als @import. Weg 2 findet das, Weg 1 nicht.
Prüfen Sie mehr als die Startseite. Erfahrungsgemäß hängen die Verweise an einzelnen Vorlagen: eine Landingpage, ein Formular-Plugin, eine alte Unterseite, die sonst niemand mehr aufruft.
Schriften sind selten der einzige Fall
Dieselbe Mechanik greift bei allem, was eine Seite von fremden Servern nachlädt, ohne zu fragen: eingebettete Karten, Videoplayer, Spam-Schutz-Widgets, Analyse-Skripte, Symbol-Bibliotheken von einem CDN.
Manches davon lässt sich genauso lokal ausliefern wie Schriften. Anderes, etwa ein Kartendienst, braucht zwingend die Verbindung zum Anbieter und gehört deshalb hinter eine Einwilligung, statt einfach mitzuladen. Wenn Sie schon einmal im Netzwerk-Mitschnitt sind, filtern Sie nicht nur nach google, sondern schauen Sie sich die gesamte Liste der fremden Adressen an. Meistens sind es weniger, als man befürchtet, aber mehr als man dachte.
Wie die Umstellung abläuft
Fünf Schritte. Der Aufwand liegt bei einer typischen Unternehmensseite im Bereich eines halben Tages, nicht eines Projekts.
1. Bestandsaufnahme. Welche Schriftfamilien werden geladen, in welchen Schnitten, in welchen Zeichensätzen? Die Antwort steht in der CSS-Datei, die Google ausliefert. Sie ist der Bauplan für alles Weitere.
2. Die richtigen Dateien holen. Wichtig: nicht irgendeine Fassung der Schrift herunterladen, sondern genau die Dateien, die Google für Ihre bisherige Anfrage ausgeliefert hat. Google schneidet Schriften auf die angefragten Achsen und Zeichensätze zu. Eine selbst gebaute Fassung sieht sonst anders aus.
3. Die Einbindung selbst schreiben. Die Schriftdateien kommen in einen eigenen Ordner auf Ihrem Server, dazu @font-face-Regeln mit denselben unicode-range-Angaben, die Google verwendet hat. Die sorgen dafür, dass der Browser nur den Zeichensatz lädt, den er wirklich braucht. font-display: swap gehört dazu, sonst bleibt Text beim Laden unsichtbar.
4. Alle Verweise entfernen. Nicht nur die Stylesheet-Zeile, sondern auch preconnect und dns-prefetch auf die Google-Adressen. Die stehen oft zwei Zeilen darüber und werden gern übersehen.
5. Nachmessen. Netzwerk-Mitschnitt über mehrere Seiten, nicht nur die Startseite. Erst wenn dort keine Google-Adresse mehr auftaucht, ist die Umstellung fertig.
Zur Lizenz: die verbreiteten Schriften aus dem Google-Verzeichnis stehen unter der SIL Open Font License und dürfen selbst gehostet werden. Legen Sie die Lizenzdatei mit zu den Schriftdateien.
Zwei Fallen, die ich selbst getroffen habe
Als ich diese Website umgestellt habe, bin ich in zwei Dinge gelaufen, die in keiner Anleitung standen.
Die Datei ist nicht die Originaldatei. Google liefert für jede Anfrage eine zugeschnittene Fassung aus. Wer stattdessen die volle Schrift vom Hersteller nimmt und neu zuschneidet, bekommt eine Datei, die technisch dieselbe Schrift ist, aber nicht dasselbe Ergebnis liefert. Ich habe deshalb exakt die Dateien geholt, die bisher ausgeliefert wurden, und danach Seite für Seite pixelweise verglichen.
Gewichte verhalten sich anders, als man denkt. Bietet Google eine Schrift nur in 400, 600 und 800 an, das eigene CSS setzt aber 700, dann wählt der Browser nach seinen Regeln den nächsthöheren vorhandenen Schnitt, also 800. Deklariert man beim Umstellen einen durchgehenden Bereich von 200 bis 800, rendert derselbe Text plötzlich echte 700 und wird schmaler. Auf einer Seite ist mir dadurch jede Zwischenüberschrift um rund anderthalb Prozent zusammengerückt, bis ich die Gewichte einzeln festgenagelt habe.
Beides sind Kleinigkeiten. Beides fällt aber auf, wenn man vorher und nachher nebeneinanderlegt, und genau das sollte man tun.
Was es nebenbei bringt
Der Datenschutz ist der Anlass, das Tempo ist die Zugabe. Ein externer Anbieter bedeutet für den Browser: neue Verbindung aufbauen, Verschlüsselung aushandeln, CSS holen, darin die Schriftadresse lesen, nächste Verbindung aufbauen. Das kostet Zeit, bevor der erste Buchstabe steht.
Auf dieser Website habe ich vorher und nachher unter denselben Bedingungen gemessen, mobil und mit gedrosselter Verbindung. Der Wert für den größten sichtbaren Inhalt ging von rund 1.470 auf rund 1.300 Millisekunden zurück, das Layout-Zittern halbierte sich, und die Messung wurde deutlich stabiler: vorher gab es Ausreißer über vier Sekunden, danach lagen alle Durchläufe innerhalb weniger Millisekunden beieinander. Über sieben geprüfte Seiten fielen 22 Aufrufe an Google-Server auf null.
Das sind Zahlen von genau einer Seite, meiner eigenen. Auf Ihrer werden sie anders aussehen. Die Richtung ist aber dieselbe, weil die Ursache dieselbe ist.
Wann Sie jemanden fragen sollten
Ob und in welchem Umfang die rechtlichen Anforderungen auf Ihren konkreten Fall zutreffen, kann ich Ihnen nicht sagen, und niemand sollte es Ihnen ungefragt zusichern. Wenn Sie ein Abmahnschreiben erhalten haben oder unsicher sind, wie Sie Ihre Seite datenschutzrechtlich einordnen müssen, sprechen Sie mit einer Anwältin oder einem Anwalt für IT-Recht. Das ist kein Ausweichen, das ist der Unterschied zwischen einer technischen und einer juristischen Frage.
Was ich beitragen kann, ist die technische Seite: prüfen, umstellen, nachmessen, das Schriftbild dabei unverändert lassen.
Wie ich es halte
Auf allen Seiten, die ich baue, werden Schriften self-hosted ausgeliefert. Nicht als Zusatzleistung, sondern als Voreinstellung, weil der Mehraufwand einmalig ist und der Unterschied bleibt. Was sonst noch zum Umfang gehört und was laufende Pflege kostet, steht auf der Preisseite. Bei einer bestehenden Seite gehört so eine Umstellung sinnvollerweise in die Wartung und nicht in ein Einzelprojekt.
Wenn Sie wissen wollen, was auf Ihrer Seite tatsächlich nachgeladen wird, schauen Sie einmal selbst in den Netzwerk-Mitschnitt. Das kostet fünf Minuten und beantwortet die Frage schon zur Hälfte. Und wenn Sie danach jemanden brauchen, der es umstellt und das Ergebnis nachweist: Kostenlosen Entwurf anfragen oder kurz einen Termin buchen, 15 Minuten reichen für eine ehrliche Einschätzung.