Commit Graph

5 Commits

Author SHA1 Message Date
9b6e9d8383 migration: subscribers-Tabelle mit DOI-Feldern und Consent-Tracking (Finding 3)
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-17 17:36:25 +00:00
ee83705527 fix: Suppression-Check nutzt SHA256-Hash statt Klartext-E-Mail (Finding 1)
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-17 17:36:11 +00:00
ca0c65352e fix: DSGVO-Findings 5+7+6 — Tenant-Guard, APP_URL-Pflichtcheck, Constraint-Migration
- getTenantId wirft bei fehlendem Header statt silent fallback auf 'default'
- Alle API-Routes fangen den Fehler ab und antworten mit 401
- Worker gibt err() zurück wenn APP_URL nicht konfiguriert ist
- Migration: recipient_has_one Constraint schließt NULL/NULL-Zeilen aus

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-17 16:42:50 +00:00
c4d3c348c1 fix: CREATE OR REPLACE TRIGGER (idempotent), FK-Indizes für campaign_recipients und campaign_triggers 2026-04-17 08:59:38 +00:00
5a144e0ce4 feat: Migrationen für campaigns-Tabellen (PostgreSQL) und email_events (ClickHouse)
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-17 08:57:37 +00:00