Benjamin Admin
0326d5baab
feat(vendor-assessment): AVV/SCC/TOM/Sub-Processor checklists + assessment service
Phase 1-3 of the Vendor Contract Assessment:
Backend checklists (Doc-Check L1/L2 engine compatible):
- avv_checks.py: 28 checks (11 L1 + 17 L2) for Art. 28(3) DSGVO
- scc_checks.py: 7 checks for EU SCC 2021 (modules, annexes, TIA)
- tom_annex_checks.py: 12 checks for Art. 32 (8 control objectives)
- sub_processor_checks.py: 7 checks for sub-processor list completeness
Assessment service:
- POST /vendor-compliance/assessments — async contract analysis
- GET /vendor-compliance/assessments/{id} — poll status
- Cross-check engine: detects missing SCC when AVV mentions third-country,
missing TOM annex, missing sub-processor list
All checklists registered in runner.py CHECKLIST_MAP (27 doc_types total).
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-05-12 23:14:54 +02:00
..
2026-05-12 23:14:54 +02:00
2026-02-11 23:47:28 +01:00
2026-05-11 22:52:26 +02:00
2026-04-07 19:47:29 +02:00
2026-04-29 15:27:51 +02:00
2026-05-10 22:56:09 +02:00
2026-03-07 19:00:33 +01:00
2026-03-21 11:49:43 +01:00
2026-03-23 17:15:45 +01:00
2026-04-07 13:18:29 +02:00
2026-04-07 18:39:40 +02:00
2026-04-07 18:39:40 +02:00
2026-04-07 13:18:29 +02:00
2026-05-03 21:42:50 +02:00
2026-04-07 18:52:31 +02:00
2026-05-03 20:58:06 +02:00
2026-05-12 14:43:13 +02:00
2026-05-12 18:18:50 +02:00
2026-05-02 19:52:04 +02:00
2026-03-24 08:48:58 +01:00
2026-05-12 17:03:57 +02:00
2026-05-02 21:18:10 +02:00
2026-03-21 11:49:43 +01:00
2026-04-07 19:47:29 +02:00
2026-05-10 22:56:09 +02:00
2026-05-03 21:42:50 +02:00
2026-03-17 09:00:37 +01:00
2026-03-24 07:06:38 +01:00
2026-04-10 11:23:43 +02:00
2026-03-23 17:15:45 +01:00
2026-03-23 17:15:45 +01:00
2026-05-02 20:06:57 +02:00
2026-03-28 17:24:19 +01:00
2026-05-04 23:22:30 +02:00
2026-05-04 23:22:30 +02:00
2026-04-29 19:36:46 +02:00
2026-04-10 11:23:43 +02:00
2026-04-10 11:23:43 +02:00
2026-05-07 12:37:03 +02:00
2026-05-11 23:39:26 +02:00
2026-05-03 23:38:32 +02:00
2026-05-03 23:15:25 +02:00
2026-04-10 11:23:43 +02:00
2026-05-02 19:52:04 +02:00
2026-05-03 23:38:32 +02:00
2026-04-08 22:39:19 +02:00
2026-04-08 22:39:19 +02:00
2026-04-08 21:59:03 +02:00
2026-04-07 13:18:29 +02:00
2026-03-23 12:11:55 +01:00
2026-04-09 08:35:57 +02:00
2026-04-09 08:35:57 +02:00
2026-05-02 08:37:51 +02:00
2026-04-10 11:23:43 +02:00
2026-04-10 11:23:43 +02:00
2026-04-10 11:23:43 +02:00
2026-04-10 11:23:43 +02:00
2026-05-04 23:22:30 +02:00
2026-04-09 08:47:56 +02:00
2026-04-09 20:04:16 +02:00
2026-03-12 19:55:06 +01:00
2026-03-25 23:25:14 +01:00
2026-05-04 23:22:30 +02:00
2026-03-23 17:15:45 +01:00
2026-04-10 11:23:43 +02:00
2026-04-10 11:23:43 +02:00
2026-03-21 11:49:43 +01:00
2026-03-17 09:00:37 +01:00
2026-02-11 23:47:28 +01:00
2026-03-17 09:00:37 +01:00
2026-05-12 17:34:33 +02:00
2026-03-21 11:49:43 +01:00
2026-05-10 22:56:09 +02:00
2026-04-10 11:23:43 +02:00
2026-04-07 13:18:29 +02:00
2026-04-29 11:36:24 +02:00
2026-04-07 13:18:29 +02:00
2026-03-21 11:49:43 +01:00
2026-04-07 20:03:16 +02:00
2026-05-12 12:49:57 +02:00
2026-03-07 19:00:33 +01:00
2026-05-04 23:34:00 +02:00
2026-03-12 19:55:06 +01:00
2026-04-27 23:28:21 +02:00
2026-04-07 19:58:02 +02:00
2026-05-04 07:01:37 +02:00
2026-04-07 19:42:17 +02:00
2026-05-03 22:03:25 +02:00
2026-03-26 11:13:37 +01:00
2026-05-12 23:14:54 +02:00
2026-05-02 19:52:04 +02:00
2026-04-10 11:23:43 +02:00
2026-04-10 11:23:43 +02:00
2026-04-10 11:23:43 +02:00
2026-05-12 18:18:50 +02:00
2026-04-07 19:50:40 +02:00
2026-05-02 08:26:59 +02:00
2026-05-11 11:44:20 +02:00