All checks were successful
CI / go-lint (push) Has been skipped
CI / python-lint (push) Has been skipped
CI / nodejs-lint (push) Has been skipped
CI / test-go-ai-compliance (push) Successful in 48s
CI / test-python-backend-compliance (push) Successful in 40s
CI / test-python-document-crawler (push) Successful in 23s
CI / test-python-dsms-gateway (push) Successful in 18s
Finale Fixes (5 Bugs): - workflow/page.tsx: Array-Format-Fix fuer loadVersions — Array.isArray statt data.versions - einwilligungen_routes.py: ip_address + user_agent in GET /consents Response ergaenzt - consent/page.tsx: Bearbeiten/Vorschau/Veroeffentlichen + Quick Actions verdrahtet (useRouter + Preview Modal) - cookie-banner/page.tsx: BannerTexts State + Controlled Inputs + DB-Persistenz (banner_texts) - embed-code/route.ts: In-Memory configStorage → DB-fetch aus Backend, embed_code Key korrigiert Dokumentation: - docs-src/services/sdk-modules/rechtliche-texte.md: Neue MkDocs-Seite fuer Paket 4 (Einwilligungen, Rechtliche Vorlagen, Cookie Banner, Document Workflow) - mkdocs.yml: Nav-Eintrag 'Rechtliche Texte (Paket 4)' ergaenzt - dokumentations-module.md: Datenfluss-Diagramm um Paket-4-Module erweitert - flow-data.ts: Paket-4-Steps mit korrekten dbTables/dbMode und aktualisierten Beschreibungen - StepHeader.tsx: cookie-banner + workflow STEP_EXPLANATIONS auf Persistenz und Funktionsumfang aktualisiert Tests: 24/24 bestanden (test_einwilligungen_routes.py) Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
1002 lines
44 KiB
TypeScript
1002 lines
44 KiB
TypeScript
'use client'
|
|
|
|
import React, { useState } from 'react'
|
|
import Link from 'next/link'
|
|
import { useRouter } from 'next/navigation'
|
|
import { useSDK, getStepById, getNextStep, getPreviousStep, SDKStep, SDK_STEPS } from '@/lib/sdk'
|
|
|
|
// =============================================================================
|
|
// TYPES
|
|
// =============================================================================
|
|
|
|
export interface StepTip {
|
|
icon: 'info' | 'warning' | 'success' | 'lightbulb'
|
|
title: string
|
|
description: string
|
|
}
|
|
|
|
interface StepHeaderProps {
|
|
stepId: string
|
|
title: string
|
|
description: string
|
|
explanation: string
|
|
tips?: StepTip[]
|
|
showNavigation?: boolean
|
|
showProgress?: boolean
|
|
onComplete?: () => void
|
|
isCompleted?: boolean
|
|
children?: React.ReactNode
|
|
}
|
|
|
|
// =============================================================================
|
|
// ICONS
|
|
// =============================================================================
|
|
|
|
const icons = {
|
|
info: (
|
|
<svg className="w-5 h-5" fill="none" stroke="currentColor" viewBox="0 0 24 24">
|
|
<path strokeLinecap="round" strokeLinejoin="round" strokeWidth={2} d="M13 16h-1v-4h-1m1-4h.01M21 12a9 9 0 11-18 0 9 9 0 0118 0z" />
|
|
</svg>
|
|
),
|
|
warning: (
|
|
<svg className="w-5 h-5" fill="none" stroke="currentColor" viewBox="0 0 24 24">
|
|
<path strokeLinecap="round" strokeLinejoin="round" strokeWidth={2} d="M12 9v2m0 4h.01m-6.938 4h13.856c1.54 0 2.502-1.667 1.732-3L13.732 4c-.77-1.333-2.694-1.333-3.464 0L3.34 16c-.77 1.333.192 3 1.732 3z" />
|
|
</svg>
|
|
),
|
|
success: (
|
|
<svg className="w-5 h-5" fill="none" stroke="currentColor" viewBox="0 0 24 24">
|
|
<path strokeLinecap="round" strokeLinejoin="round" strokeWidth={2} d="M9 12l2 2 4-4m6 2a9 9 0 11-18 0 9 9 0 0118 0z" />
|
|
</svg>
|
|
),
|
|
lightbulb: (
|
|
<svg className="w-5 h-5" fill="none" stroke="currentColor" viewBox="0 0 24 24">
|
|
<path strokeLinecap="round" strokeLinejoin="round" strokeWidth={2} d="M9.663 17h4.673M12 3v1m6.364 1.636l-.707.707M21 12h-1M4 12H3m3.343-5.657l-.707-.707m2.828 9.9a5 5 0 117.072 0l-.548.547A3.374 3.374 0 0014 18.469V19a2 2 0 11-4 0v-.531c0-.895-.356-1.754-.988-2.386l-.548-.547z" />
|
|
</svg>
|
|
),
|
|
arrowLeft: (
|
|
<svg className="w-5 h-5" fill="none" stroke="currentColor" viewBox="0 0 24 24">
|
|
<path strokeLinecap="round" strokeLinejoin="round" strokeWidth={2} d="M10 19l-7-7m0 0l7-7m-7 7h18" />
|
|
</svg>
|
|
),
|
|
arrowRight: (
|
|
<svg className="w-5 h-5" fill="none" stroke="currentColor" viewBox="0 0 24 24">
|
|
<path strokeLinecap="round" strokeLinejoin="round" strokeWidth={2} d="M14 5l7 7m0 0l-7 7m7-7H3" />
|
|
</svg>
|
|
),
|
|
check: (
|
|
<svg className="w-5 h-5" fill="none" stroke="currentColor" viewBox="0 0 24 24">
|
|
<path strokeLinecap="round" strokeLinejoin="round" strokeWidth={2} d="M5 13l4 4L19 7" />
|
|
</svg>
|
|
),
|
|
help: (
|
|
<svg className="w-5 h-5" fill="none" stroke="currentColor" viewBox="0 0 24 24">
|
|
<path strokeLinecap="round" strokeLinejoin="round" strokeWidth={2} d="M8.228 9c.549-1.165 2.03-2 3.772-2 2.21 0 4 1.343 4 3 0 1.4-1.278 2.575-3.006 2.907-.542.104-.994.54-.994 1.093m0 3h.01M21 12a9 9 0 11-18 0 9 9 0 0118 0z" />
|
|
</svg>
|
|
),
|
|
}
|
|
|
|
const tipColors = {
|
|
info: 'bg-blue-50 border-blue-200 text-blue-800',
|
|
warning: 'bg-amber-50 border-amber-200 text-amber-800',
|
|
success: 'bg-green-50 border-green-200 text-green-800',
|
|
lightbulb: 'bg-purple-50 border-purple-200 text-purple-800',
|
|
}
|
|
|
|
const tipIconColors = {
|
|
info: 'text-blue-500',
|
|
warning: 'text-amber-500',
|
|
success: 'text-green-500',
|
|
lightbulb: 'text-purple-500',
|
|
}
|
|
|
|
// =============================================================================
|
|
// STEP HEADER COMPONENT
|
|
// =============================================================================
|
|
|
|
export function StepHeader({
|
|
stepId,
|
|
title,
|
|
description,
|
|
explanation,
|
|
tips = [],
|
|
showNavigation = true,
|
|
showProgress = true,
|
|
onComplete,
|
|
isCompleted = false,
|
|
children,
|
|
}: StepHeaderProps) {
|
|
const router = useRouter()
|
|
const { state, dispatch } = useSDK()
|
|
const [showHelp, setShowHelp] = useState(false)
|
|
|
|
const currentStep = getStepById(stepId)
|
|
const prevStep = getPreviousStep(stepId)
|
|
const nextStep = getNextStep(stepId)
|
|
|
|
const stepCompleted = state.completedSteps.includes(stepId)
|
|
|
|
const handleComplete = () => {
|
|
if (onComplete) {
|
|
onComplete()
|
|
}
|
|
dispatch({ type: 'COMPLETE_STEP', payload: stepId })
|
|
if (nextStep) {
|
|
router.push(nextStep.url)
|
|
}
|
|
}
|
|
|
|
const handleSkip = () => {
|
|
if (nextStep) {
|
|
router.push(nextStep.url)
|
|
}
|
|
}
|
|
|
|
// Calculate step progress within phase
|
|
const phaseSteps = currentStep ?
|
|
SDK_STEPS.filter(s => s.phase === currentStep.phase).length : 0
|
|
const stepNumber = currentStep?.order || 0
|
|
|
|
return (
|
|
<div className="space-y-6">
|
|
{/* Breadcrumb & Progress */}
|
|
{showProgress && currentStep && (
|
|
<div className="flex items-center justify-between">
|
|
<div className="flex items-center gap-2 text-sm text-gray-500">
|
|
<Link href="/sdk" className="hover:text-purple-600 transition-colors">
|
|
SDK
|
|
</Link>
|
|
<span>/</span>
|
|
<span className="text-gray-700">
|
|
Phase {currentStep.phase}: {currentStep.phase === 1 ? 'Assessment' : 'Dokumente'}
|
|
</span>
|
|
<span>/</span>
|
|
<span className="text-purple-600 font-medium">{currentStep.nameShort}</span>
|
|
</div>
|
|
<div className="flex items-center gap-2 text-sm">
|
|
<span className="text-gray-500">Schritt {stepNumber} von {phaseSteps}</span>
|
|
<div className="w-24 h-2 bg-gray-200 rounded-full overflow-hidden">
|
|
<div
|
|
className="h-full bg-purple-600 rounded-full transition-all"
|
|
style={{ width: `${(stepNumber / phaseSteps) * 100}%` }}
|
|
/>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
)}
|
|
|
|
{/* Main Header Card */}
|
|
<div className="bg-white rounded-xl border border-gray-200 overflow-hidden">
|
|
{/* Header */}
|
|
<div className="p-6 border-b border-gray-100">
|
|
<div className="flex items-start justify-between">
|
|
<div className="flex-1">
|
|
<div className="flex items-center gap-3">
|
|
<h1 className="text-2xl font-bold text-gray-900">{title}</h1>
|
|
{stepCompleted && (
|
|
<span className="flex items-center gap-1 px-2 py-1 text-xs bg-green-100 text-green-700 rounded-full">
|
|
{icons.check}
|
|
Abgeschlossen
|
|
</span>
|
|
)}
|
|
</div>
|
|
<p className="mt-2 text-gray-500">{description}</p>
|
|
</div>
|
|
<button
|
|
onClick={() => setShowHelp(!showHelp)}
|
|
className={`p-2 rounded-lg transition-colors ${
|
|
showHelp ? 'bg-purple-100 text-purple-600' : 'text-gray-400 hover:bg-gray-100 hover:text-gray-600'
|
|
}`}
|
|
title="Hilfe anzeigen"
|
|
>
|
|
{icons.help}
|
|
</button>
|
|
</div>
|
|
</div>
|
|
|
|
{/* Explanation Panel (collapsible) */}
|
|
{showHelp && (
|
|
<div className="px-6 py-4 bg-gradient-to-r from-purple-50 to-indigo-50 border-b border-purple-100">
|
|
<div className="flex items-start gap-3">
|
|
<div className="p-2 bg-purple-100 rounded-lg text-purple-600">
|
|
{icons.lightbulb}
|
|
</div>
|
|
<div>
|
|
<h3 className="font-medium text-purple-900">Was ist das?</h3>
|
|
<p className="mt-1 text-sm text-purple-800">{explanation}</p>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
)}
|
|
|
|
{/* Tips */}
|
|
{tips.length > 0 && (
|
|
<div className="px-6 py-4 space-y-3 bg-gray-50 border-b border-gray-100">
|
|
{tips.map((tip, index) => (
|
|
<div
|
|
key={index}
|
|
className={`flex items-start gap-3 p-3 rounded-lg border ${tipColors[tip.icon]}`}
|
|
>
|
|
<div className={tipIconColors[tip.icon]}>
|
|
{icons[tip.icon]}
|
|
</div>
|
|
<div>
|
|
<h4 className="font-medium text-sm">{tip.title}</h4>
|
|
<p className="text-sm opacity-80">{tip.description}</p>
|
|
</div>
|
|
</div>
|
|
))}
|
|
</div>
|
|
)}
|
|
|
|
{/* Action Buttons */}
|
|
{children && (
|
|
<div className="px-6 py-4 bg-gray-50">
|
|
{children}
|
|
</div>
|
|
)}
|
|
</div>
|
|
|
|
{/* Navigation */}
|
|
{showNavigation && (
|
|
<div className="flex items-center justify-between">
|
|
<div>
|
|
{prevStep ? (
|
|
<Link
|
|
href={prevStep.url}
|
|
className="flex items-center gap-2 px-4 py-2 text-gray-600 hover:text-gray-900 hover:bg-gray-100 rounded-lg transition-colors"
|
|
>
|
|
{icons.arrowLeft}
|
|
<span>Zurueck: {prevStep.nameShort}</span>
|
|
</Link>
|
|
) : (
|
|
<Link
|
|
href="/sdk"
|
|
className="flex items-center gap-2 px-4 py-2 text-gray-600 hover:text-gray-900 hover:bg-gray-100 rounded-lg transition-colors"
|
|
>
|
|
{icons.arrowLeft}
|
|
<span>Zur Uebersicht</span>
|
|
</Link>
|
|
)}
|
|
</div>
|
|
|
|
<div className="flex items-center gap-3">
|
|
{nextStep && !stepCompleted && (
|
|
<button
|
|
onClick={handleSkip}
|
|
className="px-4 py-2 text-gray-500 hover:text-gray-700 hover:bg-gray-100 rounded-lg transition-colors"
|
|
>
|
|
Ueberspringen
|
|
</button>
|
|
)}
|
|
{nextStep ? (
|
|
<button
|
|
onClick={handleComplete}
|
|
className="flex items-center gap-2 px-6 py-2 bg-purple-600 text-white rounded-lg hover:bg-purple-700 transition-colors"
|
|
>
|
|
<span>{stepCompleted ? 'Weiter' : 'Abschliessen & Weiter'}</span>
|
|
{icons.arrowRight}
|
|
</button>
|
|
) : (
|
|
<button
|
|
onClick={handleComplete}
|
|
className="flex items-center gap-2 px-6 py-2 bg-green-600 text-white rounded-lg hover:bg-green-700 transition-colors"
|
|
>
|
|
{icons.check}
|
|
<span>Phase abschliessen</span>
|
|
</button>
|
|
)}
|
|
</div>
|
|
</div>
|
|
)}
|
|
</div>
|
|
)
|
|
}
|
|
|
|
// =============================================================================
|
|
// STEP EXPLANATION PRESETS
|
|
// =============================================================================
|
|
|
|
export const STEP_EXPLANATIONS = {
|
|
'company-profile': {
|
|
title: 'Unternehmensprofil',
|
|
description: 'Erfassen Sie Ihr Geschäftsmodell und Ihre Zielmärkte',
|
|
explanation: 'Im Unternehmensprofil erfassen wir grundlegende Informationen zu Ihrem Unternehmen: Geschäftsmodell (B2B/B2C), Angebote, Firmengröße und Zielmärkte. Diese Informationen helfen uns, die für Sie relevanten Regulierungen zu identifizieren und ehrlich zu kommunizieren, wo unsere Grenzen liegen.',
|
|
tips: [
|
|
{
|
|
icon: 'lightbulb' as const,
|
|
title: 'Ehrliche Einschätzung',
|
|
description: 'Wir zeigen Ihnen transparent, welche Regulierungen wir abdecken und wann Sie einen Anwalt hinzuziehen sollten.',
|
|
},
|
|
{
|
|
icon: 'info' as const,
|
|
title: 'Zielmärkte',
|
|
description: 'Je nach Zielmarkt (Deutschland, DACH, EU, weltweit) gelten unterschiedliche Datenschutzgesetze.',
|
|
},
|
|
],
|
|
},
|
|
'compliance-scope': {
|
|
title: 'Compliance Scope',
|
|
description: 'Umfang und Tiefe Ihrer Compliance-Dokumentation bestimmen',
|
|
explanation: 'Die Compliance Scope Engine bestimmt deterministisch, welche Dokumente Sie in welcher Tiefe benoetigen. Basierend auf 35 Fragen in 6 Bloecken werden Risiko-, Komplexitaets- und Assurance-Scores berechnet, die in ein 4-Level-Modell (L1 Lean bis L4 Zertifizierungsbereit) muenden.',
|
|
tips: [
|
|
{
|
|
icon: 'lightbulb' as const,
|
|
title: 'Deterministisch',
|
|
description: 'Alle Entscheidungen sind nachvollziehbar — keine KI, keine Black Box. Jede Einstufung wird mit Rechtsgrundlage und Audit-Trail begruendet.',
|
|
},
|
|
{
|
|
icon: 'info' as const,
|
|
title: '4-Level-Modell',
|
|
description: 'L1 (Lean Startup) bis L4 (Zertifizierungsbereit). Hard Triggers (Art. 9, Minderjaehrige, Zertifizierungsziele) heben das Level automatisch an.',
|
|
},
|
|
{
|
|
icon: 'warning' as const,
|
|
title: 'Hard Triggers',
|
|
description: '50 deterministische Regeln pruefen besondere Kategorien (Art. 9), Minderjaehrige, KI-Einsatz, Drittlandtransfers und Zertifizierungsziele.',
|
|
},
|
|
],
|
|
},
|
|
'use-case-assessment': {
|
|
title: 'Anwendungsfall-Erfassung',
|
|
description: 'Erfassen Sie Ihre KI-Anwendungsfälle systematisch',
|
|
explanation: 'In der Anwendungsfall-Erfassung dokumentieren Sie Ihre KI-Anwendungsfälle in 5 Schritten: Grunddaten, Datenkategorien, Risikobewertung, Stakeholder und Compliance-Anforderungen. Dies bildet die Basis für alle weiteren Compliance-Maßnahmen.',
|
|
tips: [
|
|
{
|
|
icon: 'lightbulb' as const,
|
|
title: 'Tipp: Vollständigkeit',
|
|
description: 'Je detaillierter Sie den Anwendungsfall beschreiben, desto besser kann das System passende Compliance-Anforderungen ableiten.',
|
|
},
|
|
{
|
|
icon: 'info' as const,
|
|
title: 'Mehrere Anwendungsfälle',
|
|
description: 'Sie können mehrere Anwendungsfälle erfassen. Jeder wird separat bewertet und durchläuft den Compliance-Prozess.',
|
|
},
|
|
],
|
|
},
|
|
'screening': {
|
|
title: 'System Screening',
|
|
description: 'Analysieren Sie Ihre Systemlandschaft auf Schwachstellen',
|
|
explanation: 'Das System Screening generiert eine Software Bill of Materials (SBOM) und fuehrt einen Security-Scan durch. So erkennen Sie Schwachstellen in Ihren Abhaengigkeiten fruehzeitig.',
|
|
tips: [
|
|
{
|
|
icon: 'warning' as const,
|
|
title: 'Kritische Schwachstellen',
|
|
description: 'CVEs mit CVSS >= 7.0 sollten priorisiert behandelt werden. Diese werden automatisch in den Security Backlog uebernommen.',
|
|
},
|
|
{
|
|
icon: 'info' as const,
|
|
title: 'SBOM-Format',
|
|
description: 'Die SBOM wird im CycloneDX-Format generiert und kann fuer Audits exportiert werden.',
|
|
},
|
|
],
|
|
},
|
|
'modules': {
|
|
title: 'Compliance Module',
|
|
description: 'Waehlen Sie die relevanten Regulierungen fuer Ihr Unternehmen',
|
|
explanation: 'Compliance-Module sind vordefinierte Regelwerke (z.B. DSGVO, AI Act, ISO 27001). Durch die Aktivierung eines Moduls werden automatisch die zugehoerigen Anforderungen und Kontrollen geladen.',
|
|
tips: [
|
|
{
|
|
icon: 'lightbulb' as const,
|
|
title: 'Modul-Auswahl',
|
|
description: 'Aktivieren Sie nur Module, die fuer Ihr Unternehmen relevant sind. Weniger ist oft mehr - fokussieren Sie sich auf die wichtigsten Regulierungen.',
|
|
},
|
|
{
|
|
icon: 'info' as const,
|
|
title: 'Abhaengigkeiten',
|
|
description: 'Manche Module haben Ueberschneidungen. Das System erkennt dies automatisch und vermeidet doppelte Anforderungen.',
|
|
},
|
|
],
|
|
},
|
|
'requirements': {
|
|
title: 'Anforderungen',
|
|
description: 'Pruefen und verwalten Sie die Compliance-Anforderungen',
|
|
explanation: 'Anforderungen sind konkrete Vorgaben aus den aktivierten Modulen. Jede Anforderung verweist auf einen Gesetzesartikel und muss durch Kontrollen abgedeckt werden. Vollstaendige CRUD-Operationen mit Backend-Persistenz.',
|
|
tips: [
|
|
{
|
|
icon: 'warning' as const,
|
|
title: 'Kritische Anforderungen',
|
|
description: 'Anforderungen mit Kritikalitaet "HOCH" sollten priorisiert werden, da Verstoesse zu hohen Bussgeldern fuehren koennen.',
|
|
},
|
|
{
|
|
icon: 'success' as const,
|
|
title: 'Status-Workflow',
|
|
description: 'Anforderungen durchlaufen: Nicht begonnen → In Bearbeitung → Implementiert → Verifiziert. Bei Backend-Fehler erfolgt automatischer Rollback.',
|
|
},
|
|
{
|
|
icon: 'lightbulb' as const,
|
|
title: 'CRUD-Operationen',
|
|
description: 'Anforderungen koennen erstellt, bearbeitet und geloescht werden. Alle Aenderungen werden sofort im Backend persistiert.',
|
|
},
|
|
],
|
|
},
|
|
'controls': {
|
|
title: 'Kontrollen',
|
|
description: 'Definieren Sie technische und organisatorische Massnahmen',
|
|
explanation: 'Kontrollen (auch TOMs genannt) sind konkrete Massnahmen zur Erfuellung der Anforderungen. Sie koennen praeventiv, detektiv oder korrektiv sein. Evidence-Linking zeigt verknuepfte Nachweise mit Gueltigkeits-Badge.',
|
|
tips: [
|
|
{
|
|
icon: 'lightbulb' as const,
|
|
title: 'Wirksamkeit',
|
|
description: 'Bewerten Sie die Wirksamkeit jeder Kontrolle. Eine hohe Wirksamkeit (>80%) reduziert das Restrisiko erheblich.',
|
|
},
|
|
{
|
|
icon: 'info' as const,
|
|
title: 'Verantwortlichkeiten',
|
|
description: 'Weisen Sie jeder Kontrolle einen Verantwortlichen zu. Dies ist fuer Audits wichtig.',
|
|
},
|
|
{
|
|
icon: 'success' as const,
|
|
title: 'Evidence-Linking',
|
|
description: 'Verknuepfen Sie Nachweise direkt mit Controls. Gueltige, abgelaufene und ausstehende Nachweise werden mit Badges angezeigt.',
|
|
},
|
|
],
|
|
},
|
|
'evidence': {
|
|
title: 'Nachweise',
|
|
description: 'Dokumentieren Sie die Umsetzung mit Belegen',
|
|
explanation: 'Nachweise sind Dokumente, Screenshots oder Berichte, die belegen, dass Kontrollen implementiert sind. Server-seitige Pagination fuer grosse Nachweis-Sammlungen.',
|
|
tips: [
|
|
{
|
|
icon: 'warning' as const,
|
|
title: 'Gueltigkeit',
|
|
description: 'Achten Sie auf das Ablaufdatum von Nachweisen. Abgelaufene Zertifikate oder Berichte muessen erneuert werden. Status: valid, expired, pending, failed.',
|
|
},
|
|
{
|
|
icon: 'success' as const,
|
|
title: 'Verknuepfung',
|
|
description: 'Verknuepfen Sie Nachweise direkt mit den zugehoerigen Kontrollen fuer eine lueckenlose Dokumentation.',
|
|
},
|
|
{
|
|
icon: 'info' as const,
|
|
title: 'Pagination',
|
|
description: 'Bei vielen Nachweisen wird automatisch paginiert. Nutzen Sie die Seitennavigation am Ende der Liste.',
|
|
},
|
|
],
|
|
},
|
|
'audit-checklist': {
|
|
title: 'Audit-Checkliste',
|
|
description: 'Systematische Pruefung der Compliance-Konformitaet',
|
|
explanation: 'Die Audit-Checkliste wird automatisch aus den Anforderungen generiert. Session-Management mit Sign-Off-Workflow und PDF-Export.',
|
|
tips: [
|
|
{
|
|
icon: 'lightbulb' as const,
|
|
title: 'Regelmaessige Pruefung',
|
|
description: 'Fuehren Sie die Checkliste mindestens jaehrlich durch, um Compliance-Luecken fruehzeitig zu erkennen.',
|
|
},
|
|
{
|
|
icon: 'info' as const,
|
|
title: 'Sign-Off & PDF',
|
|
description: 'Zeichnen Sie Pruefpunkte mit digitalem Hash (SHA-256) ab. Exportieren Sie den Report als PDF in Deutsch oder Englisch.',
|
|
},
|
|
{
|
|
icon: 'success' as const,
|
|
title: 'Session-History',
|
|
description: 'Vergangene Audit-Sitzungen werden mit Status-Badges angezeigt: Draft, In Progress, Completed, Archived.',
|
|
},
|
|
],
|
|
},
|
|
'risks': {
|
|
title: 'Risiko-Matrix',
|
|
description: 'Bewerten und priorisieren Sie Ihre Compliance-Risiken',
|
|
explanation: 'Die 5x5 Risiko-Matrix visualisiert Ihre Risiken nach Wahrscheinlichkeit und Auswirkung. Inherent Risk vs. Residual Risk mit visuellem Vergleich.',
|
|
tips: [
|
|
{
|
|
icon: 'warning' as const,
|
|
title: 'Kritische Risiken',
|
|
description: 'Risiken mit Score >= 20 sind CRITICAL (rot), >= 12 HIGH (orange), >= 6 MEDIUM (gelb), < 6 LOW (gruen).',
|
|
},
|
|
{
|
|
icon: 'success' as const,
|
|
title: 'Mitigation',
|
|
description: 'Verknuepfen Sie Controls als Mitigationsmassnahmen. Der Residual-Risk wird automatisch anhand verknuepfter Controls berechnet.',
|
|
},
|
|
{
|
|
icon: 'info' as const,
|
|
title: 'Status-Workflow',
|
|
description: 'Risiken durchlaufen: Identifiziert → Bewertet → Mitigiert → Akzeptiert → Geschlossen.',
|
|
},
|
|
],
|
|
},
|
|
'ai-act': {
|
|
title: 'AI Act Klassifizierung',
|
|
description: 'Registrieren und klassifizieren Sie Ihre KI-Systeme',
|
|
explanation: 'Der EU AI Act klassifiziert KI-Systeme in Risikostufen: Minimal, Begrenzt, Hoch und Verboten. KI-Systeme werden im Backend persistent gespeichert und koennen automatisch bewertet werden.',
|
|
tips: [
|
|
{
|
|
icon: 'warning' as const,
|
|
title: 'Hochrisiko-Systeme',
|
|
description: 'Hochrisiko-KI erfordert 8 Pflichten: Risikomanagement, Daten-Governance, Dokumentation, Transparenz, menschliche Aufsicht, Genauigkeit, Robustheit, Cybersicherheit.',
|
|
},
|
|
{
|
|
icon: 'lightbulb' as const,
|
|
title: 'Automatische Bewertung',
|
|
description: 'Nutzen Sie die Assess-Funktion: Sie analysiert Zweck und Sektor und leitet die Risikokategorie + Pflichten automatisch ab.',
|
|
},
|
|
{
|
|
icon: 'info' as const,
|
|
title: 'CRUD-Operationen',
|
|
description: 'KI-Systeme koennen registriert, bearbeitet, bewertet und geloescht werden. Alle Daten werden backend-persistent gespeichert.',
|
|
},
|
|
],
|
|
},
|
|
'dsfa': {
|
|
title: 'Datenschutz-Folgenabschaetzung',
|
|
description: 'Erstellen Sie eine DSFA fuer Hochrisiko-Verarbeitungen',
|
|
explanation: 'Eine DSFA (Art. 35 DSGVO) ist erforderlich, wenn eine Verarbeitung voraussichtlich hohe Risiken fuer Betroffene birgt. Das Tool fuehrt Sie durch alle erforderlichen Abschnitte.',
|
|
tips: [
|
|
{
|
|
icon: 'warning' as const,
|
|
title: 'Pflicht',
|
|
description: 'Eine DSFA ist Pflicht bei: Profiling mit rechtlicher Wirkung, umfangreicher Verarbeitung besonderer Datenkategorien, systematischer Ueberwachung.',
|
|
},
|
|
{
|
|
icon: 'lightbulb' as const,
|
|
title: 'Konsultation',
|
|
description: 'Bei hohem Restrisiko muss die Aufsichtsbehoerde konsultiert werden (Art. 36 DSGVO).',
|
|
},
|
|
],
|
|
},
|
|
'tom': {
|
|
title: 'Technische und Organisatorische Massnahmen',
|
|
description: 'Dokumentieren Sie Ihre TOMs nach Art. 32 DSGVO',
|
|
explanation: 'TOMs sind konkrete Sicherheitsmassnahmen zum Schutz personenbezogener Daten. Das Dashboard zeigt den Status aller aus dem TOM Generator abgeleiteten Massnahmen mit SDM-Mapping und Gap-Analyse.',
|
|
tips: [
|
|
{
|
|
icon: 'warning' as const,
|
|
title: 'Nachweispflicht',
|
|
description: 'TOMs muessen nachweisbar real sein. Verknuepfen Sie Evidence-Dokumente (Policies, Zertifikate, Screenshots) mit jeder Massnahme, um die Rechenschaftspflicht (Art. 5 Abs. 2 DSGVO) zu erfuellen.',
|
|
},
|
|
{
|
|
icon: 'info' as const,
|
|
title: 'Generator nutzen',
|
|
description: 'Der 6-Schritt-Wizard leitet TOMs systematisch aus Ihrem Risikoprofil ab. Starten Sie dort, um eine vollstaendige Baseline zu erhalten.',
|
|
},
|
|
{
|
|
icon: 'info' as const,
|
|
title: 'SDM-Mapping',
|
|
description: 'Kontrollen werden den 7 SDM-Gewaehrleistungszielen zugeordnet: Verfuegbarkeit, Integritaet, Vertraulichkeit, Nichtverkettung, Intervenierbarkeit, Transparenz, Datenminimierung.',
|
|
},
|
|
],
|
|
},
|
|
'vvt': {
|
|
title: 'Verarbeitungsverzeichnis',
|
|
description: 'Erstellen und verwalten Sie Ihr Verzeichnis nach Art. 30 DSGVO',
|
|
explanation: 'Das Verarbeitungsverzeichnis (VVT) dokumentiert alle Verarbeitungstaetigkeiten mit personenbezogenen Daten. Der integrierte Generator-Fragebogen befuellt 70-90% der Pflichtfelder automatisch anhand Ihres Unternehmensprofils.',
|
|
tips: [
|
|
{
|
|
icon: 'warning' as const,
|
|
title: 'Pflicht fuer alle',
|
|
description: 'Die Ausnahme fuer Unternehmen <250 Mitarbeiter greift nur bei gelegentlicher, risikoarmer Verarbeitung ohne besondere Kategorien (Art. 30 Abs. 5).',
|
|
},
|
|
{
|
|
icon: 'info' as const,
|
|
title: 'Zweck-zuerst',
|
|
description: 'Definieren Sie Verarbeitungen nach Geschaeftszweck, nicht nach Tool. Ein Tool kann mehrere Verarbeitungen abdecken, eine Verarbeitung kann mehrere Tools nutzen.',
|
|
},
|
|
{
|
|
icon: 'info' as const,
|
|
title: 'Kein oeffentliches Dokument',
|
|
description: 'Das VVT ist ein internes Dokument. Es muss der Aufsichtsbehoerde nur auf Verlangen vorgelegt werden (Art. 30 Abs. 4).',
|
|
},
|
|
],
|
|
},
|
|
'cookie-banner': {
|
|
title: 'Cookie Banner',
|
|
description: 'Konfigurieren Sie einen DSGVO-konformen Cookie Banner mit persistenter DB-Speicherung',
|
|
explanation: 'Der Cookie Banner Generator erstellt einen rechtssicheren Banner mit Opt-In fuer nicht-essentielle Cookies. Alle Einstellungen — einschliesslich Ueberschrift, Beschreibung und Datenschutz-Link — werden in der Datenbank gespeichert und bleiben auch nach einem Neustart erhalten. Der generierte Embed-Code wird direkt aus der gespeicherten Konfiguration erzeugt.',
|
|
tips: [
|
|
{
|
|
icon: 'warning' as const,
|
|
title: 'Opt-In Pflicht',
|
|
description: 'Fuer Marketing- und Analytics-Cookies ist eine aktive Einwilligung erforderlich. Vorangekreuzte Checkboxen sind nicht erlaubt.',
|
|
},
|
|
{
|
|
icon: 'lightbulb' as const,
|
|
title: 'Design und Texte',
|
|
description: 'Passen Sie Ueberschrift, Beschreibung und Farben an Ihr Corporate Design an. Aenderungen werden in der Vorschau sofort sichtbar.',
|
|
},
|
|
{
|
|
icon: 'info' as const,
|
|
title: 'Embed-Code',
|
|
description: 'Der Code exportiert einen vollstaendigen HTML+CSS+JS-Block aus Ihrer gespeicherten Konfiguration — einfach vor dem schliessenden </body>-Tag einbinden.',
|
|
},
|
|
],
|
|
},
|
|
'obligations': {
|
|
title: 'Pflichtenuebersicht',
|
|
description: 'Alle regulatorischen Pflichten auf einen Blick',
|
|
explanation: 'Die Pflichtenuebersicht aggregiert alle Anforderungen aus DSGVO, AI Act, NIS2 und weiteren Regulierungen. Sie sehen auf einen Blick, welche Pflichten fuer Ihr Unternehmen gelten.',
|
|
tips: [
|
|
{
|
|
icon: 'info' as const,
|
|
title: 'Filterung',
|
|
description: 'Filtern Sie nach Regulierung, Prioritaet oder Status, um die relevanten Pflichten schnell zu finden.',
|
|
},
|
|
{
|
|
icon: 'warning' as const,
|
|
title: 'Fristen',
|
|
description: 'Achten Sie auf die Umsetzungsfristen. Einige Pflichten haben feste Deadlines.',
|
|
},
|
|
],
|
|
},
|
|
'loeschfristen': {
|
|
title: 'Loeschfristen',
|
|
description: 'Definieren Sie Aufbewahrungsrichtlinien fuer Ihre Daten',
|
|
explanation: 'Loeschfristen legen fest, wie lange personenbezogene Daten gespeichert werden duerfen. Die 3-Stufen-Logik (Zweckende, Aufbewahrungspflicht, Legal Hold) stellt sicher, dass alle gesetzlichen Anforderungen beruecksichtigt werden.',
|
|
tips: [
|
|
{
|
|
icon: 'warning' as const,
|
|
title: '3-Stufen-Logik',
|
|
description: 'Jede Loeschfrist folgt einer 3-Stufen-Logik: 1. Zweckende (Daten werden nach Zweckwegfall geloescht), 2. Aufbewahrungspflicht (gesetzliche Fristen verhindern Loeschung), 3. Legal Hold (laufende Verfahren blockieren Loeschung).',
|
|
},
|
|
{
|
|
icon: 'info' as const,
|
|
title: 'Deutsche Rechtsgrundlagen',
|
|
description: 'Der Generator kennt die wichtigsten Aufbewahrungstreiber: AO (10 J. Steuer), HGB (10/6 J. Handel), UStG (10 J. Rechnungen), BGB (3 J. Verjaehrung), ArbZG (2 J. Zeiterfassung), AGG (6 Mon. Bewerbungen).',
|
|
},
|
|
{
|
|
icon: 'info' as const,
|
|
title: 'Backup-Behandlung',
|
|
description: 'Auch Backups muessen ins Loeschkonzept einbezogen werden. Daten koennen nach primaerer Loeschung noch in Backup-Systemen existieren.',
|
|
},
|
|
],
|
|
},
|
|
'consent': {
|
|
title: 'Rechtliche Vorlagen',
|
|
description: 'Generieren Sie AGB, Datenschutzerklaerung und Nutzungsbedingungen',
|
|
explanation: 'Die rechtlichen Vorlagen werden basierend auf Ihren Verarbeitungstaetigkeiten und Use Cases generiert. Sie sind auf Ihre spezifische Situation zugeschnitten.',
|
|
tips: [
|
|
{
|
|
icon: 'info' as const,
|
|
title: 'Anpassung',
|
|
description: 'Die generierten Vorlagen koennen und sollten an Ihre spezifischen Anforderungen angepasst werden.',
|
|
},
|
|
{
|
|
icon: 'warning' as const,
|
|
title: 'Rechtspruefung',
|
|
description: 'Lassen Sie die finalen Dokumente von einem Rechtsanwalt pruefen, bevor Sie sie veroeffentlichen.',
|
|
},
|
|
],
|
|
},
|
|
'einwilligungen': {
|
|
title: 'Einwilligungen',
|
|
description: 'Verwalten Sie Consent-Tracking und Einwilligungsnachweise',
|
|
explanation: 'Hier konfigurieren Sie, wie Einwilligungen erfasst, gespeichert und nachgewiesen werden. Dies ist essentiell fuer den Nachweis der Rechtmaessigkeit.',
|
|
tips: [
|
|
{
|
|
icon: 'success' as const,
|
|
title: 'Nachweis',
|
|
description: 'Speichern Sie fuer jede Einwilligung: Zeitpunkt, Version des Textes, Art der Einwilligung.',
|
|
},
|
|
{
|
|
icon: 'info' as const,
|
|
title: 'Widerruf',
|
|
description: 'Stellen Sie sicher, dass Nutzer ihre Einwilligung jederzeit widerrufen koennen.',
|
|
},
|
|
],
|
|
},
|
|
'dsr': {
|
|
title: 'DSR Portal',
|
|
description: 'Richten Sie ein Portal fuer Betroffenenrechte ein',
|
|
explanation: 'Das DSR (Data Subject Rights) Portal ermoeglicht Betroffenen, ihre Rechte nach DSGVO auszuueben: Auskunft, Loeschung, Berichtigung, Datenportabilitaet.',
|
|
tips: [
|
|
{
|
|
icon: 'warning' as const,
|
|
title: 'Fristen',
|
|
description: 'Anfragen muessen innerhalb von 30 Tagen beantwortet werden. Richten Sie Workflows ein, um dies sicherzustellen.',
|
|
},
|
|
{
|
|
icon: 'lightbulb' as const,
|
|
title: 'Identitaetspruefung',
|
|
description: 'Implementieren Sie eine sichere Identitaetspruefung, bevor Sie Daten herausgeben.',
|
|
},
|
|
],
|
|
},
|
|
'escalations': {
|
|
title: 'Eskalations-Workflows',
|
|
description: 'Definieren Sie Management-Workflows fuer Compliance-Vorfaelle',
|
|
explanation: 'Eskalations-Workflows legen fest, wie auf Compliance-Vorfaelle reagiert wird: Wer wird informiert, welche Massnahmen werden ergriffen, wie wird dokumentiert.',
|
|
tips: [
|
|
{
|
|
icon: 'info' as const,
|
|
title: 'Datenpannen',
|
|
description: 'Bei Datenpannen muss die Aufsichtsbehoerde innerhalb von 72 Stunden informiert werden.',
|
|
},
|
|
{
|
|
icon: 'success' as const,
|
|
title: 'Verantwortlichkeiten',
|
|
description: 'Definieren Sie klare Verantwortlichkeiten fuer jeden Schritt im Eskalationsprozess.',
|
|
},
|
|
],
|
|
},
|
|
'document-generator': {
|
|
title: 'Dokumentengenerator',
|
|
description: 'Generieren Sie rechtliche Dokumente aus lizenzkonformen Vorlagen',
|
|
explanation: 'Der Dokumentengenerator nutzt frei lizenzierte Textbausteine (CC0, MIT, CC BY 4.0) um Datenschutzerklaerungen, AGB, Cookie-Banner und andere rechtliche Dokumente zu erstellen. Die Quellen werden mit korrekter Lizenz-Compliance und Attribution gehandhabt.',
|
|
tips: [
|
|
{
|
|
icon: 'lightbulb' as const,
|
|
title: 'Lizenzfreie Vorlagen',
|
|
description: 'Alle verwendeten Textbausteine stammen aus lizenzierten Quellen (CC0, MIT, CC BY 4.0). Die Attribution wird automatisch hinzugefuegt.',
|
|
},
|
|
{
|
|
icon: 'info' as const,
|
|
title: 'Platzhalter',
|
|
description: 'Fuellen Sie die Platzhalter (z.B. [FIRMENNAME], [ADRESSE]) mit Ihren Unternehmensdaten aus.',
|
|
},
|
|
{
|
|
icon: 'warning' as const,
|
|
title: 'Rechtspruefung',
|
|
description: 'Lassen Sie generierte Dokumente vor der Veroeffentlichung von einem Rechtsanwalt pruefen.',
|
|
},
|
|
],
|
|
},
|
|
'source-policy': {
|
|
title: 'Source Policy',
|
|
description: 'Verwalten Sie Ihre Datenquellen-Governance',
|
|
explanation: 'Die Source Policy definiert, welche externen Datenquellen fuer Ihre Anwendung zugelassen sind. Sie umfasst eine Whitelist, Operationsmatrix (Lookup, RAG, Training, Export), PII-Regeln und ein Audit-Trail.',
|
|
tips: [
|
|
{
|
|
icon: 'warning' as const,
|
|
title: 'Lizenzierung',
|
|
description: 'Pruefen Sie die Lizenzen aller Datenquellen (DL-DE-BY, CC-BY, CC0). Nicht-lizenzierte Quellen koennen rechtliche Risiken bergen.',
|
|
},
|
|
{
|
|
icon: 'info' as const,
|
|
title: 'PII-Regeln',
|
|
description: 'Definieren Sie klare Regeln fuer den Umgang mit personenbezogenen Daten in externen Quellen.',
|
|
},
|
|
],
|
|
},
|
|
'audit-report': {
|
|
title: 'Audit Report',
|
|
description: 'Erstellen und verwalten Sie Audit-Sitzungen',
|
|
explanation: 'Im Audit Report erstellen Sie formelle Audit-Sitzungen. Uebersicht mit Status-Badges, Detail-Seite pro Sitzung mit Fortschrittsbalken und interaktiven Checklist-Items.',
|
|
tips: [
|
|
{
|
|
icon: 'lightbulb' as const,
|
|
title: 'Regelmaessigkeit',
|
|
description: 'Fuehren Sie mindestens jaehrlich ein formelles Audit durch. Dokumentieren Sie Abweichungen und Massnahmenplaene.',
|
|
},
|
|
{
|
|
icon: 'success' as const,
|
|
title: 'Detail-Ansicht',
|
|
description: 'Klicken Sie auf eine Sitzung fuer die Detail-Seite: Metadaten, Fortschrittsbalken, Checklist-Items mit Sign-Off und Notizen.',
|
|
},
|
|
{
|
|
icon: 'info' as const,
|
|
title: 'PDF-Export',
|
|
description: 'Generieren Sie PDF-Reports in Deutsch oder Englisch fuer externe Pruefer und Aufsichtsbehoerden.',
|
|
},
|
|
],
|
|
},
|
|
'workflow': {
|
|
title: 'Document Workflow',
|
|
description: 'Freigabe-Workflow mit Split-View-Editor und DB-persistenter Versionierung',
|
|
explanation: 'Der Document Workflow bietet einen Split-View-Editor: links die veroffentlichte Version, rechts der aktuelle Entwurf. Dokumente durchlaufen den Status Draft → Review → Approved → Published. Alle Versionen werden in der Datenbank gespeichert. Word-Dokumente koennen direkt als neue Version importiert werden.',
|
|
tips: [
|
|
{
|
|
icon: 'warning' as const,
|
|
title: 'Vier-Augen-Prinzip',
|
|
description: 'Rechtliche Dokumente sollten immer von mindestens einer weiteren Person geprueft werden, bevor sie veroeffentlicht werden.',
|
|
},
|
|
{
|
|
icon: 'info' as const,
|
|
title: 'Versionierung',
|
|
description: 'Jede Aenderung wird als neue Version gespeichert. Veroeffentlichte Versionen sind unveraenderlich — Aenderungen erzeugen stets eine neue Version.',
|
|
},
|
|
{
|
|
icon: 'lightbulb' as const,
|
|
title: 'DOCX-Import',
|
|
description: 'Bestehende Word-Dokumente koennen direkt hochgeladen und als Basis fuer neue Versionen verwendet werden.',
|
|
},
|
|
],
|
|
},
|
|
'consent-management': {
|
|
title: 'Consent Verwaltung',
|
|
description: 'Verwalten Sie Consent-Dokumente, Versionen und DSGVO-Prozesse',
|
|
explanation: 'Die Consent Verwaltung umfasst das Lifecycle-Management Ihrer rechtlichen Dokumente (AGB, Datenschutz, Cookie-Richtlinien), die Verwaltung von E-Mail-Templates (16 Lifecycle-E-Mails) und die Steuerung der DSGVO-Prozesse (Art. 15-21).',
|
|
tips: [
|
|
{
|
|
icon: 'info' as const,
|
|
title: 'Dokumentversionen',
|
|
description: 'Jede Aenderung an einem Consent-Dokument erzeugt eine neue Version. Aktive Nutzer muessen bei Aenderungen erneut zustimmen.',
|
|
},
|
|
{
|
|
icon: 'warning' as const,
|
|
title: 'DSGVO-Fristen',
|
|
description: 'Betroffenenrechte (Art. 15-21) haben gesetzliche Fristen. Auskunft: 30 Tage, Loeschung: unverzueglich.',
|
|
},
|
|
],
|
|
},
|
|
'notfallplan': {
|
|
title: 'Notfallplan & Breach Response',
|
|
description: 'Verwalten Sie Ihr Datenpannen-Management nach Art. 33/34 DSGVO',
|
|
explanation: 'Der Notfallplan definiert Ihren Prozess bei Datenpannen gemaess Art. 33/34 DSGVO. Er umfasst die 72-Stunden-Meldepflicht an die Aufsichtsbehoerde, die Benachrichtigung betroffener Personen bei hohem Risiko, Incident-Klassifizierung, Eskalationswege und Dokumentationspflichten.',
|
|
tips: [
|
|
{
|
|
icon: 'warning' as const,
|
|
title: '72-Stunden-Frist',
|
|
description: 'Art. 33 DSGVO: Meldung an die Aufsichtsbehoerde innerhalb von 72 Stunden nach Bekanntwerden. Verspaetete Meldungen muessen begruendet werden.',
|
|
},
|
|
{
|
|
icon: 'info' as const,
|
|
title: 'Dokumentationspflicht',
|
|
description: 'Art. 33 Abs. 5: Alle Datenpannen muessen dokumentiert werden — auch solche, die nicht meldepflichtig sind. Die Dokumentation muss der Aufsichtsbehoerde auf Verlangen vorgelegt werden koennen.',
|
|
},
|
|
],
|
|
},
|
|
'academy': {
|
|
title: 'Compliance Academy',
|
|
description: 'E-Learning-Plattform fuer Mitarbeiterschulungen',
|
|
explanation: 'Die Compliance Academy ermoeglicht KI-generierte Schulungsvideos mit interaktiven Quizfragen und PDF-Zertifikaten. Unternehmen muessen Mitarbeiter regelmaessig in Datenschutz, IT-Sicherheit und KI-Kompetenz schulen (DSGVO Art. 39 Abs. 1 lit. b, EU AI Act Art. 4).',
|
|
tips: [
|
|
{
|
|
icon: 'info' as const,
|
|
title: 'Schulungspflicht',
|
|
description: 'DSGVO Art. 39 Abs. 1 lit. b verpflichtet den DSB zur Sensibilisierung und Schulung aller Mitarbeiter.',
|
|
},
|
|
{
|
|
icon: 'lightbulb' as const,
|
|
title: 'Zertifikate',
|
|
description: 'Schulungszertifikate dienen als Audit-Nachweis. Sie dokumentieren Teilnahme, Testergebnis und Gueltigkeit.',
|
|
},
|
|
],
|
|
},
|
|
'whistleblower': {
|
|
title: 'Hinweisgebersystem',
|
|
description: 'Meldestelle gemaess Hinweisgeberschutzgesetz (HinSchG)',
|
|
explanation: 'Das Hinweisgebersystem bietet eine sichere, anonyme Meldestelle fuer Compliance-Verstoesse gemaess dem Hinweisgeberschutzgesetz (HinSchG). Unternehmen ab 50 Mitarbeitern sind zur Einrichtung verpflichtet.',
|
|
tips: [
|
|
{
|
|
icon: 'warning' as const,
|
|
title: 'Pflicht ab 50 MA',
|
|
description: 'Seit Juli 2023 muessen Unternehmen ab 50 Mitarbeitern eine interne Meldestelle einrichten (HinSchG §12).',
|
|
},
|
|
{
|
|
icon: 'info' as const,
|
|
title: 'Anonymitaet',
|
|
description: 'Die Identitaet des Hinweisgebers muss geschuetzt werden. Repressalien gegen Hinweisgeber sind verboten.',
|
|
},
|
|
],
|
|
},
|
|
'incidents': {
|
|
title: 'Vorfallmanagement',
|
|
description: 'Erfassung und Nachverfolgung von Compliance-Vorfaellen',
|
|
explanation: 'Das Vorfallmanagement dokumentiert Compliance-Vorfaelle, Datenpannen und Sicherheitsereignisse. Es unterstuetzt die Meldepflicht nach Art. 33/34 DSGVO und die systematische Ursachenanalyse.',
|
|
tips: [
|
|
{
|
|
icon: 'warning' as const,
|
|
title: '72-Stunden-Frist',
|
|
description: 'Datenpannen muessen innerhalb von 72 Stunden an die Aufsichtsbehoerde gemeldet werden (Art. 33 DSGVO).',
|
|
},
|
|
{
|
|
icon: 'info' as const,
|
|
title: 'Klassifizierung',
|
|
description: 'Vorfaelle werden nach Schweregrad klassifiziert: Niedrig, Mittel, Hoch, Kritisch. Die Klassifizierung bestimmt die Eskalationswege.',
|
|
},
|
|
],
|
|
},
|
|
'dsb-portal': {
|
|
title: 'DSB Portal',
|
|
description: 'Arbeitsbereich fuer den Datenschutzbeauftragten',
|
|
explanation: 'Das DSB Portal bietet dem Datenschutzbeauftragten einen zentralen Arbeitsbereich mit Aufgabenuebersicht, Beratungsprotokollen und Taetigkeitsberichten. Es unterstuetzt die Aufgaben nach Art. 39 DSGVO.',
|
|
tips: [
|
|
{
|
|
icon: 'info' as const,
|
|
title: 'Taetigkeitsbericht',
|
|
description: 'Der DSB muss regelmaessig ueber seine Taetigkeiten berichten. Das Portal generiert strukturierte Berichte.',
|
|
},
|
|
{
|
|
icon: 'lightbulb' as const,
|
|
title: 'Beratungsprotokolle',
|
|
description: 'Dokumentieren Sie alle Beratungen, um die Rechenschaftspflicht zu erfuellen.',
|
|
},
|
|
],
|
|
},
|
|
'industry-templates': {
|
|
title: 'Branchenvorlagen',
|
|
description: 'Branchenspezifische Compliance-Vorlagen und Best Practices',
|
|
explanation: 'Branchenvorlagen bieten vorkonfigurierte Compliance-Pakete fuer verschiedene Branchen (Gesundheitswesen, Finanzwesen, E-Commerce etc.). Sie enthalten typische Verarbeitungen, Risiken und Massnahmen.',
|
|
tips: [
|
|
{
|
|
icon: 'lightbulb' as const,
|
|
title: 'Schnellstart',
|
|
description: 'Branchenvorlagen beschleunigen die Ersteinrichtung erheblich. Sie koennen spaeter individuell angepasst werden.',
|
|
},
|
|
{
|
|
icon: 'info' as const,
|
|
title: 'Branchenstandards',
|
|
description: 'Templates beruecksichtigen branchenspezifische Regulierungen wie PCI-DSS (Finanzen) oder Patientendatenschutz (Gesundheit).',
|
|
},
|
|
],
|
|
},
|
|
'multi-tenant': {
|
|
title: 'Multi-Tenant Verwaltung',
|
|
description: 'Mandantenverwaltung fuer mehrere Unternehmen oder Standorte',
|
|
explanation: 'Die Multi-Tenant Verwaltung ermoeglicht die zentrale Steuerung mehrerer Mandanten (Tochtergesellschaften, Standorte, Kunden). Jeder Mandant hat eigene Compliance-Daten, kann aber zentral verwaltet werden.',
|
|
tips: [
|
|
{
|
|
icon: 'info' as const,
|
|
title: 'Datentrennung',
|
|
description: 'Mandantendaten sind strikt getrennt. Nur der uebergeordnete Administrator kann mandantenuebergreifend auswerten.',
|
|
},
|
|
{
|
|
icon: 'lightbulb' as const,
|
|
title: 'Template-Vererbung',
|
|
description: 'Richtlinien und Vorlagen koennen zentral erstellt und an Mandanten vererbt werden.',
|
|
},
|
|
],
|
|
},
|
|
'sso': {
|
|
title: 'Single Sign-On',
|
|
description: 'SSO-Integration und Authentifizierung verwalten',
|
|
explanation: 'Die SSO-Konfiguration ermoeglicht die Integration mit Ihrem Identity Provider (SAML, OIDC). Mitarbeiter koennen sich mit ihren bestehenden Unternehmens-Credentials anmelden.',
|
|
tips: [
|
|
{
|
|
icon: 'info' as const,
|
|
title: 'Unterstuetzte Protokolle',
|
|
description: 'SAML 2.0 und OpenID Connect (OIDC) werden unterstuetzt. Die gaengigsten IdPs (Azure AD, Okta, Google) sind vorkonfiguriert.',
|
|
},
|
|
{
|
|
icon: 'warning' as const,
|
|
title: 'Sicherheit',
|
|
description: 'SSO reduziert das Risiko schwacher Passwoerter und ermoeglicht zentrale Zugriffskontrolle.',
|
|
},
|
|
],
|
|
},
|
|
'document-crawler': {
|
|
title: 'Dokumenten-Crawler',
|
|
description: 'Automatische Erfassung und Analyse von Compliance-Dokumenten',
|
|
explanation: 'Der Dokumenten-Crawler durchsucht Ihre Systeme automatisch nach relevanten Compliance-Dokumenten (Datenschutzerklaerungen, Vertraege, Richtlinien) und analysiert deren Aktualitaet und Vollstaendigkeit.',
|
|
tips: [
|
|
{
|
|
icon: 'lightbulb' as const,
|
|
title: 'Automatisierung',
|
|
description: 'Der Crawler erkennt veraltete Dokumente und fehlende Pflichtangaben automatisch.',
|
|
},
|
|
{
|
|
icon: 'info' as const,
|
|
title: 'Quellen',
|
|
description: 'Unterstuetzt Webseiten, SharePoint, Confluence und lokale Dateisysteme als Datenquellen.',
|
|
},
|
|
],
|
|
},
|
|
'advisory-board': {
|
|
title: 'Compliance-Beirat',
|
|
description: 'Virtueller Compliance-Beirat mit KI-Experten',
|
|
explanation: 'Der Compliance-Beirat simuliert ein Expertengremium aus verschiedenen Fachrichtungen (Datenschutzrecht, IT-Sicherheit, KI-Ethik). Holen Sie sich Einschaetzungen zu komplexen Compliance-Fragen.',
|
|
tips: [
|
|
{
|
|
icon: 'lightbulb' as const,
|
|
title: 'Zweitmeinung',
|
|
description: 'Nutzen Sie den Beirat fuer eine zweite Einschaetzung bei schwierigen Compliance-Entscheidungen.',
|
|
},
|
|
{
|
|
icon: 'warning' as const,
|
|
title: 'Kein Rechtsersatz',
|
|
description: 'Der KI-Beirat ersetzt keine professionelle Rechtsberatung. Bei kritischen Entscheidungen ziehen Sie einen Anwalt hinzu.',
|
|
},
|
|
],
|
|
},
|
|
'reporting': {
|
|
title: 'Management Reporting',
|
|
description: 'Compliance-Berichte und KPIs fuer das Top Management',
|
|
explanation: 'Das Executive Reporting Dashboard bietet einen umfassenden Ueberblick ueber den Compliance-Status Ihres Unternehmens. Es aggregiert Daten aus allen Modulen (DSGVO, Lieferanten, Vorfaelle, Schulungen) zu einem Gesamt-Compliance-Score mit Risikobewertung und Fristenuebersicht.',
|
|
tips: [
|
|
{
|
|
icon: 'lightbulb' as const,
|
|
title: 'Regelmaessig pruefen',
|
|
description: 'Praesentieren Sie den Compliance-Bericht regelmaessig der Geschaeftsleitung (empfohlen: monatlich oder quartalsweise).',
|
|
},
|
|
{
|
|
icon: 'warning' as const,
|
|
title: 'Rechenschaftspflicht',
|
|
description: 'Art. 5 Abs. 2 DSGVO verlangt den Nachweis der Compliance. Dieser Bericht dient als Dokumentation gegenueber Aufsichtsbehoerden.',
|
|
},
|
|
],
|
|
},
|
|
}
|
|
|
|
export default StepHeader
|