Nachweis der technischen Maßnahmen zum Schutz personenbezogener Daten bei der Nutzung von KI Assistenten (LibreChat) im Landesbetrieb Bildungsbau Hamburg
Diese Dokumentation beschreibt die technischen Vorkehrungen, die getroffen wurden, damit keine personenbezogenen Daten (Namen, Adressen, Krankenkassennummern, IBANs etc.) unbemerkt an externe KI Anbieter im Ausland übermittelt werden.
Der Landesbetrieb Bildungsbau Hamburg setzt KI Assistenten ein, um den Mitarbeitern bei der täglichen Arbeit zu helfen (z. B. E Mails formulieren, Dokumente zusammenfassen). Damit die Eingaben der Mitarbeiter nicht ungeschützt an fremde Server gehen, wurde ein eigener Sicherheitsfilter auf unserem Hetzner Server im Standort Nürnberg installiert. Er prüft jede Eingabe, bevor sie das Haus verlässt, und ersetzt sensible Daten durch harmlose Platzhalter.
Kurz gesagt: Ehe ein Text an eine KI im Ausland geschickt wird, läuft er auf unserem Server durch einen Filter. Der Filter ersetzt alle Namen, Nummern und Adressen durch Platzhalter wie <PERSON> oder <IBAN_CODE>. Die KI im Ausland bekommt nur diesen gesäuberten Text zu sehen.
KI Assistenten wie LibreChat sind nützlich, arbeiten aber mit externen Anbietern zusammen (z. B. OpenRouter, der wiederum Modelle wie Claude oder GLM bereitstellt). Diese Anbieter verarbeiten die Anfragen auf Servern außerhalb unserer Kontrolle.
Ohne Schutzmaßnahme würde das passieren:
Das Problem: Ein Mitarbeiter gibt in den Chat ein: „Hans Müller, Steuer ID 86095742719, IBAN DE89 3704 0044 0532 0130 00“. Ohne Filter geht dieser Text ungefiltert an den externen Anbieter – mit allen echten Daten. Diese Daten wären dort gespeichert, für Training oder Protokolle sichtbar und dem Zugriff des Landesbetriebs entzogen.
Das ist mit dem Datenschutz nicht vereinbar. Deshalb wurde der in diesem Dokument beschriebene Filter eingerichtet.
Zwei kostenlose, quelloffene („Open Source“) Programme bilden den Kern des Schutzes. Beide laufen auf unserem Hetzner Server im Standort Nürnberg:
Vergleichbar mit einem Pförtner. Jede Anfrage an die KI läuft durch LiteLLM. Es ist die zentrale Stelle, die entscheidet, was nach draußen darf und was nicht. LiteLLM ist ein anerkanntes Open Source Projekt.
Zusätzlich zum Datenschutz Filter (Presidio) bringt LiteLLM einen eigenen Inhaltsfilter mit Blockierlisten mit. Damit lassen sich bestimmte Begriffe oder Muster festlegen, die eine Eingabe hart blockieren – die Nachricht wird dann gar nicht erst an die KI weitergegeben. Typisch sind Sperrwörter wie „Passwort“ oder „API Schlüssel“ sowie Zugangsdaten (z. B. GitHub Token, AWS Schlüssel).
Teil dieses Filters sind auch RegEx Filter („reguläre Ausdrücke“). Ein RegEx Filter ist eine Suchregel, die nicht nach einem festen Wort sucht, sondern nach einem Muster. In unserem Fall wird damit zum Beispiel jede deutsche IBAN erkannt: Statt alle möglichen IBANs einzeln aufzulisten, beschreibt die Regel einfach den Bauplan einer IBAN („beginnt mit DE, dann 20 Ziffern“). Alles, was zu diesem Bauplan passt, wird blockiert.
Das ist die eigentliche Lupe. Presidio wurde von Microsoft entwickelt und ist ebenfalls Open Source. Es durchsucht Texte nach personenbezogenen Daten und kennt deutsche Besonderheiten (Steuer ID, Krankenkassennummer, Kfz Kennzeichen …).
Im Gegensatz zu einfachen RegEx Filtern (die nur nach starren Mustern suchen) verwendet Presidio ein kleines Machine Learning Modell, das die Sprache tatsächlich „versteht“. Es erkennt einen Namen auch dann, wenn er in einem ungewöhnlichen Satzbau steht, und unterscheidet zum Beispiel echte Orte von zufälligen Wörtern. Dadurch findet Presidio deutlich mehr sensible Daten – und macht weit weniger Fehler als reine Mustersuche.
Die KI Assistenten sind über LibreChat erreichbar – eine Chat Oberfläche, die im Landesbetrieb läuft. Alle Modelle (z. B. „Alltagsassistent“, „Fachexperte“) sind so eingerichtet, dass sie zwingend über den Filter laufen. Es gibt keinen direkten Weg zur KI im Ausland.
Wenn ein Mitarbeiter eine Nachricht schreibt, passiert Folgendes – automatisch und innerhalb von Sekundenbruchteilen:
„Hans Müller, Steuer ID 86095742719“
Chat Oberfläche nimmt Nachricht entgegen
Pförtner prüft: Ist Filter aktiv? Ja.
Findet „Hans Müller“ = PERSON, „86095742719“ = DE_TAX_ID
Macht daraus: „<PERSON>, Steuer ID <DE_TAX_ID>“
Bekommt nur den gesäuberten Text
Platzhalter werden bei uns wieder durch die echten Werte ersetzt
Wichtig an diesem Ablauf:
Fazit für den Datenschutz: Die externe KI sieht nur Platzhalter. Eine Wiederherstellung der echten Daten beim externen Anbieter ist nicht möglich, weil ihm die Zuordnungstabelle fehlt.
Presidio ist für die deutsche Sprache eingerichtet und kennt 28 Datenkategorien, die automatisch erkannt und durch Platzhalter ersetzt werden. Die Liste wurde um Deutschland spezifische Regelungen erweitert.
| Kategorie (Platzhalter) | Was erkannt wird |
|---|---|
PERSON | Vor- und Nachnamen (z. B. „Hans Müller“) |
LOCATION | Orte, Städte, Länder, Adressen |
ORGANIZATION | Firmen, Landesbetriebe, Institutionen |
NRP | Nationalität, Religion, politische Zugehörigkeit |
DATE_TIME | Datums- und Zeitangaben |
EMAIL_ADDRESS | E Mail Adressen |
PHONE_NUMBER | Telefonnummern |
CREDIT_CARD | Kreditkartennummern |
IBAN_CODE | IBAN (Bankkontonummern) |
IP_ADDRESS | IP Adressen von Computern |
URL | Internetadressen |
CRYPTO | Krypto Wallet Adressen |
MEDICAL_LICENSE | Approbationsnummern |
MAC_ADDRESS | Geräte Adressen |
DE_TAX_ID | Deutsche Steuer ID (Steueridentifikationsnummer) |
DE_TAX_NUMBER | Deutsche Steuernummer |
DE_PASSPORT | Reisepassnummern (Deutschland) |
DE_ID_CARD | Personalausweisnummern (Deutschland) |
DE_SOCIAL_SECURITY | Sozialversicherungsnummer |
DE_HEALTH_INSURANCE | Krankenversichertennummer |
DE_KFZ | Kfz Kennzeichen |
DE_HANDELSREGISTER | Handelsregister Nummer |
DE_PLZ | Postleitzahlen |
DE_LANR | Lebenslange Arztnummer |
DE_BSNR | Betriebsstättennummer (Arztpraxen) |
DE_VAT_ID | Umsatzsteuer Identifikationsnummer |
DE_FUEHRERSCHEIN | Führerscheinnummern (Deutschland) |
Als Sprachmodell nutzt Presidio das große deutsche Modell de_core_news_lg (ein Verfahren der künstlichen Intelligenz zur Spracherkennung, kostenlos und Open Source).
Darüber hinaus gibt es eine Ausnahmeliste („Allow Liste“). Darin können Begriffe eingetragen werden, die von der Erkennung ausgenommen sind – zum Beispiel interne Landesbetriebsbezeichnungen, die fälschlich als Person erkannt würden.
Zusätzlich zur Ersetzung sensibler Daten gibt es einen zweiten Filter, der bestimmte Eingaben komplett blockiert – sie gehen dann gar nicht erst zur KI:
| Kategorie | Beispiele |
|---|---|
| Zugangsdaten & Schlüssel | Passwort, Kennwort, Zugangscode, API Schlüssel, Datenbankpasswort, admin Passwort, Zugangstoken |
| Cloud Zugänge | Amazon AWS Zugangsschlüssel, geheime AWS Schlüssel, GitHub Token |
| Deutsche IBAN | Jede vollständige deutsche IBAN wird hart blockiert (zusätzlich zur Maskierung) |
Bedeutung: Wenn ein Mitarbeiter versehentlich ein Passwort oder einen Zugangsschlüssel in den Chat eingibt, wird die Anfrage zurückgewiesen. Sie verlässt das Haus nicht.
Damit die Mitarbeiter den Filter selbst ausprobieren und nachvollziehen können, was erkannt und ersetzt wird, gibt es eine eigene Test Oberfläche: den PII Tester. Dort kann jeder beliebige Text oder jede Datei (PDF, Word, Textdatei) hochgeladen werden, um zu prüfen, was der Filter daraus macht. Das ist gewollt: Die Mitarbeiter können so vor dem Einsatz prüfen, ob ihre Daten zuverlässig geschützt sind.
Nach einem Klick auf „PII prüfen“ zeigt das Werkzeug das Ergebnis:
Kein Filter ist perfekt. Deshalb kann der Tester mehr als nur anzeigen:
Datenschutz im Tester: Eingaben werden nicht dauerhaft gespeichert. Die Verarbeitung erfolgt nur für die laufende Sitzung. Nur die gemeldeten Verbesserungen (als Regeln) werden gespeichert – damit der Filter lernt.
Ein Administrator kann die selbst hinzugefügten Erkennungsregeln (die aus den Mitarbeiter Rückmeldungen entstanden sind) einsehen, prüfen und bei Bedarf wieder entfernen. Der Zugang ist durch ein Passwort geschützt.
In dieser Ansicht wird transparent dokumentiert, warum eine Regel hinzugefügt wurde (sie stammt aus einer Mitarbeiter Rückmeldung) und wie sie konfiguriert ist. Änderungen werden sofort wirksam, der Filter Container wird automatisch neu aufgebaut.
LibreChat ist die Oberfläche, die die Mitarbeiter im Alltag nutzen. Sie ist ähnlich aufgebaut wie bekannte Chat Programme. Alle dortigen KI Modelle sind so eingerichtet, dass sie zwingend über den Filter laufen – es gibt keinen direkten Weg zur KI im Ausland.
Drei vorgefertigte Modelle stehen zur Verfügung („Alltagsassistent“, „E Mail Assistent“, „Fachexperte“). Alle drei nutzen denselben Datenschutz Filter.
Alle Programme laufen als sogenannte „Container“ – das sind voneinander getrennte, in sich geschlossene Programme – auf unserem Hetzner Server im Standort Nürnberg. Die Kommunikation untereinander erfolgt nur über das interne Netzwerk.
| Bestandteil | Aufgabe | Herkunft |
|---|---|---|
| LiteLLM | Zentrale Anlaufstelle („Pförtner“) für alle KI Anfragen, wendet Filter an | Open Source |
| Presidio Analyzer | Durchsucht Texte nach sensiblen Daten (deutsches Sprachmodell) | Microsoft, Open Source |
| Presidio Anonymizer | Ersetzt erkannte Daten durch Platzhalter | Microsoft, Open Source |
| PostgreSQL Datenbank | Speichert Anfrage Protokolle (intern, nicht nach draußen) | Open Source |
| PII Tester | Eigenständige Web Oberfläche zum Testen und Pflegen | Eigenentwicklung |
| LibreChat | Chat Oberfläche für die Mitarbeiter | Open Source |
Die Verbindung nach außen (für die Mitarbeiter) ist über eine verschlüsselte Verbindung (HTTPS) abgesichert. Der einzige externe Empfänger von KI Anfragen ist OpenRouter; die Anfragen enthalten nur Platzhalter, keine echten Daten.
Mit der beschriebenen Einrichtung wurden wirksame, dem Stand der Technik entsprechende Maßnahmen ergriffen, damit personenbezogene Daten den Landesbetrieb nicht im Klartext verlassen. Konkret:
Die Einrichtung ist damit eine praktische Umsetzung der Anforderungen an den Schutz personenbezogener Daten bei der Nutzung externer KI Dienste.