Datenschutz aus Sicht der Software-Entwicklung
Datenschutz und Informationssicherheit erzeugen aus Sicht der EntwicklerInnen Hürden und Hindernisse, ohne die die Welt oft deutlich einfacher wäre.
Die DSGVO hat die Welt verändert
Datenschutz und Datensicherheit begleiten mich seit meinem Berufsstart in den 90er Jahren in allen großen Software- und IT-Projekten. Damals waren die Themen getrieben von der berechtigten Befürchtung, dass die einst abgeschotteten kritischen IT-Systeme nun für das Internet geöffnet und vielen neuen, unbekannten Gefahren ausgesetzt werden.
Neben dem technischen Fortschritt war auch die Überarbeitung des Bundesdatenschutzgesetz (BDSG) 1990 bereits von entscheidender Bedeutung, um das Recht der informationellen Selbstbestimmung zu sichern und zu stärken.
Mit Inkraftsetzung der DSGVO hat das Thema Datenschutz im Jahr 2018 aber noch einmal eine ganz andere Dynamik erhalten, da mit Datenschutzvorfällen nun empfindliche Strafen verbunden wurden. Die Maximalstrafe für DSGVO-Verstöße liegt bei 20 Millionen Euro oder 4 % des Jahresumsatzes – je nachdem, welcher Betrag höher ist.
Damit wird der Datenschutz zu einem existenziellen Thema bei der Risikobewertung aller Entwicklungen, in denen personenbezogene Daten verarbeitet werden. Datenschutz und Datensicherheit sind damit von der Aufmerksamkeit der IT-Leitung zur Verantwortlichkeit des Konzern-Vorstands gewandert.
Wie betrifft das die Software-Entwickler?
Aus meiner Erfahrung in den letzten Jahren sehe ich drei wiederkehrende Themen, die besonders deutlich auf die Ebene der Entwicklung durchschlagen. Daher will ich diese Themen – ohne Anspruch auf Vollständigkeit – hier ansprechen:
Umsetzung der “Betroffenenrechte”
Zu den Betroffenenrechten der DSGVO gehört unter anderem, dass jede Person, deren personenbezogene Daten verarbeitet werden, Auskunft über Art und Umfang der von ihr gespeicherten Daten erfragen kann. Darüber hinaus kann jeder die vollständige Löschung der Daten fordern, wenn nicht besondere Gründe zur Speicherung der Daten vorliegen.
Oft ist es jedoch im Nachhinein kaum möglich, einzelne Personen im gesamten Datenbestand zu anonymisieren oder zu löschen, wenn verschiedene Datensätze oder Vorgänge damit verknüpft sind (z. B. wenn Namen fest in Jira-Tickets oder Confluence-Seiten eingebunden sind).
Oft ungelöst ist auch das Thema von Backups / Recovery und die Sicherstellung, dass nach absehbarer Zeit auch hier die Löschung aller personenbezogenen Daten vollzogen wird.
Ausrichtung der Gesamtarchitektur und Technik auf die Datenschutzvorgaben im Sinne von “Privacy-by-Design”
Die oben genannten Aspekte sind darüber hinaus Beispiele dafür, wie Datenschutz und auch Informationssicherheit bereits bei der Planung des Datenmodells, der Auswahl von Tools und Technologien und der Verarbeitung der Daten berücksichtigt werden müssen, damit überhaupt die Chance besteht, die DSGVO-Vorgaben sauber umzusetzen.
Auf die Möglichkeit, wie das in einer agilen Entwicklung gelingen kann, gehe ich weiter unten ein.
Umgang mit Testdaten
Das Thema der Testdaten erwähne ich an dieser Stelle, da es eine strikte Vorgabe der DSGVO ist, dass keine personenbezogenen Echtdaten für Testzwecke genutzt werden.
Natürlich ist es in der Praxis der einfachste Weg, Tests mit einem Auszug aus Echtdaten durchzuführen. Die Erstellung von gut simulierten Testdaten ohne Kundenbezug ist deutlich aufwendiger, mit oft auch schlechterer Abdeckung von Sonderfällen.
Regelmäßig begegnet mir aber die Situation, dass ein schwerwiegender Datenschutzvorfall gemeldet werden muss, da Testdaten aus Realdaten gewonnen wurden (z. B. anonymisiert oder pseudonymisiert). Auf einem Schulungsserver, bei Schnittstellen-Tests oder Audits lassen sich dann doch Rückschlüsse auf reale Personen schließen. Wie beim Betrieb eines Atomreaktors wird auch beim Datenschutz im Vorfeld prophezeit, dass es nie zu einem kritischen Vorfall kommen kann. Aber dennoch tritt die Situation regelmäßig auf.
Und wie kann man das in einem agilen Entwicklungsprojekt sinnvoll umsetzen?
Jedes größere Unternehmen ist heute verpflichtet, eine/n Datenschutzbeauftragte/n zu benennen. Diese Person ist verantwortlich dafür, dass die Belange des Datenschutzes mit Schulungen, Prozessen und weiteren Maßnahmen hinterlegt und kontrolliert werden. Diese Punkte sehe ich als gegeben an und gehe daher auch nicht weiter darauf ein.
Doch wie ist es in der Praxis möglich, den Datenschutz und die Informationssicherheit in agilen Projekten laufend umzusetzen und aktuell zu halten? Neben vielen schlecht funktionierenden Versuchen ist mir ein wirklich gut funktionierendes Projekt in Erinnerung, das ich im Folgenden kurz umreißen möchte.
In diesem Projekt mit ca. 30 Entwickler:innen und mehreren Jahren Laufzeit wurde eine Person aus dem im Konzern für Datenschutz und Sicherheit verantwortlichen Team dem Projekt fest zugeordnet.
Die Person besitzt sehr gute technische Expertise in den Bereichen Datenschutz und Informationssicherheit und kann darüber hinaus bei speziellen Fragen auf weitere Experten zur internen Abstimmung zugreifen.
Wesentlich im agilen Entwicklungsprozess war, dass jede/r Task/Story/Epic von Anfang an hinsichtlich Relevanz für Datenschutz und Informationssicherheit eingeschätzt wurde (Pflichtfeld). Wenn Product Manager, Business Analyst oder Entwickler eine Aufgabe als relevant ansahen, war Datenschutz mit an Bord für die Beschreibung des Use Cases, bei Fragen zu der technischen Umsetzung und bei der Abnahme/Freigabe.
Wie immer steht und fällt eine solche Aufgabe mit dem Engagement und der Expertise der eingesetzten Personen. Wann immer ich gefragt werde, rate ich aber genau zu dem oben beschriebenen Vorgehen. Für das Datenschutz- und Sicherheitsteam bedeutet das, dass man sich auch inhaltlich tief in die Konzeption der Anwendung einarbeiten muss, um der fachlichen Tiefe bei der Diskussion standzuhalten. Bei dem Entwicklungsteam führt es dagegen zu einer erheblichen Sensibilisierung.
Wenn Datenschutz und Sicherheit in der Anfangsphase erst einmal verbaselt wurden, dann kann man sie nicht einfach nachträglich einbauen. Nicht nur, dass die Nachbesserung sehr teuer ist, oft ist sie nur noch mit vielen Kompromissen möglich. Insgesamt ist daher der Mehraufwand, der durch die Prozesse und enge Einbindung entsteht, sehr gut investiert. Das ist für mich ein Aspekt von Privacy-by-Design und Security-by-Design.
Trennung von Datenschutz und Informationssicherheit
Formell sind Datenschutz und Informationssicherheit zwei Disziplinen, die auch in verschiedenen Rollen und Personen verankert sein sollten. In dem oben skizzierten Projekt wurden beide Rollen praktisch von einer Person wahrgenommen.
Das war in diesem Fall sehr wertvoll, da die intensive fachliche Auseinandersetzung ein wichtiger Erfolgsfaktor war. Kaum ein Unternehmen aber wird es sich leisten, auch noch mehrere dieser wertvollen und seltenen Mitarbeiter:innen in ein Entwicklungsprojekt abzustellen.
Wir freuen uns auf Euer Feedback!