diff --git a/admin-compliance/app/sdk/cra/[projectId]/documents/page.tsx b/admin-compliance/app/sdk/cra/[projectId]/documents/page.tsx
index 774710bd..67bfb249 100644
--- a/admin-compliance/app/sdk/cra/[projectId]/documents/page.tsx
+++ b/admin-compliance/app/sdk/cra/[projectId]/documents/page.tsx
@@ -192,7 +192,7 @@ export default function DocumentsPage({
setManufacturer(e.target.value)} placeholder="Acme GmbH, Musterstr. 1, 80331 Muenchen" className="w-full px-3 py-2 border rounded text-sm" />
-
+
setNotifiedBody(e.target.value)} placeholder="TUEV Nord (NB-0044)" className="w-full px-3 py-2 border rounded text-sm" />
diff --git a/admin-compliance/app/sdk/cra/[projectId]/page.tsx b/admin-compliance/app/sdk/cra/[projectId]/page.tsx
index e9b9bbf5..7d888a32 100644
--- a/admin-compliance/app/sdk/cra/[projectId]/page.tsx
+++ b/admin-compliance/app/sdk/cra/[projectId]/page.tsx
@@ -39,10 +39,10 @@ interface BacklogData {
}
const PATH_LABEL: Record
= {
- self_assessment: 'Modul A — Self-Assessment',
- harmonized_standard: 'Modul B — Harmonized Standard',
- eucc: 'Modul H — EUCC',
- notified_body: 'Modul C — Notified Body',
+ self_assessment: 'Modul A — Selbstbewertung',
+ harmonized_standard: 'Harmonisierte Norm (noch nicht verfügbar)',
+ eucc: 'EUCC — EU-Cybersicherheitszertifikat',
+ notified_body: 'Modul B+C — Benannte Stelle',
}
export default function CRAProjectDashboard({
diff --git a/admin-compliance/app/sdk/cra/[projectId]/path/page.tsx b/admin-compliance/app/sdk/cra/[projectId]/path/page.tsx
index 6d72ad98..82302965 100644
--- a/admin-compliance/app/sdk/cra/[projectId]/path/page.tsx
+++ b/admin-compliance/app/sdk/cra/[projectId]/path/page.tsx
@@ -20,55 +20,58 @@ interface PathOption {
title: string
short: string
details: string[]
+ available?: boolean // false = rechtlich vorgesehen, aber noch nicht nutzbar
+ note?: string
}
const PATHS: PathOption[] = [
{
id: 'self_assessment',
modul: 'Modul A',
- title: 'Self-Assessment',
- short: 'Konformitaetsbewertung durch interne Pruefung',
+ title: 'Selbstbewertung (interne Kontrolle)',
+ short: 'Hersteller erklaert die Konformitaet selbst',
details: [
- 'Hersteller fuehrt Konformitaetsbewertung selbst durch',
+ 'Hersteller fuehrt die Konformitaetsbewertung selbst durch',
'Geringster externer Aufwand, schnelle Umsetzung',
- 'Default fuer Standard-Produkte',
- 'Technische Dokumentation + DoC bleibt Pflicht',
+ 'Nur fuer Standard- und (mit Norm) wichtige Klasse-I-Produkte',
+ 'Technische Dokumentation + Konformitaetserklaerung bleiben Pflicht',
],
},
{
id: 'harmonized_standard',
- modul: 'Modul B',
- title: 'Harmonized Standard',
- short: 'Konformitaetsvermutung durch harmonisierte Norm',
+ modul: 'Konformitaetsvermutung',
+ title: 'Harmonisierte Normen',
+ short: 'Vermutungswirkung durch eine harmonisierte EU-Norm',
+ available: false,
+ note: 'Fuer den CRA noch keine harmonisierte Norm veroeffentlicht — Entwuerfe erwartet ~Ende 2026, Listung im Amtsblatt voraussichtlich 2027.',
details: [
- 'Anwendung einer harmonisierten EU-Norm (z.B. DIN EN 40000-1-2 Entwurf)',
- 'Konformitaetsvermutung gemaess EU-Recht',
- 'Geringeres Audit-Risiko',
- 'Empfohlen bei verfuegbarer harmonisierter Norm',
+ 'Kein eigenes Modul, sondern Grundlage der Konformitaetsvermutung',
+ 'Wer danach baut, gilt als CRA-konform und darf (Standard/Klasse I) selbst bewerten',
+ 'Bis dahin ggf. ueber gemeinsame Spezifikationen der Kommission (Art. 27)',
],
},
{
id: 'eucc',
- modul: 'Modul H',
- title: 'EUCC Zertifizierung',
- short: 'European Cybersecurity Certification Scheme',
+ modul: 'EUCC',
+ title: 'EU-Cybersicherheitszertifikat',
+ short: 'Zertifizierung nach EUCC-Schema (Common-Criteria-basiert)',
details: [
- 'ENISA-EUCC-Zertifizierung (Common Criteria-basiert)',
- 'Hoechste Anerkennung in EU + Drittstaaten',
- 'Hoher Aufwand, ITSEF-Pruefung erforderlich',
- 'Pflicht bei einigen Important Class II-Produkten',
+ 'EUCC-Zertifikat (in der Regel Stufe „substanziell")',
+ 'Eigener Weg unter dem Cybersecurity Act, keine benannte Stelle noetig',
+ 'Hohe Anerkennung in EU + Drittstaaten, ITSEF-Pruefung',
+ 'Regulaerer Weg fuer wichtige Klasse II und kritische Produkte',
],
},
{
id: 'notified_body',
- modul: 'Modul C',
- title: 'Notified Body Assessment',
- short: 'Drittprueforganisation pruefn die Konformitaet',
+ modul: 'Modul B+C',
+ title: 'Benannte Stelle (Baumusterpruefung)',
+ short: 'Dritte Stelle prueft (EU-Baumusterpruefung + Produktionskontrolle)',
details: [
- 'Externe Bewertung durch akkreditierte Stelle',
- 'PFLICHT fuer Critical-Produkte (Annex IV)',
- 'Hoechste Auditierbarkeit + Vertrauen',
- 'Laufzeit + Kosten am hoechsten',
+ 'EU-Baumusterpruefung (Modul B) durch akkreditierte benannte Stelle',
+ 'gefolgt von Produktionskontrolle (Modul C); alternativ volle QS (Modul H)',
+ 'Pflichtweg fuer wichtige Klasse II und kritische Produkte (Annex IV)',
+ 'Hoechste Auditierbarkeit, hoechste Laufzeit + Kosten',
],
},
]
@@ -76,14 +79,15 @@ const PATHS: PathOption[] = [
const ALLOWED: Record = {
STANDARD: ['self_assessment', 'harmonized_standard', 'eucc', 'notified_body'],
IMPORTANT_I: ['self_assessment', 'harmonized_standard', 'eucc', 'notified_body'],
- IMPORTANT_II: ['harmonized_standard', 'eucc', 'notified_body'],
- CRITICAL: ['notified_body'],
+ // Klasse II darf nicht selbst bewerten; harmonisierte Norm allein genuegt nicht.
+ IMPORTANT_II: ['eucc', 'notified_body'],
+ CRITICAL: ['eucc', 'notified_body'],
}
const DEFAULT_FOR: Record = {
STANDARD: 'self_assessment',
IMPORTANT_I: 'self_assessment',
- IMPORTANT_II: 'harmonized_standard',
+ IMPORTANT_II: 'notified_body',
CRITICAL: 'notified_body',
}
@@ -185,31 +189,37 @@ export default function PathSelectPage({
{PATHS.map(path => {
const allowed = allowedPaths.includes(path.id)
+ const available = path.available !== false
+ const selectable = allowed && available
const isSelected = selected === path.id
return (