feat: SCC + TIA templates for third-country transfers

New templates for the Vendor Compliance module:
- 105: Transfer Impact Assessment (TIA) — Schrems II risk assessment
  with country evaluation, government access assessment, supplementary
  measures, risk matrix, and go/conditional/deny decision
- 105: SCC Companion Document — annexes to EU Decision 2021/914
  (module selection C2C/C2P/P2P/P2C, party details, data description,
  TOMs, sub-processor list)

Template recommendations: SCC+TIA triggered by tech_third_country answer
Generator: New "Drittlandtransfer" category

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
Benjamin Admin
2026-05-01 10:19:56 +02:00
parent 4ff6050f43
commit d942b21354
3 changed files with 330 additions and 0 deletions
@@ -37,6 +37,7 @@ export const CATEGORIES: { key: string; label: string; types: string[] | null }[
{ key: 'hr_policies', label: 'HR-Richtlinien', types: ['employee_security_policy', 'security_awareness_policy', 'remote_work_policy', 'offboarding_policy'] },
{ key: 'data_policies', label: 'Datenrichtlinien', types: ['data_protection_policy', 'data_classification_policy', 'data_retention_policy', 'data_transfer_policy', 'privacy_incident_policy'] },
{ key: 'vendor_policies', label: 'Lieferanten', types: ['vendor_risk_management_policy', 'third_party_security_policy', 'supplier_security_policy'] },
{ key: 'third_country', label: 'Drittlandtransfer', types: ['transfer_impact_assessment', 'scc_companion'] },
{ key: 'bcm_policies', label: 'BCM/Notfall', types: ['business_continuity_policy', 'disaster_recovery_policy', 'crisis_management_policy'] },
]
@@ -213,6 +213,26 @@ const TEMPLATE_RULES: TemplateRule[] = [
condition: () => 'required', // Immer Pflicht bei Websites
},
// ── Drittlandtransfer (SCC + TIA) ───────────────────────────────────────
{
templateType: 'transfer_impact_assessment',
label: 'Transfer Impact Assessment (TIA)',
condition: (answers) => {
const thirdCountry = answers.get('tech_third_country')
if (thirdCountry && thirdCountry !== 'no') return 'required'
return null
},
},
{
templateType: 'scc_companion',
label: 'Standardvertragsklauseln (SCC) — Anhaenge',
condition: (answers) => {
const thirdCountry = answers.get('tech_third_country')
if (thirdCountry && thirdCountry !== 'no') return 'required'
return null
},
},
// ── ISMS (nur bei Zertifizierungsziel) ─────────────────────────────────
{
templateType: 'isms_manual',