Anlage 1 – Genehmigte Unterauftragnehmer
Vorbemerkung: welche Dienste hier hingehören
In diese Anlage gehören nur Dienste, die Auftragsdaten verarbeiten – also die Kunden- und Termindaten, die die Fotografen in der App speichern. Nicht hierher gehören Dienste, die ausschließlich das Vertragsverhältnis zwischen Pfotengraphie und den Fotografen selbst betreffen.
Nach dieser Trennung ergibt sich:
| Dienst | Auftragsdaten? | In Anlage 1? |
|---|---|---|
| Supabase | ja, vollständig | ja |
| Netlify | nur Verbindungsdaten der Nutzer | ja |
| Make | ja, aber ausschließlich verschlüsselt | ja |
| Google (Drive) | ja, aber ausschließlich verschlüsselt | ja |
| Resend | nein – nur E-Mails an die Fotografen selbst | nein |
| Stripe | nein – nur Zahlungsdaten der Fotografen | nein |
| OpenStreetMap | keine Auftragsdaten, nur IP beim Kartenabruf | siehe Ziffer 5 |
Die Einordnung von Make und Google hat sich am 1. September geändert: Seitdem läuft die nächtliche Sicherung, die alle Auftragsdaten enthält. Beide bekommen diese Daten allerdings nur verschlüsselt zu Gesicht.
1. Supabase
| Vertragspartner | Supabase Pte. Ltd, 65 Chulia Street #38-02/03, OCBC Centre, Singapore 049513 |
|---|---|
| Leistung | Datenbank, Anmeldeverwaltung, Dateispeicher, Serverfunktionen |
| Daten | sämtliche Auftragsdaten, Anmeldedaten der Fotografen, hochgeladene Bilder |
| Verarbeitungsort | Projektregion eu-central-1, Frankfurt am Main – geprüft an der Projektkonfiguration |
| Drittstaat | Unternehmenssitz Singapur, Support möglicherweise weltweit. Standardvertragsklauseln über das Supabase-DPA |
| Vertrag | liegt vor, Fassung vom 26. Mai 2026 |
| Anmerkung | Der Vertragspartner wird im Supabase-DPA uneinheitlich benannt. Von der Kanzlei zu klären. |
2. Netlify
| Vertragspartner | Netlify, Inc., 512 2nd Street, Suite 200, San Francisco, CA 94107, USA |
|---|---|
| Kontakt Datenschutz | privacy@netlify.com |
| Leistung | Auslieferung von App und Website; Weiterleitung der Wetter- und Ortsabfragen |
| Daten | IP-Adresse, Zeitstempel, abgerufene Ressourcen, technische Protokolle. Keine Inhaltsdaten – Forms und Functions sind bis auf eine Ortsauflösung nicht in Gebrauch |
| Verarbeitungsort | USA und globales Auslieferungsnetz |
| Drittstaat | EU-US Data Privacy Framework, hilfsweise Standardvertragsklauseln, Modul 2 und 3, Recht Irlands |
| Vertrag | liegt vor, Fassung vom 9. Juni 2026, gilt automatisch als Bestandteil der Nutzungsbedingungen |
| Unterauftragnehmer | Amazon Web Services für die Auslieferung; daneben Datadog, CrowdStrike, WorkOS, Fivetran für den eigenen Betrieb |
| Meldefrist | 48 Stunden – siehe die offene Frage am Ende |
3. Make (Celonis)
| Vertragspartner | Celonis, Inc., USA |
|---|---|
| Leistung | Automatisierung: Kaufabwicklung und tägliche Sicherung |
| Daten Kaufabwicklung | Name, E-Mail und Rechnungsanschrift der Fotografen – keine Auftragsdaten |
| Daten Sicherung | die vollständige Sicherung aller Auftragsdaten, ausschließlich verschlüsselt |
| Verarbeitungsort | Region EU, Konto auf eu1.make.com |
| Drittstaat | EU-US Data Privacy Framework, hilfsweise Standardvertragsklauseln, Modul 2 |
| Recht | deutsches Recht, deutscher Gerichtsstand – Make wendet das Recht des Kundenlands an |
| Vertrag | liegt vor, Fassung vom 3. Mai 2024, gilt automatisch |
| Meldefrist | „ohne unangemessene Verzögerung", keine feste Frist |
4. Google (Ablage der Sicherung)
| Vertragspartner | privates Google-Konto des Auftragnehmers |
|---|---|
| Leistung | Ablage der nächtlichen Sicherung |
| Daten | die vollständige Sicherung, ausschließlich verschlüsselt |
| Verschlüsselung | AES-GCM mit 256 Bit, Schlüssel aus PBKDF2-SHA256 mit 250.000 Runden. Der Schlüssel liegt ausschließlich beim Auftragnehmer und verlässt dessen System nie |
| Verarbeitungsort | USA und weltweit |
| Vertrag | kein Auftragsverarbeitungsvertrag verfügbar – für private Google-Konten bietet Google keinen an |
Dieser Zustand wird beendet. Die Argumentation, Google erhalte zu keinem Zeitpunkt lesbare Daten, trägt die Verschlüsselung – aber sie beseitigt nicht die Pflicht aus Art. 28 Abs. 3 DSGVO, mit jedem Auftragsverarbeiter einen Vertrag zu schließen. Verschlüsselung verändert das Risiko, nicht die Pflicht.
Entschieden am 2. September 2026: Die Sicherung wird auf eine Hetzner Storage Box umgestellt – deutsches Unternehmen, Rechenzentrum in Deutschland, Auftragsverarbeitungsvertrag verfügbar, keine Drittlandübermittlung. Nach der Umstellung entfällt dieser Abschnitt und wird durch den folgenden ersetzt. Die bisher abgelegten Dateien werden gelöscht.
| Künftiger Vertragspartner | Hetzner Online GmbH, Industriestr. 25, 91710 Gunzenhausen |
|---|---|
| Leistung | Ablage der nächtlichen Sicherung |
| Verarbeitungsort | Deutschland |
| Drittland | keines |
| Vertrag | Auftragsverarbeitungsvertrag über die Kundenverwaltung abschließbar |
Bis zum Vollzug bleibt der oben beschriebene Zustand bestehen. Er ist der Kanzlei bewusst zu machen und nicht als vertragskonform darzustellen.
5. Kartendarstellung – kein Unterauftragnehmer, aber zu erwähnen
Öffnet ein Fotograf die Sonnenstand-Karte, lädt sein Gerät die Kartenkacheln direkt von tile.openstreetmap.org. Dabei übermittelt der Browser seine IP-Adresse an die OpenStreetMap Foundation im Vereinigten Königreich.
Es werden keine Auftragsdaten übertragen, nur die Koordinaten des dargestellten Kartenausschnitts. Für das Vereinigte Königreich besteht ein Angemessenheitsbeschluss der EU-Kommission.
Das ist der einzige verbliebene automatische Aufruf an Dritte aus dem Browser. Wetterdaten und Ortsauflösung laufen seit August über einen eigenen Weiterleitungspfad, sodass die IP-Adresse der Nutzer dort nicht ankommt.
Links zu Google Maps, Windy und dem Feedback-Formular sind bewusst nur Verweise – sie werden erst aufgerufen, wenn der Nutzer sie anklickt.
6. Nicht von dieser Anlage erfasst
Plus Five Five, Inc. (Dienst „Resend"), 2261 Market Street #5039, San Francisco, CA 94114, USA, verschickt ausschließlich E-Mails an die Fotografen selbst: Lizenzcodes nach dem Kauf und Rundschreiben. Kundendaten der Fotografen laufen dort nicht durch. Der Auftragsverarbeitungsvertrag besteht gleichwohl und ist im eigenen Verzeichnis geführt.
Stripe verarbeitet ausschließlich die Zahlungsdaten im Verhältnis zwischen Pfotengraphie und den Fotografen.
Wichtig für später: Sobald die geplante Funktion kommt, mit der Kunden der Fotografen automatisch Bestätigungs- oder Absagemails erhalten, wird Resend zum Unterauftragnehmer und muss in diese Anlage. Der bestehende Vertrag deckt diesen Fall bereits ab: Er bindet ausdrücklich Modul 3 der Standardvertragsklauseln ein, das für die Weitergabe an einen Unterauftragnehmer gilt, wenn der Kunde – also Pfotengraphie – selbst Auftragsverarbeiter ist.
Änderungsinformation
Die jeweils gültige Liste wird veröffentlicht unter app.pfotengraphie.net/anlagen.html.
Änderungen werden mindestens 14 Tage im Voraus in Textform an die im Konto hinterlegte Adresse mitgeteilt. Widerspricht ein Auftraggeber innerhalb dieser Frist und lässt sich keine zumutbare Alternative finden, kann er den Vertrag beenden; die Regelung dazu steht in Abschnitt 8 des Vertrags.
Anlage 2 – Technische und organisatorische Maßnahmen
Gegenüber dem Entwurf vom 12. August sind alle Prüfvermerke aufgelöst. Was hier steht, ist umgesetzt und überprüft.
1. Organisation
- Verantwortlich für Datenschutz und Informationssicherheit ist der Inhaber. Beschäftigte gibt es nicht; Zugriff hat ausschließlich er selbst.
- Eingesetzte Anbieter, Datenflüsse und Konfigurationen werden mindestens jährlich und bei wesentlichen Änderungen überprüft.
- Vorfälle werden dokumentiert und nach einem festgelegten Ablauf bearbeitet.
- Unterauftragnehmer werden vor Einsatz auf Vertrag, Verarbeitungsorte, Sicherheitsmaßnahmen, Löschfristen und Drittstaatengarantien geprüft.
- Ein Verzeichnis nach Art. 30 Abs. 2 DSGVO wird geführt.
2. Physische Sicherheit
- Es werden keine eigenen Rechenzentren betrieben. Die physische Sicherheit richtet sich nach den Nachweisen der Hostinganbieter – Supabase und Netlify sind nach ISO 27001 und SOC 2 Type II zertifiziert.
- Arbeitsgeräte werden in nicht öffentlich zugänglichen Räumen aufbewahrt und nicht unbeaufsichtigt gelassen.
3. Identität und Zugang
- Mehrfaktor-Authentifizierung ist bei allen administrativen Zugängen aktiv: Supabase, Netlify, Make und dem verknüpften Google-Konto. Geprüft am 31. August 2026.
- Administrative Konten sind personenbezogen und werden nicht geteilt.
- Anmeldung der Nutzer über E-Mail und Passwort. Passwörter werden ausschließlich als kryptografischer Hashwert gespeichert.
- Zugangsschlüssel werden nicht im Klartext bei Dritten hinterlegt. Am 1. September 2026 wurden zwei Schlüssel, die in einem Automatisierungsdienst lagen, entfernt und widerrufen; die betroffene Verarbeitung läuft seitdem über eine Serverfunktion, die den Schlüssel nicht herausgibt.
- Nicht mehr benötigte Zugänge werden unverzüglich widerrufen.
4. Berechtigungen und Mandantentrennung
- Jeder Datensatz ist einer eindeutigen Nutzerkennung zugeordnet.
- Row Level Security ist auf allen sechs Tabellen aktiv – geprüft an der Datenbank.
- Serverfunktionen mit erweiterten Rechten prüfen vor jeder Verarbeitung, wer sie aufruft.
- Der privilegierte Datenbankschlüssel wird niemals an den Browser ausgeliefert. Die App verwendet ausschließlich den öffentlichen Schlüssel, der den Zugriffsregeln unterliegt.
5. Dateispeicher und Bildschutz
- Auftragsbezogene Bilder liegen in einem privaten Speicherbereich. Der Abruf ist nur über eine zeitlich befristete, signierte Adresse möglich; die Gültigkeit beträgt acht Stunden.
- Lesen, Hochladen, Ändern und Löschen sind jeweils auf den eigenen Ordner beschränkt.
- Zulässig sind ausschließlich Bildformate, höchstens 10 MB je Datei, serverseitig erzwungen.
- Dateinamen enthalten keine personenbezogenen Klartextangaben, sondern Zeitstempel und Zufallszeichen.
- Bilder werden beim Hochladen auf 500 Pixel Kantenlänge verkleinert und neu kodiert. Dabei gehen sämtliche Metadaten des Originals einschließlich Aufnahmeort verloren.
- Ein zweiter Speicherbereich für die öffentliche Aktionsseite ist bewusst öffentlich lesbar. Dort liegen ausschließlich Bilder, die der Fotograf selbst zur Veröffentlichung bestimmt hat. Auftragsbezogene Bilder gehören nicht dorthin.
- Am 2. September 2026 wurde geprüft, ob dieser öffentliche Bereich von außen aufgelistet werden kann. Das war der Fall: Der gesamte Dateibaum aller Fotografen ließ sich mit dem öffentlichen Schlüssel abzählen. Die Regel wurde noch am selben Tag entfernt und die Prüfung wiederholt – die Auflistung liefert seitdem kein Ergebnis mehr, die Anzeige veröffentlichter Bilder funktioniert unverändert. Angemeldete Fotografen können weiterhin ausschließlich ihren eigenen Ordner auflisten.
- Der private Bereich
tierfotoswar zu keinem Zeitpunkt auflistbar; auch das wurde am selben Tag gegengeprüft.
6. Übertragung und Verschlüsselung
- Übertragung ausschließlich über TLS.
- Ruhende Daten werden beim Hostinganbieter mit AES-256 verschlüsselt.
- Geheimnisse und Zugangsdaten stehen nicht im Quelltext und nicht in ausgelieferten Dateien.
- Externe Aufrufe aus dem Browser sind seit Version 59.2 abgeschaltet. Schriften und Programmbibliotheken werden selbst ausgeliefert. Einzige Ausnahme sind die Kartenkacheln, siehe Anlage 1 Ziffer 5.
7. Protokollierung
- Sicherheits-, Authentifizierungs- und Fehlerereignisse werden protokolliert, geschützt und enthalten nur die betrieblich erforderlichen Angaben.
- Aufbewahrungsfristen der einzelnen Quellen sind in Anlage 3 aufgeführt.
8. Verfügbarkeit und Sicherung
- Seit dem 1. September 2026 wird täglich um 3 Uhr eine vollständige Sicherung erstellt und außerhalb der Produktivumgebung abgelegt.
- Die Sicherung verlässt das System ausschließlich verschlüsselt – AES-GCM mit 256 Bit, Schlüssel aus PBKDF2-SHA256 mit 250.000 Runden. Der Schlüssel liegt allein beim Auftragnehmer.
- Enthalten sind alle Tabellen, die Kontenliste ohne Passwörter und die Pfade der Bilddateien. Die Bilddateien selbst sind nicht enthalten.
- Der gewählte Hostingtarif sieht keine vom Anbieter wiederherstellbaren Datenbanksicherungen vor. Die eigene Sicherung tritt an deren Stelle.
- Der Auftraggeber kann seine Daten jederzeit selbst als JSON-Datei exportieren.
- Gegen Missbrauch bestehen serverseitige Beschränkungen: für das öffentliche Anfrageformular höchstens 20 Einträge je Stunde und 100 je Tag, Längenbegrenzung der Felder sowie Unterdrückung doppelter Einsendungen.
9. Löschung
- Bei Kontolöschung werden entfernt: alle Auftragsdaten, sämtliche Bilddateien beider Speicherbereiche, angelegte Aktionen und deren Termine, eingegangene Anfragen, ein etwaiger Abmeldevermerk sowie das Anmeldekonto selbst.
- Diese Vollständigkeit besteht seit dem 2. September 2026. Zuvor blieben Bilddateien und Nebendaten zurück; der Fehler wurde behoben.
- Sicherungen werden nach Ablauf des dokumentierten Zyklus überschrieben.
10. Überprüfung
Die Wirksamkeit wird mindestens jährlich sowie nach wesentlichen Änderungen oder Vorfällen überprüft. Maßnahmen dürfen an den technischen Fortschritt angepasst werden, solange das Schutzniveau nicht sinkt. Wesentliche Verschlechterungen werden vorab mitgeteilt.
Anlage 3 – Technische Parameter
Geprüft am 2. September 2026 an App-Version 60.2 und dem Supabase-Projekt „Pfotengraphie APP".
Betrieb
| Prüfpunkt | Wert |
|---|---|
| Projektregion | eu-central-1, Frankfurt am Main |
| Datenbank | PostgreSQL 17.6 |
| Tarif | Free |
| Mandantentrennung | Row Level Security auf allen sechs Tabellen aktiv |
| Anmeldeverfahren | E-Mail und Passwort. Kein Magic Link, kein Einmalcode, keine Anmeldung über Dritte |
| Passwortspeicherung | ausschließlich als Hashwert |
| Verschlüsselung ruhend | AES-256, auch für Sicherungskopien des Anbieters |
| Verschlüsselung Übertragung | durchgängig TLS |
Dateien
| Prüfpunkt | Wert |
|---|---|
| Bilder zu Kunden und Terminen | privater Speicherbereich tierfotos |
| Abruf | nur über signierte Adresse, Gültigkeit 8 Stunden |
| Grenzen | 10 MB je Datei, nur Bildformate, serverseitig erzwungen |
| Verkleinerung beim Hochladen | 500 Pixel Kantenlänge, Neukodierung entfernt alle Metadaten |
| Öffentlicher Bereich | aktion-bilder, bewusst öffentlich, 5 MB, nur Bildformate – ausschließlich für selbst veröffentlichte Aktionsbilder |
| Auflistung von außen | seit 2. September 2026 für beide Bereiche gesperrt, geprüft |
Sicherung
| Prüfpunkt | Wert |
|---|---|
| Sicherungen des Anbieters | im Free-Tarif nicht wiederherstellbar |
| Eigene Sicherung | täglich 3 Uhr, vollständig |
| Verschlüsselung | AES-GCM 256 Bit, PBKDF2-SHA256, 250.000 Runden |
| Schlüsselverwahrung | ausschließlich beim Auftragnehmer |
| Ablage | Umstellung auf Hetzner Storage Box beschlossen, bis dahin Google Drive des Auftragnehmers |
| Umfang | alle Tabellen, Kontenliste ohne Passwörter, Pfade der Bilder |
| Nicht enthalten | die Bilddateien selbst |
| Aufbewahrung | 30 Tage, danach automatische Löschung. Festgelegt am 2. September 2026, technisch umzusetzen mit der Umstellung auf Hetzner |
| Wiederherstellung geprüft | 2. September 2026 – siehe gesondertes Protokoll |
Löschung und Export
| Prüfpunkt | Wert |
|---|---|
| Export durch den Auftraggeber | vollständige JSON-Datei über die App |
| Kontolöschung | Auftragsdaten, Bilddateien, Aktionen, Aktionstermine, Anfragen, Abmeldevermerk, Anmeldekonto |
| Frist Produktivdaten | sofort mit Auslösen der Löschung |
| Endgültige Löschung aus Sicherungen | spätestens 30 Tage nach der Löschung im Produktivsystem |
Externe Aufrufe
| Prüfpunkt | Wert |
|---|---|
| Schriften und Bibliotheken | werden selbst ausgeliefert, keine externen Aufrufe |
| Wetter und Ortsauflösung | über eigenen Weiterleitungspfad, IP der Nutzer erreicht den Anbieter nicht |
| Kartenkacheln | tile.openstreetmap.org, direkt aus dem Browser – einziger verbliebener Direktaufruf |
| Google Maps, Windy, Feedback-Formular | nur als Verweis, Aufruf erst nach Klick |
Umfang der Verarbeitung
| Kennzahl | Wert am 2. September 2026 |
|---|---|
| Registrierte Konten | 66 |
| Konten mit gespeicherten Daten | 61 |
| Erfasste Kunden insgesamt | 154 |
| Erfasste Termine insgesamt | 192 |
| Hochgeladene Bilder | 14 |
| Belegter Speicher | rund 4,9 MB |
Vertragsabschluss mit den Auftraggebern
| Prüfpunkt | Wert |
|---|---|
| Form | elektronische Annahme in der App |
| Festgehalten wird | Nutzerkonto, Vertragsfassung, Zeitpunkt |
| Zeitpunkt gesetzt von | der Datenbank, nicht vom Endgerät – ein vom Auftraggeber selbst gelieferter Zeitstempel wäre als Nachweis untauglich |
| Neue Vertragsfassung | wird erneut vorgelegt, alte Zustimmung bleibt nachweisbar |
| Verfügbar ab | App-Fassung 60.3 |
Noch festzulegen
- Aufbewahrungsfristen der Protokolle bei Supabase und Netlify. Beide Anbieter nennen eigene Fristen; für die Anlage sollte der jeweils dokumentierte Wert übernommen werden.
- Sitzungs- und Tokenlaufzeiten der Anmeldung. Standardwerte von Supabase, im Projekt zu bestätigen.
- Umgang mit stillgelegten Konten. Von 66 Konten sind 43 seit über einem Monat unbenutzt, 34 davon ohne jeden Eintrag. Für diese Konten fehlt bislang eine Löschfrist.