Veröffentlichungen

Eine Instanz je Beratungsstelle: Warum wir keine Mandanten in einer Datenbank mischen

Warum jede Beratungsstelle eine eigene Installation mit eigener Datenbank bekommt und was das für Datensouveränität, Verschlüsselung, Löschung und Berufsgeheimnisträger bedeutet.

Yasin Yazici Software-Architekt, Geschäftsführer

4 Minuten Lesezeit

Die meisten Webanwendungen speichern die Daten aller Kunden in einer gemeinsamen Datenbank. Jede Zeile trägt eine Kennung, zu welchem Kunden sie gehört, und die Software achtet darauf, dass jeder nur seine eigenen Zeilen sieht. Für viele Anwendungen ist das eine vernünftige Wahl: günstig im Betrieb, einfach zu aktualisieren, und eine neue Funktion wird einmal gebaut und steht sofort allen zur Verfügung.

Links eine gemeinsame Datenbank, in der die Akten aller Beratungsstellen nebeneinanderliegen. Rechts hat jede Beratungsstelle ihre eigene.

Für eine Software, in der Einkommen, Schulden und Familienverhältnisse von Menschen in einer finanziellen Notlage liegen, haben wir uns anders entschieden. Jede Beratungsstelle bekommt eine eigene Instanz: eigene Anwendung, eigene Datenbank, eigene Schlüssel. Die Mandanten einer Beratungsstelle liegen damit nie in derselben Datenbank wie die Mandanten einer anderen.

Der Unterschied klingt technisch, ist aber vor allem eine Frage, wo die Grenze verläuft. In einer gemeinsamen Datenbank ist die Trennung zwischen Kunden eine Regel im Programmcode. Sie muss in jeder Abfrage, jedem Export, jedem Bericht und jeder neuen Funktion richtig umgesetzt sein, heute und in jeder künftigen Version. Eine einzige vergessene Bedingung in einer Suchfunktion genügt, damit eine Beratungsstelle Akten einer anderen sieht. Solche Fehler sind keine Theorie: Fehlerhafte Zugriffskontrolle gehört nach der bekannten OWASP-Liste zu den verbreitetsten Risiken von Webanwendungen.

Bei einer eigenen Instanz verläuft die Grenze nicht im Code, sondern in der Infrastruktur.

Es gibt dann keine Abfrage, die versehentlich in die Daten einer anderen Beratungsstelle greifen könnte, weil diese Daten in einer anderen Datenbank auf einem anderen Server liegen. Ein Fehler in der Anwendung bleibt ein Fehler innerhalb einer Beratungsstelle. Das macht Fehler nicht harmlos, aber es begrenzt ihre Reichweite.

Was die Trennung im Alltag bedeutet

Getrennte Instanzen trennen nicht nur Daten, sondern auch den Betrieb. Lädt eine Beratungsstelle am Monatsende viele Schreiben auf einmal hoch, bremst das keine andere. Muss eine Instanz aus einer Sicherung wiederhergestellt werden, geschieht das aus ihrer eigenen Sicherung, ohne dass die Daten anderer Kunden auf einen älteren Stand zurückgesetzt werden. Und eine Wartung lässt sich mit der einzelnen Stelle abstimmen, statt für alle zur selben Zeit zu gelten.

Vor allem macht eine eigene Instanz greifbar, wem die Daten gehören. Die Beratungsstelle ist Verantwortliche im Sinne der DSGVO, der Betreiber der Software verarbeitet in ihrem Auftrag. Bei einer eigenen Instanz lässt sich genau sagen, wo ihre Daten liegen, wer darauf zugreifen kann und welche Dienstleister beteiligt sind. Sicherungen enthalten nur ihre Daten. Bei Vertragsende lassen sie sich vollständig herausgeben, ohne dass jemand fremde Datensätze herausfiltern muss.

Ähnlich ist es mit der Verschlüsselung. Sie ist bei jeder ernst gemeinten Software selbstverständlich: Verbindungen laufen über HTTPS, gespeicherte Dokumente und vertrauliche Felder liegen zusätzlich verschlüsselt in der Datenbank. Die eigentliche Frage ist, wer welche Schlüssel teilt. In einer gemeinsamen Datenbank liegt es nahe, einen Schlüssel für alle Kunden zu verwenden. Bei getrennten Instanzen hat jede Beratungsstelle eigene Schlüssel. Gerät der Schlüssel einer Instanz in falsche Hände, sind die Daten aller anderen davon nicht berührt.

Am deutlichsten zeigt sich der Unterschied beim Löschen. Art. 17 DSGVO verlangt, dass personenbezogene Daten gelöscht werden, wenn sie nicht mehr erforderlich sind und keine Aufbewahrungspflicht entgegensteht. In der Schuldnerberatung treffen beide Seiten aufeinander: Akten müssen eine Zeit lang aufbewahrt werden, danach sollen sie verschwinden, und zwar nachweisbar.

In einer eigenen Instanz lässt sich das sauber umsetzen, von der einzelnen Akte mit Löschprotokoll bis zum Vertragsende, an dem die gesamte Instanz mit Datenbank und Sicherungen abgebaut wird. Auch dass ältere Sicherungen nach einem festen Turnus auslaufen, lässt sich für eine einzelne Instanz klar zusagen. In einer gemeinsamen Datenbank müssten dafür die Daten genau eines Kunden aus jeder Sicherung entfernt werden, ohne die der anderen anzutasten.

Warum das für Berufsgeheimnisträger zählt

Rechtsanwälte sowie staatlich anerkannte Sozialarbeiterinnen und Sozialarbeiter gehören zu den Berufsgruppen, deren anvertraute Geheimnisse § 203 StGB schützt. Seit 2017 erlaubt § 203 Abs. 3 StGB ausdrücklich, Dienstleister wie Softwarebetreiber einzubeziehen, soweit das für deren Tätigkeit erforderlich ist; zugleich müssen sie zur Verschwiegenheit verpflichtet werden. Für Rechtsanwälte regelt § 43e BRAO die Einzelheiten.

Das Wort „erforderlich“ ist dabei ernst zu nehmen. Eine Architektur, in der ein Dienstleister möglichst wenig sieht und Daten verschiedener Auftraggeber gar nicht erst zusammenkommen, macht es leichter, diese Erforderlichkeit zu begründen. Sie ersetzt nicht die eigene Prüfung der Beratungsstelle, aber sie nimmt ein Risiko aus dem Spiel, das in einer gemeinsamen Datenbank immer bleibt.

Getrennte Instanzen haben ihren Preis: mehr Server, mehr Aktualisierungen, mehr Überwachung. Dieser Aufwand lässt sich mit Automatisierung beherrschen, aber nicht wegdiskutieren. Wir halten ihn für angemessen. Bei insobearbeiter arbeitet deshalb jede Beratungsstelle in einer eigenen Installation mit eigener Datenbank und eigenen Schlüsseln, betrieben auf Servern in Deutschland, und jede Aktualisierung wird für jede Instanz einzeln ausgerollt und geprüft.

Dieser Beitrag ersetzt keine Rechtsberatung.

Eine Instanz je Beratungsstelle: Warum wir keine Mandanten in einer Datenbank mischen – insobearbeiter