Benjamin Admin
44acd68c96
feat: Cookie-Banner ↔ Backend Integration (DSR, Retention, Consent Proof)
Phase 1: Vendor sync from service registry (82+ services → banner vendors)
Phase 2: Category-based retention (marketing=90d, statistics=790d, not hardcoded 365d)
Phase 3: DSR ↔ Banner email linking (link-email, by-email, Art.17 erasure, Art.15/20 export)
Phase 4: Consent sync (Banner → Einwilligungen bridge)
Phase 6: Consent proof (SHA256 config hash + config_version in audit log, Art. 7(1) DSGVO)
New files:
- banner_dsr_service.py — email linking + DSR integration
- vendor_banner_sync.py — service registry → vendor configs
- migration 106 — linked_email, banner_config_hash, consent_version columns
Tests: 20+ new backend tests + 2 Playwright E2E test suites (API + UI)
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-05-02 19:55:13 +02:00
..
2026-03-02 07:58:08 +01:00
2026-03-02 11:04:31 +01:00
2026-03-02 11:04:31 +01:00
2026-03-02 11:04:31 +01:00
2026-03-02 11:04:31 +01:00
2026-03-02 17:14:58 +01:00
2026-03-03 08:25:13 +01:00
2026-03-03 08:25:13 +01:00
2026-03-03 11:54:25 +01:00
2026-03-03 12:48:43 +01:00
2026-03-03 12:48:43 +01:00
2026-03-03 12:48:43 +01:00
2026-03-03 15:58:50 +01:00
2026-03-03 18:04:53 +01:00
2026-03-03 18:04:53 +01:00
2026-03-03 18:04:53 +01:00
2026-03-03 18:04:53 +01:00
2026-03-03 23:12:07 +01:00
2026-03-04 09:00:25 +01:00
2026-03-04 10:47:38 +01:00
2026-03-04 12:06:26 +01:00
2026-03-04 13:23:03 +01:00
2026-03-04 14:35:56 +01:00
2026-03-04 22:41:05 +01:00
2026-03-05 00:05:10 +01:00
2026-03-05 00:36:24 +01:00
2026-03-05 00:36:24 +01:00
2026-03-05 09:32:31 +01:00
2026-03-05 00:36:24 +01:00
2026-03-05 10:03:09 +01:00
2026-03-05 11:42:19 +01:00
2026-03-05 17:24:15 +01:00
2026-03-06 17:14:38 +01:00
2026-03-06 17:35:44 +01:00
2026-03-07 14:12:34 +01:00
2026-03-07 14:12:34 +01:00
2026-03-07 14:12:34 +01:00
2026-03-07 14:12:34 +01:00
2026-03-09 15:06:06 +01:00
2026-03-09 20:12:54 +01:00
2026-03-09 20:43:23 +01:00
2026-03-09 23:54:20 +01:00
2026-03-10 13:11:00 +01:00
2026-03-12 19:55:06 +01:00
2026-03-13 00:28:21 +01:00
2026-03-14 21:59:10 +01:00
2026-03-14 21:59:10 +01:00
2026-03-14 21:45:00 +01:00
2026-03-14 21:45:00 +01:00
2026-03-14 21:03:04 +01:00
2026-03-14 21:03:04 +01:00
2026-03-14 21:03:04 +01:00
2026-03-14 21:03:04 +01:00
2026-03-15 00:23:19 +01:00
2026-03-15 00:43:46 +01:00
2026-03-15 00:43:46 +01:00
2026-03-15 15:10:52 +01:00
2026-03-15 15:10:52 +01:00
2026-03-16 21:41:48 +01:00
2026-03-17 09:00:37 +01:00
2026-03-17 09:00:37 +01:00
2026-03-17 17:31:11 +01:00
2026-03-18 16:28:05 +01:00
2026-03-19 11:56:25 +01:00
2026-03-19 11:56:25 +01:00
2026-03-19 11:56:25 +01:00
2026-03-19 11:56:25 +01:00
2026-03-19 11:56:53 +01:00
2026-03-19 13:59:43 +01:00
2026-03-19 13:59:43 +01:00
2026-03-19 23:27:25 +01:00
2026-03-19 23:27:25 +01:00
2026-03-19 23:27:25 +01:00
2026-03-21 11:56:08 +01:00
2026-03-21 22:27:09 +01:00
2026-03-23 17:15:45 +01:00
2026-03-23 17:15:45 +01:00
2026-03-24 07:06:38 +01:00
2026-03-25 21:53:40 +01:00
2026-03-26 10:32:08 +01:00
2026-03-26 20:13:00 +01:00
2026-03-28 12:47:26 +01:00
2026-03-29 10:14:09 +02:00
2026-04-28 19:25:38 +02:00
2026-05-02 19:55:13 +02:00