# IACE — Industrial AI Compliance Engine **Modul:** CE-Risikobeurteilung fuer Maschinen mit Software / Firmware / KI **Service:** `ai-compliance-sdk` (Go/Gin, Port 8093) **Base-URL:** `GET|POST https://macmini:8093/sdk/v1/iace/...` --- ## Ueberblick Das IACE-Modul unterstuetzt die vollstaendige CE-Konformitaetsbewertung von Maschinen und Systemen mit Software-, Firmware- und KI-Anteilen gemaess: - **Maschinenverordnung (EU) 2023/1230** (loest Maschinenrichtlinie 2006/42/EG ab) - **AI Act (EU) 2024/1689** (fuer KI-Systeme in Hochrisikoklassen) - **CRA (Cyber Resilience Act)** (fuer vernetzte Produkte) - **NIS2** (fuer kritische Infrastrukturen) --- ## Risikomodell (Dual-Modus) IACE unterstuetzt zwei Betriebsmodi fuer die Risikobewertung: ### Legacy-Modus (S×E×P) | Avoidance | Formel | Beschreibung | |-----------|--------|--------------| | `0` (Standard) | `R = S × E × P` | Backward-kompatibel, kein Avoidance-Faktor | **Schwellwerte (Legacy):** | Schwelle | Level | |----------|-------| | >= 75 | critical | | >= 40 | high | | >= 15 | medium | | >= 5 | low | | < 5 | negligible | ### ISO-Modus (S×F×P×A) — ab v2.0 Wenn `avoidance >= 1`, wird automatisch der ISO-Modus aktiviert: | Formel | Beschreibung | |--------|--------------| | `R = S × F × P × A` | Direkte 4-Faktor-Multiplikation (KEIN /3.0) | **Faktoren:** | Faktor | Skala | Beschreibung | |--------|-------|--------------| | **S** (Severity) | 1–5 | Schwere des moeglichen Schadens | | **F** (Frequency/Exposure) | 1–5 | Haeufigkeit/Dauer der Exposition | | **P** (Probability) | 1–5 | Wahrscheinlichkeit des Eintretens | | **A** (Avoidance) | 1–5 | Moeglichkeit der Vermeidung (1=leicht, 5=nicht vermeidbar) | **Schwellwerte (ISO-Modus):** | Schwelle | Level | Farbe | |----------|-------|-------| | > 300 | not_acceptable | Dunkelrot | | 151–300 | very_high | Dunkelorange | | 61–150 | high | Rot | | 21–60 | medium | Gelb | | 1–20 | low | Gruen | ### ALARP-Akzeptanz - `residualRisk < 15` → akzeptabel - `residualRisk < 40` + alle Minderungsschritte verifiziert + Begruendung → akzeptabel (ALARP) - `residualRisk >= 40` → nicht akzeptabel (blockiert CE-Export) ### Schutzmassnahmen-Hierarchie (3-Stufen) Die Risikobehandlung folgt einer verbindlichen Hierarchie: | Stufe | Typ | Beschreibung | |-------|-----|--------------| | 1 | **Design** | Inhaerent sichere Konstruktion (z.B. Begrenzung von Kraeften, Geschwindigkeiten) | | 2 | **Schutzeinrichtung** | Technische Schutzmassnahmen (z.B. Schutzgitter, Lichtvorhang, STO) | | 3 | **Information** | Hinweise, Warnungen, Schulung (z.B. Sicherheitskennzeichnung, Betriebsanleitung) | !!! warning "Hierarchie-Regel" Informationsmassnahmen (Stufe 3) duerfen **nicht** als alleinige Primaermassnahme akzeptiert werden, wenn Design- oder Schutzmassnahmen technisch moeglich sind. Das System prueft dies automatisch und gibt eine Warnung aus. --- ## Hazard-Library Die eingebaute Hazard-Library enthaelt **150+ Eintraege** in 28 Kategorien. Alle Eintraege verwenden eigene Formulierungen und referenzieren Normen nur als Methodenquelle. ### KI/Cyber-Kategorien (12) | Kategorie | Beschreibung | |-----------|--------------| | `false_classification` | Falsche KI-Klassifikation | | `timing_error` | Echtzeit-Verletzungen | | `data_poisoning` | Manipulierte Trainingsdaten | | `model_drift` | Modell-Verschlechterung | | `sensor_spoofing` | Sensor-Manipulation | | `communication_failure` | Kommunikationsausfall | | `unauthorized_access` | Unberechtigter Zugriff | | `firmware_corruption` | Firmware-Beschaedigung | | `safety_boundary_violation` | Sicherheitsgrenzwert-Verletzung | | `mode_confusion` | Betriebsart-Verwechslung | | `unintended_bias` | Unbeabsichtigte Diskriminierung | | `update_failure` | Update-Fehler | ### Software/Hardware-Kategorien (12) | Kategorie | Beschreibung | |-----------|--------------| | `software_fault` | Race Condition, Stack Overflow, Integer Overflow, Deadlock | | `hmi_error` | Falsche Einheit, fehlender Alarm, Quittierung ohne Ursache | | `mechanical_hazard` | Quetschen, Scheren, Einziehen, Herabfallende Teile, Instabilitaet | | `electrical_hazard` | Elektrischer Schlag, Lichtbogen, Ueberstrom, Erdungsfehler | | `thermal_hazard` | Ueberhitzung, Brandgefahr, Einfrieren, Waermestrahlung | | `emc_hazard` | EMV-Stoerabstrahlung, ESD, HF-Stoerung | | `configuration_error` | Falscher Safety-Param, Hard-coded Credentials, Debug-Mode | | `safety_function_failure` | Not-Halt, STO, Schutztuer, Zweihand-Taster | | `logging_audit_failure` | Fehlende Protokollierung, Log-Manipulation, Overflow | | `integration_error` | Datentyp-Mismatch, Endianness, Buffer Overflow, Heartbeat | | `environmental_hazard` | Temperatur, Feuchtigkeit, Vibration, Kontamination | | `maintenance_hazard` | LOTO fehlt, Wartung bei laufender Maschine, Wiederanlauf | ### Physikalische Kategorien (4, ab v2.0) | Kategorie | Beschreibung | |-----------|--------------| | `pneumatic_hydraulic` | Druckverlust, Druckfreisetzung, Schlauchpeitschen, unerwartete Bewegung | | `noise_vibration` | Gehoerschaedigung, Hand-Arm-Vibration, Ganzkoerpervibration | | `ergonomic` | Fehlbedienung, Zwangshaltung, Ueberforderung, Repetitive Belastung | | `material_environmental` | Staub, Rauch, Daempfe, chemische Exposition, Leckagen | ### Erweiterte Felder (ab v2.0) Jeder Hazard-Library-Eintrag enthaelt zusaetzlich: | Feld | Typ | Beschreibung | |------|-----|--------------| | `default_exposure` | int (1–5) | Standard-Expositionswert | | `default_avoidance` | int (1–5) | Standard-Vermeidbarkeit | | `typical_causes` | string[] | Typische Ursachen | | `typical_harm` | string | Typische Schadensfolge | | `relevant_lifecycle_phases` | string[] | Relevante Lebensphasen | | `recommended_measures_design` | string[] | Empfohlene Design-Massnahmen | | `recommended_measures_technical` | string[] | Empfohlene technische Massnahmen | | `recommended_measures_information` | string[] | Empfohlene Informationsmassnahmen | | `suggested_evidence` | string[] | Vorgeschlagene Nachweisdokumente | | `related_keywords` | string[] | Suchbegriffe | **Filter:** `GET /sdk/v1/iace/hazard-library?category=mechanical_hazard&componentType=mechanical` --- ## Controls-Library Die Controls-Library enthaelt **200 Eintraege** in 6 Domaenen: ### Domaenen-Uebersicht | Domain | Eintraege | Beschreibung | ReductionType | |--------|-----------|--------------|---------------| | `REQ` | 30 | Safety Requirements — HARA, SIL/PL, Traceability | design | | `ARCH` | 30 | Architektur & Design — Redundanz, Fail-Safe, Watchdog | design | | `SWDEV` | 40 | Software-Entwicklung — MISRA-C, Statische Analyse, WCET | design/protective | | `VER` | 30 | Verifikation & Validation — Fault Injection, HIL, SIL-Nachweis | design/protective | | `CYBER` | 40 | OT-Cybersecurity — Netzwerksegmentierung, Signed Updates, SBOM | design/protective | | `DOC` | 30 | Dokumentation & CE-Akte — Technical File, DoC, Betriebsanleitung | information | **Filter:** `GET /sdk/v1/iace/controls-library?domain=CYBER&category=unauthorized_access` --- ## Schutzmassnahmen-Bibliothek (ab v2.0) Zusaetzlich zur Controls-Library bietet IACE eine **Schutzmassnahmen-Bibliothek** mit **160 Eintraegen**, kategorisiert nach der 3-Stufen-Hierarchie: | ReductionType | Eintraege | Beispiele | |---------------|-----------|-----------| | `design` | ~55 | Kraftbegrenzung, Formschluessige Sicherung, Redundante Sensorik | | `protective` | ~60 | Schutzgitter, Lichtvorhang, STO, Druckbegrenzungsventil | | `information` | ~45 | Sicherheitskennzeichnung, Betriebsanleitung, Schulungsprogramm | **Filter:** `GET /sdk/v1/iace/protective-measures-library?category=mechanical_hazard` --- ## Lebensphasen (25) Die Risikobeurteilung beruecksichtigt **25 Lebensphasen** einer Maschine: | Phase | DE | EN | |-------|----|----| | `transport` | Transport | Transport | | `storage` | Lagerung | Storage | | `assembly` | Montage | Assembly | | `installation` | Aufstellung | Installation | | `commissioning` | Inbetriebnahme | Commissioning | | `parameterization` | Parametrierung | Parameterization | | `setup` | Einrichten | Setup | | `normal_operation` | Normalbetrieb | Normal Operation | | `auto_operation` | Automatikbetrieb | Automatic Operation | | `manual_operation` | Handbetrieb | Manual Operation | | `teach_mode` | Teach-Modus | Teach Mode | | `production_start` | Produktionsstart | Production Start | | `production_stop` | Produktionsstopp | Production Stop | | `process_monitoring` | Prozessueberwachung | Process Monitoring | | `cleaning` | Reinigung | Cleaning | | `inspection` | Inspektion | Inspection | | `maintenance` | Wartung | Maintenance | | `calibration` | Kalibrierung | Calibration | | `repair` | Reparatur | Repair | | `software_update` | Software-Update | Software Update | | `remote_maintenance` | Fernwartung | Remote Maintenance | | `fault_clearing` | Stoerungsbeseitigung | Fault Clearing | | `changeover` | Umruestung | Changeover | | `decommissioning` | Ausserbetriebnahme | Decommissioning | | `disposal` | Demontage/Entsorgung | Dismantling/Disposal | **API:** `GET /sdk/v1/iace/lifecycle-phases` --- ## Betroffene Personen (20 Rollen) Jede Gefaehrdung kann einer oder mehreren betroffenen Personengruppen zugeordnet werden: | Rolle | DE | EN | |-------|----|----| | `operator` | Bediener | Operator | | `setup_personnel` | Einrichter | Setup Personnel | | `maintenance_tech` | Wartungstechniker | Maintenance Technician | | `cleaning_staff` | Reinigungspersonal | Cleaning Staff | | `supervisor` | Aufsichtsperson | Supervisor | | `programmer` | Programmierer/Integrator | Programmer/Integrator | | `trainee` | Auszubildender | Trainee | | `temp_worker` | Leiharbeiter | Temporary Worker | | `visitor` | Besucher | Visitor | | `third_party` | Dritte/Passanten | Third Party/Bystander | | `transport_personnel` | Transportpersonal | Transport Personnel | | `commissioning_eng` | Inbetriebnahme-Ingenieur | Commissioning Engineer | | `quality_inspector` | Qualitaetspruefer | Quality Inspector | | `safety_officer` | Sicherheitsbeauftragter | Safety Officer | | `electrical_tech` | Elektrofachkraft | Electrical Technician | | `it_admin` | IT-Administrator | IT Administrator | | `remote_operator` | Fernbediener | Remote Operator | | `emergency_responder` | Ersthelfer/Rettungskraft | Emergency Responder | | `contractor` | Fremdfirma-Mitarbeiter | Contractor | | `disabled_person` | Person mit Einschraenkung | Person with Disability | **API:** `GET /sdk/v1/iace/roles` --- ## Nachweistypen (50 in 7 Kategorien) Fuer die Verifikation stehen **50 Nachweistypen** zur Auswahl: | Kategorie | Beispiele | |-----------|-----------| | **Konstruktion** | Risikobeurteilung, Sicherheitskonzept, Schaltplan, Pneumatikplan | | **Berechnung** | Festigkeitsberechnung, Thermische Simulation, FMEA | | **Pruefung** | Funktionspruefung, Druckpruefung, EMV-Messung, Isolationspruefung | | **Zertifizierung** | Baumuster-Pruefbescheinigung, SIL/PL-Zertifikat, CE-Konformitaetserklaerung | | **Software** | Code-Review-Protokoll, Statische Analyse, Unit-Test-Report, Penetrationstest | | **Betrieb** | Betriebsanleitung, Wartungsplan, Schulungsnachweis, Notfallplan | | **Ueberwachung** | Inspektionsbericht, Kalibrierprotokoll, Audit-Report, Maengelprotokoll | **API:** `GET /sdk/v1/iace/evidence-types?category=pruefung` --- ## Verifikationsmethoden (10) | Methode | Beschreibung | |---------|--------------| | `design_review` | Systematische Pruefung von Konstruktionsunterlagen | | `calculation` | Rechnerischer Nachweis (Festigkeit, Thermik, SIL) | | `test_report` | Pruefbericht aus Labor- oder Feldversuchen | | `validation` | Nachweis der Gebrauchstauglichkeit unter realen Bedingungen | | `electrical_test` | Isolationsmessung, Schutzleiter, Spannungspruefung | | `software_test` | Unit-Test, Integrationstest, statische Analyse | | `penetration_test` | Sicherheitstest der IT/OT-Infrastruktur | | `acceptance_protocol` | Formales Abnahmeprotokoll mit Checkliste | | `user_test` | Anwendertest unter realistischen Einsatzbedingungen | | `documentation_release` | Formale Freigabe von Dokumenten und Anleitungen | --- ## API-Endpunkte (30+) ### Libraries & Referenzdaten (projektunabhaengig) | Methode | Pfad | Beschreibung | |---------|------|--------------| | GET | `/sdk/v1/iace/hazard-library` | Alle Gefaehrdungen (150+) | | GET | `/sdk/v1/iace/controls-library` | Alle Controls (200) | | GET | `/sdk/v1/iace/protective-measures-library` | Schutzmassnahmen-Bibliothek (160) | | GET | `/sdk/v1/iace/lifecycle-phases` | 25 Lebensphasen (DE/EN) | | GET | `/sdk/v1/iace/roles` | 20 betroffene Personengruppen (DE/EN) | | GET | `/sdk/v1/iace/evidence-types` | 50 Nachweistypen in 7 Kategorien | ### Projektmanagement | Methode | Pfad | Beschreibung | |---------|------|--------------| | POST | `/sdk/v1/iace/projects` | Neues Projekt erstellen | | GET | `/sdk/v1/iace/projects` | Alle Projekte auflisten | | GET | `/sdk/v1/iace/projects/:id` | Projekt-Details | | PUT | `/sdk/v1/iace/projects/:id` | Projekt aktualisieren | | DELETE | `/sdk/v1/iace/projects/:id` | Projekt archivieren | ### Onboarding | Methode | Pfad | Beschreibung | |---------|------|--------------| | POST | `/sdk/v1/iace/projects/:id/init-from-profile` | Projekt aus Company-Profile initialisieren | | POST | `/sdk/v1/iace/projects/:id/completeness-check` | 25-Gates-Pruefung | ### Komponenten | Methode | Pfad | Beschreibung | |---------|------|--------------| | POST | `/sdk/v1/iace/projects/:id/components` | Komponente hinzufuegen | | GET | `/sdk/v1/iace/projects/:id/components` | Alle Komponenten | | PUT | `/sdk/v1/iace/projects/:id/components/:cid` | Komponente aktualisieren | | DELETE | `/sdk/v1/iace/projects/:id/components/:cid` | Komponente loeschen | ### Klassifizierung | Methode | Pfad | Beschreibung | |---------|------|--------------| | POST | `/sdk/v1/iace/projects/:id/classify` | Alle Regulierungen klassifizieren | | GET | `/sdk/v1/iace/projects/:id/classifications` | Klassifizierungen abrufen | | POST | `/sdk/v1/iace/projects/:id/classify/:regulation` | Einzelne Regulierung | ### Gefaehrdungen & Risikobewertung | Methode | Pfad | Beschreibung | |---------|------|--------------| | POST | `/sdk/v1/iace/projects/:id/hazards` | Gefaehrdung anlegen | | GET | `/sdk/v1/iace/projects/:id/hazards` | Alle Gefaehrdungen | | PUT | `/sdk/v1/iace/projects/:id/hazards/:hid` | Gefaehrdung aktualisieren | | POST | `/sdk/v1/iace/projects/:id/hazards/suggest` | KI-gestuetzte Vorschlaege | | POST | `/sdk/v1/iace/projects/:id/hazards/:hid/assess` | Risikobewertung (SEPA) | | POST | `/sdk/v1/iace/projects/:id/hazards/:hid/reassess` | Neubewertung nach Minderung | | GET | `/sdk/v1/iace/projects/:id/risk-summary` | Aggregierte Risikouebersicht | | POST | `/sdk/v1/iace/projects/:id/validate-mitigation-hierarchy` | Hierarchie-Pruefung (3-Stufen) | ### Minderung & Verifikation | Methode | Pfad | Beschreibung | |---------|------|--------------| | POST | `/sdk/v1/iace/projects/:id/hazards/:hid/mitigations` | Massnahme anlegen | | GET | `/sdk/v1/iace/projects/:id/hazards/:hid/mitigations` | Alle Massnahmen | | PUT | `/sdk/v1/iace/projects/:id/hazards/:hid/mitigations/:mid` | Massnahme aktualisieren | | POST | `/sdk/v1/iace/projects/:id/verification-plans` | Verifikationsplan erstellen | | GET | `/sdk/v1/iace/projects/:id/verification-plans` | Alle Plaene | | PUT | `/sdk/v1/iace/projects/:id/verification-plans/:vid` | Plan aktualisieren | ### CE-Technische Akte | Methode | Pfad | Beschreibung | |---------|------|--------------| | GET | `/sdk/v1/iace/projects/:id/tech-file` | Technische Akte abrufen | | POST | `/sdk/v1/iace/projects/:id/tech-file/generate` | Akte generieren | | GET | `/sdk/v1/iace/projects/:id/tech-file/export` | Akte exportieren (PDF/Markdown) | | PUT | `/sdk/v1/iace/projects/:id/tech-file/sections/:sid` | Abschnitt aktualisieren | ### Post-Market Monitoring | Methode | Pfad | Beschreibung | |---------|------|--------------| | POST | `/sdk/v1/iace/projects/:id/monitoring-events` | Ereignis protokollieren | | GET | `/sdk/v1/iace/projects/:id/monitoring-events` | Alle Ereignisse | ### Audit-Trail | Methode | Pfad | Beschreibung | |---------|------|--------------| | GET | `/sdk/v1/iace/projects/:id/audit-trail` | Unveraenderliches Audit-Log | --- ## Completeness Gates (25) Das Modul prueft 25 Vollstaendigkeitstore vor dem CE-Export: | Gate | Kategorie | Pflicht | |------|-----------|---------| | G01 | Projekt-Grunddaten vollstaendig | ✅ Required | | G02 | CE-Markierungsziel definiert | ✅ Required | | G03 | Mind. 1 Komponente erfasst | ✅ Required | | G04 | Regulatorische Klassifizierung abgeschlossen | ✅ Required | | G05 | HARA-Dokument vorhanden (Evidence) | ✅ Required | | G06 | Mind. 1 Gefaehrdung identifiziert | ✅ Required | | G07 | Alle Gefaehrdungen bewertet | ✅ Required | | G08 | Kein Restrisiko > critical ohne Akzeptanz | ✅ Required | | G09 | Mind. 1 Minderungsmassnahme je Gefaehrdung | ✅ Required | | G10 | Minderungsmassnahmen verifiziert | ✅ Required | | G11 | Verifikationsplan vorhanden | ✅ Required | | G12 | SIL/PL-Dokumentation (Evidence) | ✅ Required | | G13 | Technische Akte generiert | ✅ Required | | G14 | Konformitaetserklaerung bereit | ✅ Required | | G15 | Betriebsanleitung vorhanden | ✅ Required | | G16 | Wartungsanleitung vorhanden | Recommended | | G17 | Post-Market Monitoring aktiv | Recommended | | G18 | Cybersecurity-Massnahmen dokumentiert | Recommended | | G19 | AI-spezifische Anforderungen erfuellt | Recommended (bei AI) | | G20 | Kalibrierprotokolle vorhanden | Recommended | | G21 | SBOM generiert | Optional | | G22 | Penetrationstest durchgefuehrt | Optional | | G23 | EMV-Pruefung dokumentiert | Optional | | G24 | Lebenszyklusplan vorhanden | Optional | | G25 | Monitoring-Ereignisse protokolliert | Optional | **Completeness Score:** `(passed_required/total_required)*80 + (passed_recommended/total_recommended)*15 + (passed_optional/total_optional)*5` --- ## CE RAG-Corpus Die folgenden 15 Dokumente werden via `scripts/ingest-ce-corpus.sh` ingestiert: ### Collection: bp_compliance_ce | # | Dokument | Kategorie | Lizenz | |---|----------|-----------|--------| | 1 | Machinery Regulation (EU) 2023/1230 | ce_machinery | EU Public Law | | 2 | Machinery Directive 2006/42/EC | ce_machinery | EU Public Law | | 3 | Low Voltage Directive 2014/35/EU | ce_electrical | EU Public Law | | 4 | EMC Directive 2014/30/EU | ce_emc | EU Public Law | | 5 | Radio Equipment Directive 2014/53/EU | ce_radio | EU Public Law | | 6 | AI Act (EU) 2024/1689 | ce_ai | EU Public Law | | 7 | EC Guide to the Machinery Directive | ce_machinery_guidance | EU Public | | 8 | NIST SP 800-218 (SSDF) | ce_software_safety | US Gov Public Domain | | 9 | NIST AI RMF 1.0 | ce_ai_safety | US Gov Public Domain | | 10 | ENISA Guidelines for Securing the IoT | ce_ot_cybersecurity | EU Public | | 12 | NASA Software Safety Guidebook | ce_software_safety | US Gov Public Domain | | 13 | OWASP Top 10 (2021) | ce_software_security | CC BY-SA 4.0 | | 15 | MITRE CWE Top 25 (2023) | ce_software_weaknesses | MIT | ### Collection: bp_compliance_datenschutz | # | Dokument | Kategorie | Lizenz | |---|----------|-----------|--------| | 11 | ENISA Securing Machine Learning Algorithms | ai_cybersecurity | EU Public | | 14 | OECD AI Principles | ai_governance | OECD Public | ### Ingest-Script ausfuehren ```bash # Auf dem Mac Mini: bash ~/Projekte/breakpilot-compliance/scripts/ingest-ce-corpus.sh # Nur bestimmte Phase: bash .../ingest-ce-corpus.sh --only ce bash .../ingest-ce-corpus.sh --only datenschutz bash .../ingest-ce-corpus.sh --skip-download --only verify # Ergebnis pruefen: curl -sk https://macmini:8093/sdk/v1/iace/hazard-library | python3 -c "import sys,json; print(json.load(sys.stdin)['total'])" curl -sk https://macmini:8093/sdk/v1/iace/controls-library | python3 -c "import sys,json; print(json.load(sys.stdin)['total'])" ``` --- ## Beispiel: Risikobewertung ### Legacy-Modus (A=0) ```bash curl -sk -X POST https://macmini:8093/sdk/v1/iace/projects/{id}/hazards/{hid}/assess \ -H "Content-Type: application/json" \ -H "X-Tenant-Id: " \ -d '{"severity": 5, "exposure": 3, "probability": 3, "avoidance": 0}' ``` Ergebnis: `R = 5 × 3 × 3 = 45` → **high** ### ISO-Modus (A >= 1) ```bash curl -sk -X POST https://macmini:8093/sdk/v1/iace/projects/{id}/hazards/{hid}/assess \ -H "Content-Type: application/json" \ -H "X-Tenant-Id: " \ -d '{ "severity": 5, "exposure": 3, "probability": 3, "avoidance": 4, "control_maturity": 2, "control_coverage": 0.6, "test_evidence_strength": 0.5, "acceptance_justification": "ALARP: STO implementiert und verifiziert" }' ``` Ergebnis: `R = 5 × 3 × 3 × 4 = 180` → **very_high** (ISO-Schwellwerte) --- ## Beispiel: Controls-Library abfragen ```bash # Alle CYBER-Controls curl -sk "https://macmini:8093/sdk/v1/iace/controls-library?domain=CYBER" \ | python3 -c "import sys,json; d=json.load(sys.stdin); print(f'{d[\"total\"]} Controls')" # Controls fuer software_fault-Kategorie curl -sk "https://macmini:8093/sdk/v1/iace/controls-library?category=software_fault" \ | python3 -m json.tool | head -40 ``` --- ## Datenbank-Tabellen | Tabelle | Beschreibung | |---------|--------------| | `iace_projects` | CE-Projekte | | `iace_components` | System-Komponenten | | `iace_regulatory_classifications` | Regulierungsklassifizierungen | | `iace_hazard_library` | Benutzerdefinierte Hazard-Templates | | `iace_hazards` | Projektspezifische Gefaehrdungen (inkl. lifecycle_phase, affected_person, trigger_event) | | `iace_risk_assessments` | Risikobewertungen (Legacy S×E×P + ISO S×F×P×A) | | `iace_mitigations` | Minderungsmassnahmen | | `iace_verification_plans` | Verifikationsplaene | | `iace_evidence` | Nachweise (Uploads) | | `iace_tech_file_sections` | CE-Akte-Abschnitte | | `iace_monitoring_events` | Post-Market-Ereignisse | | `iace_audit_trail` | Unveraenderbares Audit-Log | | `iace_lifecycle_phases` | 25 Lebensphasen (DE/EN) | | `iace_roles` | 20 betroffene Personengruppen (DE/EN) | | `iace_evidence_types` | 50 Nachweistypen in 7 Kategorien | --- ## Rechtlicher Hinweis — Normenreferenz !!! warning "Urheberrecht bei Normen" Saemtliche Inhalte des IACE-Moduls (Gefaehrdungsbibliothek, Schutzmassnahmen-Katalog, Risikomodell, Lebensphasen, Rollen) sind **eigenstaendig formuliert**. Normen wie ISO 12100, DIN EN 62443, IEC 61508 etc. werden ausschliesslich als **Methodenreferenz** in den Metadaten gefuehrt (z.B. `"methodology_reference": "ISO 12100"`). Es wird **kein normativer Text** reproduziert — keine Tabellen, Risikoklassifikationen, Prozesstexte oder Checklisten aus Normen. Dies ist konform mit §51 UrhG (Zitatrecht). Fuer die Anwendung der vollstaendigen Normen muss die jeweilige Norm separat ueber DIN Media (beuth.de) oder ISO erworben werden. **Beispiel fuer konforme Normenreferenz in generierten Dokumenten:** > Die Risikobeurteilung wurde unter Beruecksichtigung allgemein anerkannter Methoden > der Maschinensicherheit durchgefuehrt (u.a. angelehnt an ISO 12100).