Datenschutz in der Softwareentwicklung
Autor: Daniel Schätzle Erstellt am: 29. Februar 2020 Rubrik: Datensicherheit, SoftwareDie Verarbeitung von personenbezogenen Daten erfolgt (ganz überwiegend) softwaregestützt. Wer als datenschutzrechtlich Verantwortlicher die Daten von betroffenen Personen in eine Anwendung einspielt bzw. durch den betroffenen selbst eingeben lässt und mittels der Anwendung weiterverarbeitet, muss die ganze Bandbreite der DSGVO beachten. Der Verantwortliche tut daher gut daran, nur solche Softwareanwendungen einzusetzen, mit denen er die Anforderungen des Datenschutzrechtes erfüllen kann.
Datenschutzgrundsätze für Software
Die DSGVO enthält mehrere grundsätzliche Anforderungen, die eine Software leisten muss und die daher bereit bei deren Entwicklung beachtet werden müssen. Dazu gehören insbesondere:
- Datenminimierung, Art. 5 Abs. 1 lit. b) DSGVO
- Integrität und Vertraulichkeit, Art. 5 Abs. 1 lit. f) DSGVO
- Recht auf Datenübertragbarkeit, Art. 20 DSGVO
- Datenschutz durch Technikgestaltung, Art. 25 Abs. 1 DSGVO
- Datenschutz durch datenschutzfreundliche Voreinstellungen, Art. 25 Abs. 2 DSGVO
- Sicherheit der Verarbeitung, Art. 32 DSGVO
Selbstverständlich müssen auch die anderen Grundsätze des Art. 5 DSGVO beachten werden. So muss etwa geklärt sein, wie lange Daten zu welchem Zweck gespeichert werden (Grundsatz der Speicherbegrenzung, Art. 5 Abs. 1 lit. e) DSGVO und Grundsatz der Zweckbindung Art. 5 Abs. 1 lit. b) DSGVO) oder wie eine etwaige erforderliche Einwilligung abgefragt wird (Grundsatz der Rechtmäßigkeit, Art. 5 Abs. 1 lit. a) DSGVO).
Weitere Anforderungen können sich ergeben, um die in Kapitel III der DSGVO festgehaltenen Rechte der Betroffenen erfüllen zu können. So setzt das Recht auf Datenübertragbarkeit (Art. 20 DSGVO) voraus, dass personenbezogene Daten in einem strukturierten, gängigen und maschinenlesbaren Format bereitgestellt werden können.
Vertragsgestaltung
Zunächst einmal treffen den Verantwortlichen einer Datenverarbeitung die vorbenannten Pflichten aus der DSGVO. Dies ist in der Regel der Auftraggeber einer Softwareentwicklung. Den Softwareentwickler selbst treffen diese Pflichten nicht unmittelbar, solange er nicht selbst personenbezogene Daten verarbeitet.
Gleichwohl spricht viel dafür, dass eine Software mangelhaft ist, wenn diese nicht geeignete ist, damit der Verantwortliche seiner datenschutzrechtlichen Verantwortung nachkommen kann. Das gilt pauschal, ohne dass es dazu einer konkreten Vereinbarung bedarf. Allerdings hilft dies so weder dem Entwicklerteam noch dem Auftraggeber. Daher sind auch inzwischen gängige Vertragsklauseln überflüssig, wonach der Auftragnehmer verpflichtet ist, die Anforderungen der DSGVO zu beachten. Zum einen muss er diese schon nach dem Gesetz, zum anderen lassen derartige Pauschalformulierung die Vertragsparteien im Unklaren darüber, was dies nun konkret für das Projekt bedeutet.
Wichtig ist daher, den Datenschutz innerhalb des gesamten Projektes mitzudenken. Fehlt die Expertise hierfür im Entwicklungsteam, ist es sinnvoll einen Experten hinzuzuziehen.
Zu berücksichtigende Aspekte können etwas sein:
- Welche Prozesse verarbeiten personenbezogene Daten?
- Über welche Schnittstellen werden personenbezogenen Daten geleitet?
- Können datenschutzrelevante Rechtstexte eingebunden werden?
- Wir bei Eingabeformularen zwischen freiwillige und Pflichtangaben unterschieden?
- Welche Voreinstellungen sind zu hinterlegen?
- Verschlüsselungstechniken?
- Möglichkeiten zur Anonymisierung/Pseudonymisierung?
- IT- und Datensicherheit?
- Anforderungen an das Hosting von SaaS-Lösungen?
- uvm.
Je nach Projektmethodik bietet es sich an, hierzu jeweils konkrete Vorfestlegungen zu treffen und diese vertraglich festzuhalten.
Hilfestellung
Was dies nun konkret für die Praxis bedeutet, führt häufig zu großen Fragezeichen. Eine erste Hilfestellung können die im November vom Europäischen Datenschutzausschuss veröffentlichten Leitlinien 4/2019 on Article 25, Data Protection by Design and by Default geben.
Die Leitlinie beschreiben eine Reihe von Schlüsselmaßnahmen, die stets zu beachten sind. Hierzu gehört etwas:
- Umsetzung von technischen und organisatorischen Maßnahmen
- Maßnahmen müssen tatsächlich wirksam sein
- Berücksichtigung des Stand der Technik
- Berücksichtigung von Umsetzungskosten
- Beachtung von Risiken
- Voreinstellung bei Nutzerprofilen
- Bewertung von Umfang und Qualität von Daten
- Beschränkung von Zugriffen
- Beachtung von Transparenz und Rechtmäßigkeit
- Fairness
Die Leitlinien verweisen zudem auf eine Hilfestellung der norwegischen Datenschutzbehörde, die versucht wesentlich konkreter zu werden. Die Darstellung umfasst eine Reihe von Vorkehrungen, die in den Prozess der Softwareentwicklung integriert werden sollten:
- Training – Schulungsmaßnahmen
- Requirements – Anforderungen an Datenschutz und Sicherheit (Toleranzlevel) – es werden beispielsweise Level festgelegt, ab denen ein Risiko für die verarbeiteten Daten vorliegt/ ab wann Gefahrsituationen eintreten
- Design – Aufteilung von datenorientierte (wie das Verbergen persönlicher Daten und die automatische Löschung) und prozessorientierten Anforderungen (etwa den Zugang der Betroffenen zu ihren eigenen Daten)
- Coding – Unsichere Funktionen und Module aus der Kodierungsaktivität der Entwickler entfernen sowie regelmäßige Überprüfung der Codes
- Testing – Regelmäßige Sicherheitstests und Modellierung eventueller Bedrohungen bzw. Analyse der Angriffsfläche
- Release – Entwicklung eines Notfallplans und vollständige Sicherheitsüberprüfung
- Maintenance – Wartung von Software und Vorkehrungen bei Verletzungen von Datenschutzrechten
Rubrik: Datensicherheit, Software Stichwörter: Grundsätze, Softwarentwicklung, Vertragsgestaltung