feat: Adequacy decisions, DPF check, customer guidance for transfers
New: adequacy-decisions.ts - Complete list of 15 countries with EU adequacy decisions (Art. 45) - EU/EEA country set (30 countries) - getTransferRequirement() — determines SCC/TIA/certification needs per country code with human-readable explanations - US special handling: DPF certification required, check URL included Updated: transfers/page.tsx - "Was muss ich tun?" explanation section with 3 options: 1. Adequacy decision (green) — no action needed 2. DPF certification (blue, US only) — check dataprivacyframework.gov 3. SCC + TIA required (amber) — link to Document Generator - Collapsible adequacy countries table (15 countries with restrictions) - Schrems II background explanation for customers - Customer guidance written for non-experts who never heard of TIA/SCC Updated: templateRecommendations.ts - SCC+TIA rules now consider DPF certification and adequacy status - us_dpf_only → SCC/TIA optional (not required) - adequate_only → SCC/TIA not recommended Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -214,13 +214,18 @@ const TEMPLATE_RULES: TemplateRule[] = [
|
||||
},
|
||||
|
||||
// ── Drittlandtransfer (SCC + TIA) ───────────────────────────────────────
|
||||
// SCC+TIA nur erforderlich wenn Drittlandtransfer OHNE Angemessenheitsbeschluss/DPF
|
||||
{
|
||||
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
|
||||
if (!thirdCountry || thirdCountry === 'no') return null
|
||||
// Wenn nur DPF-zertifizierte US-Anbieter: empfohlen statt pflicht
|
||||
if (thirdCountry === 'us_dpf_only') return 'optional'
|
||||
// Wenn nur Laender mit Angemessenheitsbeschluss: nicht noetig
|
||||
if (thirdCountry === 'adequate_only') return null
|
||||
return 'required'
|
||||
},
|
||||
},
|
||||
{
|
||||
@@ -228,8 +233,10 @@ const TEMPLATE_RULES: TemplateRule[] = [
|
||||
label: 'Standardvertragsklauseln (SCC) — Anhaenge',
|
||||
condition: (answers) => {
|
||||
const thirdCountry = answers.get('tech_third_country')
|
||||
if (thirdCountry && thirdCountry !== 'no') return 'required'
|
||||
return null
|
||||
if (!thirdCountry || thirdCountry === 'no') return null
|
||||
if (thirdCountry === 'us_dpf_only') return 'optional'
|
||||
if (thirdCountry === 'adequate_only') return null
|
||||
return 'required'
|
||||
},
|
||||
},
|
||||
|
||||
|
||||
@@ -2,6 +2,7 @@
|
||||
|
||||
import { useMemo, useState } from 'react'
|
||||
import { useVendorCompliance } from '@/lib/sdk/vendor-compliance'
|
||||
import { getTransferRequirement, ADEQUACY_DECISIONS, type AdequacyDecision } from '@/lib/sdk/vendor-compliance/adequacy-decisions'
|
||||
import Link from 'next/link'
|
||||
|
||||
// ============================================================================
|
||||
@@ -240,11 +241,99 @@ export default function TransfersPage() {
|
||||
</table>
|
||||
</div>
|
||||
|
||||
{/* Help text */}
|
||||
{/* Explanation: What do I need to do? */}
|
||||
<div className="bg-white rounded-xl border border-gray-200 p-6 space-y-4">
|
||||
<h3 className="text-lg font-semibold text-gray-900">Was muss ich tun?</h3>
|
||||
<p className="text-sm text-gray-600">
|
||||
Wenn Ihr Unternehmen personenbezogene Daten an Empfaenger ausserhalb der EU/des EWR uebermittelt,
|
||||
muessen Sie sicherstellen, dass ein angemessenes Datenschutzniveau besteht. Es gibt drei Wege:
|
||||
</p>
|
||||
|
||||
<div className="grid md:grid-cols-3 gap-4">
|
||||
{/* Option 1: Adequacy */}
|
||||
<div className="border border-green-200 rounded-lg p-4 bg-green-50">
|
||||
<div className="flex items-center gap-2 mb-2">
|
||||
<span className="w-3 h-3 rounded-full bg-green-500" />
|
||||
<span className="font-medium text-green-800">Angemessenheitsbeschluss</span>
|
||||
</div>
|
||||
<p className="text-xs text-green-700">
|
||||
Die EU-Kommission hat fuer bestimmte Laender festgestellt, dass ein angemessenes Datenschutzniveau
|
||||
besteht. Fuer diese Laender sind <strong>keine SCC und kein TIA erforderlich</strong>.
|
||||
</p>
|
||||
</div>
|
||||
|
||||
{/* Option 2: DPF */}
|
||||
<div className="border border-blue-200 rounded-lg p-4 bg-blue-50">
|
||||
<div className="flex items-center gap-2 mb-2">
|
||||
<span className="w-3 h-3 rounded-full bg-blue-500" />
|
||||
<span className="font-medium text-blue-800">DPF-Zertifizierung (nur USA)</span>
|
||||
</div>
|
||||
<p className="text-xs text-blue-700">
|
||||
US-Unternehmen koennen sich nach dem <strong>EU-US Data Privacy Framework</strong> zertifizieren.
|
||||
Pruefen Sie unter{' '}
|
||||
<a href="https://www.dataprivacyframework.gov/list" target="_blank" rel="noopener noreferrer" className="underline">
|
||||
dataprivacyframework.gov
|
||||
</a>{' '}
|
||||
ob Ihr US-Dienstleister zertifiziert ist. Falls ja: <strong>keine SCC/TIA noetig</strong>.
|
||||
</p>
|
||||
</div>
|
||||
|
||||
{/* Option 3: SCC + TIA */}
|
||||
<div className="border border-amber-200 rounded-lg p-4 bg-amber-50">
|
||||
<div className="flex items-center gap-2 mb-2">
|
||||
<span className="w-3 h-3 rounded-full bg-amber-500" />
|
||||
<span className="font-medium text-amber-800">SCC + TIA erforderlich</span>
|
||||
</div>
|
||||
<p className="text-xs text-amber-700">
|
||||
Fuer alle anderen Drittlaender muessen Sie <strong>EU-Standardvertragsklauseln (SCC)</strong> abschliessen
|
||||
und ein <strong>Transfer Impact Assessment (TIA)</strong> durchfuehren. Beides finden Sie im{' '}
|
||||
<Link href="/sdk/document-generator" className="underline">Document Generator</Link> unter "Drittlandtransfer".
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
{/* Adequacy countries list */}
|
||||
<details className="bg-white rounded-xl border border-gray-200">
|
||||
<summary className="px-6 py-4 cursor-pointer text-sm font-medium text-gray-700 hover:text-purple-600">
|
||||
Laender mit Angemessenheitsbeschluss anzeigen ({ADEQUACY_DECISIONS.length} Laender)
|
||||
</summary>
|
||||
<div className="px-6 pb-4">
|
||||
<table className="w-full text-sm">
|
||||
<thead>
|
||||
<tr className="border-b border-gray-100">
|
||||
<th className="text-left py-2 font-medium text-gray-500">Land</th>
|
||||
<th className="text-left py-2 font-medium text-gray-500">Seit</th>
|
||||
<th className="text-left py-2 font-medium text-gray-500">Einschraenkung</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody className="divide-y divide-gray-50">
|
||||
{ADEQUACY_DECISIONS.map((d: AdequacyDecision) => (
|
||||
<tr key={d.countryCode}>
|
||||
<td className="py-2 text-gray-900">
|
||||
{d.countryName}
|
||||
{d.requiresCertification && (
|
||||
<span className="ml-2 text-xs text-blue-600 font-medium">Zertifizierung erforderlich</span>
|
||||
)}
|
||||
</td>
|
||||
<td className="py-2 text-gray-600">{d.since}</td>
|
||||
<td className="py-2 text-gray-500 text-xs">
|
||||
{d.restriction || d.expires || '—'}
|
||||
</td>
|
||||
</tr>
|
||||
))}
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
</details>
|
||||
|
||||
{/* Schrems II info */}
|
||||
<div className="bg-blue-50 border border-blue-200 rounded-lg p-4 text-sm text-blue-800">
|
||||
<strong>Hinweis:</strong> Fuer Datenuebermittlungen in Drittlaender ohne Angemessenheitsbeschluss sind
|
||||
EU-Standardvertragsklauseln (SCC) und ein Transfer Impact Assessment (TIA) erforderlich (EuGH Schrems II, Art. 46 DSGVO).
|
||||
Templates fuer SCC und TIA finden Sie im Document Generator unter der Kategorie "Drittlandtransfer".
|
||||
<strong>Hintergrund — EuGH Schrems II:</strong> Der EuGH hat 2020 das EU-US Privacy Shield fuer ungueltig erklaert
|
||||
und klargestellt, dass bei Drittlandtransfers immer geprueft werden muss, ob die Gesetze des Empfaengerstaats
|
||||
den Schutz der uebermittelten Daten beeintraechtigen (z.B. durch Massenueberwachung oder fehlende Rechtsbehelfe).
|
||||
Das TIA dokumentiert genau diese Pruefung. Seit Juli 2023 gibt es mit dem EU-US Data Privacy Framework einen neuen
|
||||
Angemessenheitsbeschluss fuer DPF-zertifizierte US-Unternehmen.
|
||||
</div>
|
||||
</div>
|
||||
)
|
||||
|
||||
Reference in New Issue
Block a user