Google Fonts DSGVO-Konform auf dem eigenen Webserver nutzen

Warum ist Google Webfonts eigentlich nicht DSGVO-konform?

Bei der Nutzung von Typografie-Anbietern wie Adobe Typekit, Google Fonts o.ä. werden die Schriften für jeden Webbesucher von den Servern des jeweiligen Betreibers geladen. Damit diese Schriftarten geladen werden, wird jedoch von jedem einzelnen Nutzer auch eine Anfrage an den jeweiligen Dienst gerichtet. Das bedeutet, dass personenbezogene Daten durch die Nutzung der eigenen Webseite einen Dritten weitergegeben werden und das ohne Einverständnis des Benutzers der Webseite.

Mit dem entsprechenden Anbieter kann ich in der Regel auch keinen Vertrag zur Auftragsdatenverarbeitung (kurz ADV) schließen, sodass ich den rechtmäßigen Gebrauch der Daten nicht kontrollieren kann. Das führt zu einer rechtlichen Grauzone, in der man sich hier bewegt, weshalb man hier ggf. handeln möchte.

Im juristen-Deutsch heißt es: „Die Einbindung von Drittanbieter-Tools und Plugins ist mit datenschutzrechtlichen Risiken und rechtlichen Unsicherheiten verbunden, wenn diese ungefragt personenbezogene Daten von Website-Besuchern speichern/ übertragen.“. Bei Google Fonts im speziellen: „Ein bloßer Hinweis in der Datenschutzerklärung ist aus Sicht vieler Datenschutzbehörden und Gerichte in diesen Fällen dann nicht ausreichend. Prüfen Sie bitte, ob und unter welchen Voraussetzungen die von Ihnen eingesetzten Tools und sonstigen Funktionen datenschutzkonform einsetzbar sind. Viele Anbieter bieten DSGVO-konforme Lösungen für die Datenverarbeitung in der EU an. Fragen Sie bitte dazu bei dem betreffenden Anbieter an. Wenn der Anbieter keine datenschutzkonforme Lösung ermöglicht, müssen Sie eine ausdrückliche Einwilligung der Nutzer einholen. Andernfalls drohen Abmahnungen und Bußgelder.“. Da Google Fonts hier keine Lösung anbietet und man vermutlich auch keine Einwilligung hierüber hat (Ein Hinweis à la „Es werden Cookies eingesetzt…“, der im Nachgang angezeigt wird, zählt nicht als Einwilligung.).

Google Webfonts DSGVO-konform einbinden

Da die Einbindung wie oben erklärt nicht zweifelsfrei rechtskonform ist, ist eine Einbindung über die Google Server nicht rechtssicher möglich. Somit müssen die Schriften auf dem Webserver der Webseite gehostet werden, damit die Daten DSGVO-konform genutzt werden können.

Bisher wurden Schriftarten ungefähr wie folgt eingebunden:

<link href="https://fonts.googleapis.com/css?family=Roboto" rel="stylesheet">


Dieser CSS-Stylesheet hat hier in der Regel einen zusätzlichen Stylesheet für die einzelnen Schriftarten eingebunden, der wie folgt aussah:

@font-face {<br>
  font-family: 'Roboto';<br>
  font-style: normal;<br>
  font-weight: 400;<br>
  src: local('Roboto'), local('Roboto-Regular'), url(https://fonts.gstatic.com/s/roboto/v18/KFOmCnqEu92Fr1Mu4mxKKTU1Kg.woff2) format('woff2');<br>
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;<br>
}

So werden schon mal an zwei Datenquellen informationen gesendet, bei dem man nicht sagen, kann, was mit den Daten passiert:

  • fonts.googleapis.com
  • fonts.gstatic.com

Natürlich könnte man nun alle Schriftarten hier einzeln herunterladen und einzeln wieder neu einbinden. Bei 2-3 Webfonts mit je 3-4 Schnitten hat man so aber schnell 10 Schriften zusammen und man ist doch einige Minuten beschäftigt. Einen Arbeitshelfer hat hier Mario Ranftl geschrieben, mit dem man die Schriftarten auch noch schön gepackt bekommt und die CSS-Pfade auch schon direkt vorbereitet hat:

  1. Schriftart auswählen / suchen
  2. Zeichensatz auswählen (Select charsets)
  3. Schriftstil auswählen
  4. CSS-Code kopieren und in die eigenen CSS-Styles einfügen
  5. Dateien herunterladen und am gewünschten Ordner des Webservers bereitstellen.

Der ganze Prozess dauert so kaum 10 Minuten für alle Schriftarten auf einer Seite. Netter Nebeneffekt es müssen zwei DNS-Auflösungen weniger gemacht werden (min. 2 ms Ladezeit) und es wird eine CSS-Datei weniger eingebunden, was den gesamten Ladeprozess verkürzt (nominal min. 10 ms, da die Schriftarten i.d.R. auf dem kritischen Pfad des CSS liegen).