feat: CRA wiki, cybersecurity policy template, Phase H RAG ingestion
All checks were successful
CI/CD / go-lint (push) Has been skipped
CI/CD / python-lint (push) Has been skipped
CI/CD / nodejs-lint (push) Has been skipped
CI/CD / test-go-ai-compliance (push) Successful in 35s
CI/CD / test-python-backend-compliance (push) Successful in 33s
CI/CD / test-python-document-crawler (push) Successful in 22s
CI/CD / test-python-dsms-gateway (push) Successful in 19s
CI/CD / validate-canonical-controls (push) Successful in 12s
CI/CD / Deploy (push) Successful in 2s

- Wiki: add CRA category with 3 articles (Grundlagen, 35 Security Controls,
  CRA+NIS2+AI Act Framework)
- Document Generator: add CRA-konforme Cybersecurity Policy template with
  21 sections covering governance, SSDLC, vulnerability management,
  incident response (24h/72h), SBOM, patch management
- RAG: ingest Phase H — 17 EU regulations + 2 NIST frameworks now in Qdrant
  (CRA, AI Act, NIS2, DSGVO, DMA, GPSR, Batterieverordnung, etc.)
- Phase H script: add scripts/ingest-phase-h.sh for reproducible ingestion
- rag-sources.md: update status to ingestiert, add CRA entry

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
Benjamin Admin
2026-03-15 00:43:46 +01:00
parent f3e05c1bf7
commit dd09fa7a46
4 changed files with 1189 additions and 4 deletions

View File

@@ -0,0 +1,230 @@
-- Migration 055: CRA (Cyber Resilience Act) Wiki-Kategorie und Artikel
-- Neue Kategorie + 3 Artikel zum EU Cyber Resilience Act
-- Kategorie: CRA
INSERT INTO compliance_wiki_categories (id, name, description, icon, sort_order) VALUES
('cra', 'Cyber Resilience Act (CRA)', 'EU-Verordnung fuer Cybersicherheit von Produkten mit digitalen Elementen', 'Shield', 75)
ON CONFLICT (id) DO NOTHING;
-- Artikel 1: CRA Grundlagen
INSERT INTO compliance_wiki_articles (id, category_id, title, summary, content, legal_refs, tags, relevance, source_urls) VALUES
('cra-grundlagen', 'cra',
'Cyber Resilience Act — Ueberblick und Pflichten',
'Der CRA (EU) 2024/2847 verpflichtet Hersteller von Produkten mit digitalen Elementen zu umfassenden Cybersicherheits-Massnahmen ueber den gesamten Produktlebenszyklus.',
'## Ueberblick
Der **EU Cyber Resilience Act (CRA)**, Verordnung (EU) 2024/2847, ist am **10. Dezember 2024** in Kraft getreten. Er etabliert horizontale Cybersicherheitsanforderungen fuer alle **Produkte mit digitalen Elementen**, die in der EU in Verkehr gebracht werden.
## Zeitplan
| Datum | Meilenstein |
|-------|------------|
| 10.12.2024 | Inkrafttreten |
| 11.06.2026 | Konformitaetsbewertungsstellen muessen benannt sein |
| 11.09.2026 | Meldepflicht fuer Schwachstellen und Vorfaelle |
| 11.12.2027 | Volle Anwendung — CE-Kennzeichnung erforderlich |
## Was sind "Produkte mit digitalen Elementen"?
Jedes Software- oder Hardware-Produkt, das:
- Eine **Datenverbindung** (direkt oder indirekt) zu einem Geraet oder Netzwerk hat
- **Software** enthaelt, die bestimmungsgemaeß genutzt wird
**Beispiele:** IoT-Geraete, Firmware, eigenstaendige Software, Betriebssysteme, Router, Smart-Home-Geraete, industrielle Steuerungssysteme.
## Kernpflichten fuer Hersteller
### 1. Cybersecurity-Risikobewertung
- Systematische Bewertung der Cybersecurity-Risiken des Produkts
- Dokumentation der Risikoanalyse
- Regelmaessige Aktualisierung
### 2. Secure Development (SSDLC)
- Sichere Entwicklungsprozesse etablieren
- Code Reviews und Security Testing
- Supply-Chain-Security pruefen
### 3. Vulnerability Management
- Aktives CVE-Monitoring
- Coordinated Vulnerability Disclosure (CVD)
- Patch-Bereitstellung waehrend des gesamten Support-Zeitraums
### 4. Security Updates
- Sichere Update-Mechanismen (signiert, integritaetsgeprueft)
- Automatische oder einfache Update-Moeglichkeit fuer Nutzer
- Mindest-Support-Zeitraum: 5 Jahre oder erwartete Produktlebensdauer
### 5. Software Bill of Materials (SBOM)
- Dokumentation aller Software-Komponenten
- Top-Level-Abhaengigkeiten
- Maschinenlesbares Format
### 6. Incident Reporting
- **24 Stunden:** Fruehwarnung an ENISA/nationale Behoerde
- **72 Stunden:** Detaillierter Incident Report
- Meldepflicht fuer aktiv ausgenutzte Schwachstellen
## CE-Kennzeichnung
Der CRA wird Teil der **CE-Konformitaet**. Ab Dezember 2027 duerfen Produkte ohne Cybersecurity-Konformitaet **nicht mehr in der EU verkauft werden**.
## Sanktionen
| Verstoss | Bussgeld |
|----------|----------|
| Wesentliche Anforderungen (Annex I) | Bis 15 Mio. EUR oder 2,5% des Jahresumsatzes |
| Sonstige Pflichten | Bis 10 Mio. EUR oder 2% des Jahresumsatzes |
| Falsche Informationen | Bis 5 Mio. EUR oder 1% des Jahresumsatzes |',
ARRAY['Art. 13 CRA', 'Art. 14 CRA', 'Annex I CRA', 'Annex II CRA', '(EU) 2024/2847'],
ARRAY['cra', 'cybersecurity', 'ce-kennzeichnung', 'iot', 'software', 'sbom', 'vulnerability', 'incident-reporting'],
'critical',
ARRAY['https://eur-lex.europa.eu/eli/reg/2024/2847/oj/eng'])
ON CONFLICT (id) DO NOTHING;
-- Artikel 2: CRA Security Controls (Annex I)
INSERT INTO compliance_wiki_articles (id, category_id, title, summary, content, legal_refs, tags, relevance, source_urls) VALUES
('cra-security-controls', 'cra',
'CRA Annex I — 35 Essential Cybersecurity Requirements',
'Der CRA definiert in Annex I die wesentlichen Cybersicherheitsanforderungen. Daraus ergeben sich etwa 35 konkrete Security-Controls fuer den gesamten Produktlebenszyklus.',
'## Ueberblick
Annex I des CRA enthaelt die **Essential Cybersecurity Requirements**. Sie lassen sich in 7 Themenbereiche mit insgesamt etwa 35 konkreten Controls aufteilen.
## 1. Secure-by-Design / Architektur
| # | Control | Beschreibung |
|---|---------|-------------|
| 1 | Secure-by-default | Produkte mit sicheren Standardeinstellungen ausliefern |
| 2 | Minimale Angriffsflaeche | Nur notwendige Dienste und Schnittstellen aktivieren |
| 3 | Sichere Systemarchitektur | Sicherheitskritische Komponenten isolieren und schuetzen |
| 4 | Least-Privilege-Prinzip | Minimale Berechtigungen fuer Komponenten und Nutzer |
| 5 | Trennung kritischer Funktionen | Isolation sicherheitskritischer Funktionen |
| 6 | System-Haertung | Deaktivierung unnoetigerServices und Ports |
| 7 | Manipulationsschutz | Schutz vor unautorisierter Software-Aenderung |
| 8 | Integritaetspruefung | Signaturen und Integritaetschecks |
| 9 | Zugriffsschutz | Zugriffskontrollen implementieren |
## 2. Authentifizierung & Zugriffskontrolle
| # | Control | Beschreibung |
|---|---------|-------------|
| 10 | Starke Authentifizierung | Sichere Authentifizierungsmechanismen |
| 11 | Keine Default-Passwoerter | Keine universellen Standardpasswoerter |
| 12 | Credential-Management | Sichere Verwaltung von Zugangsdaten |
| 13 | Sitzungsmanagement | Sichere Session-Verwaltung |
| 14 | Brute-Force-Schutz | Schutz vor Brute-Force-Angriffen |
| 15 | Autorisierung | Rollenbasierte Zugriffskontrolle |
## 3. Kryptografie & Datenschutz
| # | Control | Beschreibung |
|---|---------|-------------|
| 16 | Datenverschluesselung | Verschluesselung sensibler Daten |
| 17 | Speicher-Schutz | Schutz gespeicherter Daten (at-rest) |
| 18 | Transport-Schutz | Schutz uebertragener Daten (in-transit) |
| 19 | Schluesselmanagement | Sicheres kryptografisches Schluesselmanagement |
| 20 | Schluesselschutz | Schutz kryptografischer Schluessel vor Zugriff |
## 4. Software-Lifecycle-Security
| # | Control | Beschreibung |
|---|---------|-------------|
| 21 | Secure Development Lifecycle | Strukturierter SSDLC-Prozess |
| 22 | Code Reviews | Systematische Code-Ueberpruefungen |
| 23 | Sichere Entwicklungspraktiken | Static Analysis, SAST, DAST |
| 24 | Supply-Chain-Security | Pruefung von Drittanbieter-Komponenten |
| 25 | Dependency-Monitoring | Ueberwachung von Abhaengigkeiten |
| 26 | SBOM | Software Bill of Materials fuehren |
## 5. Logging, Monitoring & Incident Detection
| # | Control | Beschreibung |
|---|---------|-------------|
| 27 | Security-Logging | Protokollierung sicherheitsrelevanter Ereignisse |
| 28 | Ereignis-Monitoring | Ueberwachung sicherheitsrelevanter Events |
| 29 | Anomalie-Erkennung | Erkennung von Angriffen oder Anomalien |
| 30 | Log-Integritaet | Schutz der Protokoll-Integritaet |
## 6. Update- und Patch-Management
| # | Control | Beschreibung |
|---|---------|-------------|
| 31 | Sichere Update-Mechanismen | Sichere Verfahren fuer Software-Updates |
| 32 | Update-Authentizitaet | Signaturen fuer Updates |
| 33 | Update-Integritaet | Integritaetspruefung bei Updates |
| 34 | Lifecycle-Support | Security-Updates waehrend des gesamten Lebenszyklus |
## 7. Vulnerability-Handling
| # | Control | Beschreibung |
|---|---------|-------------|
| 35 | Vulnerability-Management | Strukturierter Prozess fuer Schwachstellen-Behandlung |
Dazu gehoert:
- Koordinierte Offenlegung (Coordinated Vulnerability Disclosure)
- CVE-Monitoring
- Patch-Bereitstellung innerhalb angemessener Frist
## Automatisierungspotential
Diese 35 Controls koennen automatisch zu folgenden Dokumenten fuehren:
- **Cybersecurity Policy** (Grundsatzdokument)
- **Secure Development Policy** (SSDLC)
- **Vulnerability Management Policy** (CVD, Patching)
- **Incident Response Policy** (24h/72h Meldung)
- **SBOM-Dokumentation** (Komponentenliste)',
ARRAY['Annex I CRA', 'Art. 13 CRA', 'Art. 14 CRA', 'Art. 15 CRA'],
ARRAY['security-controls', 'annex-i', 'secure-by-design', 'authentifizierung', 'kryptografie', 'sbom', 'vulnerability', 'patching'],
'critical',
ARRAY['https://eur-lex.europa.eu/eli/reg/2024/2847/oj/eng'])
ON CONFLICT (id) DO NOTHING;
-- Artikel 3: CRA + NIS2 + AI Act Zusammenspiel
INSERT INTO compliance_wiki_articles (id, category_id, title, summary, content, legal_refs, tags, relevance, source_urls) VALUES
('cra-regulierungsrahmen', 'cra',
'CRA + NIS2 + AI Act — Das neue EU-Security-Framework',
'CRA, NIS2-Richtlinie und AI Act bilden zusammen ein umfassendes EU-Sicherheitsframework fuer digitale Produkte, Infrastrukturen und KI-Systeme.',
'## Ueberblick
Die EU hat mit drei zentralen Rechtsakten ein zusammenhaengendes Framework fuer Cybersicherheit und KI-Regulierung geschaffen. Fuer Softwarehersteller, die KI einsetzen, sind alle drei relevant.
## Die drei Saeulen
| Verordnung | Fokus | Zielgruppe | Anwendung ab |
|-----------|-------|-----------|-------------|
| **CRA** (2024/2847) | Produkt-Cybersecurity | Hersteller von Hardware/Software | 12/2027 |
| **NIS2** (2022/2555) | Infrastruktur-Security | Betreiber wesentlicher Dienste | 10/2024 (national) |
| **AI Act** (2024/1689) | KI-Regulierung | Anbieter/Betreiber von KI-Systemen | 08/2025 (stufenweise) |
## Abgrenzung
### CRA vs. NIS2
- **CRA**: Regelt die **Sicherheit des Produkts** selbst (Design, Updates, Vulnerability Handling)
- **NIS2**: Regelt die **Sicherheit der Organisation** (Risikomanagement, Incident Response, Supply Chain)
- **Ueberschneidung**: Beide fordern Incident Reporting und Supply-Chain-Security
### CRA vs. AI Act
- **CRA**: Cybersecurity-Anforderungen an **alle** digitalen Produkte
- **AI Act**: Zusaetzliche Anforderungen fuer Produkte, die **KI enthalten** (Transparenz, Erklaerbarkeit, Risikobewertung)
- **Ueberschneidung**: Hochrisiko-KI-Systeme muessen sowohl CRA als auch AI Act erfuellen
## Synergien nutzen
Ein Unternehmen, das alle drei Verordnungen erfuellen muss, kann Synergien nutzen:
| Thema | CRA | NIS2 | AI Act |
|-------|-----|------|--------|
| Risikobewertung | Produkt-Risiko | Org-Risiko | KI-Risiko |
| Incident Reporting | 24h/72h | 24h/72h | Meldepflicht |
| Supply Chain | SBOM | Lieferantenpruefung | Drittanbieter-KI |
| Dokumentation | Tech. Doku | Policies | KI-Registrierung |
| Audit/Konformitaet | CE-Kennzeichnung | Zertifizierung | Konformitaetsbewertung |
## Empfehlung
Bauen Sie ein **integriertes Compliance-Management-System** auf, das alle drei Verordnungen abdeckt. Gemeinsame Policies (Security, Incident Response, Risk Management) koennen fuer alle drei Regelwerke genutzt werden.',
ARRAY['(EU) 2024/2847', '(EU) 2022/2555', '(EU) 2024/1689', 'Art. 13 CRA', 'Art. 21 NIS2', 'Art. 9 AI Act'],
ARRAY['cra', 'nis2', 'ai-act', 'security-framework', 'compliance', 'synergien', 'ce-kennzeichnung'],
'important',
ARRAY[]::text[])
ON CONFLICT (id) DO NOTHING;

View File

@@ -0,0 +1,515 @@
-- Migration 056: CRA Cybersecurity Policy Template
-- Unternehmensrichtlinie Cybersecurity basierend auf EU Cyber Resilience Act, ISO 27001 Best Practices
INSERT INTO compliance_legal_templates (
id, tenant_id, document_type, title, description, content,
placeholders, language, jurisdiction,
license_id, license_name, source_name,
attribution_required, is_complete_document, version, status,
created_at, updated_at
) VALUES (
gen_random_uuid(),
'9282a473-5c95-4b3a-bf78-0ecc0ec71d3e',
'cybersecurity_policy',
'Unternehmensrichtlinie Cybersecurity (CRA-konform)',
'Umfassende Cybersecurity-Richtlinie basierend auf dem EU Cyber Resilience Act (EU) 2024/2847, ISO 27001 und Secure-Development-Standards. Deckt Governance, Risikomanagement, Secure Development, Vulnerability Management, Incident Response und Compliance ab.',
$template$# Unternehmensrichtlinie Cybersecurity
**{{COMPANY_NAME}}**
*(Cybersecurity Policy CRA-konform)*
| Feld | Inhalt |
|------|--------|
| Dokumenttyp | Unternehmensrichtlinie |
| Version | {{DOCUMENT_VERSION}} |
| Datum | {{VERSION_DATE}} |
| Naechste Ueberpruefung | {{NEXT_REVIEW_DATE}} |
| Verantwortlich | {{ISB_NAME}} (CISO/ISB) |
| Freigabe | {{GF_NAME}} (Geschaeftsfuehrung) |
| Vertraulichkeit | Intern |
---
## 1. Zweck der Richtlinie
Diese Cybersecurity-Richtlinie legt die organisatorischen und technischen Massnahmen fest, mit denen {{COMPANY_NAME}}:
- Informationssysteme schuetzt
- Cyberrisiken systematisch reduziert
- Gesetzliche Anforderungen erfuellt (insb. EU Cyber Resilience Act, NIS2, DSGVO)
- Sicherheitsvorfaelle erkennt, behandelt und meldet
Die Richtlinie gilt fuer alle:
- Mitarbeiterinnen und Mitarbeiter von {{COMPANY_NAME}}
- Externe Dienstleister und Auftragnehmer
- IT-Systeme, Software und Cloud-Services
- Produkte mit digitalen Elementen im Sinne des CRA
---
## 2. Geltungsbereich
Diese Richtlinie gilt fuer:
- Unternehmens-IT und Netzwerkinfrastruktur
- Interne Softwareentwicklung
- Cloud-Infrastruktur und SaaS-Dienste
- Datenverarbeitungssysteme
- Produkte mit digitalen Elementen (Software, IoT, Firmware)
- Lieferanten und Dienstleister mit Zugang zu Systemen von {{COMPANY_NAME}}
Betroffene Assets:
- Server und Netzwerkkomponenten
- Endgeraete (Laptops, Mobilgeraete)
- Software und Firmware
- Datenbanken und APIs
- Kryptografische Schluessel und Zertifikate
---
## 3. Sicherheitsziele
Die Cybersecurity-Strategie von {{COMPANY_NAME}} verfolgt folgende Ziele:
### Vertraulichkeit
Schutz sensibler Daten vor unbefugtem Zugriff. Klassifizierung von Daten nach Schutzbedarf.
### Integritaet
Sicherstellung, dass Daten und Systeme nicht unautorisiert veraendert werden. Einsatz von Integritaetspruefungen und Signaturen.
### Verfuegbarkeit
Systeme und Dienste muessen gemaess den vereinbarten SLAs verfuegbar sein. Redundanz und Wiederherstellungsfaehigkeit sicherstellen.
### Nachvollziehbarkeit
Sicherheitsrelevante Ereignisse muessen lueckenlos dokumentiert und fuer Audits nachvollziehbar sein.
---
## 4. Governance und Verantwortlichkeiten
### 4.1 Geschaeftsfuehrung
{{GF_NAME}} ist verantwortlich fuer:
- Festlegung der Sicherheitsstrategie
- Bereitstellung angemessener Ressourcen
- Ueberwachung der Compliance-Einhaltung
- Jaehrliche Freigabe dieser Richtlinie
### 4.2 Chief Information Security Officer (CISO/ISB)
{{ISB_NAME}} ist verantwortlich fuer:
- Umsetzung der Sicherheitsstrategie
- Risikomanagement und Risikoberichterstattung
- Security-Monitoring und Threat Intelligence
- Koordination des Incident-Response-Teams
- Kontaktperson fuer Behoerden bei Sicherheitsvorfaellen
### 4.3 Datenschutzbeauftragter
{{DPO_NAME}} ({{DPO_EMAIL}}) wird bei sicherheitsrelevanten Vorfaellen einbezogen, die personenbezogene Daten betreffen.
### 4.4 IT-Abteilung
Verantwortlich fuer:
- Sichere Infrastruktur und Systemhaertung
- Patch-Management und Update-Bereitstellung
- Netzwerksegmentierung und Firewall-Management
- Monitoring und Log-Management
### 4.5 Entwicklerteams
Verantwortlich fuer:
- Secure Coding und Code Reviews
- Dependency Management und SBOM-Pflege
- Security Testing (SAST, DAST, SCA)
- Vulnerability Remediation
### 4.6 Alle Mitarbeiter
Alle Mitarbeiter von {{COMPANY_NAME}} muessen:
- Sicherheitsrichtlinien einhalten
- Sicherheitsvorfaelle unverzueglich melden
- An jaehrlichen Security-Schulungen teilnehmen
- Phishing-Versuche und verdaechtige Aktivitaeten melden
---
## 5. Risikomanagement
{{COMPANY_NAME}} fuehrt regelmaessig eine Cyber-Risikoanalyse durch.
### Prozess
1. **Identifikation** kritischer Assets und Daten
2. **Bedrohungsanalyse** (Threat Modeling, STRIDE)
3. **Schwachstellenanalyse** (CVE-Monitoring, Vulnerability Scanning)
4. **Risikobewertung** (Eintrittswahrscheinlichkeit x Auswirkung)
5. **Risikobehandlung** (Vermeiden, Reduzieren, Uebertragen, Akzeptieren)
### Frequenz
Risikobewertungen erfolgen:
- Mindestens jaehrlich
- Bei wesentlichen Systemanderungen
- Bei neuen Produkten oder Dienstleistungen
- Nach Sicherheitsvorfaellen
### Dokumentation
Alle Risikoanalysen werden dokumentiert und fuer mindestens 3 Jahre aufbewahrt. Die Ergebnisse werden der Geschaeftsfuehrung in Form eines Risikoberichts vorgelegt.
---
## 6. Secure System Architecture
Systeme von {{COMPANY_NAME}} muessen nach folgenden Prinzipien entwickelt und betrieben werden:
### Security by Design
Sicherheitsanforderungen werden bereits in der Architekturphase beruecksichtigt. Jedes neue System durchlaeuft ein Security Architecture Review.
### Security by Default
Systeme werden mit sicheren Grundeinstellungen ausgeliefert. Keine Dienste oder Ports sind standardmaessig aktiviert, die nicht benoetigt werden.
### Least Privilege
Benutzer und Systeme erhalten nur die minimal notwendigen Berechtigungen. Privilegierte Zugriffe werden gesondert protokolliert.
### Segmentierung
Kritische Systeme werden durch Netzwerksegmentierung isoliert. Produktiv-, Entwicklungs- und Testumgebungen sind strikt getrennt.
### Haertung
Alle Systeme werden gemaess anerkannter Haertungsrichtlinien (CIS Benchmarks, BSI IT-Grundschutz) konfiguriert.
---
## 7. Zugriffskontrollen
### Anforderungen
- Eindeutige, personalisierte Benutzerkonten
- Starke Passwortrichtlinie (mind. 12 Zeichen, Komplexitaet)
- Multi-Faktor-Authentifizierung (MFA) fuer alle administrativen Zugriffe und externe Zugaenge
- Rollenbasierte Zugriffskontrolle (RBAC) mit regelmaessiger Rezertifizierung
- Automatische Sperrung nach 5 fehlgeschlagenen Login-Versuchen
### Verboten
- Gemeinsam genutzte Accounts (Shared Accounts)
- Universal-Default-Passwoerter
- Unverschluesselte Speicherung von Zugangsdaten
- Weitergabe von Zugangsdaten per E-Mail
### Privileged Access Management
Administratorzugriffe muessen:
- Gesondert beantragt und genehmigt werden
- Zeitlich begrenzt sein (Just-in-Time Access)
- Vollstaendig protokolliert werden
---
## 8. Kryptografie
{{COMPANY_NAME}} verwendet ausschliesslich moderne, anerkannte kryptografische Verfahren.
### Verschluesselung erforderlich fuer
- Gespeicherte sensible Daten (at rest) AES-256
- Datenuebertraung (in transit) TLS 1.2+, vorzugsweise TLS 1.3
- Backups vollstaendig verschluesselt
- Konfigurationsdaten und Secrets Vault oder vergleichbar
### Schluesselmanagement
- Schluessel muessen sicher gespeichert werden (HSM oder Vault)
- Regelmaessige Rotation (mind. jaehrlich, bei Kompromittierung sofort)
- Zugriff nur fuer autorisierte Personen
- Dokumentation der Schluessel-Lebenszyklen
### Verbotene Verfahren
- MD5 und SHA-1 fuer kryptografische Zwecke
- DES und 3DES
- SSL und TLS < 1.2
---
## 9. Secure Software Development Lifecycle (SSDLC)
Alle Softwareprodukte von {{COMPANY_NAME}} muessen einen sicheren Entwicklungsprozess durchlaufen. Dies entspricht den Anforderungen des CRA Annex I.
### Entwicklungsprozess
1. **Security Requirements** Sicherheitsanforderungen in User Stories und Epics
2. **Threat Modeling** Bedrohungsanalyse in der Designphase
3. **Secure Coding** Einhaltung von Secure-Coding-Standards
4. **Code Review** Peer Review mit Security-Fokus
5. **Security Testing** Automatisierte und manuelle Tests
6. **Release-Freigabe** Security Sign-off vor Deployment
### Pflichtmassnahmen
- **Static Application Security Testing (SAST)** in der CI/CD-Pipeline
- **Software Composition Analysis (SCA)** Dependency Scanning
- **Dynamic Application Security Testing (DAST)** vor jedem Major Release
- **Secrets Detection** Automatische Pruefung auf eingebettete Zugangsdaten
- **Penetration Testing** mindestens jaehrlich durch externe Tester
---
## 10. Software-Supply-Chain-Security
{{COMPANY_NAME}} kontrolliert externe Softwarekomponenten systematisch.
### Software Bill of Materials (SBOM)
Fuer alle Produkte wird ein SBOM gefuehrt, das mindestens folgende Informationen enthaelt:
- Name und Version aller Software-Komponenten
- Lizenzinformationen
- Bekannte Schwachstellen (CVE)
Das SBOM wird bei jedem Release aktualisiert und in maschinenlesbarem Format (CycloneDX oder SPDX) bereitgestellt.
### Open-Source-Kontrolle
- Lizenzpruefung vor Aufnahme neuer Abhaengigkeiten
- Monitoring auf bekannte Schwachstellen (CVE)
- Regelmaessige Updates von Abhaengigkeiten
---
## 11. Logging und Monitoring
### Logging umfasst
- Erfolgreiche und fehlgeschlagene Login-Versuche
- Administrative Systemanderungen
- Zugriffe auf sensible Daten
- Sicherheitsrelevante Konfigurationsanderungen
- API-Zugriffe und Fehler
### Anforderungen an Logs
- Manipulationssicher (append-only, signiert oder WORM)
- Zentral gesammelt (SIEM oder vergleichbar)
- Aufbewahrung mindestens 12 Monate
- Zugriff nur fuer autorisiertes Security-Personal
### Monitoring
- Echtzeit-Ueberwachung sicherheitsrelevanter Ereignisse
- Automatische Alarmierung bei Anomalien
- Korrelation von Events aus verschiedenen Quellen
---
## 12. Vulnerability Management
{{COMPANY_NAME}} betreibt ein strukturiertes Schwachstellenmanagement.
### Prozess
1. **Identifikation** Automatische Scans, Bug Bounty, CVE-Monitoring
2. **Bewertung** Risikobewertung nach CVSS
3. **Priorisierung** Kritische Schwachstellen zuerst
4. **Behebung** Patch-Entwicklung und Deployment
5. **Verifizierung** Bestaetigung der Behebung
6. **Kommunikation** Information betroffener Kunden und Behoerden
### Coordinated Vulnerability Disclosure (CVD)
{{COMPANY_NAME}} veroeffentlicht eine CVD-Policy. Sicherheitsforscher koennen Schwachstellen an {{SECURITY_EMAIL}} melden. Meldungen werden innerhalb von 5 Werktagen bestaetigt.
---
## 13. Patch- und Update-Management
Alle Systeme muessen regelmaessig aktualisiert werden.
### Patchzyklen
| Risikostufe | Reaktionszeit |
|-------------|---------------|
| Kritisch (CVSS >= 9.0) | 24-72 Stunden |
| Hoch (CVSS 7.0-8.9) | 7 Tage |
| Mittel (CVSS 4.0-6.9) | 30 Tage |
| Niedrig (CVSS < 4.0) | Naechster regulaerer Update-Zyklus |
### Anforderungen an Updates
- Alle Updates muessen **digital signiert** sein
- Integritaetspruefung vor Installation
- Rollback-Moeglichkeit bei fehlerhaften Updates
- Automatische Update-Benachrichtigung fuer Kunden
- **Mindest-Support-Zeitraum: 5 Jahre** (gemaess CRA)
---
## 14. Incident Response
{{COMPANY_NAME}} betreibt einen dokumentierten Incident-Response-Prozess.
### Schritte
1. **Detection** Erkennung durch Monitoring, Meldung oder externe Information
2. **Classification** Einstufung nach Schweregrad (P1-P4)
3. **Containment** Sofortige Eindaemmung des Vorfalls
4. **Investigation** Forensische Analyse und Ursachenermittlung
5. **Recovery** Wiederherstellung des Normalbetriebs
6. **Reporting** Dokumentation und Meldung an Behoerden
7. **Lessons Learned** Nachbereitung und Verbesserung
### Meldepflichten (CRA-konform)
| Meldung | Frist | Empfaenger |
|---------|-------|-----------|
| **Fruehwarnung** | 24 Stunden | ENISA / nationale Behoerde |
| **Detaillierter Bericht** | 72 Stunden | ENISA / nationale Behoerde |
| **Abschlussbericht** | 1 Monat | ENISA / nationale Behoerde |
Bei personenbezogenen Daten gelten zusaetzlich die Fristen nach Art. 33/34 DSGVO (72 Stunden an Aufsichtsbehoerde).
### Kontakte
| Rolle | Person | Kontakt |
|-------|--------|---------|
| CISO/ISB | {{ISB_NAME}} | {{ISB_EMAIL}} |
| DSB | {{DPO_NAME}} | {{DPO_EMAIL}} |
| GF | {{GF_NAME}} | {{GF_EMAIL}} |
---
## 15. Security Testing
Folgende Tests werden regelmaessig durchgefuehrt:
| Test | Frequenz | Durchfuehrung |
|------|----------|--------------|
| Vulnerability Scans | Woechentlich | Automatisiert (CI/CD) |
| SAST/SCA | Bei jedem Commit | Automatisiert (CI/CD) |
| DAST | Vor Major Releases | Automatisiert + manuell |
| Penetration Tests | Jaehrlich | Externer Dienstleister |
| Red-Team-Tests | Alle 2 Jahre | Externer Dienstleister |
| Social Engineering | Jaehrlich | Externer Dienstleister |
---
## 16. Backup und Wiederherstellung
### Anforderungen
- **Taegliche Backups** aller kritischen Systeme und Daten
- **Off-Site-Backups** an geografisch getrenntem Standort
- **Verschluesselung** aller Backup-Daten
- **Wiederherstellungstests** mindestens vierteljaehrlich
### Recovery-Ziele
| Metrik | Ziel |
|--------|------|
| Recovery Time Objective (RTO) | {{RTO_HOURS}} Stunden |
| Recovery Point Objective (RPO) | {{RPO_HOURS}} Stunden |
---
## 17. Lieferanten- und Drittanbieter-Management
Lieferanten mit Zugang zu Systemen oder Daten von {{COMPANY_NAME}} muessen Sicherheitsanforderungen erfuellen.
### Anforderungen
- Sicherheitspruefung vor Vertragsabschluss (Security Assessment)
- Sicherheitsanforderungen im Vertrag (Auftragsverarbeitung, SLA)
- Regelmaessige Audits und Compliance-Nachweise
- Incident-Notification-Pflicht innerhalb von 24 Stunden
- Nachweis ueber eigenes Vulnerability Management
---
## 18. Schulungen und Awareness
Alle Mitarbeiter von {{COMPANY_NAME}} erhalten:
- **Jaehrliche Security-Awareness-Trainings**
- **Phishing-Simulationen** (mind. 2x jaehrlich)
- **Rollenspezifische Schulungen** (Entwickler: Secure Coding, IT: Incident Response)
- **Onboarding-Schulung** fuer neue Mitarbeiter
Teilnahme ist verpflichtend. Die Teilnahme wird dokumentiert.
---
## 19. Dokumentation und Compliance
{{COMPANY_NAME}} dokumentiert:
- Risikoanalysen und Risikobehandlungsplaene
- Sicherheitskontrollen und deren Wirksamkeit
- Sicherheitsvorfaelle und deren Behandlung
- Software-Updates und Patches
- SBOM fuer alle Produkte
- Audit-Ergebnisse
Die Dokumentation muss jederzeit fuer Audits und behoerdliche Anfragen verfuegbar sein.
### Regulatorische Compliance
Diese Richtlinie dient der Einhaltung folgender Vorschriften:
- **EU Cyber Resilience Act** (EU) 2024/2847
- **NIS2-Richtlinie** (EU) 2022/2555
- **DSGVO** (EU) 2016/679 technische und organisatorische Massnahmen
- **ISO/IEC 27001** Best Practices fuer Informationssicherheit
---
## 20. Durchsetzung
Verstoesse gegen diese Richtlinie koennen je nach Schwere folgende Konsequenzen haben:
- Disziplinarmassnahmen
- Vertragsstrafen (bei externen Dienstleistern)
- Rechtliche Konsequenzen (bei vorsaetzlichen Verstoessen)
---
## 21. Ueberpruefung und Aktualisierung
Diese Cybersecurity-Richtlinie wird ueberprueft:
- **Jaehrlich** durch {{ISB_NAME}} (CISO/ISB)
- Bei **regulatorischen Aenderungen** (neue EU-Verordnungen, nationale Gesetze)
- Nach **groesseren Sicherheitsvorfaellen**
- Bei **wesentlichen Aenderungen** der IT-Infrastruktur oder Produktlandschaft
Die naechste planmaessige Ueberpruefung ist am **{{NEXT_REVIEW_DATE}}**.
---
## Freigabe
| | Name | Datum | Unterschrift |
|--|------|-------|-------------|
| Erstellt von | {{ISB_NAME}} (CISO/ISB) | {{VERSION_DATE}} | _________________ |
| Freigegeben von | {{GF_NAME}} (Geschaeftsfuehrung) | {{VERSION_DATE}} | _________________ |
---
*Dieses Dokument ist Eigentum von {{COMPANY_NAME}} und unterliegt der Vertraulichkeitsstufe "Intern".*
$template$,
CAST('["COMPANY_NAME","COMPANY_ADDRESS","COMPANY_CITY","GF_NAME","GF_EMAIL","ISB_NAME","ISB_EMAIL","DPO_NAME","DPO_EMAIL","SECURITY_EMAIL","DOCUMENT_VERSION","VERSION_DATE","NEXT_REVIEW_DATE","RTO_HOURS","RPO_HOURS"]' AS jsonb),
'de', 'DE',
'mit', 'MIT License', 'BreakPilot Compliance',
false, true, '1.0.0', 'published',
NOW(), NOW()
) ON CONFLICT DO NOTHING;

439
scripts/ingest-phase-h.sh Executable file
View File

@@ -0,0 +1,439 @@
#!/usr/bin/env bash
# =============================================================================
# BreakPilot Compliance — Phase H RAG Ingestion
#
# Downloads and ingests ~35 new legal sources into Qdrant:
# - 16 German laws (gesetze-im-internet.de) → bp_compliance_gesetze
# - 18 EU regulations (EUR-Lex PDFs) → bp_compliance_ce
# - 3 framework docs (NIST, HLEG) → bp_compliance_datenschutz
#
# Run on Mac Mini:
# bash ~/Projekte/breakpilot-compliance/scripts/ingest-phase-h.sh
# =============================================================================
set -euo pipefail
WORK_DIR="${WORK_DIR:-$HOME/rag-ingestion}"
RAG_URL="${RAG_URL:-https://localhost:8097/api/v1/documents/upload}"
QDRANT_URL="${QDRANT_URL:-http://localhost:6333}"
CURL_OPTS="-sk --connect-timeout 10 --max-time 300"
CURL_OPTS_LARGE="-sk --connect-timeout 10 --max-time 900"
UPLOADED=0
FAILED=0
SKIPPED=0
log() { echo "[$(date '+%H:%M:%S')] $*"; }
ok() { echo "[$(date '+%H:%M:%S')] ok $*"; }
warn() { echo "[$(date '+%H:%M:%S')] WARN $*" >&2; }
fail() { echo "[$(date '+%H:%M:%S')] FAIL $*" >&2; }
download_pdf() {
local url="$1"
local target="$2"
if [[ -f "$target" ]]; then
log "PDF exists: $(basename "$target") (skipping download)"
return 0
fi
log "Downloading: $(basename "$target")"
curl $CURL_OPTS -L "$url" -o "$target" 2>/dev/null || {
warn "Download failed: $url"
rm -f "$target"
return 0
}
local fsize
fsize=$(stat -f%z "$target" 2>/dev/null || stat -c%s "$target" 2>/dev/null || echo 0)
if [[ "$fsize" -lt 1000 ]]; then
warn "Download too small (${fsize}B): $(basename "$target")"
rm -f "$target"
fi
}
download_gesetz_pdf() {
local law_id="$1"
local target="$2"
if [[ -f "$target" ]]; then
log "PDF exists: $(basename "$target") (skipping download)"
return 0
fi
log "Downloading: $law_id (gesetze-im-internet.de)"
curl $CURL_OPTS_LARGE -L "https://www.gesetze-im-internet.de/${law_id}/gesamt.pdf" -o "$target" 2>/dev/null || {
warn "Download failed: $law_id"
rm -f "$target"
return 0
}
local fsize
fsize=$(stat -f%z "$target" 2>/dev/null || stat -c%s "$target" 2>/dev/null || echo 0)
if [[ "$fsize" -lt 1000 ]]; then
warn "Download too small (${fsize}B): $law_id"
rm -f "$target"
else
log " Downloaded: $(( fsize / 1024 ))KB"
fi
}
upload_file() {
local file="$1"
local collection="$2"
local data_type="$3"
local use_case="$4"
local year="$5"
local metadata_json="$6"
local label="${7:-$(basename "$file")}"
if [[ ! -f "$file" ]]; then
warn "File not found: $file"
FAILED=$((FAILED + 1))
return 0
fi
# Dedup check
local reg_id
reg_id=$(echo "$metadata_json" | python3 -c "import sys,json; print(json.load(sys.stdin).get('regulation_id',''))" 2>/dev/null || echo "")
if [[ -n "$reg_id" ]]; then
local existing
existing=$(curl -sk --max-time 5 -X POST "${QDRANT_URL}/collections/${collection}/points/scroll" \
-H "Content-Type: application/json" \
-d "{\"filter\":{\"must\":[{\"key\":\"regulation_id\",\"match\":{\"value\":\"$reg_id\"}}]},\"limit\":1}" \
2>/dev/null | python3 -c "import sys,json; r=json.load(sys.stdin).get('result',{}); print(len(r.get('points',[])))" 2>/dev/null || echo "0")
if [[ "$existing" -gt 0 ]] 2>/dev/null; then
log "SKIP (already in Qdrant): $label [regulation_id=$reg_id]"
SKIPPED=$((SKIPPED + 1))
return 0
fi
fi
local filesize
filesize=$(stat -f%z "$file" 2>/dev/null || stat -c%s "$file" 2>/dev/null || echo 0)
if [[ "$filesize" -lt 100 ]]; then
warn "File too small (${filesize}B): $label"
SKIPPED=$((SKIPPED + 1))
return 0
fi
log "Uploading: $label -> $collection ($(( filesize / 1024 ))KB)"
local curl_opts="$CURL_OPTS"
[[ "$filesize" -gt 256000 ]] && curl_opts="$CURL_OPTS_LARGE"
local response
response=$(curl $curl_opts -X POST "$RAG_URL" \
-F "file=@${file}" \
-F "collection=${collection}" \
-F "data_type=${data_type}" \
-F "use_case=${use_case}" \
-F "year=${year}" \
-F "chunk_strategy=recursive" \
-F "chunk_size=512" \
-F "chunk_overlap=50" \
-F "metadata_json=${metadata_json}" \
2>/dev/null) || true
if echo "$response" | grep -q '"chunks_count"\|"vectors_indexed"'; then
local chunks
chunks=$(echo "$response" | python3 -c "import sys,json; d=json.load(sys.stdin); print(d.get('chunks_count', d.get('vectors_indexed',0)))" 2>/dev/null || echo "?")
ok "$label -> $chunks chunks"
UPLOADED=$((UPLOADED + 1))
else
fail "Upload failed: $label"
fail "Response: ${response:0:200}"
FAILED=$((FAILED + 1))
fi
}
# =============================================================================
# PHASE H-1: Downloads
# =============================================================================
phase_h_download() {
log "=========================================="
log "PHASE H-1: Downloads"
log "=========================================="
mkdir -p "$WORK_DIR/pdfs" "$WORK_DIR/texts"
# --- EU Regulations (EUR-Lex) ---
log "--- EUR-Lex PDFs ---"
download_pdf "https://eur-lex.europa.eu/legal-content/DE/TXT/PDF/?uri=CELEX:32016R0679" \
"$WORK_DIR/pdfs/dsgvo_2016_679.pdf"
download_pdf "https://eur-lex.europa.eu/legal-content/DE/TXT/PDF/?uri=CELEX:32024R2847" \
"$WORK_DIR/pdfs/cra_2024_2847.pdf"
download_pdf "https://eur-lex.europa.eu/legal-content/DE/TXT/PDF/?uri=CELEX:32024R1689" \
"$WORK_DIR/pdfs/ai_act_2024_1689.pdf"
download_pdf "https://eur-lex.europa.eu/legal-content/DE/TXT/PDF/?uri=CELEX:32022L2555" \
"$WORK_DIR/pdfs/nis2_2022_2555.pdf"
download_pdf "https://eur-lex.europa.eu/legal-content/DE/TXT/PDF/?uri=CELEX:32022R1925" \
"$WORK_DIR/pdfs/dma_2022_1925.pdf"
download_pdf "https://eur-lex.europa.eu/legal-content/DE/TXT/PDF/?uri=CELEX:32011L0083" \
"$WORK_DIR/pdfs/consumer_rights_2011_83.pdf"
download_pdf "https://eur-lex.europa.eu/legal-content/DE/TXT/PDF/?uri=CELEX:32019L0770" \
"$WORK_DIR/pdfs/digital_content_2019_770.pdf"
download_pdf "https://eur-lex.europa.eu/legal-content/DE/TXT/PDF/?uri=CELEX:32019L0771" \
"$WORK_DIR/pdfs/sale_of_goods_2019_771.pdf"
download_pdf "https://eur-lex.europa.eu/legal-content/DE/TXT/PDF/?uri=CELEX:32000L0031" \
"$WORK_DIR/pdfs/ecommerce_2000_31.pdf"
download_pdf "https://eur-lex.europa.eu/legal-content/DE/TXT/PDF/?uri=CELEX:31993L0013" \
"$WORK_DIR/pdfs/unfair_terms_93_13.pdf"
download_pdf "https://eur-lex.europa.eu/legal-content/DE/TXT/PDF/?uri=CELEX:32005L0029" \
"$WORK_DIR/pdfs/unfair_practices_2005_29.pdf"
download_pdf "https://eur-lex.europa.eu/legal-content/DE/TXT/PDF/?uri=CELEX:31998L0006" \
"$WORK_DIR/pdfs/price_indication_98_6.pdf"
download_pdf "https://eur-lex.europa.eu/legal-content/DE/TXT/PDF/?uri=CELEX:32019L2161" \
"$WORK_DIR/pdfs/omnibus_2019_2161.pdf"
download_pdf "https://eur-lex.europa.eu/legal-content/DE/TXT/PDF/?uri=CELEX:32023R0988" \
"$WORK_DIR/pdfs/gpsr_2023_988.pdf"
download_pdf "https://eur-lex.europa.eu/legal-content/DE/TXT/PDF/?uri=CELEX:31985L0374" \
"$WORK_DIR/pdfs/product_liability_85_374.pdf"
download_pdf "https://eur-lex.europa.eu/legal-content/DE/TXT/PDF/?uri=CELEX:32023R1542" \
"$WORK_DIR/pdfs/battery_2023_1542.pdf"
# --- German Laws (gesetze-im-internet.de) ---
log "--- Deutsche Gesetze (PDFs) ---"
download_gesetz_pdf "pangv" "$WORK_DIR/pdfs/pangv.pdf"
download_gesetz_pdf "vsbg" "$WORK_DIR/pdfs/vsbg.pdf"
download_gesetz_pdf "prodhaftg" "$WORK_DIR/pdfs/prodhaftg.pdf"
download_gesetz_pdf "verpackg" "$WORK_DIR/pdfs/verpackg.pdf"
download_gesetz_pdf "elektrog" "$WORK_DIR/pdfs/elektrog.pdf"
download_gesetz_pdf "battg_2009" "$WORK_DIR/pdfs/battdg.pdf"
download_gesetz_pdf "bfsg" "$WORK_DIR/pdfs/bfsg.pdf"
download_gesetz_pdf "uwg_2004" "$WORK_DIR/pdfs/uwg.pdf"
download_gesetz_pdf "bdsg_2018" "$WORK_DIR/pdfs/bdsg.pdf"
download_gesetz_pdf "ddg" "$WORK_DIR/pdfs/ddg.pdf"
download_gesetz_pdf "tkg_2021" "$WORK_DIR/pdfs/tkg.pdf"
download_gesetz_pdf "hgb" "$WORK_DIR/pdfs/hgb.pdf"
download_gesetz_pdf "ao_1977" "$WORK_DIR/pdfs/ao.pdf"
download_gesetz_pdf "gewo" "$WORK_DIR/pdfs/gewo.pdf"
download_gesetz_pdf "bgb" "$WORK_DIR/pdfs/bgb_komplett.pdf"
download_gesetz_pdf "bgbeg" "$WORK_DIR/pdfs/egbgb.pdf"
# --- NIST & HLEG ---
log "--- Frameworks (NIST, HLEG) ---"
download_pdf "https://nvlpubs.nist.gov/nistpubs/CSWP/NIST.CSWP.29.pdf" \
"$WORK_DIR/pdfs/nist_csf_2_0.pdf"
download_pdf "https://nvlpubs.nist.gov/nistpubs/CSWP/NIST.CSWP.01162020.pdf" \
"$WORK_DIR/pdfs/nist_privacy_framework.pdf"
download_pdf "https://op.europa.eu/en/publication-detail/-/publication/d3988569-0434-11ea-8c1f-01aa75ed71a1" \
"$WORK_DIR/pdfs/hleg_trustworthy_ai.pdf"
log "Downloads abgeschlossen."
}
# =============================================================================
# PHASE H-2: Deutsche Gesetze → bp_compliance_gesetze
# =============================================================================
phase_h_gesetze() {
log "=========================================="
log "PHASE H-2: Deutsche Gesetze -> bp_compliance_gesetze"
log "=========================================="
local col="bp_compliance_gesetze"
upload_file "$WORK_DIR/pdfs/pangv.pdf" "$col" "compliance" "legal_reference" "2022" \
'{"regulation_id":"pangv","regulation_name_de":"Preisangabenverordnung (PAngV)","category":"verbraucherschutz","license":"public_law","source":"gesetze-im-internet.de"}' \
"PAngV (Preisangabenverordnung)"
upload_file "$WORK_DIR/pdfs/vsbg.pdf" "$col" "compliance" "legal_reference" "2016" \
'{"regulation_id":"vsbg","regulation_name_de":"Verbraucherstreitbeilegungsgesetz (VSBG)","category":"verbraucherschutz","license":"public_law","source":"gesetze-im-internet.de"}' \
"VSBG (Verbraucherstreitbeilegung)"
upload_file "$WORK_DIR/pdfs/prodhaftg.pdf" "$col" "compliance" "legal_reference" "1989" \
'{"regulation_id":"prodhaftg","regulation_name_de":"Produkthaftungsgesetz (ProdHaftG)","category":"produkthaftung","license":"public_law","source":"gesetze-im-internet.de"}' \
"ProdHaftG (Produkthaftung)"
upload_file "$WORK_DIR/pdfs/verpackg.pdf" "$col" "compliance" "legal_reference" "2017" \
'{"regulation_id":"verpackg","regulation_name_de":"Verpackungsgesetz (VerpackG)","category":"umwelt","license":"public_law","source":"gesetze-im-internet.de"}' \
"VerpackG (Verpackungsgesetz)"
upload_file "$WORK_DIR/pdfs/elektrog.pdf" "$col" "compliance" "legal_reference" "2015" \
'{"regulation_id":"elektrog","regulation_name_de":"Elektro- und Elektronikgeraetegesetz (ElektroG)","category":"umwelt","license":"public_law","source":"gesetze-im-internet.de"}' \
"ElektroG (WEEE)"
upload_file "$WORK_DIR/pdfs/battdg.pdf" "$col" "compliance" "legal_reference" "2009" \
'{"regulation_id":"battdg","regulation_name_de":"Batteriegesetz (BattG)","category":"umwelt","license":"public_law","source":"gesetze-im-internet.de"}' \
"BattG (Batteriegesetz)"
upload_file "$WORK_DIR/pdfs/bfsg.pdf" "$col" "compliance" "legal_reference" "2021" \
'{"regulation_id":"bfsg","regulation_name_de":"Barrierefreiheitsstaerkungsgesetz (BFSG)","category":"barrierefreiheit","license":"public_law","source":"gesetze-im-internet.de"}' \
"BFSG (Barrierefreiheit)"
upload_file "$WORK_DIR/pdfs/uwg.pdf" "$col" "compliance" "legal_reference" "2004" \
'{"regulation_id":"uwg","regulation_name_de":"Gesetz gegen den unlauteren Wettbewerb (UWG)","category":"wettbewerb","license":"public_law","source":"gesetze-im-internet.de"}' \
"UWG (Unlauterer Wettbewerb)"
upload_file "$WORK_DIR/pdfs/bdsg.pdf" "$col" "compliance" "legal_reference" "2018" \
'{"regulation_id":"bdsg","regulation_name_de":"Bundesdatenschutzgesetz (BDSG)","category":"datenschutz","license":"public_law","source":"gesetze-im-internet.de"}' \
"BDSG (Bundesdatenschutzgesetz)"
upload_file "$WORK_DIR/pdfs/ddg.pdf" "$col" "compliance" "legal_reference" "2024" \
'{"regulation_id":"ddg","regulation_name_de":"Digitale-Dienste-Gesetz (DDG)","category":"plattformen","license":"public_law","source":"gesetze-im-internet.de"}' \
"DDG (Digitale-Dienste-Gesetz, komplett)"
upload_file "$WORK_DIR/pdfs/tkg.pdf" "$col" "compliance" "legal_reference" "2021" \
'{"regulation_id":"tkg","regulation_name_de":"Telekommunikationsgesetz (TKG)","category":"telekommunikation","license":"public_law","source":"gesetze-im-internet.de"}' \
"TKG (Telekommunikationsgesetz)"
upload_file "$WORK_DIR/pdfs/hgb.pdf" "$col" "compliance" "legal_reference" "1897" \
'{"regulation_id":"hgb","regulation_name_de":"Handelsgesetzbuch (HGB)","category":"handelsrecht","license":"public_law","source":"gesetze-im-internet.de"}' \
"HGB (Handelsgesetzbuch)"
upload_file "$WORK_DIR/pdfs/ao.pdf" "$col" "compliance" "legal_reference" "1977" \
'{"regulation_id":"ao","regulation_name_de":"Abgabenordnung (AO)","category":"steuerrecht","license":"public_law","source":"gesetze-im-internet.de"}' \
"AO (Abgabenordnung)"
upload_file "$WORK_DIR/pdfs/gewo.pdf" "$col" "compliance" "legal_reference" "1999" \
'{"regulation_id":"gewo","regulation_name_de":"Gewerbeordnung (GewO)","category":"gewerberecht","license":"public_law","source":"gesetze-im-internet.de"}' \
"GewO (Gewerbeordnung)"
upload_file "$WORK_DIR/pdfs/bgb_komplett.pdf" "$col" "compliance" "legal_reference" "2002" \
'{"regulation_id":"bgb_komplett","regulation_name_de":"Buergerliches Gesetzbuch (BGB, komplett)","category":"zivilrecht","license":"public_law","source":"gesetze-im-internet.de"}' \
"BGB (komplett als PDF)"
upload_file "$WORK_DIR/pdfs/egbgb.pdf" "$col" "compliance" "legal_reference" "1896" \
'{"regulation_id":"egbgb_komplett","regulation_name_de":"EGBGB (komplett)","category":"zivilrecht","license":"public_law","source":"gesetze-im-internet.de"}' \
"EGBGB (komplett als PDF)"
}
# =============================================================================
# PHASE H-3: EU-Rechtstexte → bp_compliance_ce
# =============================================================================
phase_h_eu() {
log "=========================================="
log "PHASE H-3: EU-Rechtstexte -> bp_compliance_ce"
log "=========================================="
local col="bp_compliance_ce"
upload_file "$WORK_DIR/pdfs/dsgvo_2016_679.pdf" "$col" "compliance_ce" "legal_reference" "2016" \
'{"regulation_id":"eu_2016_679","regulation_name_de":"Datenschutz-Grundverordnung (DSGVO)","regulation_name_en":"General Data Protection Regulation","regulation_short":"DSGVO","category":"datenschutz","celex":"32016R0679","source":"eur-lex","license":"public_law"}' \
"DSGVO (EU) 2016/679"
upload_file "$WORK_DIR/pdfs/cra_2024_2847.pdf" "$col" "compliance_ce" "legal_reference" "2024" \
'{"regulation_id":"eu_2024_2847","regulation_name_de":"Cyber Resilience Act (CRA)","regulation_name_en":"Cyber Resilience Act","regulation_short":"CRA","category":"cybersecurity","celex":"32024R2847","source":"eur-lex","license":"public_law"}' \
"Cyber Resilience Act (EU) 2024/2847"
upload_file "$WORK_DIR/pdfs/ai_act_2024_1689.pdf" "$col" "compliance_ce" "legal_reference" "2024" \
'{"regulation_id":"eu_2024_1689","regulation_name_de":"KI-Verordnung (AI Act)","regulation_name_en":"Artificial Intelligence Act","regulation_short":"AI Act","category":"ki_regulierung","celex":"32024R1689","source":"eur-lex","license":"public_law"}' \
"AI Act (EU) 2024/1689"
upload_file "$WORK_DIR/pdfs/nis2_2022_2555.pdf" "$col" "compliance_ce" "legal_reference" "2022" \
'{"regulation_id":"eu_2022_2555","regulation_name_de":"NIS2-Richtlinie","regulation_name_en":"NIS2 Directive","regulation_short":"NIS2","category":"cybersecurity","celex":"32022L2555","source":"eur-lex","license":"public_law"}' \
"NIS2 Directive (EU) 2022/2555"
upload_file "$WORK_DIR/pdfs/dma_2022_1925.pdf" "$col" "compliance_ce" "legal_reference" "2022" \
'{"regulation_id":"eu_2022_1925","regulation_name_de":"Digital Markets Act (DMA)","regulation_name_en":"Digital Markets Act","regulation_short":"DMA","category":"plattformregulierung","celex":"32022R1925","source":"eur-lex","license":"public_law"}' \
"Digital Markets Act (EU) 2022/1925"
upload_file "$WORK_DIR/pdfs/consumer_rights_2011_83.pdf" "$col" "compliance_ce" "legal_reference" "2011" \
'{"regulation_id":"eu_2011_83","regulation_name_de":"Verbraucherrechte-Richtlinie","regulation_name_en":"Consumer Rights Directive","regulation_short":"CRD","category":"verbraucherschutz","celex":"32011L0083","source":"eur-lex","license":"public_law"}' \
"Consumer Rights Directive 2011/83/EU"
upload_file "$WORK_DIR/pdfs/digital_content_2019_770.pdf" "$col" "compliance_ce" "legal_reference" "2019" \
'{"regulation_id":"eu_2019_770","regulation_name_de":"Digitale-Inhalte-Richtlinie","regulation_name_en":"Digital Content Directive","regulation_short":"DCD","category":"verbraucherschutz","celex":"32019L0770","source":"eur-lex","license":"public_law"}' \
"Digital Content Directive 2019/770"
upload_file "$WORK_DIR/pdfs/sale_of_goods_2019_771.pdf" "$col" "compliance_ce" "legal_reference" "2019" \
'{"regulation_id":"eu_2019_771","regulation_name_de":"Warenkauf-Richtlinie","regulation_name_en":"Sale of Goods Directive","regulation_short":"SGD","category":"verbraucherschutz","celex":"32019L0771","source":"eur-lex","license":"public_law"}' \
"Sale of Goods Directive 2019/771"
upload_file "$WORK_DIR/pdfs/ecommerce_2000_31.pdf" "$col" "compliance_ce" "legal_reference" "2000" \
'{"regulation_id":"eu_2000_31","regulation_name_de":"E-Commerce-Richtlinie","regulation_name_en":"E-Commerce Directive","regulation_short":"ECD","category":"plattformregulierung","celex":"32000L0031","source":"eur-lex","license":"public_law"}' \
"E-Commerce Directive 2000/31/EC"
upload_file "$WORK_DIR/pdfs/unfair_terms_93_13.pdf" "$col" "compliance_ce" "legal_reference" "1993" \
'{"regulation_id":"eu_1993_13","regulation_name_de":"Klausel-Richtlinie","regulation_name_en":"Unfair Contract Terms Directive","regulation_short":"UCTD","category":"verbraucherschutz","celex":"31993L0013","source":"eur-lex","license":"public_law"}' \
"Unfair Contract Terms Directive 93/13/EEC"
upload_file "$WORK_DIR/pdfs/unfair_practices_2005_29.pdf" "$col" "compliance_ce" "legal_reference" "2005" \
'{"regulation_id":"eu_2005_29","regulation_name_de":"UGP-Richtlinie","regulation_name_en":"Unfair Commercial Practices Directive","regulation_short":"UCPD","category":"verbraucherschutz","celex":"32005L0029","source":"eur-lex","license":"public_law"}' \
"Unfair Commercial Practices Directive 2005/29/EC"
upload_file "$WORK_DIR/pdfs/price_indication_98_6.pdf" "$col" "compliance_ce" "legal_reference" "1998" \
'{"regulation_id":"eu_1998_6","regulation_name_de":"Preisangaben-Richtlinie","regulation_name_en":"Price Indication Directive","regulation_short":"PID","category":"verbraucherschutz","celex":"31998L0006","source":"eur-lex","license":"public_law"}' \
"Price Indication Directive 98/6/EC"
upload_file "$WORK_DIR/pdfs/omnibus_2019_2161.pdf" "$col" "compliance_ce" "legal_reference" "2019" \
'{"regulation_id":"eu_2019_2161","regulation_name_de":"Omnibus-Richtlinie","regulation_name_en":"Omnibus Directive","regulation_short":"Omnibus","category":"verbraucherschutz","celex":"32019L2161","source":"eur-lex","license":"public_law"}' \
"Omnibus Directive 2019/2161"
upload_file "$WORK_DIR/pdfs/gpsr_2023_988.pdf" "$col" "compliance_ce" "legal_reference" "2023" \
'{"regulation_id":"eu_2023_988","regulation_name_de":"Allgemeine Produktsicherheitsverordnung (GPSR)","regulation_name_en":"General Product Safety Regulation","regulation_short":"GPSR","category":"produktsicherheit","celex":"32023R0988","source":"eur-lex","license":"public_law"}' \
"GPSR (EU) 2023/988"
upload_file "$WORK_DIR/pdfs/product_liability_85_374.pdf" "$col" "compliance_ce" "legal_reference" "1985" \
'{"regulation_id":"eu_1985_374","regulation_name_de":"Produkthaftungsrichtlinie","regulation_name_en":"Product Liability Directive","regulation_short":"PLD","category":"produkthaftung","celex":"31985L0374","source":"eur-lex","license":"public_law"}' \
"Product Liability Directive 85/374/EEC"
upload_file "$WORK_DIR/pdfs/battery_2023_1542.pdf" "$col" "compliance_ce" "legal_reference" "2023" \
'{"regulation_id":"eu_2023_1542","regulation_name_de":"Batterieverordnung","regulation_name_en":"Battery Regulation","regulation_short":"BattVO","category":"umwelt","celex":"32023R1542","source":"eur-lex","license":"public_law"}' \
"Batterieverordnung (EU) 2023/1542"
}
# =============================================================================
# PHASE H-4: Datenschutz-Frameworks → bp_compliance_datenschutz
# =============================================================================
phase_h_datenschutz() {
log "=========================================="
log "PHASE H-4: Frameworks -> bp_compliance_datenschutz"
log "=========================================="
local col="bp_compliance_datenschutz"
upload_file "$WORK_DIR/pdfs/nist_csf_2_0.pdf" "$col" "compliance" "framework" "2024" \
'{"regulation_id":"nist_csf_2_0","regulation_name_de":"NIST Cybersecurity Framework 2.0","regulation_name_en":"NIST Cybersecurity Framework 2.0","regulation_short":"NIST CSF 2.0","category":"security","license":"public_domain_us","source":"nist.gov"}' \
"NIST Cybersecurity Framework 2.0"
upload_file "$WORK_DIR/pdfs/nist_privacy_framework.pdf" "$col" "compliance" "framework" "2020" \
'{"regulation_id":"nist_privacy_1_0","regulation_name_de":"NIST Privacy Framework 1.0","regulation_name_en":"NIST Privacy Framework 1.0","regulation_short":"NIST PF 1.0","category":"datenschutz","license":"public_domain_us","source":"nist.gov"}' \
"NIST Privacy Framework 1.0"
# HLEG may need special handling - the op.europa.eu link may redirect
if [[ -f "$WORK_DIR/pdfs/hleg_trustworthy_ai.pdf" ]]; then
upload_file "$WORK_DIR/pdfs/hleg_trustworthy_ai.pdf" "$col" "compliance" "framework" "2019" \
'{"regulation_id":"hleg_trustworthy_ai","regulation_name_de":"HLEG Ethik-Leitlinien Vertrauenswuerdige KI","regulation_name_en":"HLEG Ethics Guidelines for Trustworthy AI","regulation_short":"HLEG AI","category":"ki_ethik","license":"cc_by_4","source":"ec.europa.eu"}' \
"HLEG Ethics Guidelines Trustworthy AI"
else
warn "HLEG PDF not available (download may have failed)"
fi
}
# =============================================================================
# MAIN
# =============================================================================
main() {
log "=========================================="
log "PHASE H: RAG Ingestion — ~37 neue Dokumente"
log "=========================================="
log "Work dir: $WORK_DIR"
log "RAG URL: $RAG_URL"
phase_h_download
phase_h_gesetze
phase_h_eu
phase_h_datenschutz
log "=========================================="
log "PHASE H ABGESCHLOSSEN"
log " Hochgeladen: $UPLOADED"
log " Uebersprungen: $SKIPPED"
log " Fehlgeschlagen: $FAILED"
log "=========================================="
}
main "$@"

View File

@@ -10,7 +10,7 @@ Stand: 2026-03-11
| C (EU-Recht) | bp_compliance_ce | 3 (DSA, ePrivacy, SCC) | Ingestiert |
| D (Templates) | bp_legal_templates | ~50 | Ingestiert |
| E (Datenschutz) | bp_compliance_datenschutz | 10 (EDPB/EDPS) | Ingestiert |
| **H (Layer 1 Safe Core)** | **alle 3 Collections** | **~35 neu** | **AUSSTEHEND** |
| **H (Layer 1 Safe Core)** | **alle 3 Collections** | **~37 neu** | **Ingestiert (2026-03-15)** |
---
@@ -28,7 +28,7 @@ Stand: 2026-03-11
| 6 | UrhG (komplett, Bundestag-Repo) | github.com/bundestag/gesetze | Unlicense |
| 7 | TMG (komplett, Bundestag-Repo) | github.com/bundestag/gesetze | Unlicense |
### Neu in Phase H
### Phase H (ingestiert 2026-03-15)
| # | Dokument | Quelle | Lizenz | Generator-Einsatz |
|---|----------|--------|--------|-------------------|
@@ -61,7 +61,7 @@ Stand: 2026-03-11
| 2 | ePrivacy-Richtlinie 2002/58/EC | 32002L0058 | CC BY 4.0 |
| 3 | Standardvertragsklauseln (EU) 2021/914 | 32021D0914 | CC BY 4.0 |
### Neu in Phase H
### Phase H (ingestiert 2026-03-15)
| # | Dokument | CELEX | Lizenz | Generator-Einsatz |
|---|----------|-------|--------|-------------------|
@@ -80,6 +80,7 @@ Stand: 2026-03-11
| 16 | GPSR (EU) 2023/988 | 32023R0988 | CC BY 4.0 | Produktsicherheit |
| 17 | Product Liability Directive 85/374/EEC | 31985L0374 | CC BY 4.0 | Haftungs-AGB |
| 18 | Batterieverordnung (EU) 2023/1542 | 32023R1542 | CC BY 4.0 | Batterie-Pflichten |
| 19 | Cyber Resilience Act (EU) 2024/2847 | 32024R2847 | CC BY 4.0 | Cybersecurity-Controls, SBOM, Vulnerability Handling |
---
@@ -110,7 +111,7 @@ Stand: 2026-03-11
| 1-8 | EDPB Guidelines (8 Stueck) | edpb.europa.eu | Reuse Notice |
| 9-10 | EDPS Guidance (2 Stueck) | edps.europa.eu | Reuse Notice |
### Neu in Phase H
### Phase H (ingestiert 2026-03-15)
| # | Dokument | Quelle | Lizenz | Einsatz |
|---|----------|--------|--------|---------|