# Technische und Organisatorische Maßnahmen (TOMs)

**Anlage 1 zum Auftragsverarbeitungs-Vertrag (AVV).**
Erfüllung der Anforderungen aus Art. 32 DSGVO.

**Verantwortlich:**
Essential Advertising GmbH
Adenauerallee 2 · 61440 Oberursel (Taunus)
HRB 15288 (AG Bad Homburg v. d. Höhe) · USt-ID DE341132023
Geschäftsführer: Daniel Klantke
Tel.: +49 (0) 6172 90 84 747 · datenschutz@essentialadvertising.de

**Stand:** 18.05.2026 · **Nächste Review:** 18.11.2026 (alle 6 Monate)

---

## 1. Vertraulichkeit (Art. 32 Abs. 1 lit. b DSGVO)

### 1.1 Zutrittskontrolle (physisch)
EA betreibt keine eigenen Server. Physischer Zutritt zu den Verarbeitungs-
systemen liegt bei den Subprozessoren (Vercel, Supabase, AWS Frankfurt).

**Maßnahmen der Subprozessoren:**
- Vercel: SOC 2 Type 2 + ISO 27001 zertifizierte Rechenzentren
- Supabase / AWS eu-central-1: ISO 27001 + 27017 + 27018 + PCI DSS

### 1.2 Zugangskontrolle (System-Zugriff)
- **Pulse-Mitarbeiter:** Aktuell 1 Mitarbeiter (Inhaber). Zugriff auf Admin-
  Funktionen via Email + Passwort + 2FA (TOTP).
- **Service-Role-Key** (Supabase Admin): nur in Vercel-Environment-Variables,
  niemals in Repos. Rotation alle 12 Monate oder bei Personalwechsel.
- **Mitarbeiter-Passwort-Policy:** mindestens 12 Zeichen, Passwort-Manager
  (1Password) verpflichtend. Keine geteilten Accounts.

### 1.3 Zugriffskontrolle (Daten-Zugriff)
- **Row-Level-Security (RLS)** auf allen User-Tabellen: User können nur
  eigene Daten lesen/schreiben (Migration 0042+0043).
- **Audit-Log** (Migration 0044) protokolliert jeden Admin-Zugriff +
  jeden Daten-Export.
- **Service-Role-Key** wird ausschließlich serverseitig verwendet (Next.js
  Route-Handler), niemals im Browser.

### 1.4 Trennungskontrolle
- **Logische Trennung** durch RLS — Multi-Mandanten-fähig.
- Test-/Staging-Daten getrennt von Produktion (separate Supabase-Projekte).

### 1.5 Pseudonymisierung
- **User-IDs:** UUIDs (keine Mail-Adressen als Primary Keys).
- **Sentry-Logs:** `sendDefaultPii: false` — keine E-Mail, IP oder
  User-Eingaben in Error-Stack-Traces.
- **Audit-Log:** Soft-Delete-Records behalten user_id nur 30 Tage; nach
  Hard-Delete wird FK-Constraint die ID auf NULL setzen.

---

## 2. Integrität (Art. 32 Abs. 1 lit. b DSGVO)

### 2.1 Eingabekontrolle
- Jede Datenänderung wird im **Audit-Log** mit User-ID + Timestamp +
  Action + Resource-ID protokolliert (`lib/audit.ts`).
- Identity-Profile + Marken-Tiefe-Felder werden vor jedem Save validiert
  (siehe `lib/marken-tiefe/validation.ts`).

### 2.2 Weitergabekontrolle
- **TLS 1.3** über alle Endpoints (HTTPS erzwungen via Vercel + HSTS).
- **HTTP Strict Transport Security (HSTS)**: `max-age=63072000;
  includeSubDomains; preload`.
- **Subprozessor-Kommunikation:** ausschließlich verschlüsselte API-Calls
  (Anthropic, Resend, Stripe, Browserless, Serper).

---

## 3. Verfügbarkeit + Belastbarkeit (Art. 32 Abs. 1 lit. b DSGVO)

### 3.1 Verfügbarkeitskontrolle
- **Hosting-Redundanz:** Vercel Edge-Network (globaler CDN-Cache für
  statische Assets) + Frankfurt-Region für Serverless Functions.
- **Datenbank-Redundanz:** Supabase mit täglichem Backup, Point-in-Time-
  Recovery (PITR) 7 Tage.
- **Status-Page:** https://status.pulse.essentialadvertising.de (TODO: aktiv
  schalten via Better Stack)
- **Ziel-Uptime:** 99,5 % (entspricht ≤ 3,6 h Downtime/Monat).

### 3.2 Wiederherstellbarkeit
- **RPO (Recovery Point Objective):** max. 1 Stunde Datenverlust.
- **RTO (Recovery Time Objective):** Wiederherstellung innerhalb 4 Stunden.
- **Backup-Restore-Test:** quartalsweise.
- **Disaster-Recovery-Plan** als separates Dokument.

---

## 4. Verfahren regelmäßiger Überprüfung (Art. 32 Abs. 1 lit. d DSGVO)

### 4.1 Datenschutz-Management
- Schriftliche Datenschutz-Richtlinie für alle Mitarbeiter (siehe `docs/legal/Datenschutz-Richtlinie.md` — TODO erstellen).
- Jährliche Datenschutz-Schulung dokumentiert (E-Learning ab 30 €).
- Externer Datenschutzbeauftragter (DSB) ab 20 Mitarbeitern Pflicht — aktuell
  intern Daniel Klantke.

### 4.2 Vorfall-Reaktion
- **Incident-Response-Plan:** dokumentiert in `docs/legal/Incident-Response.md`.
- **Meldepflicht:** Datenschutz-Vorfälle binnen 24 h an Kunden + binnen 72 h
  an die Datenschutz-Aufsichtsbehörde (Hessen).
- **Sentry-Alerts** triggern automatisch bei Error-Rate-Anstieg.

### 4.3 Auftragskontrolle (Subprozessoren)
- Vor Beauftragung: schriftlicher DPA mit Subprozessor.
- **Subprozessor-Liste** mit DPA-Links unter
  https://pulse.essentialadvertising.de/subprozessoren.
- Jährliche Überprüfung der Subprozessor-Zertifikate (SOC 2 / ISO 27001).

---

## 5. Verschlüsselung (Art. 32 Abs. 1 lit. a DSGVO)

### 5.1 In Transit
- **TLS 1.3** zwischen User-Browser und Vercel
- **TLS 1.2+** zwischen Vercel und Supabase (intern in AWS-Network)
- **TLS 1.2+** zwischen Vercel und Anthropic/Resend/Stripe/etc.

### 5.2 At Rest
- **Supabase PostgreSQL:** AES-256-Encryption-at-Rest (AWS-managed)
- **Supabase Backups:** verschlüsselt (AWS S3 SSE)
- **Vercel-Logs:** verschlüsselt (intern)

### 5.3 Application-Level
- **Passwörter:** Argon2id-Hash via Supabase Auth
- **Auth-Tokens:** JWT mit HMAC-SHA256
- **Sensitive Marken-Tiefe-Felder** (Beziehungsdaten / NPS / Umsatz):
  Application-Level-Verschlüsselung mit pgcrypto — geplant für Enterprise-
  Phase (TODO).

---

## 6. Kontakt + Eskalation

**Datenschutz-Anfragen:** datenschutz@essentialadvertising.de
**Sicherheits-Vorfall:** dk@essentialadvertising.de · Tel.: +49 (0) 6172 90 84 747
**Postanschrift:** Essential Advertising GmbH · Adenauerallee 2 · 61440 Oberursel
**Antwort-Zeiten:**
- Datenschutz-Anfragen: binnen 5 Werktagen
- Sicherheits-Vorfälle: binnen 24 h
- Vor-Ort-Audit-Anfrage: Termin innerhalb 4 Wochen

---

> **Review-Zyklus:** Diese TOMs werden halbjährlich überprüft + bei
> wesentlichen Änderungen aktualisiert. Letzte Review: 18.05.2026.
