Anlage A – Technische und organisatorische Maßnahmen (TOM)
Diese Übersicht beschreibt die von Alexander Dahm – Web, App und Softwareentwicklung
getroffenen Maßnahmen gemäß Art. 32 DSGVO.
Sie ist Bestandteil der AVV-Mustervereinbarung und wird bei Änderungen fortgeschrieben.
0. Systemumgebungen
| Umgebung | Einsatz | Betrieb |
|---|
| Vercel | Hosting, Build & Auslieferung von Websites und Web-Apps | Plattform von Vercel Inc.; Funktionsregion je Projekt (alexanderdahm.de: fra1, Frankfurt) |
| Selbst gehostetes Supabase | Datenbank, z. B. für das Kontaktformular von alexanderdahm.de | Eigener Betrieb (Docker Compose) auf einem VPS der hosting.de GmbH |
| Supabase Cloud | Datenbank & Authentifizierung für Projekte, die dort betrieben werden | Plattform von Supabase Inc. |
| Resend | Transaktionaler E-Mail-Versand | Plattform von Resend Inc. |
Die folgenden Maßnahmen gelten, soweit nicht anders angegeben, für alle Umgebungen.
Für Plattformen von Drittanbietern gelten zusätzlich deren eigene Maßnahmen; diese sind hier nicht eigenständig geprüft.
1. Vertraulichkeit (Art. 32 Abs. 1 lit. b DSGVO)
| Maßnahme | Beschreibung |
|---|
| Zugangskontrolle | Cloud- und Hosting-Zugänge ausschließlich für berechtigte Personen. Administrativer Zugang zum VPS per SSH. |
| Zugriffskontrolle | Rollen und Rechte in PostgreSQL / Supabase. Tabellen mit personenbezogenen Daten sind per Row Level Security geschützt; Lese- und Schreibzugriff nur serverseitig mit dem Service-Role-Schlüssel. Den öffentlichen Rollen (anon, authenticated) sind die Tabellenrechte entzogen. Selbstregistrierung neuer Konten ist auf der selbst gehosteten Instanz deaktiviert. |
| Schlüsselverwaltung | Service-Role-Schlüssel nur als serverseitige Umgebungsvariablen, in Vercel als „sensitive“ hinterlegt; nicht im Browser-Code und nicht im Git-Repository. Konfigurationsdatei mit Zugangsdaten auf dem VPS nur für den Eigentümer lesbar. |
| Netzwerkzugriff (selbst gehostete Instanz) | Öffentlich erreichbar ist die Instanz nur über HTTPS (Port 443; Port 80 leitet auf HTTPS um) sowie SSH für die Administration. Die PostgreSQL- und Pooler-Ports (5432, 6543) sind ausschließlich an die Loopback-Schnittstelle des Servers gebunden und von außen nicht erreichbar; administrativer Datenbankzugriff erfolgt über einen SSH-Tunnel. |
| Trennung von Daten | Getrennte Datenbanken / Projekte je Anwendung. Keine gemeinsame Kundendatenhaltung. |
| Vertraulichkeitsverpflichtung | Alle Mitarbeitenden und Subunternehmer sind schriftlich auf Vertraulichkeit verpflichtet. |
2. Integrität (Art. 32 Abs. 1 lit. b DSGVO)
| Maßnahme | Beschreibung |
|---|
| Übertragungssicherheit | HTTPS auf allen öffentlichen Domains / APIs. Die selbst gehostete Instanz verwendet ein Let's-Encrypt-Zertifikat und handelt TLS 1.2 oder 1.3 aus. Die Website greift über HTTPS auf die Datenbank-Schnittstelle zu. |
| Speichersicherheit | Eine Verschlüsselung ruhender Daten (at rest) ist für die selbst gehostete Instanz und für die lokalen Datensicherungen derzeit nicht nachgewiesen. Für Cloud-Plattformen gelten die Angaben der jeweiligen Anbieter. |
| Versionierung & Audit | Änderungen an Code und Datenbankschema werden über Git und versionierte Migrationsdateien dokumentiert. |
| Eingabevalidierung | Formulareingaben werden serverseitig geprüft (Pflichtfelder, Format, Länge) und zusätzlich durch Datenbank-Constraints abgesichert. |
3. Verfügbarkeit und Belastbarkeit (Art. 32 Abs. 1 lit. b DSGVO)
| Maßnahme | Beschreibung |
|---|
| Backups (selbst gehostete Instanz) | Tägliche logische Sicherung der PostgreSQL-Datenbank (pg_dump) inklusive Rollenexport ohne Passwörter und SHA-256-Prüfsummen. Aufbewahrung: 14 tägliche, 8 wöchentliche und 12 monatliche Stände. Ablage auf einem lokalen Rechner des Auftragsverarbeiters; eine zweite, räumlich getrennte Kopie besteht derzeit nicht. Dateien aus Supabase Storage und die Server-Konfiguration sind nicht Teil dieser Sicherung. |
| Backups (Cloud-Plattformen) | Nach den Backup-Funktionen des jeweiligen Anbieters und des gebuchten Tarifs. |
| Hosting | Websites werden über die Infrastruktur von Vercel ausgeliefert. Die selbst gehostete Instanz läuft auf einem einzelnen VPS ohne Redundanz. |
| Monitoring | Fehlerprotokolle der serverseitigen Funktionen in Vercel; fehlgeschlagene Datensicherungen werden protokolliert. Eine automatische Alarmierung ist nicht eingerichtet. |
4. Belastbarkeit und Wiederherstellbarkeit (Art. 32 Abs. 1 lit. c DSGVO)
| Maßnahme | Beschreibung |
|---|
| Wiederherstellungstest | Die Wiederherstellung der Datenbanksicherung wurde in einem separaten Testcontainer erfolgreich getestet und mit dem Live-Bestand abgeglichen (Tabellen, Policies, Erweiterungen, Datensätze). Ein Skript für wiederholte Tests ist vorhanden. |
| Rollback | Frühere Deployments der Website können über Vercel wiederhergestellt werden; Datenbankinhalte sind davon nicht umfasst. |
| Incident-Plan | Interne Checkliste zur Eskalation bei Sicherheitsvorfällen. |
| Kontinuierliche Verbesserung | Regelmäßige Überprüfung der Sicherheits- und Datenschutzprozesse (halbjährlich). |
5. Verfahren zur regelmäßigen Überprüfung (Art. 32 Abs. 1 lit. d DSGVO)
| Maßnahme | Beschreibung |
|---|
| Audits & Nachweise | Prüfung von DPAs / Zertifikaten der eingesetzten Dienstleister (siehe Anlage B). |
| Penetrationstests | Externe Tests bei sicherheitskritischen Projekten (optional). |
| Awareness-Schulungen | Datenschutz- und Sicherheits-Updates für beteiligte Personen. |
6. Auftragsbezogene Prozesse
| Prozess | Beschreibung |
|---|
| Datenlöschung | Löschung personenbezogener Daten nach Vertragsende / Projektabschluss bzw. nach Wegfall des Zwecks. Die Löschung erfolgt manuell; automatisierte Löschfristen sind derzeit nicht eingerichtet. Gelöschte Daten können bis zum Ablauf der Backup-Aufbewahrung (höchstens rund 12 Monate) in Datensicherungen enthalten bleiben. |
| Zugangsverwaltung | Entfernen nicht mehr benötigter Konten (GitHub / Supabase / Vercel / VPS). |
| Supportzugänge | Nur temporäre Zugriffe auf Kundensysteme, mit Protokollierung. |
7. Geplante Verbesserungen
Folgende Maßnahmen sind noch nicht umgesetzt und werden hier nicht als bestehend zugesichert:
- Netzwerkfilter auf Ebene des Hosting-Anbieters und weitere Härtung des VPS, u. a. des SSH-Zugangs
- zweite, räumlich getrennte Kopie der Datensicherungen
- Verschlüsselung des Speichermediums der Datensicherungen
- festgelegte und automatisierte Löschfristen für Kontaktanfragen
8. Speicherorte & Verantwortlichkeiten
Die eingesetzten Unterauftragsverarbeiter, ihre Zwecke und der Stand der vertraglichen Grundlagen sind in Anlage B – Sub-Processors aufgeführt.
Diese Anlage ist Teil des Muster-AVV und dient als Nachweis der technischen und organisatorischen Maßnahmen nach Art. 32 DSGVO.
Änderungen an Systemen oder Dienstleistern werden dokumentiert und versioniert.
Diese Anlage gehört zur Muster-AVV. Änderungen werden versioniert.
→ Zur Hauptvereinbarung