Schriftarten selbst ausliefern
Eine Zeile, eine Übermittlung
Web-Schriftarten werden üblicherweise per Verweis auf den Server eines Anbieters eingebunden. Das ist eine Zeile im Kopf des Dokuments — und mit ihr fordert der Browser jedes Besuchers die Schriftdatei dort an. Bei dieser Anfrage übermittelt er zwangsläufig die IP-Adresse des Geräts, die Adresse der aufgerufenen Seite und Angaben zum Browser. Der Seitenbetreiber sieht davon nichts. Die Übermittlung geschieht im Browser, noch während die Seite aufgebaut wird, und ein Einwilligungsbanner kommt dafür zu spät: Sie ist bereits gelaufen, wenn der Banner erscheint.
Das Urteil
Das Landgericht München I hat mit Urteil vom 20.01.2022 (Az. 3 O 17493/20) entschieden, dass die dynamische Einbindung von Google Fonts und die dabei erfolgende Übermittlung der IP-Adresse in die USA ohne Einwilligung das allgemeine Persönlichkeitsrecht verletzt. Es sprach dem Kläger einen Schadensersatz zu.
Das Urteil ist eine erstinstanzliche Entscheidung und bindet keine anderen Gerichte. Wirkung entfaltete es trotzdem — als Vorlage für eine Abmahnwelle, die im selben Jahr eine große Zahl von Seitenbetreibern erreichte. Wer eine fremde Schriftart einbindet, verhandelt seither nicht mehr nur über Typografie.
Die Bauentscheidung
Diese Seite lädt keine Schriftart von einem fremden Server. Die Dateien liegen dort, wo die Seite selbst liegt, und werden von dort ausgeliefert. Es gibt keine Anfrage an einen Schriftanbieter, also auch keine IP-Adresse, die dort ankäme, und folglich nichts, worin eingewilligt werden könnte.
Das kostet nichts. Selbst ausgelieferte Schriften brauchen keine Verbindung zu einem zweiten Server, laden dadurch eher schneller als langsamer, und sie fallen nicht aus, wenn dieser zweite Server ausfällt.
Warum das geprüft wird statt behauptet
Eine Zusage über Ressourcen, die eine Seite nachlädt, veraltet still: Es genügt eine eingefügte Komponente, die ihre Schrift mitbringt, und die Zusage stimmt nicht mehr — ohne dass jemand es merkt. Der Build dieser Seite prüft deshalb nach jeder Änderung die fertig gebaute Ausgabe darauf, dass keine Ressource von einem fremden Host angefordert wird. Schlägt die Prüfung an, entsteht kein auslieferbarer Stand.
Das ist der Unterschied zwischen einer Datenschutz-Zusage und einer Bauweise: Die eine steht in einem Text, die andere in einer Bedingung, an der ein Deploy scheitert.