package iace import ( "encoding/json" "fmt" "time" "github.com/google/uuid" ) // hazardUUID generates a deterministic UUID for a hazard library entry // based on category and a 1-based index within that category. func hazardUUID(category string, index int) uuid.UUID { name := fmt.Sprintf("iace.hazard.%s.%d", category, index) return uuid.NewSHA1(uuid.NameSpaceDNS, []byte(name)) } // mustMarshalJSON marshals the given value to json.RawMessage, panicking on error. // This is safe to use for static data known at compile time. func mustMarshalJSON(v interface{}) json.RawMessage { data, err := json.Marshal(v) if err != nil { panic(fmt.Sprintf("hazard_library: failed to marshal JSON: %v", err)) } return data } // GetBuiltinHazardLibrary returns the complete built-in hazard library with 40+ // template entries for SW/FW/KI hazards in industrial machines. These entries are // intended to be seeded into the iace_hazard_library table during initial setup. // // All entries have IsBuiltin=true and TenantID=nil (system-level templates). // UUIDs are deterministic, generated via uuid.NewSHA1 based on category and index. func GetBuiltinHazardLibrary() []HazardLibraryEntry { now := time.Now() entries := []HazardLibraryEntry{ // ==================================================================== // Category: false_classification (4 entries) // ==================================================================== { ID: hazardUUID("false_classification", 1), Category: "false_classification", Name: "Falsche Bauteil-Klassifikation durch KI", Description: "Das KI-Modell klassifiziert ein Bauteil fehlerhaft, was zu falscher Weiterverarbeitung oder Montage fuehren kann.", DefaultSeverity: 4, DefaultProbability: 3, ApplicableComponentTypes: []string{"ai_model", "sensor"}, RegulationReferences: []string{"EU AI Act Art. 9", "Maschinenverordnung 2023/1230"}, SuggestedMitigations: mustMarshalJSON([]string{"Redundante Pruefung", "Konfidenz-Schwellwert"}), IsBuiltin: true, TenantID: nil, CreatedAt: now, }, { ID: hazardUUID("false_classification", 2), Category: "false_classification", Name: "Falsche Qualitaetsentscheidung (IO/NIO)", Description: "Fehlerhafte IO/NIO-Entscheidung durch das KI-System fuehrt dazu, dass defekte Teile als gut bewertet oder gute Teile verworfen werden.", DefaultSeverity: 4, DefaultProbability: 3, ApplicableComponentTypes: []string{"ai_model", "software"}, RegulationReferences: []string{"EU AI Act Art. 9", "Maschinenverordnung 2023/1230"}, SuggestedMitigations: mustMarshalJSON([]string{"Human-in-the-Loop", "Stichproben-Gegenpruefung"}), IsBuiltin: true, TenantID: nil, CreatedAt: now, }, { ID: hazardUUID("false_classification", 3), Category: "false_classification", Name: "Fehlklassifikation bei Grenzwertfaellen", Description: "Bauteile nahe an Toleranzgrenzen werden systematisch falsch klassifiziert, da das Modell in Grenzwertbereichen unsicher agiert.", DefaultSeverity: 3, DefaultProbability: 4, ApplicableComponentTypes: []string{"ai_model"}, RegulationReferences: []string{"EU AI Act Art. 9", "ISO 13849"}, SuggestedMitigations: mustMarshalJSON([]string{"Erweitertes Training", "Grauzone-Eskalation"}), IsBuiltin: true, TenantID: nil, CreatedAt: now, }, { ID: hazardUUID("false_classification", 4), Category: "false_classification", Name: "Verwechslung von Bauteiltypen", Description: "Unterschiedliche Bauteiltypen werden vom KI-Modell verwechselt, was zu falscher Montage oder Verarbeitung fuehrt.", DefaultSeverity: 4, DefaultProbability: 2, ApplicableComponentTypes: []string{"ai_model", "sensor"}, RegulationReferences: []string{"EU AI Act Art. 9", "Maschinenverordnung 2023/1230"}, SuggestedMitigations: mustMarshalJSON([]string{"Barcode-Gegenpruefung", "Doppelte Sensorik"}), IsBuiltin: true, TenantID: nil, CreatedAt: now, }, // ==================================================================== // Category: timing_error (3 entries) // ==================================================================== { ID: hazardUUID("timing_error", 1), Category: "timing_error", Name: "Verzoegerte KI-Reaktion in Echtzeitsystem", Description: "Die KI-Inferenz dauert laenger als die zulaessige Echtzeitfrist, was zu verspaeteten Sicherheitsreaktionen fuehrt.", DefaultSeverity: 5, DefaultProbability: 2, ApplicableComponentTypes: []string{"software", "ai_model"}, RegulationReferences: []string{"Maschinenverordnung 2023/1230", "ISO 13849", "IEC 62443"}, SuggestedMitigations: mustMarshalJSON([]string{"Watchdog-Timer", "Fallback-Steuerung"}), IsBuiltin: true, TenantID: nil, CreatedAt: now, }, { ID: hazardUUID("timing_error", 2), Category: "timing_error", Name: "Echtzeit-Verletzung Safety-Loop", Description: "Der sicherheitsgerichtete Regelkreis kann die geforderten Zykluszeiten nicht einhalten, wodurch Sicherheitsfunktionen versagen koennen.", DefaultSeverity: 5, DefaultProbability: 2, ApplicableComponentTypes: []string{"software", "firmware"}, RegulationReferences: []string{"ISO 13849", "IEC 61508", "Maschinenverordnung 2023/1230"}, SuggestedMitigations: mustMarshalJSON([]string{"Deterministische Ausfuehrung", "WCET-Analyse"}), IsBuiltin: true, TenantID: nil, CreatedAt: now, }, { ID: hazardUUID("timing_error", 3), Category: "timing_error", Name: "Timing-Jitter bei Netzwerkkommunikation", Description: "Schwankende Netzwerklatenzen fuehren zu unvorhersehbaren Verzoegerungen in der Datenuebertragung sicherheitsrelevanter Signale.", DefaultSeverity: 3, DefaultProbability: 3, ApplicableComponentTypes: []string{"network", "software"}, RegulationReferences: []string{"IEC 62443", "Maschinenverordnung 2023/1230"}, SuggestedMitigations: mustMarshalJSON([]string{"TSN-Netzwerk", "Pufferung"}), IsBuiltin: true, TenantID: nil, CreatedAt: now, }, // ==================================================================== // Category: data_poisoning (2 entries) // ==================================================================== { ID: hazardUUID("data_poisoning", 1), Category: "data_poisoning", Name: "Manipulierte Trainingsdaten", Description: "Trainingsdaten werden absichtlich oder unbeabsichtigt manipuliert, wodurch das Modell systematisch fehlerhafte Entscheidungen trifft.", DefaultSeverity: 4, DefaultProbability: 2, ApplicableComponentTypes: []string{"ai_model"}, RegulationReferences: []string{"EU AI Act Art. 10", "CRA"}, SuggestedMitigations: mustMarshalJSON([]string{"Daten-Validierung", "Anomalie-Erkennung"}), IsBuiltin: true, TenantID: nil, CreatedAt: now, }, { ID: hazardUUID("data_poisoning", 2), Category: "data_poisoning", Name: "Adversarial Input Angriff", Description: "Gezielte Manipulation von Eingabedaten (z.B. Bilder, Sensorsignale), um das KI-Modell zu taeuschen und Fehlentscheidungen auszuloesen.", DefaultSeverity: 4, DefaultProbability: 2, ApplicableComponentTypes: []string{"ai_model", "sensor"}, RegulationReferences: []string{"EU AI Act Art. 15", "CRA", "IEC 62443"}, SuggestedMitigations: mustMarshalJSON([]string{"Input-Validation", "Adversarial Training"}), IsBuiltin: true, TenantID: nil, CreatedAt: now, }, // ==================================================================== // Category: model_drift (3 entries) // ==================================================================== { ID: hazardUUID("model_drift", 1), Category: "model_drift", Name: "Performance-Degradation durch Concept Drift", Description: "Die statistische Verteilung der Eingabedaten aendert sich ueber die Zeit, wodurch die Modellgenauigkeit schleichend abnimmt.", DefaultSeverity: 3, DefaultProbability: 4, ApplicableComponentTypes: []string{"ai_model"}, RegulationReferences: []string{"EU AI Act Art. 9", "EU AI Act Art. 72"}, SuggestedMitigations: mustMarshalJSON([]string{"Monitoring-Dashboard", "Automatisches Retraining"}), IsBuiltin: true, TenantID: nil, CreatedAt: now, }, { ID: hazardUUID("model_drift", 2), Category: "model_drift", Name: "Data Drift durch veraenderte Umgebung", Description: "Aenderungen in der physischen Umgebung (Beleuchtung, Temperatur, Material) fuehren zu veraenderten Sensordaten und Modellfehlern.", DefaultSeverity: 3, DefaultProbability: 4, ApplicableComponentTypes: []string{"ai_model", "sensor"}, RegulationReferences: []string{"EU AI Act Art. 9", "Maschinenverordnung 2023/1230"}, SuggestedMitigations: mustMarshalJSON([]string{"Statistische Ueberwachung", "Sensor-Kalibrierung"}), IsBuiltin: true, TenantID: nil, CreatedAt: now, }, { ID: hazardUUID("model_drift", 3), Category: "model_drift", Name: "Schleichende Modell-Verschlechterung", Description: "Ohne aktives Monitoring verschlechtert sich die Modellqualitaet ueber Wochen oder Monate unbemerkt.", DefaultSeverity: 3, DefaultProbability: 3, ApplicableComponentTypes: []string{"ai_model"}, RegulationReferences: []string{"EU AI Act Art. 9", "EU AI Act Art. 72"}, SuggestedMitigations: mustMarshalJSON([]string{"Regelmaessige Evaluierung", "A/B-Testing"}), IsBuiltin: true, TenantID: nil, CreatedAt: now, }, // ==================================================================== // Category: sensor_spoofing (3 entries) // ==================================================================== { ID: hazardUUID("sensor_spoofing", 1), Category: "sensor_spoofing", Name: "Kamera-Manipulation / Abdeckung", Description: "Kamerasensoren werden absichtlich oder unbeabsichtigt abgedeckt oder manipuliert, sodass das System auf Basis falscher Bilddaten agiert.", DefaultSeverity: 4, DefaultProbability: 2, ApplicableComponentTypes: []string{"sensor"}, RegulationReferences: []string{"IEC 62443", "Maschinenverordnung 2023/1230"}, SuggestedMitigations: mustMarshalJSON([]string{"Plausibilitaetspruefung", "Mehrfach-Sensorik"}), IsBuiltin: true, TenantID: nil, CreatedAt: now, }, { ID: hazardUUID("sensor_spoofing", 2), Category: "sensor_spoofing", Name: "Sensor-Signal-Injection", Description: "Einspeisung gefaelschter Signale in die Sensorleitungen oder Schnittstellen, um das System gezielt zu manipulieren.", DefaultSeverity: 5, DefaultProbability: 1, ApplicableComponentTypes: []string{"sensor", "network"}, RegulationReferences: []string{"IEC 62443", "CRA"}, SuggestedMitigations: mustMarshalJSON([]string{"Signalverschluesselung", "Anomalie-Erkennung"}), IsBuiltin: true, TenantID: nil, CreatedAt: now, }, { ID: hazardUUID("sensor_spoofing", 3), Category: "sensor_spoofing", Name: "Umgebungsbasierte Sensor-Taeuschung", Description: "Natuerliche oder kuenstliche Umgebungsveraenderungen (Licht, Staub, Vibration) fuehren zu fehlerhaften Sensorwerten.", DefaultSeverity: 3, DefaultProbability: 3, ApplicableComponentTypes: []string{"sensor"}, RegulationReferences: []string{"Maschinenverordnung 2023/1230", "ISO 13849"}, SuggestedMitigations: mustMarshalJSON([]string{"Sensor-Fusion", "Redundanz"}), IsBuiltin: true, TenantID: nil, CreatedAt: now, }, // ==================================================================== // Category: communication_failure (3 entries) // ==================================================================== { ID: hazardUUID("communication_failure", 1), Category: "communication_failure", Name: "Feldbus-Ausfall", Description: "Ausfall des industriellen Feldbusses (z.B. PROFINET, EtherCAT) fuehrt zum Verlust der Kommunikation zwischen Steuerung und Aktorik.", DefaultSeverity: 4, DefaultProbability: 3, ApplicableComponentTypes: []string{"network", "controller"}, RegulationReferences: []string{"Maschinenverordnung 2023/1230", "ISO 13849", "IEC 62443"}, SuggestedMitigations: mustMarshalJSON([]string{"Redundanter Bus", "Safe-State-Transition"}), IsBuiltin: true, TenantID: nil, CreatedAt: now, }, { ID: hazardUUID("communication_failure", 2), Category: "communication_failure", Name: "Cloud-Verbindungsverlust", Description: "Die Verbindung zur Cloud-Infrastruktur bricht ab, wodurch cloud-abhaengige Funktionen (z.B. Modell-Updates, Monitoring) nicht verfuegbar sind.", DefaultSeverity: 3, DefaultProbability: 4, ApplicableComponentTypes: []string{"network", "software"}, RegulationReferences: []string{"CRA", "EU AI Act Art. 15"}, SuggestedMitigations: mustMarshalJSON([]string{"Offline-Faehigkeit", "Edge-Computing"}), IsBuiltin: true, TenantID: nil, CreatedAt: now, }, { ID: hazardUUID("communication_failure", 3), Category: "communication_failure", Name: "Netzwerk-Latenz-Spitzen", Description: "Unkontrollierte Latenzspitzen im Netzwerk fuehren zu Timeouts und verspaeteter Datenlieferung an sicherheitsrelevante Systeme.", DefaultSeverity: 3, DefaultProbability: 3, ApplicableComponentTypes: []string{"network"}, RegulationReferences: []string{"IEC 62443", "Maschinenverordnung 2023/1230"}, SuggestedMitigations: mustMarshalJSON([]string{"QoS-Konfiguration", "Timeout-Handling"}), IsBuiltin: true, TenantID: nil, CreatedAt: now, }, // ==================================================================== // Category: unauthorized_access (4 entries) // ==================================================================== { ID: hazardUUID("unauthorized_access", 1), Category: "unauthorized_access", Name: "Unautorisierter Remote-Zugriff", Description: "Ein Angreifer erlangt ueber das Netzwerk Zugriff auf die Maschinensteuerung und kann sicherheitsrelevante Parameter aendern.", DefaultSeverity: 5, DefaultProbability: 2, ApplicableComponentTypes: []string{"network", "software"}, RegulationReferences: []string{"IEC 62443", "CRA", "EU AI Act Art. 15"}, SuggestedMitigations: mustMarshalJSON([]string{"VPN", "MFA", "Netzwerksegmentierung"}), IsBuiltin: true, TenantID: nil, CreatedAt: now, }, { ID: hazardUUID("unauthorized_access", 2), Category: "unauthorized_access", Name: "Konfigurations-Manipulation", Description: "Sicherheitsrelevante Konfigurationsparameter werden unautorisiert geaendert, z.B. Grenzwerte, Schwellwerte oder Betriebsmodi.", DefaultSeverity: 5, DefaultProbability: 2, ApplicableComponentTypes: []string{"software", "firmware"}, RegulationReferences: []string{"IEC 62443", "CRA", "Maschinenverordnung 2023/1230"}, SuggestedMitigations: mustMarshalJSON([]string{"Zugriffskontrolle", "Audit-Log"}), IsBuiltin: true, TenantID: nil, CreatedAt: now, }, { ID: hazardUUID("unauthorized_access", 3), Category: "unauthorized_access", Name: "Privilege Escalation", Description: "Ein Benutzer oder Prozess erlangt hoehere Berechtigungen als vorgesehen und kann sicherheitskritische Aktionen ausfuehren.", DefaultSeverity: 5, DefaultProbability: 1, ApplicableComponentTypes: []string{"software"}, RegulationReferences: []string{"IEC 62443", "CRA"}, SuggestedMitigations: mustMarshalJSON([]string{"RBAC", "Least Privilege"}), IsBuiltin: true, TenantID: nil, CreatedAt: now, }, { ID: hazardUUID("unauthorized_access", 4), Category: "unauthorized_access", Name: "Supply-Chain-Angriff auf Komponente", Description: "Eine kompromittierte Softwarekomponente oder Firmware wird ueber die Lieferkette eingeschleust und enthaelt Schadcode oder Backdoors.", DefaultSeverity: 5, DefaultProbability: 1, ApplicableComponentTypes: []string{"software", "firmware"}, RegulationReferences: []string{"CRA", "IEC 62443", "EU AI Act Art. 15"}, SuggestedMitigations: mustMarshalJSON([]string{"SBOM", "Signaturpruefung"}), IsBuiltin: true, TenantID: nil, CreatedAt: now, }, // ==================================================================== // Category: firmware_corruption (3 entries) // ==================================================================== { ID: hazardUUID("firmware_corruption", 1), Category: "firmware_corruption", Name: "Update-Abbruch mit inkonsistentem Zustand", Description: "Ein Firmware-Update wird unterbrochen (z.B. Stromausfall), wodurch das System in einem inkonsistenten und potenziell unsicheren Zustand verbleibt.", DefaultSeverity: 5, DefaultProbability: 2, ApplicableComponentTypes: []string{"firmware"}, RegulationReferences: []string{"CRA", "Maschinenverordnung 2023/1230"}, SuggestedMitigations: mustMarshalJSON([]string{"A/B-Partitioning", "Rollback"}), IsBuiltin: true, TenantID: nil, CreatedAt: now, }, { ID: hazardUUID("firmware_corruption", 2), Category: "firmware_corruption", Name: "Rollback-Fehler auf alte Version", Description: "Ein Rollback auf eine aeltere Firmware-Version schlaegt fehl oder fuehrt zu Inkompatibilitaeten mit der aktuellen Hardware-/Softwarekonfiguration.", DefaultSeverity: 4, DefaultProbability: 2, ApplicableComponentTypes: []string{"firmware"}, RegulationReferences: []string{"CRA", "Maschinenverordnung 2023/1230"}, SuggestedMitigations: mustMarshalJSON([]string{"Versionsmanagement", "Kompatibilitaetspruefung"}), IsBuiltin: true, TenantID: nil, CreatedAt: now, }, { ID: hazardUUID("firmware_corruption", 3), Category: "firmware_corruption", Name: "Boot-Chain-Angriff", Description: "Die Bootsequenz wird manipuliert, um unsignierte oder kompromittierte Firmware auszufuehren, was die gesamte Sicherheitsarchitektur untergaebt.", DefaultSeverity: 5, DefaultProbability: 1, ApplicableComponentTypes: []string{"firmware"}, RegulationReferences: []string{"CRA", "IEC 62443"}, SuggestedMitigations: mustMarshalJSON([]string{"Secure Boot", "TPM"}), IsBuiltin: true, TenantID: nil, CreatedAt: now, }, // ==================================================================== // Category: safety_boundary_violation (4 entries) // ==================================================================== { ID: hazardUUID("safety_boundary_violation", 1), Category: "safety_boundary_violation", Name: "Kraft-/Drehmoment-Ueberschreitung", Description: "Aktorische Systeme ueberschreiten die zulaessigen Kraft- oder Drehmomentwerte, was zu Verletzungen oder Maschinenschaeden fuehren kann.", DefaultSeverity: 5, DefaultProbability: 2, ApplicableComponentTypes: []string{"controller", "actuator"}, RegulationReferences: []string{"Maschinenverordnung 2023/1230", "ISO 13849", "IEC 62061"}, SuggestedMitigations: mustMarshalJSON([]string{"Hardware-Limiter", "SIL-Ueberwachung"}), IsBuiltin: true, TenantID: nil, CreatedAt: now, }, { ID: hazardUUID("safety_boundary_violation", 2), Category: "safety_boundary_violation", Name: "Geschwindigkeitsueberschreitung Roboter", Description: "Ein Industrieroboter ueberschreitet die zulaessige Geschwindigkeit, insbesondere bei Mensch-Roboter-Kollaboration.", DefaultSeverity: 5, DefaultProbability: 2, ApplicableComponentTypes: []string{"controller", "software"}, RegulationReferences: []string{"Maschinenverordnung 2023/1230", "ISO 13849", "ISO 10218"}, SuggestedMitigations: mustMarshalJSON([]string{"Safe Speed Monitoring", "Lichtgitter"}), IsBuiltin: true, TenantID: nil, CreatedAt: now, }, { ID: hazardUUID("safety_boundary_violation", 3), Category: "safety_boundary_violation", Name: "Versagen des Safe-State", Description: "Das System kann im Fehlerfall keinen sicheren Zustand einnehmen, da die Sicherheitssteuerung selbst versagt.", DefaultSeverity: 5, DefaultProbability: 1, ApplicableComponentTypes: []string{"controller", "software", "firmware"}, RegulationReferences: []string{"Maschinenverordnung 2023/1230", "ISO 13849", "IEC 62061"}, SuggestedMitigations: mustMarshalJSON([]string{"Redundante Sicherheitssteuerung", "Diverse Programmierung"}), IsBuiltin: true, TenantID: nil, CreatedAt: now, }, { ID: hazardUUID("safety_boundary_violation", 4), Category: "safety_boundary_violation", Name: "Arbeitsraum-Verletzung", Description: "Ein Roboter oder Aktor verlaesst seinen definierten Arbeitsraum und dringt in den Schutzbereich von Personen ein.", DefaultSeverity: 5, DefaultProbability: 2, ApplicableComponentTypes: []string{"controller", "sensor"}, RegulationReferences: []string{"Maschinenverordnung 2023/1230", "ISO 13849", "ISO 10218"}, SuggestedMitigations: mustMarshalJSON([]string{"Sichere Achsueberwachung", "Schutzzaun-Sensorik"}), IsBuiltin: true, TenantID: nil, CreatedAt: now, }, // ==================================================================== // Category: mode_confusion (3 entries) // ==================================================================== { ID: hazardUUID("mode_confusion", 1), Category: "mode_confusion", Name: "Falsche Betriebsart aktiv", Description: "Das System befindet sich in einer unbeabsichtigten Betriebsart (z.B. Automatik statt Einrichtbetrieb), was zu unerwarteten Maschinenbewegungen fuehrt.", DefaultSeverity: 4, DefaultProbability: 3, ApplicableComponentTypes: []string{"hmi", "software"}, RegulationReferences: []string{"Maschinenverordnung 2023/1230", "ISO 13849"}, SuggestedMitigations: mustMarshalJSON([]string{"Betriebsart-Anzeige", "Schluesselschalter"}), IsBuiltin: true, TenantID: nil, CreatedAt: now, }, { ID: hazardUUID("mode_confusion", 2), Category: "mode_confusion", Name: "Wartung/Normal-Verwechslung", Description: "Das System wird im Normalbetrieb gewartet oder der Wartungsmodus wird nicht korrekt verlassen, was zu gefaehrlichen Situationen fuehrt.", DefaultSeverity: 5, DefaultProbability: 2, ApplicableComponentTypes: []string{"hmi", "software"}, RegulationReferences: []string{"Maschinenverordnung 2023/1230", "ISO 13849"}, SuggestedMitigations: mustMarshalJSON([]string{"Zugangskontrolle", "Sicherheitsverriegelung"}), IsBuiltin: true, TenantID: nil, CreatedAt: now, }, { ID: hazardUUID("mode_confusion", 3), Category: "mode_confusion", Name: "Automatik-Eingriff waehrend Handbetrieb", Description: "Das System wechselt waehrend des Handbetriebs unerwartet in den Automatikbetrieb, wodurch eine Person im Gefahrenbereich verletzt werden kann.", DefaultSeverity: 5, DefaultProbability: 2, ApplicableComponentTypes: []string{"software", "controller"}, RegulationReferences: []string{"Maschinenverordnung 2023/1230", "ISO 13849"}, SuggestedMitigations: mustMarshalJSON([]string{"Exklusive Betriebsarten", "Zustimmtaster"}), IsBuiltin: true, TenantID: nil, CreatedAt: now, }, // ==================================================================== // Category: unintended_bias (2 entries) // ==================================================================== { ID: hazardUUID("unintended_bias", 1), Category: "unintended_bias", Name: "Diskriminierende KI-Entscheidung", Description: "Das KI-Modell trifft systematisch diskriminierende Entscheidungen, z.B. bei der Qualitaetsbewertung bestimmter Produktchargen oder Lieferanten.", DefaultSeverity: 3, DefaultProbability: 2, ApplicableComponentTypes: []string{"ai_model"}, RegulationReferences: []string{"EU AI Act Art. 10", "EU AI Act Art. 71"}, SuggestedMitigations: mustMarshalJSON([]string{"Bias-Testing", "Fairness-Metriken"}), IsBuiltin: true, TenantID: nil, CreatedAt: now, }, { ID: hazardUUID("unintended_bias", 2), Category: "unintended_bias", Name: "Verzerrte Trainingsdaten", Description: "Die Trainingsdaten sind nicht repraesentativ und enthalten systematische Verzerrungen, die zu unfairen oder fehlerhaften Modellergebnissen fuehren.", DefaultSeverity: 3, DefaultProbability: 3, ApplicableComponentTypes: []string{"ai_model"}, RegulationReferences: []string{"EU AI Act Art. 10", "EU AI Act Art. 71"}, SuggestedMitigations: mustMarshalJSON([]string{"Datensatz-Audit", "Ausgewogenes Sampling"}), IsBuiltin: true, TenantID: nil, CreatedAt: now, }, // ==================================================================== // Category: update_failure (3 entries) // ==================================================================== { ID: hazardUUID("update_failure", 1), Category: "update_failure", Name: "Unvollstaendiges OTA-Update", Description: "Ein Over-the-Air-Update wird nur teilweise uebertragen oder angewendet, wodurch das System in einem inkonsistenten Zustand verbleibt.", DefaultSeverity: 4, DefaultProbability: 3, ApplicableComponentTypes: []string{"firmware", "software"}, RegulationReferences: []string{"CRA", "Maschinenverordnung 2023/1230"}, SuggestedMitigations: mustMarshalJSON([]string{"Atomare Updates", "Integritaetspruefung"}), IsBuiltin: true, TenantID: nil, CreatedAt: now, }, { ID: hazardUUID("update_failure", 2), Category: "update_failure", Name: "Versionskonflikt nach Update", Description: "Nach einem Update sind Software- und Firmware-Versionen inkompatibel, was zu Fehlfunktionen oder Ausfaellen fuehrt.", DefaultSeverity: 3, DefaultProbability: 3, ApplicableComponentTypes: []string{"software", "firmware"}, RegulationReferences: []string{"CRA", "Maschinenverordnung 2023/1230"}, SuggestedMitigations: mustMarshalJSON([]string{"Kompatibilitaetsmatrix", "Staging-Tests"}), IsBuiltin: true, TenantID: nil, CreatedAt: now, }, { ID: hazardUUID("update_failure", 3), Category: "update_failure", Name: "Unkontrollierter Auto-Update", Description: "Ein automatisches Update wird ohne Genehmigung oder ausserhalb eines Wartungsfensters eingespielt und stoert den laufenden Betrieb.", DefaultSeverity: 4, DefaultProbability: 2, ApplicableComponentTypes: []string{"software"}, RegulationReferences: []string{"CRA", "Maschinenverordnung 2023/1230", "IEC 62443"}, SuggestedMitigations: mustMarshalJSON([]string{"Update-Genehmigung", "Wartungsfenster"}), IsBuiltin: true, TenantID: nil, CreatedAt: now, }, } // ==================================================================== // Neue Kategorien (extended library ~100 neue Eintraege) // ==================================================================== extended := []HazardLibraryEntry{ // ==================================================================== // Category: software_fault (10 entries) // ==================================================================== { ID: hazardUUID("software_fault", 1), Category: "software_fault", Name: "Race Condition in Sicherheitsfunktion", Description: "Zwei Tasks greifen ohne Synchronisation auf gemeinsame Ressourcen zu, was zu unvorhersehbarem Verhalten in sicherheitsrelevanten Funktionen fuehren kann.", DefaultSeverity: 5, DefaultProbability: 3, ApplicableComponentTypes: []string{"software", "firmware"}, RegulationReferences: []string{"EU 2023/1230 Anhang I §1.2", "IEC 62304", "IEC 61508"}, SuggestedMitigations: mustMarshalJSON([]string{"Mutex/Semaphor", "RTOS-Task-Prioritaeten", "WCET-Analyse"}), IsBuiltin: true, TenantID: nil, CreatedAt: now, }, { ID: hazardUUID("software_fault", 2), Category: "software_fault", Name: "Stack Overflow in Echtzeit-Task", Description: "Ein rekursiver Aufruf oder grosse lokale Variablen fuehren zum Stack-Ueberlauf, was Safety-Tasks zum Absturz bringt.", DefaultSeverity: 4, DefaultProbability: 3, ApplicableComponentTypes: []string{"software", "firmware"}, RegulationReferences: []string{"IEC 62304", "IEC 61508"}, SuggestedMitigations: mustMarshalJSON([]string{"Stack-Groessen-Analyse", "Stack-Guard", "Statische Code-Analyse"}), IsBuiltin: true, TenantID: nil, CreatedAt: now, }, { ID: hazardUUID("software_fault", 3), Category: "software_fault", Name: "Integer Overflow in Sicherheitsberechnung", Description: "Arithmetischer Ueberlauf bei der Berechnung sicherheitskritischer Grenzwerte fuehrt zu falschen Ergebnissen und unkontrolliertem Verhalten.", DefaultSeverity: 5, DefaultProbability: 2, ApplicableComponentTypes: []string{"software", "firmware"}, RegulationReferences: []string{"IEC 62304", "MISRA-C", "IEC 61508"}, SuggestedMitigations: mustMarshalJSON([]string{"Datentyp-Pruefung", "Overflow-Detection", "MISRA-C-Analyse"}), IsBuiltin: true, TenantID: nil, CreatedAt: now, }, { ID: hazardUUID("software_fault", 4), Category: "software_fault", Name: "Deadlock zwischen Safety-Tasks", Description: "Gegenseitige Sperrung von Tasks durch zyklische Ressourcenabhaengigkeiten verhindert die Ausfuehrung sicherheitsrelevanter Funktionen.", DefaultSeverity: 4, DefaultProbability: 3, ApplicableComponentTypes: []string{"software", "firmware"}, RegulationReferences: []string{"IEC 62304", "IEC 61508"}, SuggestedMitigations: mustMarshalJSON([]string{"Ressourcen-Hierarchie", "Watchdog", "Deadlock-Analyse"}), IsBuiltin: true, TenantID: nil, CreatedAt: now, }, { ID: hazardUUID("software_fault", 5), Category: "software_fault", Name: "Memory Leak im Langzeitbetrieb", Description: "Nicht freigegebener Heap-Speicher akkumuliert sich ueber Zeit, bis das System abstuerzt und Sicherheitsfunktionen nicht mehr verfuegbar sind.", DefaultSeverity: 3, DefaultProbability: 4, ApplicableComponentTypes: []string{"software"}, RegulationReferences: []string{"IEC 62304", "IEC 61508"}, SuggestedMitigations: mustMarshalJSON([]string{"Memory-Profiling", "Valgrind", "Statisches Speichermanagement"}), IsBuiltin: true, TenantID: nil, CreatedAt: now, }, { ID: hazardUUID("software_fault", 6), Category: "software_fault", Name: "Null-Pointer-Dereferenz in Safety-Code", Description: "Zugriff auf einen Null-Zeiger fuehrt zu einem undefinierten Systemzustand oder Absturz des sicherheitsrelevanten Software-Moduls.", DefaultSeverity: 4, DefaultProbability: 3, ApplicableComponentTypes: []string{"software", "firmware"}, RegulationReferences: []string{"IEC 62304", "MISRA-C"}, SuggestedMitigations: mustMarshalJSON([]string{"Null-Check vor Zugriff", "Statische Analyse", "Defensiv-Programmierung"}), IsBuiltin: true, TenantID: nil, CreatedAt: now, }, { ID: hazardUUID("software_fault", 7), Category: "software_fault", Name: "Unbehandelte Ausnahme in Safety-Code", Description: "Eine nicht abgefangene Ausnahme bricht die Ausfuehrung des sicherheitsrelevanten Codes ab und hinterlaesst das System in einem undefinierten Zustand.", DefaultSeverity: 5, DefaultProbability: 2, ApplicableComponentTypes: []string{"software"}, RegulationReferences: []string{"IEC 62304", "IEC 61508"}, SuggestedMitigations: mustMarshalJSON([]string{"Globaler Exception-Handler", "Exception-Safety-Analyse", "Fail-Safe-Rueckfall"}), IsBuiltin: true, TenantID: nil, CreatedAt: now, }, { ID: hazardUUID("software_fault", 8), Category: "software_fault", Name: "Korrupte Konfigurationsdaten", Description: "Beschaedigte oder unvollstaendige Konfigurationsdaten werden ohne Validierung geladen und fuehren zu falschem Systemverhalten.", DefaultSeverity: 4, DefaultProbability: 3, ApplicableComponentTypes: []string{"software", "firmware"}, RegulationReferences: []string{"IEC 62304", "Maschinenverordnung 2023/1230"}, SuggestedMitigations: mustMarshalJSON([]string{"Konfig-Validierung", "CRC-Pruefung", "Fallback-Konfiguration"}), IsBuiltin: true, TenantID: nil, CreatedAt: now, }, { ID: hazardUUID("software_fault", 9), Category: "software_fault", Name: "Division durch Null in Regelkreis", Description: "Ein Divisor im sicherheitsrelevanten Regelkreis erreicht den Wert Null, was zu einem Laufzeitfehler oder undefiniertem Ergebnis fuehrt.", DefaultSeverity: 5, DefaultProbability: 2, ApplicableComponentTypes: []string{"software", "firmware"}, RegulationReferences: []string{"IEC 62304", "IEC 61508", "MISRA-C"}, SuggestedMitigations: mustMarshalJSON([]string{"Vorbedingungspruefung", "Statische Analyse", "Defensiv-Programmierung"}), IsBuiltin: true, TenantID: nil, CreatedAt: now, }, { ID: hazardUUID("software_fault", 10), Category: "software_fault", Name: "Falscher Safety-Parameter durch Software-Bug", Description: "Ein Software-Fehler setzt einen sicherheitsrelevanten Parameter auf einen falschen Wert, ohne dass eine Plausibilitaetspruefung dies erkennt.", DefaultSeverity: 5, DefaultProbability: 2, ApplicableComponentTypes: []string{"software", "firmware"}, RegulationReferences: []string{"IEC 62304", "IEC 61508", "Maschinenverordnung 2023/1230"}, SuggestedMitigations: mustMarshalJSON([]string{"Parametervalidierung", "Redundante Speicherung", "Diversitaere Pruefung"}), IsBuiltin: true, TenantID: nil, CreatedAt: now, }, // ==================================================================== // Category: hmi_error (8 entries) // ==================================================================== { ID: hazardUUID("hmi_error", 1), Category: "hmi_error", Name: "Falsche Einheitendarstellung", Description: "Das HMI zeigt Werte in einer falschen Masseinheit an (z.B. mm statt inch), was zu Fehlbedienung und Maschinenfehlern fuehren kann.", DefaultSeverity: 4, DefaultProbability: 3, ApplicableComponentTypes: []string{"hmi", "software"}, RegulationReferences: []string{"Maschinenverordnung 2023/1230 Anhang III", "EN ISO 9241"}, SuggestedMitigations: mustMarshalJSON([]string{"Einheiten-Label im UI", "Lokalisierungstests", "Einheiten-Konvertierungspruefung"}), IsBuiltin: true, TenantID: nil, CreatedAt: now, }, { ID: hazardUUID("hmi_error", 2), Category: "hmi_error", Name: "Fehlender oder stummer Sicherheitsalarm", Description: "Ein kritisches Sicherheitsereignis wird dem Bediener nicht oder nicht rechtzeitig angezeigt, weil die Alarmfunktion deaktiviert oder fehlerhaft ist.", DefaultSeverity: 5, DefaultProbability: 2, ApplicableComponentTypes: []string{"hmi", "software"}, RegulationReferences: []string{"Maschinenverordnung 2023/1230", "ISO 13849", "EN ISO 9241"}, SuggestedMitigations: mustMarshalJSON([]string{"Alarmtest im Rahmen der Inbetriebnahme", "Akustischer Backup-Alarm", "Alarmverwaltungssystem"}), IsBuiltin: true, TenantID: nil, CreatedAt: now, }, { ID: hazardUUID("hmi_error", 3), Category: "hmi_error", Name: "Sprachfehler in Bedienoberflaeche", Description: "Fehlerhafte oder mehrdeutige Bezeichnungen in der Benutzersprache fuehren zu Fehlbedienung sicherheitsrelevanter Funktionen.", DefaultSeverity: 3, DefaultProbability: 3, ApplicableComponentTypes: []string{"hmi"}, RegulationReferences: []string{"Maschinenverordnung 2023/1230 Anhang III"}, SuggestedMitigations: mustMarshalJSON([]string{"Usability-Test", "Lokalisierungs-Review", "Mehrsprachige Dokumentation"}), IsBuiltin: true, TenantID: nil, CreatedAt: now, }, { ID: hazardUUID("hmi_error", 4), Category: "hmi_error", Name: "Fehlende Eingabevalidierung im HMI", Description: "Das HMI akzeptiert ausserhalb des gueltigen Bereichs liegende Eingaben ohne Warnung und leitet sie an die Steuerung weiter.", DefaultSeverity: 4, DefaultProbability: 3, ApplicableComponentTypes: []string{"hmi", "software"}, RegulationReferences: []string{"Maschinenverordnung 2023/1230", "IEC 62304"}, SuggestedMitigations: mustMarshalJSON([]string{"Grenzwertpruefung", "Eingabemaske mit Bereichen", "Warnung bei Grenzwertnaehe"}), IsBuiltin: true, TenantID: nil, CreatedAt: now, }, { ID: hazardUUID("hmi_error", 5), Category: "hmi_error", Name: "Defekter Statusindikator", Description: "Ein LED, Anzeigeelement oder Softwaresymbol zeigt einen falschen Systemstatus an und verleitet den Bediener zu falschen Annahmen.", DefaultSeverity: 4, DefaultProbability: 3, ApplicableComponentTypes: []string{"hmi"}, RegulationReferences: []string{"Maschinenverordnung 2023/1230 Anhang III"}, SuggestedMitigations: mustMarshalJSON([]string{"Regelmaessige HMI-Tests", "Selbsttest beim Einschalten", "Redundante Statusanzeige"}), IsBuiltin: true, TenantID: nil, CreatedAt: now, }, { ID: hazardUUID("hmi_error", 6), Category: "hmi_error", Name: "Quittierung ohne Ursachenbehebung", Description: "Der Bediener kann einen Sicherheitsalarm quittieren, ohne die zugrundeliegende Ursache behoben zu haben, was das Risiko wiederkehrender Ereignisse erhoet.", DefaultSeverity: 4, DefaultProbability: 3, ApplicableComponentTypes: []string{"hmi", "software"}, RegulationReferences: []string{"Maschinenverordnung 2023/1230", "ISO 13849"}, SuggestedMitigations: mustMarshalJSON([]string{"Ursachen-Checkliste vor Quittierung", "Pflicht-Ursachen-Eingabe", "Audit-Log der Quittierungen"}), IsBuiltin: true, TenantID: nil, CreatedAt: now, }, { ID: hazardUUID("hmi_error", 7), Category: "hmi_error", Name: "Veraltete Anzeige durch Caching-Fehler", Description: "Die HMI-Anzeige wird nicht aktualisiert und zeigt veraltete Sensorwerte oder Zustaende an, was zu Fehlentscheidungen fuehrt.", DefaultSeverity: 4, DefaultProbability: 3, ApplicableComponentTypes: []string{"hmi", "software"}, RegulationReferences: []string{"Maschinenverordnung 2023/1230 Anhang III"}, SuggestedMitigations: mustMarshalJSON([]string{"Timestamp-Anzeige", "Refresh-Watchdog", "Verbindungsstatus-Indikator"}), IsBuiltin: true, TenantID: nil, CreatedAt: now, }, { ID: hazardUUID("hmi_error", 8), Category: "hmi_error", Name: "Fehlende Betriebsart-Kennzeichnung", Description: "Die aktive Betriebsart (Automatik, Einrichten, Wartung) ist im HMI nicht eindeutig sichtbar, was zu unerwarteten Maschinenbewegungen fuehren kann.", DefaultSeverity: 4, DefaultProbability: 3, ApplicableComponentTypes: []string{"hmi", "software"}, RegulationReferences: []string{"Maschinenverordnung 2023/1230", "ISO 13849"}, SuggestedMitigations: mustMarshalJSON([]string{"Dauerhafte Betriebsart-Anzeige", "Farbliche Kennzeichnung", "Bestaetigung bei Modewechsel"}), IsBuiltin: true, TenantID: nil, CreatedAt: now, }, // ==================================================================== // Category: mechanical_hazard (6 entries) // ==================================================================== { ID: hazardUUID("mechanical_hazard", 1), Category: "mechanical_hazard", Name: "Unerwarteter Anlauf nach Spannungsausfall", Description: "Nach Wiederkehr der Versorgungsspannung laeuft die Maschine unerwartet an, ohne dass eine Startfreigabe durch den Bediener erfolgt ist.", DefaultSeverity: 5, DefaultProbability: 3, ApplicableComponentTypes: []string{"controller", "firmware"}, RegulationReferences: []string{"Maschinenverordnung 2023/1230 Anhang I §1.2.6", "ISO 13849"}, SuggestedMitigations: mustMarshalJSON([]string{"Anlaufschutz", "Anti-Restart-Funktion", "Sicherheitsrelais"}), IsBuiltin: true, TenantID: nil, CreatedAt: now, }, { ID: hazardUUID("mechanical_hazard", 2), Category: "mechanical_hazard", Name: "Restenergie nach Abschalten", Description: "Gespeicherte kinetische oder potentielle Energie (z.B. Schwungmasse, abgesenktes Werkzeug) wird nach dem Abschalten nicht sicher abgebaut.", DefaultSeverity: 5, DefaultProbability: 2, ApplicableComponentTypes: []string{"actuator", "controller"}, RegulationReferences: []string{"Maschinenverordnung 2023/1230 Anhang I §1.6", "ISO 13849"}, SuggestedMitigations: mustMarshalJSON([]string{"Energieabbau-Prozedur", "Mechanische Haltevorrichtung", "LOTO-Freischaltung"}), IsBuiltin: true, TenantID: nil, CreatedAt: now, }, { ID: hazardUUID("mechanical_hazard", 3), Category: "mechanical_hazard", Name: "Unerwartete Maschinenbewegung", Description: "Die Maschine fuehrt eine unkontrollierte Bewegung durch (z.B. Antrieb faehrt ohne Kommando los), was Personen im Gefahrenbereich verletzt.", DefaultSeverity: 5, DefaultProbability: 2, ApplicableComponentTypes: []string{"actuator", "controller", "software"}, RegulationReferences: []string{"Maschinenverordnung 2023/1230", "ISO 13849", "IEC 62061"}, SuggestedMitigations: mustMarshalJSON([]string{"Safe Torque Off (STO)", "Geschwindigkeitsueberwachung", "Schutzzaun-Sensorik"}), IsBuiltin: true, TenantID: nil, CreatedAt: now, }, { ID: hazardUUID("mechanical_hazard", 4), Category: "mechanical_hazard", Name: "Teileauswurf durch Fehlfunktion", Description: "Werkzeuge, Werkstuecke oder Maschinenteile werden bei einer Fehlfunktion unkontrolliert aus der Maschine geschleudert.", DefaultSeverity: 5, DefaultProbability: 2, ApplicableComponentTypes: []string{"actuator", "controller"}, RegulationReferences: []string{"Maschinenverordnung 2023/1230 Anhang I §1.3.2"}, SuggestedMitigations: mustMarshalJSON([]string{"Trennende Schutzeinrichtung", "Sicherheitsglas", "Spannkraft-Ueberwachung"}), IsBuiltin: true, TenantID: nil, CreatedAt: now, }, { ID: hazardUUID("mechanical_hazard", 5), Category: "mechanical_hazard", Name: "Quetschstelle durch fehlende Schutzeinrichtung", Description: "Zwischen beweglichen und festen Maschinenteilen entstehen Quetschstellen, die bei fehlendem Schutz zu schweren Verletzungen fuehren koennen.", DefaultSeverity: 5, DefaultProbability: 2, ApplicableComponentTypes: []string{"actuator"}, RegulationReferences: []string{"Maschinenverordnung 2023/1230 Anhang I §1.3.7", "ISO 13857"}, SuggestedMitigations: mustMarshalJSON([]string{"Schutzverkleidung", "Sicherheitsabstaende nach ISO 13857", "Lichtvorhang"}), IsBuiltin: true, TenantID: nil, CreatedAt: now, }, { ID: hazardUUID("mechanical_hazard", 6), Category: "mechanical_hazard", Name: "Instabile Struktur unter Last", Description: "Die Maschinenstruktur oder ein Anbauteil versagt unter statischer oder dynamischer Belastung und gefaehrdet Personen in der Naehe.", DefaultSeverity: 5, DefaultProbability: 1, ApplicableComponentTypes: []string{"other"}, RegulationReferences: []string{"Maschinenverordnung 2023/1230 Anhang I §1.3.1"}, SuggestedMitigations: mustMarshalJSON([]string{"Festigkeitsberechnung", "Ueberlastsicherung", "Regelmaessige Inspektion"}), IsBuiltin: true, TenantID: nil, CreatedAt: now, }, // ==================================================================== // Category: electrical_hazard (6 entries) // ==================================================================== { ID: hazardUUID("electrical_hazard", 1), Category: "electrical_hazard", Name: "Elektrischer Schlag an Bedienpanel", Description: "Bediener kommen mit spannungsfuehrenden Teilen in Beruehrung, z.B. durch defekte Gehaeuseerdung oder fehlerhafte Isolierung.", DefaultSeverity: 5, DefaultProbability: 2, ApplicableComponentTypes: []string{"hmi", "controller"}, RegulationReferences: []string{"Niederspannungsrichtlinie 2014/35/EU", "IEC 60204-1"}, SuggestedMitigations: mustMarshalJSON([]string{"Schutzkleinspannung (SELV)", "Schutzerdung", "Isolationsmonitoring"}), IsBuiltin: true, TenantID: nil, CreatedAt: now, }, { ID: hazardUUID("electrical_hazard", 2), Category: "electrical_hazard", Name: "Lichtbogen durch Schaltfehler", Description: "Ein Schaltfehler erzeugt einen Lichtbogen, der Bediener verletzen, Geraete beschaedigen oder einen Brand ausloesen kann.", DefaultSeverity: 5, DefaultProbability: 1, ApplicableComponentTypes: []string{"controller"}, RegulationReferences: []string{"Niederspannungsrichtlinie 2014/35/EU", "IEC 60204-1"}, SuggestedMitigations: mustMarshalJSON([]string{"Lichtbogenschutz-Schalter", "Kurzschlussschutz", "Geeignete Schaltgeraete"}), IsBuiltin: true, TenantID: nil, CreatedAt: now, }, { ID: hazardUUID("electrical_hazard", 3), Category: "electrical_hazard", Name: "Kurzschluss durch Isolationsfehler", Description: "Beschaedigte Kabelisolierungen fuehren zu einem Kurzschluss, der Feuer ausloesen oder Sicherheitsfunktionen ausser Betrieb setzen kann.", DefaultSeverity: 4, DefaultProbability: 2, ApplicableComponentTypes: []string{"network", "controller"}, RegulationReferences: []string{"Niederspannungsrichtlinie 2014/35/EU", "IEC 60204-1"}, SuggestedMitigations: mustMarshalJSON([]string{"Isolationsueberwachung", "Kabelschutz", "Regelmaessige Sichtpruefung"}), IsBuiltin: true, TenantID: nil, CreatedAt: now, }, { ID: hazardUUID("electrical_hazard", 4), Category: "electrical_hazard", Name: "Erdschluss in Steuerkreis", Description: "Ein Erdschluss im Steuerkreis kann unbeabsichtigte Schaltzustaende ausloesen und Sicherheitsfunktionen beeinflussen.", DefaultSeverity: 4, DefaultProbability: 2, ApplicableComponentTypes: []string{"controller", "network"}, RegulationReferences: []string{"IEC 60204-1", "ISO 13849"}, SuggestedMitigations: mustMarshalJSON([]string{"Erdschluss-Monitoring", "IT-Netz fuer Steuerkreise", "Regelmaessige Pruefung"}), IsBuiltin: true, TenantID: nil, CreatedAt: now, }, { ID: hazardUUID("electrical_hazard", 5), Category: "electrical_hazard", Name: "Gespeicherte Energie in Kondensatoren", Description: "Nach dem Abschalten verbleiben hohe Spannungen in Kondensatoren (z.B. Frequenzumrichter, USV), was bei Wartungsarbeiten gefaehrlich ist.", DefaultSeverity: 5, DefaultProbability: 2, ApplicableComponentTypes: []string{"controller"}, RegulationReferences: []string{"Niederspannungsrichtlinie 2014/35/EU", "IEC 60204-1"}, SuggestedMitigations: mustMarshalJSON([]string{"Entladewartezeit", "Automatische Entladeschaltung", "Warnhinweise am Geraet"}), IsBuiltin: true, TenantID: nil, CreatedAt: now, }, { ID: hazardUUID("electrical_hazard", 6), Category: "electrical_hazard", Name: "Elektromagnetische Kopplung auf Safety-Leitung", Description: "Hochfrequente Stoerfelder koppeln auf ungeschirmte Safety-Leitungen und erzeugen Falschsignale, die Sicherheitsfunktionen fehl ausloesen.", DefaultSeverity: 3, DefaultProbability: 3, ApplicableComponentTypes: []string{"network", "sensor"}, RegulationReferences: []string{"EMV-Richtlinie 2014/30/EU", "IEC 62061"}, SuggestedMitigations: mustMarshalJSON([]string{"Geschirmte Kabel", "Raeumliche Trennung", "EMV-Pruefung"}), IsBuiltin: true, TenantID: nil, CreatedAt: now, }, // ==================================================================== // Category: thermal_hazard (4 entries) // ==================================================================== { ID: hazardUUID("thermal_hazard", 1), Category: "thermal_hazard", Name: "Ueberhitzung der Steuereinheit", Description: "Die Steuereinheit ueberschreitet die zulaessige Betriebstemperatur durch Lueftungsausfall oder hohe Umgebungstemperatur, was zu Fehlfunktionen fuehrt.", DefaultSeverity: 3, DefaultProbability: 3, ApplicableComponentTypes: []string{"controller", "firmware"}, RegulationReferences: []string{"Maschinenverordnung 2023/1230", "IEC 60068"}, SuggestedMitigations: mustMarshalJSON([]string{"Temperaturueberwachung", "Redundante Lueftung", "Thermisches Abschalten"}), IsBuiltin: true, TenantID: nil, CreatedAt: now, }, { ID: hazardUUID("thermal_hazard", 2), Category: "thermal_hazard", Name: "Brandgefahr durch Leistungselektronik", Description: "Defekte Leistungshalbleiter oder Kondensatoren in der Leistungselektronik erwaermen sich unkontrolliert und koennen einen Brand ausloesen.", DefaultSeverity: 5, DefaultProbability: 2, ApplicableComponentTypes: []string{"controller"}, RegulationReferences: []string{"Niederspannungsrichtlinie 2014/35/EU", "IEC 60204-1"}, SuggestedMitigations: mustMarshalJSON([]string{"Thermosicherungen", "Temperatursensoren", "Brandschutzmassnahmen"}), IsBuiltin: true, TenantID: nil, CreatedAt: now, }, { ID: hazardUUID("thermal_hazard", 3), Category: "thermal_hazard", Name: "Einfrieren bei Tieftemperatur", Description: "Sehr tiefe Umgebungstemperaturen fuehren zum Einfrieren von Hydraulikleitungen oder Elektronik und damit zum Ausfall von Sicherheitsfunktionen.", DefaultSeverity: 3, DefaultProbability: 3, ApplicableComponentTypes: []string{"controller", "actuator"}, RegulationReferences: []string{"Maschinenverordnung 2023/1230", "IEC 60068"}, SuggestedMitigations: mustMarshalJSON([]string{"Heizung", "Mindestbetriebstemperatur definieren", "Temperatursensor"}), IsBuiltin: true, TenantID: nil, CreatedAt: now, }, { ID: hazardUUID("thermal_hazard", 4), Category: "thermal_hazard", Name: "Waermestress an Kabelisolierung", Description: "Langfristige Einwirkung hoher Temperaturen auf Kabelisolierungen fuehrt zu Alterung und Isolationsversagen mit Kurzschlussrisiko.", DefaultSeverity: 3, DefaultProbability: 3, ApplicableComponentTypes: []string{"network", "controller"}, RegulationReferences: []string{"IEC 60204-1", "Maschinenverordnung 2023/1230"}, SuggestedMitigations: mustMarshalJSON([]string{"Hitzebestaendige Kabel (z.B. PTFE)", "Kabelverlegung mit Abstand zur Waermequelle", "Regelmaessige Inspektion"}), IsBuiltin: true, TenantID: nil, CreatedAt: now, }, // ==================================================================== // Category: emc_hazard (5 entries) // ==================================================================== { ID: hazardUUID("emc_hazard", 1), Category: "emc_hazard", Name: "EMV-Stoerabstrahlung auf Safety-Bus", Description: "Hohe elektromagnetische Stoerabstrahlung aus benachbarten Geraeten stoert den industriellen Safety-Bus (z.B. PROFIsafe) und erzeugt Kommunikationsfehler.", DefaultSeverity: 5, DefaultProbability: 2, ApplicableComponentTypes: []string{"network", "controller"}, RegulationReferences: []string{"EMV-Richtlinie 2014/30/EU", "IEC 62061", "IEC 61784-3"}, SuggestedMitigations: mustMarshalJSON([]string{"EMV-gerechte Verkabelung", "Schirmung", "EMC-Pruefung nach EN 55011"}), IsBuiltin: true, TenantID: nil, CreatedAt: now, }, { ID: hazardUUID("emc_hazard", 2), Category: "emc_hazard", Name: "Unbeabsichtigte elektromagnetische Abstrahlung", Description: "Die Maschine selbst strahlt starke EM-Felder ab, die andere sicherheitsrelevante Einrichtungen in der Naehe stoeren.", DefaultSeverity: 2, DefaultProbability: 3, ApplicableComponentTypes: []string{"controller", "actuator"}, RegulationReferences: []string{"EMV-Richtlinie 2014/30/EU"}, SuggestedMitigations: mustMarshalJSON([]string{"EMV-Filter", "Gehaeuseabschirmung", "CE-Zulassung Frequenzumrichter"}), IsBuiltin: true, TenantID: nil, CreatedAt: now, }, { ID: hazardUUID("emc_hazard", 3), Category: "emc_hazard", Name: "Frequenzumrichter-Stoerung auf Steuerleitung", Description: "Der Frequenzumrichter erzeugt hochfrequente Stoerungen, die auf benachbarte Steuerleitungen koppeln und falsche Signale erzeugen.", DefaultSeverity: 4, DefaultProbability: 3, ApplicableComponentTypes: []string{"actuator", "network"}, RegulationReferences: []string{"EMV-Richtlinie 2014/30/EU", "IEC 60204-1"}, SuggestedMitigations: mustMarshalJSON([]string{"Motorfilter", "Kabeltrennabstand", "Separate Kabelkanaele"}), IsBuiltin: true, TenantID: nil, CreatedAt: now, }, { ID: hazardUUID("emc_hazard", 4), Category: "emc_hazard", Name: "ESD-Schaden an Elektronik", Description: "Elektrostatische Entladung bei Wartung oder Austausch beschaedigt empfindliche Elektronikbauteile, was zu latenten Fehlfunktionen fuehrt.", DefaultSeverity: 3, DefaultProbability: 3, ApplicableComponentTypes: []string{"controller", "firmware"}, RegulationReferences: []string{"IEC 61000-4-2", "Maschinenverordnung 2023/1230"}, SuggestedMitigations: mustMarshalJSON([]string{"ESD-Schulung", "ESD-Schutzausruestung", "ESD-gerechte Verpackung"}), IsBuiltin: true, TenantID: nil, CreatedAt: now, }, { ID: hazardUUID("emc_hazard", 5), Category: "emc_hazard", Name: "HF-Stoerung des Sicherheitssensors", Description: "Hochfrequenz-Stoerquellen (z.B. Schweissgeraete, Mobiltelefone) beeinflussen die Funktion von Sicherheitssensoren (Lichtvorhang, Scanner).", DefaultSeverity: 4, DefaultProbability: 3, ApplicableComponentTypes: []string{"sensor"}, RegulationReferences: []string{"EMV-Richtlinie 2014/30/EU", "IEC 61496"}, SuggestedMitigations: mustMarshalJSON([]string{"EMV-zertifizierte Sicherheitssensoren", "HF-Quellen trennen", "Gegensprechanlagenverbot in Gefahrenzone"}), IsBuiltin: true, TenantID: nil, CreatedAt: now, }, // ==================================================================== // Category: configuration_error (8 entries) // ==================================================================== { ID: hazardUUID("configuration_error", 1), Category: "configuration_error", Name: "Falscher Safety-Parameter bei Inbetriebnahme", Description: "Beim Einrichten werden sicherheitsrelevante Parameter (z.B. Maximalgeschwindigkeit, Abschaltgrenzen) falsch konfiguriert und nicht verifiziert.", DefaultSeverity: 5, DefaultProbability: 3, ApplicableComponentTypes: []string{"software", "firmware", "controller"}, RegulationReferences: []string{"Maschinenverordnung 2023/1230", "ISO 13849", "IEC 62061"}, SuggestedMitigations: mustMarshalJSON([]string{"Parameterpruefung nach Inbetriebnahme", "4-Augen-Prinzip", "Parameterprotokoll in technischer Akte"}), IsBuiltin: true, TenantID: nil, CreatedAt: now, }, { ID: hazardUUID("configuration_error", 2), Category: "configuration_error", Name: "Factory Reset loescht Sicherheitskonfiguration", Description: "Ein Factory Reset setzt alle Parameter auf Werkseinstellungen zurueck, einschliesslich sicherheitsrelevanter Konfigurationen, ohne Warnung.", DefaultSeverity: 5, DefaultProbability: 2, ApplicableComponentTypes: []string{"firmware", "software"}, RegulationReferences: []string{"IEC 62304", "CRA", "Maschinenverordnung 2023/1230"}, SuggestedMitigations: mustMarshalJSON([]string{"Separate Safety-Partition", "Bestaetigung vor Reset", "Safety-Config vor Reset sichern"}), IsBuiltin: true, TenantID: nil, CreatedAt: now, }, { ID: hazardUUID("configuration_error", 3), Category: "configuration_error", Name: "Fehlerhafte Parameter-Migration bei Update", Description: "Beim Software-Update werden vorhandene Konfigurationsparameter nicht korrekt in das neue Format migriert, was zu falschen Systemeinstellungen fuehrt.", DefaultSeverity: 5, DefaultProbability: 2, ApplicableComponentTypes: []string{"software", "firmware"}, RegulationReferences: []string{"IEC 62304", "CRA"}, SuggestedMitigations: mustMarshalJSON([]string{"Migrations-Skript-Tests", "Konfig-Backup vor Update", "Post-Update-Verifikation"}), IsBuiltin: true, TenantID: nil, CreatedAt: now, }, { ID: hazardUUID("configuration_error", 4), Category: "configuration_error", Name: "Konflikthafte redundante Einstellungen", Description: "Widersprüchliche Parameter in verschiedenen Konfigurationsdateien oder -ebenen fuehren zu unvorhersehbarem Systemverhalten.", DefaultSeverity: 4, DefaultProbability: 3, ApplicableComponentTypes: []string{"software", "firmware"}, RegulationReferences: []string{"IEC 62304", "Maschinenverordnung 2023/1230"}, SuggestedMitigations: mustMarshalJSON([]string{"Konfig-Validierung beim Start", "Einzelne Quelle fuer Safety-Params", "Konsistenzpruefung"}), IsBuiltin: true, TenantID: nil, CreatedAt: now, }, { ID: hazardUUID("configuration_error", 5), Category: "configuration_error", Name: "Hard-coded Credentials in Konfiguration", Description: "Passwörter oder Schluessel sind fest im Code oder in Konfigurationsdateien hinterlegt und koennen nicht geaendert werden.", DefaultSeverity: 4, DefaultProbability: 2, ApplicableComponentTypes: []string{"software", "firmware"}, RegulationReferences: []string{"CRA", "IEC 62443"}, SuggestedMitigations: mustMarshalJSON([]string{"Secrets-Management", "Kein Hard-Coding", "Credential-Scan im CI"}), IsBuiltin: true, TenantID: nil, CreatedAt: now, }, { ID: hazardUUID("configuration_error", 6), Category: "configuration_error", Name: "Debug-Modus in Produktionsumgebung aktiv", Description: "Debug-Schnittstellen oder erhoehte Logging-Level sind in der Produktionsumgebung aktiv und ermoeglichen Angreifern Zugang zu sensiblen Systeminfos.", DefaultSeverity: 4, DefaultProbability: 2, ApplicableComponentTypes: []string{"software", "firmware"}, RegulationReferences: []string{"CRA", "IEC 62443"}, SuggestedMitigations: mustMarshalJSON([]string{"Build-Konfiguration pruefe Debug-Flag", "Produktions-Checkliste", "Debug-Port-Deaktivierung"}), IsBuiltin: true, TenantID: nil, CreatedAt: now, }, { ID: hazardUUID("configuration_error", 7), Category: "configuration_error", Name: "Out-of-Bounds-Eingabe ohne Validierung", Description: "Nutzereingaben oder Schnittstellendaten werden ohne Bereichspruefung in sicherheitsrelevante Parameter uebernommen.", DefaultSeverity: 4, DefaultProbability: 3, ApplicableComponentTypes: []string{"software", "hmi"}, RegulationReferences: []string{"IEC 62304", "Maschinenverordnung 2023/1230"}, SuggestedMitigations: mustMarshalJSON([]string{"Eingabevalidierung", "Bereichsgrenzen definieren", "Sanity-Check"}), IsBuiltin: true, TenantID: nil, CreatedAt: now, }, { ID: hazardUUID("configuration_error", 8), Category: "configuration_error", Name: "Konfigurationsdatei nicht schreibgeschuetzt", Description: "Sicherheitsrelevante Konfigurationsdateien koennen von unautorisierten Nutzern oder Prozessen veraendert werden.", DefaultSeverity: 4, DefaultProbability: 3, ApplicableComponentTypes: []string{"software", "firmware"}, RegulationReferences: []string{"IEC 62443", "CRA"}, SuggestedMitigations: mustMarshalJSON([]string{"Dateisystem-Berechtigungen", "Code-Signing fuer Konfig", "Integritaetspruefung"}), IsBuiltin: true, TenantID: nil, CreatedAt: now, }, // ==================================================================== // Category: safety_function_failure (8 entries) // ==================================================================== { ID: hazardUUID("safety_function_failure", 1), Category: "safety_function_failure", Name: "Not-Halt trennt Energieversorgung nicht", Description: "Der Not-Halt-Taster betaetigt die Sicherheitsschalter, die Energiezufuhr wird jedoch nicht vollstaendig unterbrochen, weil das Sicherheitsrelais versagt.", DefaultSeverity: 5, DefaultProbability: 2, ApplicableComponentTypes: []string{"controller", "actuator"}, RegulationReferences: []string{"Maschinenverordnung 2023/1230 Anhang I §1.2.4", "IEC 60947-5-5", "ISO 13849"}, SuggestedMitigations: mustMarshalJSON([]string{"Regelmaessiger Not-Halt-Test", "Redundantes Sicherheitsrelais", "Selbstueberwachender Sicherheitskreis"}), IsBuiltin: true, TenantID: nil, CreatedAt: now, }, { ID: hazardUUID("safety_function_failure", 2), Category: "safety_function_failure", Name: "Schutztuer-Monitoring umgangen", Description: "Das Schutztuer-Positionssignal wird durch einen Fehler oder Manipulation als 'geschlossen' gemeldet, obwohl die Tuer offen ist.", DefaultSeverity: 5, DefaultProbability: 2, ApplicableComponentTypes: []string{"sensor", "controller"}, RegulationReferences: []string{"Maschinenverordnung 2023/1230", "ISO 14119", "ISO 13849"}, SuggestedMitigations: mustMarshalJSON([]string{"Zwangsöffnender Positionsschalter", "Codierter Sicherheitssensor", "Anti-Tamper-Masssnahmen"}), IsBuiltin: true, TenantID: nil, CreatedAt: now, }, { ID: hazardUUID("safety_function_failure", 3), Category: "safety_function_failure", Name: "Safe Speed Monitoring fehlt", Description: "Beim Einrichten im reduzierten Betrieb fehlt eine unabhaengige Geschwindigkeitsueberwachung, so dass der Bediener nicht ausreichend geschuetzt ist.", DefaultSeverity: 5, DefaultProbability: 2, ApplicableComponentTypes: []string{"controller", "software"}, RegulationReferences: []string{"Maschinenverordnung 2023/1230", "IEC 62061", "ISO 13849"}, SuggestedMitigations: mustMarshalJSON([]string{"Sicherheitsumrichter mit SLS", "Unabhaengige Drehzahlmessung", "SIL-2-Geschwindigkeitsueberwachung"}), IsBuiltin: true, TenantID: nil, CreatedAt: now, }, { ID: hazardUUID("safety_function_failure", 4), Category: "safety_function_failure", Name: "STO-Funktion (Safe Torque Off) Fehler", Description: "Die STO-Sicherheitsfunktion schaltet den Antriebsmoment nicht ab, obwohl die Funktion aktiviert wurde, z.B. durch Fehler im Sicherheits-SPS-Ausgang.", DefaultSeverity: 5, DefaultProbability: 2, ApplicableComponentTypes: []string{"actuator", "controller"}, RegulationReferences: []string{"IEC 61800-5-2", "Maschinenverordnung 2023/1230", "IEC 62061"}, SuggestedMitigations: mustMarshalJSON([]string{"STO-Pruefung bei Inbetriebnahme", "Pruefzyklus im Betrieb", "Zertifizierter Sicherheitsumrichter"}), IsBuiltin: true, TenantID: nil, CreatedAt: now, }, { ID: hazardUUID("safety_function_failure", 5), Category: "safety_function_failure", Name: "Muting-Missbrauch bei Lichtvorhang", Description: "Die Muting-Funktion des Lichtvorhangs wird durch Fehler oder Manipulation zu lange oder unkontrolliert aktiviert, was den Schutz aufhebt.", DefaultSeverity: 5, DefaultProbability: 2, ApplicableComponentTypes: []string{"sensor", "controller"}, RegulationReferences: []string{"IEC 61496-3", "Maschinenverordnung 2023/1230"}, SuggestedMitigations: mustMarshalJSON([]string{"Zeitbegrenztes Muting", "Muting-Lampe und Alarm", "Protokollierung der Muting-Ereignisse"}), IsBuiltin: true, TenantID: nil, CreatedAt: now, }, { ID: hazardUUID("safety_function_failure", 6), Category: "safety_function_failure", Name: "Zweihand-Taster durch Gegenstand ueberbrueckt", Description: "Die Zweihand-Betaetigungseinrichtung wird durch ein eingeklemmtes Objekt permanent aktiviert, was den Bediener aus dem Schutzkonzept loest.", DefaultSeverity: 5, DefaultProbability: 2, ApplicableComponentTypes: []string{"hmi", "controller"}, RegulationReferences: []string{"ISO 13851", "Maschinenverordnung 2023/1230", "ISO 13849"}, SuggestedMitigations: mustMarshalJSON([]string{"Anti-Tie-Down-Pruefung", "Typ-III-Zweihand-Taster", "Regelmaessige Funktionskontrolle"}), IsBuiltin: true, TenantID: nil, CreatedAt: now, }, { ID: hazardUUID("safety_function_failure", 7), Category: "safety_function_failure", Name: "Sicherheitsrelais-Ausfall ohne Erkennung", Description: "Ein Sicherheitsrelais versagt unentdeckt (z.B. verklebte Kontakte), sodass der Sicherheitskreis nicht mehr auftrennt.", DefaultSeverity: 5, DefaultProbability: 2, ApplicableComponentTypes: []string{"controller"}, RegulationReferences: []string{"ISO 13849", "IEC 62061"}, SuggestedMitigations: mustMarshalJSON([]string{"Selbstueberwachung (zwangsgefuehrt)", "Regelmaessiger Testlauf", "Redundantes Relais"}), IsBuiltin: true, TenantID: nil, CreatedAt: now, }, { ID: hazardUUID("safety_function_failure", 8), Category: "safety_function_failure", Name: "Logic-Solver-Fehler in Sicherheits-SPS", Description: "Die Sicherheitssteuerung (Safety-SPS) fuehrt sicherheitsrelevante Logik fehlerhaft aus, z.B. durch Speicherfehler oder Prozessorfehler.", DefaultSeverity: 5, DefaultProbability: 1, ApplicableComponentTypes: []string{"controller", "software"}, RegulationReferences: []string{"IEC 61511", "IEC 61508", "ISO 13849"}, SuggestedMitigations: mustMarshalJSON([]string{"SIL-zertifizierte SPS", "Watchdog", "Selbsttest-Routinen (BIST)"}), IsBuiltin: true, TenantID: nil, CreatedAt: now, }, // ==================================================================== // Category: logging_audit_failure (5 entries) // ==================================================================== { ID: hazardUUID("logging_audit_failure", 1), Category: "logging_audit_failure", Name: "Safety-Events nicht protokolliert", Description: "Sicherheitsrelevante Ereignisse (Alarme, Not-Halt-Betaetigungen, Fehlerzustaende) werden nicht in ein Protokoll geschrieben.", DefaultSeverity: 4, DefaultProbability: 3, ApplicableComponentTypes: []string{"software", "controller"}, RegulationReferences: []string{"Maschinenverordnung 2023/1230", "IEC 62443", "CRA"}, SuggestedMitigations: mustMarshalJSON([]string{"Pflicht-Logging Safety-Events", "Unveraenderliches Audit-Log", "Log-Integritaetspruefung"}), IsBuiltin: true, TenantID: nil, CreatedAt: now, }, { ID: hazardUUID("logging_audit_failure", 2), Category: "logging_audit_failure", Name: "Log-Manipulation moeglich", Description: "Authentifizierte Benutzer oder Angreifer koennen Protokolleintraege aendern oder loeschen und so Beweise fuer Sicherheitsvorfaelle vernichten.", DefaultSeverity: 4, DefaultProbability: 2, ApplicableComponentTypes: []string{"software"}, RegulationReferences: []string{"CRA", "IEC 62443"}, SuggestedMitigations: mustMarshalJSON([]string{"Write-Once-Speicher", "Kryptografische Signaturen", "Externes Log-Management"}), IsBuiltin: true, TenantID: nil, CreatedAt: now, }, { ID: hazardUUID("logging_audit_failure", 3), Category: "logging_audit_failure", Name: "Log-Overflow ueberschreibt alte Eintraege", Description: "Wenn der Log-Speicher voll ist, werden aeltere Eintraege ohne Warnung ueberschrieben, was eine lueckenlose Rueckverfolgung verhindert.", DefaultSeverity: 3, DefaultProbability: 4, ApplicableComponentTypes: []string{"software", "controller"}, RegulationReferences: []string{"CRA", "IEC 62443"}, SuggestedMitigations: mustMarshalJSON([]string{"Log-Kapazitaetsalarm", "Externes Log-System", "Zirkulaerpuffer mit Warnschwelle"}), IsBuiltin: true, TenantID: nil, CreatedAt: now, }, { ID: hazardUUID("logging_audit_failure", 4), Category: "logging_audit_failure", Name: "Fehlende Zeitstempel in Protokolleintraegen", Description: "Log-Eintraege enthalten keine oder ungenaue Zeitstempel, was die zeitliche Rekonstruktion von Ereignissen bei der Fehlersuche verhindert.", DefaultSeverity: 3, DefaultProbability: 3, ApplicableComponentTypes: []string{"software", "controller"}, RegulationReferences: []string{"CRA", "Maschinenverordnung 2023/1230"}, SuggestedMitigations: mustMarshalJSON([]string{"NTP-Synchronisation", "RTC im Geraet", "ISO-8601-Zeitstempel"}), IsBuiltin: true, TenantID: nil, CreatedAt: now, }, { ID: hazardUUID("logging_audit_failure", 5), Category: "logging_audit_failure", Name: "Audit-Trail loeschbar durch Bediener", Description: "Der Audit-Trail kann von einem normalen Bediener geloescht werden, was die Nachvollziehbarkeit von Sicherheitsereignissen untergaebt.", DefaultSeverity: 4, DefaultProbability: 2, ApplicableComponentTypes: []string{"software"}, RegulationReferences: []string{"CRA", "IEC 62443", "Maschinenverordnung 2023/1230"}, SuggestedMitigations: mustMarshalJSON([]string{"RBAC: Nur Admin darf loeschen", "Log-Export vor Loeschung", "Unanderbare Log-Speicherung"}), IsBuiltin: true, TenantID: nil, CreatedAt: now, }, // ==================================================================== // Category: integration_error (8 entries) // ==================================================================== { ID: hazardUUID("integration_error", 1), Category: "integration_error", Name: "Datentyp-Mismatch an Schnittstelle", Description: "Zwei Systeme tauschen Daten ueber eine Schnittstelle aus, die inkompatible Datentypen verwendet, was zu Interpretationsfehlern fuehrt.", DefaultSeverity: 4, DefaultProbability: 3, ApplicableComponentTypes: []string{"software", "network"}, RegulationReferences: []string{"IEC 62304", "IEC 62443"}, SuggestedMitigations: mustMarshalJSON([]string{"Schnittstellendefinition (IDL/Protobuf)", "Integrationstests", "Datentypvalidierung"}), IsBuiltin: true, TenantID: nil, CreatedAt: now, }, { ID: hazardUUID("integration_error", 2), Category: "integration_error", Name: "Endianness-Fehler bei Datenuebertragung", Description: "Big-Endian- und Little-Endian-Systeme kommunizieren ohne Byte-Order-Konvertierung, was zu falsch interpretierten numerischen Werten fuehrt.", DefaultSeverity: 4, DefaultProbability: 3, ApplicableComponentTypes: []string{"software", "network"}, RegulationReferences: []string{"IEC 62304", "IEC 62443"}, SuggestedMitigations: mustMarshalJSON([]string{"Explizite Byte-Order-Definiton", "Integrationstests", "Schnittstellenspezifikation"}), IsBuiltin: true, TenantID: nil, CreatedAt: now, }, { ID: hazardUUID("integration_error", 3), Category: "integration_error", Name: "Protokoll-Versions-Konflikt", Description: "Sender und Empfaenger verwenden unterschiedliche Protokollversionen, die nicht rueckwaertskompatibel sind, was zu Paketablehnung oder Fehlinterpretation fuehrt.", DefaultSeverity: 4, DefaultProbability: 3, ApplicableComponentTypes: []string{"software", "network", "firmware"}, RegulationReferences: []string{"IEC 62443", "CRA"}, SuggestedMitigations: mustMarshalJSON([]string{"Versions-Aushandlung beim Verbindungsaufbau", "Backward-Compatibilitaet", "Kompatibilitaets-Matrix"}), IsBuiltin: true, TenantID: nil, CreatedAt: now, }, { ID: hazardUUID("integration_error", 4), Category: "integration_error", Name: "Timeout nicht behandelt bei Kommunikation", Description: "Eine Kommunikationsverbindung bricht ab oder antwortet nicht, der Sender erkennt dies nicht und wartet unendlich lang.", DefaultSeverity: 4, DefaultProbability: 3, ApplicableComponentTypes: []string{"software", "network"}, RegulationReferences: []string{"IEC 62443", "Maschinenverordnung 2023/1230"}, SuggestedMitigations: mustMarshalJSON([]string{"Timeout-Konfiguration", "Watchdog-Timer", "Fail-Safe bei Verbindungsverlust"}), IsBuiltin: true, TenantID: nil, CreatedAt: now, }, { ID: hazardUUID("integration_error", 5), Category: "integration_error", Name: "Buffer Overflow an Schnittstelle", Description: "Eine Schnittstelle akzeptiert Eingaben, die groesser als der zugewiesene Puffer sind, was zu Speicher-Ueberschreibung und Kontrollfluss-Manipulation fuehrt.", DefaultSeverity: 5, DefaultProbability: 2, ApplicableComponentTypes: []string{"software", "firmware", "network"}, RegulationReferences: []string{"CRA", "IEC 62443", "IEC 62304"}, SuggestedMitigations: mustMarshalJSON([]string{"Laengenvalidierung", "Sichere Puffer-Funktionen", "Statische Analyse (z.B. MISRA)"}), IsBuiltin: true, TenantID: nil, CreatedAt: now, }, { ID: hazardUUID("integration_error", 6), Category: "integration_error", Name: "Fehlender Heartbeat bei Safety-Verbindung", Description: "Eine Safety-Kommunikationsverbindung sendet keinen periodischen Heartbeat, so dass ein stiller Ausfall (z.B. unterbrochenes Kabel) nicht erkannt wird.", DefaultSeverity: 5, DefaultProbability: 2, ApplicableComponentTypes: []string{"network", "software"}, RegulationReferences: []string{"IEC 61784-3", "ISO 13849", "IEC 62061"}, SuggestedMitigations: mustMarshalJSON([]string{"Heartbeat-Protokoll", "Verbindungsueberwachung", "Safe-State bei Heartbeat-Ausfall"}), IsBuiltin: true, TenantID: nil, CreatedAt: now, }, { ID: hazardUUID("integration_error", 7), Category: "integration_error", Name: "Falscher Skalierungsfaktor bei Sensordaten", Description: "Sensordaten werden mit einem falschen Faktor skaliert, was zu signifikant fehlerhaften Messwerten und moeglichen Fehlentscheidungen fuehrt.", DefaultSeverity: 4, DefaultProbability: 3, ApplicableComponentTypes: []string{"sensor", "software"}, RegulationReferences: []string{"Maschinenverordnung 2023/1230", "IEC 62304"}, SuggestedMitigations: mustMarshalJSON([]string{"Kalibrierungspruefung", "Plausibilitaetstest", "Schnittstellendokumentation"}), IsBuiltin: true, TenantID: nil, CreatedAt: now, }, { ID: hazardUUID("integration_error", 8), Category: "integration_error", Name: "Einheitenfehler (mm vs. inch)", Description: "Unterschiedliche Masseinheiten zwischen Systemen fuehren zu fehlerhaften Bewegungsbefehlen oder Werkzeugpositionierungen.", DefaultSeverity: 4, DefaultProbability: 3, ApplicableComponentTypes: []string{"software", "hmi"}, RegulationReferences: []string{"Maschinenverordnung 2023/1230", "IEC 62304"}, SuggestedMitigations: mustMarshalJSON([]string{"Explizite Einheitendefinition", "Einheitenkonvertierung in der Schnittstelle", "Integrationstests"}), IsBuiltin: true, TenantID: nil, CreatedAt: now, }, // ==================================================================== // Category: environmental_hazard (5 entries) // ==================================================================== { ID: hazardUUID("environmental_hazard", 1), Category: "environmental_hazard", Name: "Ausfall durch hohe Umgebungstemperatur", Description: "Hohe Umgebungstemperaturen ueberschreiten die spezifizierten Grenzwerte der Elektronik oder Aktorik und fuehren zu Fehlfunktionen.", DefaultSeverity: 4, DefaultProbability: 3, ApplicableComponentTypes: []string{"controller", "sensor"}, RegulationReferences: []string{"Maschinenverordnung 2023/1230", "IEC 60068-2"}, SuggestedMitigations: mustMarshalJSON([]string{"Betriebstemperatur-Spezifikation einhalten", "Klimaanlagensystem", "Temperatursensor + Abschaltung"}), IsBuiltin: true, TenantID: nil, CreatedAt: now, }, { ID: hazardUUID("environmental_hazard", 2), Category: "environmental_hazard", Name: "Ausfall bei Tieftemperatur", Description: "Sehr tiefe Temperaturen reduzieren die Viskositaet von Hydraulikfluessigkeiten, beeinflussen Elektronik und fuehren zu mechanischen Ausfaellen.", DefaultSeverity: 4, DefaultProbability: 3, ApplicableComponentTypes: []string{"actuator", "controller"}, RegulationReferences: []string{"Maschinenverordnung 2023/1230", "IEC 60068-2"}, SuggestedMitigations: mustMarshalJSON([]string{"Tieftemperatur-spezifizierte Komponenten", "Heizung im Schaltschrank", "Anlaeufroutine bei Kaeltestart"}), IsBuiltin: true, TenantID: nil, CreatedAt: now, }, { ID: hazardUUID("environmental_hazard", 3), Category: "environmental_hazard", Name: "Korrosion durch Feuchtigkeit", Description: "Hohe Luftfeuchtigkeit oder Kondenswasser fuehrt zur Korrosion von Kontakten und Leiterbahnen, was zu Ausfaellen und Isolationsfehlern fuehrt.", DefaultSeverity: 3, DefaultProbability: 4, ApplicableComponentTypes: []string{"controller", "sensor"}, RegulationReferences: []string{"Maschinenverordnung 2023/1230", "IEC 60529"}, SuggestedMitigations: mustMarshalJSON([]string{"IP-Schutz entsprechend der Umgebung", "Belueftung mit Filter", "Regelmaessige Inspektion"}), IsBuiltin: true, TenantID: nil, CreatedAt: now, }, { ID: hazardUUID("environmental_hazard", 4), Category: "environmental_hazard", Name: "Fehlfunktion durch Vibrationen", Description: "Mechanische Vibrationen lockern Verbindungen, schuetteln Kontakte auf oder beschaedigen Loetpunkte in Elektronikbaugruppen.", DefaultSeverity: 4, DefaultProbability: 3, ApplicableComponentTypes: []string{"controller", "sensor"}, RegulationReferences: []string{"Maschinenverordnung 2023/1230", "IEC 60068-2-6"}, SuggestedMitigations: mustMarshalJSON([]string{"Vibrationsdaempfung", "Vergossene Elektronik", "Regelmaessige Verbindungskontrolle"}), IsBuiltin: true, TenantID: nil, CreatedAt: now, }, { ID: hazardUUID("environmental_hazard", 5), Category: "environmental_hazard", Name: "Kontamination durch Staub oder Fluessigkeiten", Description: "Staub, Metallspaeene oder Kuehlmittel gelangen in das Gehaeuseinnere und fuehren zu Kurzschluessen, Isolationsfehlern oder Kuehlproblemen.", DefaultSeverity: 3, DefaultProbability: 4, ApplicableComponentTypes: []string{"controller", "hmi"}, RegulationReferences: []string{"Maschinenverordnung 2023/1230", "IEC 60529"}, SuggestedMitigations: mustMarshalJSON([]string{"Hohe IP-Schutzklasse", "Dichtungen regelmaessig pruefen", "Ueberdruck im Schaltschrank"}), IsBuiltin: true, TenantID: nil, CreatedAt: now, }, // ==================================================================== // Category: maintenance_hazard (6 entries) // ==================================================================== { ID: hazardUUID("maintenance_hazard", 1), Category: "maintenance_hazard", Name: "Wartung ohne LOTO-Prozedur", Description: "Wartungsarbeiten werden ohne korrekte Lockout/Tagout-Prozedur durchgefuehrt, sodass die Maschine waehrend der Arbeit anlaufen kann.", DefaultSeverity: 5, DefaultProbability: 3, ApplicableComponentTypes: []string{"controller", "software"}, RegulationReferences: []string{"Maschinenverordnung 2023/1230 Anhang I §1.6.3"}, SuggestedMitigations: mustMarshalJSON([]string{"LOTO-Funktion in Software", "Schulung", "Prozedur im Betriebshandbuch"}), IsBuiltin: true, TenantID: nil, CreatedAt: now, }, { ID: hazardUUID("maintenance_hazard", 2), Category: "maintenance_hazard", Name: "Fehlende LOTO-Funktion in Software", Description: "Die Steuerungssoftware bietet keine Moeglichkeit, die Maschine fuer Wartungsarbeiten sicher zu sperren und zu verriegeln.", DefaultSeverity: 5, DefaultProbability: 2, ApplicableComponentTypes: []string{"software", "hmi"}, RegulationReferences: []string{"Maschinenverordnung 2023/1230 Anhang I §1.6.3"}, SuggestedMitigations: mustMarshalJSON([]string{"Software-LOTO implementieren", "Wartungsmodus mit Schluessel", "Energiesperrfunktion"}), IsBuiltin: true, TenantID: nil, CreatedAt: now, }, { ID: hazardUUID("maintenance_hazard", 3), Category: "maintenance_hazard", Name: "Wartung bei laufender Maschine", Description: "Wartungsarbeiten werden an betriebener Maschine durchgefuehrt, weil kein erzwungener Wartungsmodus vorhanden ist.", DefaultSeverity: 5, DefaultProbability: 2, ApplicableComponentTypes: []string{"software", "controller"}, RegulationReferences: []string{"Maschinenverordnung 2023/1230", "ISO 13849"}, SuggestedMitigations: mustMarshalJSON([]string{"Erzwungenes Abschalten fuer Wartungsmodus", "Schluesselschalter", "Schutzmassnahmen im Wartungsmodus"}), IsBuiltin: true, TenantID: nil, CreatedAt: now, }, { ID: hazardUUID("maintenance_hazard", 4), Category: "maintenance_hazard", Name: "Wartungs-Tool ohne Zugangskontrolle", Description: "Ein Diagnose- oder Wartungswerkzeug ist ohne Authentifizierung zugaenglich und ermoeglicht die unbeaufsichtigte Aenderung von Sicherheitsparametern.", DefaultSeverity: 4, DefaultProbability: 2, ApplicableComponentTypes: []string{"software", "hmi"}, RegulationReferences: []string{"IEC 62443", "CRA"}, SuggestedMitigations: mustMarshalJSON([]string{"Authentifizierung fuer Wartungs-Tools", "Rollenkonzept", "Audit-Log fuer Wartungszugriffe"}), IsBuiltin: true, TenantID: nil, CreatedAt: now, }, { ID: hazardUUID("maintenance_hazard", 5), Category: "maintenance_hazard", Name: "Unsichere Demontage gefaehrlicher Baugruppen", Description: "Die Betriebsanleitung beschreibt nicht, wie gefaehrliche Baugruppen (z.B. Hochvolt, gespeicherte Energie) sicher demontiert werden.", DefaultSeverity: 5, DefaultProbability: 2, ApplicableComponentTypes: []string{"other"}, RegulationReferences: []string{"Maschinenverordnung 2023/1230 Anhang I §1.7.4"}, SuggestedMitigations: mustMarshalJSON([]string{"Detaillierte Demontageanleitung", "Warnhinweise an Geraet", "Schulung des Wartungspersonals"}), IsBuiltin: true, TenantID: nil, CreatedAt: now, }, { ID: hazardUUID("maintenance_hazard", 6), Category: "maintenance_hazard", Name: "Wiederanlauf nach Wartung ohne Freigabeprozedur", Description: "Nach Wartungsarbeiten wird die Maschine ohne formelle Freigabeprozedur wieder in Betrieb genommen, was zu Verletzungen bei noch anwesendem Personal fuehren kann.", DefaultSeverity: 5, DefaultProbability: 2, ApplicableComponentTypes: []string{"software", "hmi"}, RegulationReferences: []string{"Maschinenverordnung 2023/1230 Anhang I §1.6.3", "ISO 13849"}, SuggestedMitigations: mustMarshalJSON([]string{"Software-Wiederanlauf-Freigabe", "Gefahrenbereich-Pruefung vor Anlauf", "Akustisches Warnsignal vor Anlauf"}), IsBuiltin: true, TenantID: nil, CreatedAt: now, }, } entries = append(entries, extended...) // ==================================================================== // ISO 12100 Machine Safety Hazard Extensions (~54 entries) // ==================================================================== iso12100Entries := []HazardLibraryEntry{ // ==================================================================== // Category: mechanical_hazard (indices 7-20, 14 entries) // ==================================================================== { ID: hazardUUID("mechanical_hazard", 7), Category: "mechanical_hazard", SubCategory: "quetschgefahr", Name: "Quetschgefahr durch gegenlaeufige Walzen", Description: "Zwischen gegenlaeufig rotierenden Walzen entsteht ein Einzugspunkt, an dem Koerperteile oder Kleidung eingezogen und gequetscht werden koennen.", DefaultSeverity: 5, DefaultProbability: 3, DefaultExposure: 3, DefaultAvoidance: 3, ApplicableComponentTypes: []string{"mechanical", "actuator"}, RegulationReferences: []string{"Maschinenverordnung 2023/1230 Anhang I"}, SuggestedMitigations: mustMarshalJSON([]string{"Feststehende trennende Schutzeinrichtung am Walzeneinlauf", "Zweihandbedienung bei manueller Beschickung"}), TypicalCauses: []string{"Fehlende Schutzabdeckung am Einzugspunkt", "Manuelle Materialzufuehrung ohne Hilfsmittel", "Wartung bei laufender Maschine"}, TypicalHarm: "Quetschverletzungen an Fingern, Haenden oder Armen bis hin zu Amputationen", RelevantLifecyclePhases: []string{"normal_operation", "maintenance", "setup"}, RecommendedMeasuresDesign: []string{"Mindestabstand zwischen Walzen groesser als 25 mm oder kleiner als 5 mm", "Einzugspunkt ausserhalb der Reichweite positionieren"}, RecommendedMeasuresTechnical: []string{"Schutzgitter mit Sicherheitsverriegelung", "Lichtschranke vor dem Einzugsbereich"}, RecommendedMeasuresInformation: []string{"Warnschilder am Einzugspunkt", "Betriebsanweisung zur sicheren Beschickung"}, SuggestedEvidence: []string{"Pruefbericht der Schutzeinrichtung", "Risikobeurteilung nach ISO 12100"}, RelatedKeywords: []string{"Walzen", "Einzugspunkt", "Quetschstelle"}, IsBuiltin: true, TenantID: nil, CreatedAt: now, }, { ID: hazardUUID("mechanical_hazard", 8), Category: "mechanical_hazard", SubCategory: "schergefahr", Name: "Schergefahr an beweglichen Maschinenteilen", Description: "Durch gegeneinander bewegte Maschinenteile entstehen Scherstellen, die zu schweren Schnitt- und Trennverletzungen fuehren koennen.", DefaultSeverity: 5, DefaultProbability: 3, DefaultExposure: 3, DefaultAvoidance: 3, ApplicableComponentTypes: []string{"mechanical", "actuator"}, RegulationReferences: []string{"Maschinenverordnung 2023/1230 Anhang I"}, SuggestedMitigations: mustMarshalJSON([]string{"Trennende Schutzeinrichtung an der Scherstelle", "Sicherheitsabstand nach ISO 13857"}), TypicalCauses: []string{"Unzureichender Sicherheitsabstand", "Fehlende Schutzverkleidung", "Eingriff waehrend des Betriebs"}, TypicalHarm: "Schnitt- und Trennverletzungen an Fingern und Haenden", RelevantLifecyclePhases: []string{"normal_operation", "maintenance"}, RecommendedMeasuresDesign: []string{"Sicherheitsabstaende nach ISO 13857 einhalten", "Scherstellen konstruktiv vermeiden"}, RecommendedMeasuresTechnical: []string{"Verriegelte Schutzhauben", "Not-Halt in unmittelbarer Naehe"}, RecommendedMeasuresInformation: []string{"Gefahrenhinweis an Scherstellen", "Schulung der Bediener"}, SuggestedEvidence: []string{"Abstandsmessung gemaess ISO 13857", "Risikobeurteilung"}, RelatedKeywords: []string{"Scherstelle", "Gegenlaeufig", "Schneidgefahr"}, IsBuiltin: true, TenantID: nil, CreatedAt: now, }, { ID: hazardUUID("mechanical_hazard", 9), Category: "mechanical_hazard", SubCategory: "schneidgefahr", Name: "Schneidgefahr durch rotierende Werkzeuge", Description: "Rotierende Schneidwerkzeuge wie Fraeser, Saegeblaetter oder Messer koennen bei Kontakt schwere Schnittverletzungen verursachen.", DefaultSeverity: 5, DefaultProbability: 3, DefaultExposure: 3, DefaultAvoidance: 2, ApplicableComponentTypes: []string{"mechanical"}, RegulationReferences: []string{"Maschinenverordnung 2023/1230 Anhang I"}, SuggestedMitigations: mustMarshalJSON([]string{"Vollstaendige Einhausung des Werkzeugs", "Automatische Werkzeugbremse bei Schutztueroeffnung"}), TypicalCauses: []string{"Offene Schutzhaube waehrend des Betriebs", "Nachlauf des Werkzeugs nach Abschaltung", "Werkzeugbruch"}, TypicalHarm: "Tiefe Schnittwunden bis hin zu Gliedmassentrennung", RelevantLifecyclePhases: []string{"normal_operation", "setup", "maintenance"}, RecommendedMeasuresDesign: []string{"Vollstaendige Einhausung mit Verriegelung", "Werkzeugbremse mit kurzer Nachlaufzeit"}, RecommendedMeasuresTechnical: []string{"Verriegelte Schutzhaube mit Zuhaltung", "Drehzahlueberwachung"}, RecommendedMeasuresInformation: []string{"Warnhinweis zur Nachlaufzeit", "Betriebsanweisung zum Werkzeugwechsel"}, SuggestedEvidence: []string{"Nachlaufzeitmessung", "Pruefbericht Schutzeinrichtung"}, RelatedKeywords: []string{"Fraeser", "Saegeblatt", "Schneidwerkzeug"}, IsBuiltin: true, TenantID: nil, CreatedAt: now, }, { ID: hazardUUID("mechanical_hazard", 10), Category: "mechanical_hazard", SubCategory: "einzugsgefahr", Name: "Einzugsgefahr durch Foerderbaender", Description: "An Umlenkrollen und Antriebstrommeln von Foerderbaendern bestehen Einzugsstellen, die Koerperteile oder Kleidung erfassen koennen.", DefaultSeverity: 4, DefaultProbability: 3, DefaultExposure: 4, DefaultAvoidance: 3, ApplicableComponentTypes: []string{"mechanical", "actuator"}, RegulationReferences: []string{"Maschinenverordnung 2023/1230 Anhang I"}, SuggestedMitigations: mustMarshalJSON([]string{"Schutzverkleidung an Umlenkrollen", "Not-Halt-Reissleine entlang des Foerderbands"}), TypicalCauses: []string{"Fehlende Abdeckung an Umlenkpunkten", "Reinigung bei laufendem Band", "Lose Kleidung des Personals"}, TypicalHarm: "Einzugsverletzungen an Armen und Haenden, Quetschungen", RelevantLifecyclePhases: []string{"normal_operation", "cleaning", "maintenance"}, RecommendedMeasuresDesign: []string{"Umlenkrollen mit Schutzverkleidung", "Unterflur-Foerderung wo moeglich"}, RecommendedMeasuresTechnical: []string{"Not-Halt-Reissleine", "Bandschieflauf-Erkennung"}, RecommendedMeasuresInformation: []string{"Kleidervorschrift fuer Bedienpersonal", "Sicherheitsunterweisung"}, SuggestedEvidence: []string{"Pruefbericht der Schutzeinrichtungen", "Risikobeurteilung"}, RelatedKeywords: []string{"Foerderband", "Umlenkrolle", "Einzugsstelle"}, IsBuiltin: true, TenantID: nil, CreatedAt: now, }, { ID: hazardUUID("mechanical_hazard", 11), Category: "mechanical_hazard", SubCategory: "erfassungsgefahr", Name: "Erfassungsgefahr durch rotierende Wellen", Description: "Freiliegende rotierende Wellen, Kupplungen oder Zapfen koennen Kleidung oder Haare erfassen und Personen in die Drehbewegung hineinziehen.", DefaultSeverity: 5, DefaultProbability: 3, DefaultExposure: 3, DefaultAvoidance: 2, ApplicableComponentTypes: []string{"mechanical", "actuator"}, RegulationReferences: []string{"Maschinenverordnung 2023/1230 Anhang I"}, SuggestedMitigations: mustMarshalJSON([]string{"Vollstaendige Verkleidung rotierender Wellen", "Drehmomentbegrenzung"}), TypicalCauses: []string{"Fehlende Wellenabdeckung", "Lose Kleidungsstuecke", "Wartung bei laufender Welle"}, TypicalHarm: "Erfassungsverletzungen mit Knochenbruechen, Skalpierungen oder toedlichem Ausgang", RelevantLifecyclePhases: []string{"normal_operation", "maintenance"}, RecommendedMeasuresDesign: []string{"Wellen vollstaendig einhausen", "Kupplungen mit Schutzhuelsen"}, RecommendedMeasuresTechnical: []string{"Verriegelte Schutzabdeckung", "Stillstandsueberwachung fuer Wartungszugang"}, RecommendedMeasuresInformation: []string{"Kleiderordnung ohne lose Teile", "Warnschilder an Wellenabdeckungen"}, SuggestedEvidence: []string{"Inspektionsbericht Wellenabdeckungen", "Risikobeurteilung"}, RelatedKeywords: []string{"Welle", "Kupplung", "Erfassung"}, IsBuiltin: true, TenantID: nil, CreatedAt: now, }, { ID: hazardUUID("mechanical_hazard", 12), Category: "mechanical_hazard", SubCategory: "stossgefahr", Name: "Stossgefahr durch pneumatische/hydraulische Zylinder", Description: "Schnell ausfahrende Pneumatik- oder Hydraulikzylinder koennen Personen stossen oder einklemmen, insbesondere bei unerwartetem Anlauf.", DefaultSeverity: 4, DefaultProbability: 3, DefaultExposure: 3, DefaultAvoidance: 3, ApplicableComponentTypes: []string{"actuator", "mechanical"}, RegulationReferences: []string{"Maschinenverordnung 2023/1230 Anhang I"}, SuggestedMitigations: mustMarshalJSON([]string{"Geschwindigkeitsbegrenzung durch Drosselventile", "Schutzeinrichtung im Bewegungsbereich"}), TypicalCauses: []string{"Fehlende Endlagendaempfung", "Unerwarteter Druckaufbau", "Aufenthalt im Bewegungsbereich"}, TypicalHarm: "Prellungen, Knochenbrueche, Einklemmverletzungen", RelevantLifecyclePhases: []string{"normal_operation", "setup", "maintenance"}, RecommendedMeasuresDesign: []string{"Endlagendaempfung vorsehen", "Zylindergeschwindigkeit begrenzen"}, RecommendedMeasuresTechnical: []string{"Lichtvorhang im Bewegungsbereich", "Druckspeicher-Entlastungsventil"}, RecommendedMeasuresInformation: []string{"Kennzeichnung des Bewegungsbereichs", "Betriebsanweisung"}, SuggestedEvidence: []string{"Geschwindigkeitsmessung", "Risikobeurteilung"}, RelatedKeywords: []string{"Zylinder", "Pneumatik", "Stossgefahr"}, IsBuiltin: true, TenantID: nil, CreatedAt: now, }, { ID: hazardUUID("mechanical_hazard", 13), Category: "mechanical_hazard", SubCategory: "herabfallende_teile", Name: "Herabfallende Teile aus Werkstueckhalterung", Description: "Unzureichend gesicherte Werkstuecke oder Werkzeuge koennen sich aus der Halterung loesen und herabfallen.", DefaultSeverity: 4, DefaultProbability: 2, DefaultExposure: 3, DefaultAvoidance: 3, ApplicableComponentTypes: []string{"mechanical"}, RegulationReferences: []string{"Maschinenverordnung 2023/1230 Anhang I"}, SuggestedMitigations: mustMarshalJSON([]string{"Spannkraftueberwachung der Halterung", "Schutzdach ueber dem Bedienerbereich"}), TypicalCauses: []string{"Unzureichende Spannkraft", "Vibration lockert die Halterung", "Falsches Werkstueck-Spannmittel"}, TypicalHarm: "Kopfverletzungen, Prellungen, Quetschungen durch herabfallende Teile", RelevantLifecyclePhases: []string{"normal_operation", "setup"}, RecommendedMeasuresDesign: []string{"Spannkraftueberwachung mit Abschaltung", "Auffangvorrichtung unter Werkstueck"}, RecommendedMeasuresTechnical: []string{"Sensor zur Spannkraftueberwachung", "Schutzhaube"}, RecommendedMeasuresInformation: []string{"Pruefanweisung vor Bearbeitungsstart", "Schutzhelmpflicht im Gefahrenbereich"}, SuggestedEvidence: []string{"Pruefprotokoll Spannmittel", "Risikobeurteilung"}, RelatedKeywords: []string{"Werkstueck", "Spannmittel", "Herabfallen"}, IsBuiltin: true, TenantID: nil, CreatedAt: now, }, { ID: hazardUUID("mechanical_hazard", 14), Category: "mechanical_hazard", SubCategory: "wegschleudern", Name: "Wegschleudern von Bruchstuecken bei Werkzeugversagen", Description: "Bei Werkzeugbruch koennen Bruchstuecke mit hoher Geschwindigkeit weggeschleudert werden und Personen im Umfeld verletzen.", DefaultSeverity: 5, DefaultProbability: 2, DefaultExposure: 3, DefaultAvoidance: 2, ApplicableComponentTypes: []string{"mechanical"}, RegulationReferences: []string{"Maschinenverordnung 2023/1230 Anhang I"}, SuggestedMitigations: mustMarshalJSON([]string{"Splitterschutzscheibe aus Polycarbonat", "Regelmae­ssige Werkzeuginspektion"}), TypicalCauses: []string{"Werkzeugverschleiss", "Ueberschreitung der zulaessigen Drehzahl", "Materialfehler im Werkzeug"}, TypicalHarm: "Durchdringende Verletzungen durch Bruchstuecke, Augenverletzungen", RelevantLifecyclePhases: []string{"normal_operation"}, RecommendedMeasuresDesign: []string{"Splitterschutz in der Einhausung", "Drehzahlbegrenzung des Werkzeugs"}, RecommendedMeasuresTechnical: []string{"Unwuchtueberwachung", "Brucherkennungssensor"}, RecommendedMeasuresInformation: []string{"Maximaldrehzahl am Werkzeug kennzeichnen", "Schutzbrillenpflicht"}, SuggestedEvidence: []string{"Bersttest der Einhausung", "Werkzeuginspektionsprotokoll"}, RelatedKeywords: []string{"Werkzeugbruch", "Splitter", "Schleudern"}, IsBuiltin: true, TenantID: nil, CreatedAt: now, }, { ID: hazardUUID("mechanical_hazard", 15), Category: "mechanical_hazard", SubCategory: "instabilitaet", Name: "Instabilitaet der Maschine durch fehlendes Fundament", Description: "Eine unzureichend verankerte oder falsch aufgestellte Maschine kann kippen oder sich verschieben, insbesondere bei dynamischen Kraeften.", DefaultSeverity: 4, DefaultProbability: 2, DefaultExposure: 2, DefaultAvoidance: 3, ApplicableComponentTypes: []string{"mechanical"}, RegulationReferences: []string{"Maschinenverordnung 2023/1230 Anhang I"}, SuggestedMitigations: mustMarshalJSON([]string{"Fundamentberechnung und Verankerung", "Standsicherheitsnachweis"}), TypicalCauses: []string{"Fehlende Bodenverankerung", "Ungeeigneter Untergrund", "Erhoehte dynamische Lasten"}, TypicalHarm: "Quetschverletzungen durch kippende Maschine, Sachschaeden", RelevantLifecyclePhases: []string{"installation", "normal_operation", "transport"}, RecommendedMeasuresDesign: []string{"Niedriger Schwerpunkt der Maschine", "Befestigungspunkte im Maschinenrahmen"}, RecommendedMeasuresTechnical: []string{"Bodenverankerung mit Schwerlastduebeln", "Nivellierelemente mit Kippsicherung"}, RecommendedMeasuresInformation: []string{"Aufstellanleitung mit Fundamentplan", "Hinweis auf maximale Bodenbelastung"}, SuggestedEvidence: []string{"Standsicherheitsnachweis", "Fundamentplan"}, RelatedKeywords: []string{"Fundament", "Standsicherheit", "Kippen"}, IsBuiltin: true, TenantID: nil, CreatedAt: now, }, { ID: hazardUUID("mechanical_hazard", 16), Category: "mechanical_hazard", SubCategory: "wiederanlauf", Name: "Unkontrollierter Wiederanlauf nach Energieunterbruch", Description: "Nach einem Stromausfall oder Druckabfall kann die Maschine unkontrolliert wieder anlaufen und Personen im Gefahrenbereich verletzen.", DefaultSeverity: 5, DefaultProbability: 3, DefaultExposure: 3, DefaultAvoidance: 2, ApplicableComponentTypes: []string{"mechanical", "controller", "electrical"}, RegulationReferences: []string{"Maschinenverordnung 2023/1230 Anhang I"}, SuggestedMitigations: mustMarshalJSON([]string{"Wiederanlaufsperre nach Energierueckkehr", "Quittierungspflichtiger Neustart"}), TypicalCauses: []string{"Fehlende Wiederanlaufsperre", "Stromausfall mit anschliessendem automatischem Neustart", "Druckaufbau nach Leckagereparatur"}, TypicalHarm: "Verletzungen durch unerwartete Maschinenbewegung bei Wiederanlauf", RelevantLifecyclePhases: []string{"normal_operation", "maintenance", "fault_finding"}, RecommendedMeasuresDesign: []string{"Wiederanlaufsperre in der Steuerung", "Energiespeicher sicher entladen"}, RecommendedMeasuresTechnical: []string{"Schaltschuetz mit Selbsthaltung", "Druckschalter mit Ruecksetzbedingung"}, RecommendedMeasuresInformation: []string{"Hinweis auf Wiederanlaufverhalten", "Verfahrensanweisung nach Energieausfall"}, SuggestedEvidence: []string{"Funktionstest Wiederanlaufsperre", "Risikobeurteilung"}, RelatedKeywords: []string{"Wiederanlauf", "Stromausfall", "Anlaufsperre"}, IsBuiltin: true, TenantID: nil, CreatedAt: now, }, { ID: hazardUUID("mechanical_hazard", 17), Category: "mechanical_hazard", SubCategory: "reibungsgefahr", Name: "Reibungsgefahr an rauen Oberflaechen", Description: "Raue, scharfkantige oder gratbehaftete Maschinenoberlaechen koennen bei Kontakt zu Hautabschuerfungen und Schnittverletzungen fuehren.", DefaultSeverity: 3, DefaultProbability: 3, DefaultExposure: 4, DefaultAvoidance: 4, ApplicableComponentTypes: []string{"mechanical"}, RegulationReferences: []string{"Maschinenverordnung 2023/1230 Anhang I"}, SuggestedMitigations: mustMarshalJSON([]string{"Entgraten aller zugaenglichen Kanten", "Schutzhandschuhe fuer Bedienpersonal"}), TypicalCauses: []string{"Nicht entgratete Schnittkanten", "Korrosionsraue Oberflaechen", "Verschleissbedingter Materialabtrag"}, TypicalHarm: "Hautabschuerfungen, Schnittverletzungen an Haenden und Armen", RelevantLifecyclePhases: []string{"normal_operation", "maintenance", "setup"}, RecommendedMeasuresDesign: []string{"Kanten brechen oder abrunden", "Glatte Oberflaechen an Kontaktstellen"}, RecommendedMeasuresTechnical: []string{"Kantenschutzprofile anbringen"}, RecommendedMeasuresInformation: []string{"Hinweis auf scharfe Kanten", "Handschuhpflicht in der Betriebsanweisung"}, SuggestedEvidence: []string{"Oberflaechenpruefung", "Risikobeurteilung"}, RelatedKeywords: []string{"Grat", "Scharfkantig", "Oberflaeche"}, IsBuiltin: true, TenantID: nil, CreatedAt: now, }, { ID: hazardUUID("mechanical_hazard", 18), Category: "mechanical_hazard", SubCategory: "hochdruckstrahl", Name: "Fluessigkeitshochdruckstrahl", Description: "Hochdruckstrahlen aus Hydraulik-, Kuehl- oder Reinigungssystemen koennen Haut durchdringen und schwere Gewebeschaeden verursachen.", DefaultSeverity: 5, DefaultProbability: 2, DefaultExposure: 2, DefaultAvoidance: 2, ApplicableComponentTypes: []string{"mechanical", "actuator"}, RegulationReferences: []string{"Maschinenverordnung 2023/1230 Anhang I"}, SuggestedMitigations: mustMarshalJSON([]string{"Abschirmung von Hochdruckleitungen", "Regelmae­ssige Leitungsinspektion"}), TypicalCauses: []string{"Leitungsbruch unter Hochdruck", "Undichte Verschraubungen", "Alterung von Schlauchleitungen"}, TypicalHarm: "Hochdruckinjektionsverletzungen, Gewebsnekrose", RelevantLifecyclePhases: []string{"normal_operation", "maintenance"}, RecommendedMeasuresDesign: []string{"Schlauchbruchsicherungen einbauen", "Leitungen ausserhalb des Aufenthaltsbereichs verlegen"}, RecommendedMeasuresTechnical: []string{"Druckabschaltung bei Leitungsbruch", "Schutzblechverkleidung"}, RecommendedMeasuresInformation: []string{"Warnhinweis an Hochdruckleitungen", "Prueffristen fuer Schlauchleitungen"}, SuggestedEvidence: []string{"Druckpruefprotokoll", "Inspektionsbericht Schlauchleitungen"}, RelatedKeywords: []string{"Hochdruck", "Hydraulikleitung", "Injection"}, IsBuiltin: true, TenantID: nil, CreatedAt: now, }, { ID: hazardUUID("mechanical_hazard", 19), Category: "mechanical_hazard", SubCategory: "federelemente", Name: "Gefahr durch federgespannte Elemente", Description: "Unter Spannung stehende Federn oder elastische Elemente koennen bei unkontrolliertem Loesen Teile wegschleudern oder Personen verletzen.", DefaultSeverity: 4, DefaultProbability: 2, DefaultExposure: 2, DefaultAvoidance: 3, ApplicableComponentTypes: []string{"mechanical"}, RegulationReferences: []string{"Maschinenverordnung 2023/1230 Anhang I"}, SuggestedMitigations: mustMarshalJSON([]string{"Gesicherte Federentspannung vor Demontage", "Warnung bei vorgespannten Elementen"}), TypicalCauses: []string{"Demontage ohne vorherige Entspannung", "Materialermuedung der Feder", "Fehlende Kennzeichnung vorgespannter Elemente"}, TypicalHarm: "Verletzungen durch wegschleudernde Federelemente, Prellungen", RelevantLifecyclePhases: []string{"maintenance", "decommissioning"}, RecommendedMeasuresDesign: []string{"Sichere Entspannungsmoeglichkeit vorsehen", "Federn mit Bruchsicherung"}, RecommendedMeasuresTechnical: []string{"Spezialwerkzeug zur Federentspannung"}, RecommendedMeasuresInformation: []string{"Kennzeichnung vorgespannter Elemente", "Wartungsanweisung mit Entspannungsprozedur"}, SuggestedEvidence: []string{"Wartungsanweisung", "Risikobeurteilung"}, RelatedKeywords: []string{"Feder", "Vorspannung", "Energiespeicher"}, IsBuiltin: true, TenantID: nil, CreatedAt: now, }, { ID: hazardUUID("mechanical_hazard", 20), Category: "mechanical_hazard", SubCategory: "schutztor", Name: "Quetschgefahr im Schliessbereich von Schutztoren", Description: "Automatisch schliessende Schutztore und -tueren koennen Personen im Schliessbereich einklemmen oder quetschen.", DefaultSeverity: 4, DefaultProbability: 3, DefaultExposure: 4, DefaultAvoidance: 3, ApplicableComponentTypes: []string{"mechanical", "actuator", "sensor"}, RegulationReferences: []string{"Maschinenverordnung 2023/1230 Anhang I"}, SuggestedMitigations: mustMarshalJSON([]string{"Schliess­kantensicherung mit Kontaktleiste", "Lichtschranke im Schliessbereich"}), TypicalCauses: []string{"Fehlende Schliesskantensicherung", "Defekter Sensor", "Person im Schliessbereich nicht erkannt"}, TypicalHarm: "Quetschverletzungen an Koerper oder Gliedmassen", RelevantLifecyclePhases: []string{"normal_operation", "maintenance"}, RecommendedMeasuresDesign: []string{"Schliess­kraftbegrenzung", "Reversierautomatik bei Hindernis"}, RecommendedMeasuresTechnical: []string{"Kontaktleiste an der Schliesskante", "Lichtschranke im Durchgangsbereich"}, RecommendedMeasuresInformation: []string{"Warnhinweis am Schutztor", "Automatik-Betrieb kennzeichnen"}, SuggestedEvidence: []string{"Schliesskraftmessung", "Funktionstest Reversierautomatik"}, RelatedKeywords: []string{"Schutztor", "Schliesskante", "Einklemmen"}, IsBuiltin: true, TenantID: nil, CreatedAt: now, }, // ==================================================================== // Category: electrical_hazard (indices 7-10, 4 entries) // ==================================================================== { ID: hazardUUID("electrical_hazard", 7), Category: "electrical_hazard", SubCategory: "lichtbogen", Name: "Lichtbogengefahr bei Schalthandlungen", Description: "Beim Schalten unter Last kann ein Lichtbogen entstehen, der zu Verbrennungen und Augenschaeden fuehrt.", DefaultSeverity: 5, DefaultProbability: 2, DefaultExposure: 2, DefaultAvoidance: 2, ApplicableComponentTypes: []string{"electrical"}, RegulationReferences: []string{"Maschinenverordnung 2023/1230 Anhang I"}, SuggestedMitigations: mustMarshalJSON([]string{"Lichtbogenschutzkleidung (PSA)", "Fernbediente Schaltgeraete"}), TypicalCauses: []string{"Schalten unter Last", "Verschmutzte Kontakte", "Fehlbedienung bei Wartung"}, TypicalHarm: "Verbrennungen durch Lichtbogen, Augenschaeden, Druckwelle", RelevantLifecyclePhases: []string{"maintenance", "fault_finding"}, RecommendedMeasuresDesign: []string{"Lasttrennschalter mit Lichtbogenkammer", "Beruerungs­sichere Klemmleisten"}, RecommendedMeasuresTechnical: []string{"Lichtbogen-Erkennungssystem", "Fernausloesemoeglich­keit"}, RecommendedMeasuresInformation: []string{"PSA-Pflicht bei Schalthandlungen", "Schaltbefugnisregelung"}, SuggestedEvidence: []string{"Lichtbogenberechnung", "PSA-Ausstattungsnachweis"}, RelatedKeywords: []string{"Lichtbogen", "Schalthandlung", "Arc Flash"}, IsBuiltin: true, TenantID: nil, CreatedAt: now, }, { ID: hazardUUID("electrical_hazard", 8), Category: "electrical_hazard", SubCategory: "ueberstrom", Name: "Ueberstrom durch Kurzschluss", Description: "Ein Kurzschluss kann zu extrem hohen Stroemen fuehren, die Leitungen ueberhitzen, Braende ausloesen und Bauteile zerstoeren.", DefaultSeverity: 4, DefaultProbability: 2, DefaultExposure: 2, DefaultAvoidance: 3, ApplicableComponentTypes: []string{"electrical"}, RegulationReferences: []string{"Maschinenverordnung 2023/1230 Anhang I"}, SuggestedMitigations: mustMarshalJSON([]string{"Selektive Absicherung mit Schmelzsicherungen", "Kurzschlussberechnung und Abschaltzeit­nachweis"}), TypicalCauses: []string{"Beschaedigte Leitungsisolierung", "Feuchtigkeitseintritt", "Fehlerhafte Verdrahtung"}, TypicalHarm: "Brandgefahr, Zerstoerung elektrischer Betriebsmittel", RelevantLifecyclePhases: []string{"normal_operation", "maintenance", "installation"}, RecommendedMeasuresDesign: []string{"Kurzschlussfeste Dimensionierung der Leitungen", "Selektive Schutzkoordination"}, RecommendedMeasuresTechnical: []string{"Leitungsschutzschalter", "Fehlerstrom-Schutzeinrichtung"}, RecommendedMeasuresInformation: []string{"Stromlaufplan aktuell halten", "Prueffristen fuer elektrische Anlage"}, SuggestedEvidence: []string{"Kurzschlussberechnung", "Pruefprotokoll nach DGUV V3"}, RelatedKeywords: []string{"Kurzschluss", "Ueberstrom", "Leitungsschutz"}, IsBuiltin: true, TenantID: nil, CreatedAt: now, }, { ID: hazardUUID("electrical_hazard", 9), Category: "electrical_hazard", SubCategory: "erdungsfehler", Name: "Erdungsfehler im Schutzleitersystem", Description: "Ein unterbrochener oder fehlerhafter Schutzleiter verhindert die sichere Ableitung von Fehlerstroemen und macht Gehaeuse spannungsfuehrend.", DefaultSeverity: 5, DefaultProbability: 2, DefaultExposure: 3, DefaultAvoidance: 2, ApplicableComponentTypes: []string{"electrical"}, RegulationReferences: []string{"Maschinenverordnung 2023/1230 Anhang I"}, SuggestedMitigations: mustMarshalJSON([]string{"Regelmaessige Schutzleiterpruefung", "Fehlerstrom-Schutzschalter als Zusatzmassnahme"}), TypicalCauses: []string{"Lose Schutzleiterklemme", "Korrosion an Erdungspunkten", "Vergessener Schutzleiteranschluss nach Wartung"}, TypicalHarm: "Elektrischer Schlag bei Beruehrung des Maschinengehaeuses", RelevantLifecyclePhases: []string{"normal_operation", "maintenance", "installation"}, RecommendedMeasuresDesign: []string{"Redundante Schutzleiteranschluesse", "Schutzleiter-Monitoring"}, RecommendedMeasuresTechnical: []string{"RCD-Schutzschalter 30 mA", "Isolationsueberwachung"}, RecommendedMeasuresInformation: []string{"Pruefplaketten an Schutzleiterpunkten", "Prueffrist 12 Monate"}, SuggestedEvidence: []string{"Schutzleitermessung", "Pruefprotokoll DGUV V3"}, RelatedKeywords: []string{"Schutzleiter", "Erdung", "Fehlerstrom"}, IsBuiltin: true, TenantID: nil, CreatedAt: now, }, { ID: hazardUUID("electrical_hazard", 10), Category: "electrical_hazard", SubCategory: "isolationsversagen", Name: "Isolationsversagen in Hochspannungsbereich", Description: "Alterung, Verschmutzung oder mechanische Beschaedigung der Isolierung in Hochspannungsbereichen kann zu Spannungsueberschlaegen und Koerperdurchstroemung fuehren.", DefaultSeverity: 5, DefaultProbability: 2, DefaultExposure: 2, DefaultAvoidance: 2, ApplicableComponentTypes: []string{"electrical"}, RegulationReferences: []string{"Maschinenverordnung 2023/1230 Anhang I"}, SuggestedMitigations: mustMarshalJSON([]string{"Isolationswiderstandsmessung", "Spannungsfeste Einhausung"}), TypicalCauses: []string{"Alterung der Isolierstoffe", "Mechanische Beschaedigung", "Verschmutzung und Feuchtigkeit"}, TypicalHarm: "Toedlicher Stromschlag, Verbrennungen durch Spannungsueberschlag", RelevantLifecyclePhases: []string{"normal_operation", "maintenance"}, RecommendedMeasuresDesign: []string{"Verstaerkte Isolierung in kritischen Bereichen", "Luftstrecken und Kriechstrecken einhalten"}, RecommendedMeasuresTechnical: []string{"Isolationsueberwachungsgeraet", "Verriegelter Zugang zum Hochspannungsbereich"}, RecommendedMeasuresInformation: []string{"Hochspannungswarnung", "Zutrittsregelung fuer Elektrofachkraefte"}, SuggestedEvidence: []string{"Isolationsmessprotokoll", "Pruefbericht Hochspannungsbereich"}, RelatedKeywords: []string{"Isolation", "Hochspannung", "Durchschlag"}, IsBuiltin: true, TenantID: nil, CreatedAt: now, }, // ==================================================================== // Category: thermal_hazard (indices 5-8, 4 entries) // ==================================================================== { ID: hazardUUID("thermal_hazard", 5), Category: "thermal_hazard", SubCategory: "kaeltekontakt", Name: "Kontakt mit kalten Oberflaechen (Kryotechnik)", Description: "In kryotechnischen Anlagen oder Kuehlsystemen koennen extrem kalte Oberflaechen bei Beruehrung Kaelteverbrennungen verursachen.", DefaultSeverity: 4, DefaultProbability: 2, DefaultExposure: 2, DefaultAvoidance: 3, ApplicableComponentTypes: []string{"mechanical", "other"}, RegulationReferences: []string{"Maschinenverordnung 2023/1230 Anhang I"}, SuggestedMitigations: mustMarshalJSON([]string{"Isolierung kalter Oberflaechen", "Kaelteschutzhandschuhe"}), TypicalCauses: []string{"Fehlende Isolierung an Kryoleitungen", "Beruehrung tiefgekuehlter Bauteile", "Defekte Kaelteisolierung"}, TypicalHarm: "Kaelteverbrennungen an Haenden und Fingern", RelevantLifecyclePhases: []string{"normal_operation", "maintenance"}, RecommendedMeasuresDesign: []string{"Isolierung aller kalten Oberflaechen im Zugriffsbereich", "Abstandshalter zu Kryoleitungen"}, RecommendedMeasuresTechnical: []string{"Temperaturwarnung bei kritischen Oberflaechentemperaturen"}, RecommendedMeasuresInformation: []string{"Warnhinweis Kaeltegefahr", "PSA-Pflicht Kaelteschutz"}, SuggestedEvidence: []string{"Oberflaechentemperaturmessung", "Risikobeurteilung"}, RelatedKeywords: []string{"Kryotechnik", "Kaelte", "Kaelteverbrennung"}, IsBuiltin: true, TenantID: nil, CreatedAt: now, }, { ID: hazardUUID("thermal_hazard", 6), Category: "thermal_hazard", SubCategory: "waermestrahlung", Name: "Waermestrahlung von Hochtemperaturprozessen", Description: "Oefen, Giessereianlagen oder Waermebehandlungsprozesse emittieren intensive Waermestrahlung, die auch ohne direkten Kontakt zu Verbrennungen fuehren kann.", DefaultSeverity: 4, DefaultProbability: 3, DefaultExposure: 3, DefaultAvoidance: 3, ApplicableComponentTypes: []string{"mechanical", "other"}, RegulationReferences: []string{"Maschinenverordnung 2023/1230 Anhang I"}, SuggestedMitigations: mustMarshalJSON([]string{"Waermeschutzschilder", "Hitzeschutzkleidung"}), TypicalCauses: []string{"Offene Ofentuer bei Beschickung", "Fehlende Abschirmung", "Langzeitexposition in der Naehe von Waermequellen"}, TypicalHarm: "Hautverbrennungen durch Waermestrahlung, Hitzschlag", RelevantLifecyclePhases: []string{"normal_operation", "setup"}, RecommendedMeasuresDesign: []string{"Waermedaemmung und Strahlungsschilde", "Automatische Beschickung statt manueller"}, RecommendedMeasuresTechnical: []string{"Waermestrahlung-Sensor mit Warnung", "Luftschleier vor Ofenoeeffnungen"}, RecommendedMeasuresInformation: []string{"Maximalaufenthaltsdauer festlegen", "Hitzeschutz-PSA vorschreiben"}, SuggestedEvidence: []string{"Waermestrahlungsmessung am Arbeitsplatz", "Risikobeurteilung"}, RelatedKeywords: []string{"Waermestrahlung", "Ofen", "Hitzeschutz"}, IsBuiltin: true, TenantID: nil, CreatedAt: now, }, { ID: hazardUUID("thermal_hazard", 7), Category: "thermal_hazard", SubCategory: "brandgefahr", Name: "Brandgefahr durch ueberhitzte Antriebe", Description: "Ueberlastete oder schlecht gekuehlte Elektromotoren und Antriebe koennen sich so stark erhitzen, dass umgebende Materialien entzuendet werden.", DefaultSeverity: 5, DefaultProbability: 2, DefaultExposure: 3, DefaultAvoidance: 3, ApplicableComponentTypes: []string{"actuator", "electrical"}, RegulationReferences: []string{"Maschinenverordnung 2023/1230 Anhang I"}, SuggestedMitigations: mustMarshalJSON([]string{"Temperatursensor am Motor", "Thermischer Motorschutz"}), TypicalCauses: []string{"Dauerbetrieb ueber Nennlast", "Blockierter Kuehlluftstrom", "Defektes Motorlager erhoecht Reibung"}, TypicalHarm: "Brand mit Sachschaeden und Personengefaehrdung durch Rauchentwicklung", RelevantLifecyclePhases: []string{"normal_operation"}, RecommendedMeasuresDesign: []string{"Thermische Motorschutzdimensionierung", "Brandschottung um Antriebsbereich"}, RecommendedMeasuresTechnical: []string{"PTC-Temperaturfuehler im Motor", "Rauchmelder im Antriebsbereich"}, RecommendedMeasuresInformation: []string{"Wartungsintervalle fuer Kuehlluftwege", "Brandschutzordnung"}, SuggestedEvidence: []string{"Temperaturmessung unter Last", "Brandschutzkonzept"}, RelatedKeywords: []string{"Motorueberhitzung", "Brand", "Thermischer Schutz"}, IsBuiltin: true, TenantID: nil, CreatedAt: now, }, { ID: hazardUUID("thermal_hazard", 8), Category: "thermal_hazard", SubCategory: "heisse_fluessigkeiten", Name: "Verbrennungsgefahr durch heisse Fluessigkeiten", Description: "Heisse Prozessfluessigkeiten, Kuehlmittel oder Dampf koennen bei Leckage oder beim Oeffnen von Verschluessen Verbruehungen verursachen.", DefaultSeverity: 4, DefaultProbability: 3, DefaultExposure: 3, DefaultAvoidance: 3, ApplicableComponentTypes: []string{"mechanical", "other"}, RegulationReferences: []string{"Maschinenverordnung 2023/1230 Anhang I"}, SuggestedMitigations: mustMarshalJSON([]string{"Druckentlastung vor dem Oeffnen", "Spritzschutz an Leitungsverbindungen"}), TypicalCauses: []string{"Oeffnen von Verschluessen unter Druck", "Schlauchbruch bei heissem Medium", "Spritzer beim Nachfuellen"}, TypicalHarm: "Verbruehungen an Haut und Augen", RelevantLifecyclePhases: []string{"normal_operation", "maintenance"}, RecommendedMeasuresDesign: []string{"Druckentlastungsventil vor Verschluss", "Isolierte Leitungsfuehrung"}, RecommendedMeasuresTechnical: []string{"Temperaturanzeige an kritischen Punkten", "Auffangwannen unter Leitungsverbindungen"}, RecommendedMeasuresInformation: []string{"Warnhinweis heisse Fluessigkeit", "Abkuehlprozedur in Betriebsanweisung"}, SuggestedEvidence: []string{"Temperaturmessung am Austritt", "Risikobeurteilung"}, RelatedKeywords: []string{"Verbruehung", "Heisse Fluessigkeit", "Dampf"}, IsBuiltin: true, TenantID: nil, CreatedAt: now, }, // ==================================================================== // Category: pneumatic_hydraulic (indices 1-10, 10 entries) // ==================================================================== { ID: hazardUUID("pneumatic_hydraulic", 1), Category: "pneumatic_hydraulic", SubCategory: "druckverlust", Name: "Unkontrollierter Druckverlust in pneumatischem System", Description: "Ein ploetzlicher Druckabfall im Pneumatiksystem kann zum Versagen von Halte- und Klemmfunktionen fuehren, wodurch Werkstuecke herabfallen oder Achsen absacken.", DefaultSeverity: 4, DefaultProbability: 3, DefaultExposure: 3, DefaultAvoidance: 3, ApplicableComponentTypes: []string{"actuator", "mechanical"}, RegulationReferences: []string{"Maschinenverordnung 2023/1230 Anhang I"}, SuggestedMitigations: mustMarshalJSON([]string{"Rueckschlagventile in Haltezylinderleitungen", "Druckueberwachung mit sicherer Abschaltung"}), TypicalCauses: []string{"Kompressorausfall", "Leckage in der Versorgungsleitung", "Fehlerhaftes Druckregelventil"}, TypicalHarm: "Quetschverletzungen durch absackende Achsen oder herabfallende Werkstuecke", RelevantLifecyclePhases: []string{"normal_operation", "fault_finding"}, RecommendedMeasuresDesign: []string{"Mechanische Haltebremsen als Rueckfallebene", "Rueckschlagventile in sicherheitsrelevanten Leitungen"}, RecommendedMeasuresTechnical: []string{"Druckwaechter mit sicherer Reaktion", "Druckspeicher fuer Notbetrieb"}, RecommendedMeasuresInformation: []string{"Warnung bei Druckabfall", "Verfahrensanweisung fuer Druckausfall"}, SuggestedEvidence: []string{"Druckabfalltest", "Risikobeurteilung"}, RelatedKeywords: []string{"Druckverlust", "Pneumatik", "Haltefunktion"}, IsBuiltin: true, TenantID: nil, CreatedAt: now, }, { ID: hazardUUID("pneumatic_hydraulic", 2), Category: "pneumatic_hydraulic", SubCategory: "druckfreisetzung", Name: "Ploetzliche Druckfreisetzung bei Leitungsbruch", Description: "Ein Bersten oder Abreissen einer Druckleitung setzt schlagartig Energie frei, wobei Medien und Leitungsbruchstuecke weggeschleudert werden.", DefaultSeverity: 5, DefaultProbability: 2, DefaultExposure: 3, DefaultAvoidance: 2, ApplicableComponentTypes: []string{"mechanical", "actuator"}, RegulationReferences: []string{"Maschinenverordnung 2023/1230 Anhang I"}, SuggestedMitigations: mustMarshalJSON([]string{"Schlauchbruchsicherungen", "Druckfeste Leitungsverlegung"}), TypicalCauses: []string{"Materialermuedung der Leitung", "Ueberdruckbetrieb", "Mechanische Beschaedigung der Leitung"}, TypicalHarm: "Verletzungen durch weggeschleuderte Leitungsteile und austretende Druckmedien", RelevantLifecyclePhases: []string{"normal_operation", "maintenance"}, RecommendedMeasuresDesign: []string{"Berstdruckfest dimensionierte Leitungen", "Leitungen in Schutzrohren verlegen"}, RecommendedMeasuresTechnical: []string{"Durchflussbegrenzer nach Druckquelle", "Schlauchbruchventile"}, RecommendedMeasuresInformation: []string{"Prueffristen fuer Druckleitungen", "Warnhinweis an Hochdruckbereichen"}, SuggestedEvidence: []string{"Druckpruefprotokoll", "Inspektionsbericht Leitungen"}, RelatedKeywords: []string{"Leitungsbruch", "Druckfreisetzung", "Bersten"}, IsBuiltin: true, TenantID: nil, CreatedAt: now, }, { ID: hazardUUID("pneumatic_hydraulic", 3), Category: "pneumatic_hydraulic", SubCategory: "schlauchpeitschen", Name: "Schlauchpeitschen durch Berstversagen", Description: "Ein unter Druck stehender Schlauch kann bei Versagen unkontrolliert umherschlagen und Personen im Umfeld treffen.", DefaultSeverity: 4, DefaultProbability: 2, DefaultExposure: 3, DefaultAvoidance: 2, ApplicableComponentTypes: []string{"mechanical"}, RegulationReferences: []string{"Maschinenverordnung 2023/1230 Anhang I"}, SuggestedMitigations: mustMarshalJSON([]string{"Fangseile an Schlauchleitungen", "Schlauchbruchventile"}), TypicalCauses: []string{"Alterung des Schlauchmaterials", "Knicke in der Schlauchfuehrung", "Falsche Schlauchtype fuer das Medium"}, TypicalHarm: "Peitschenverletzungen, Prellungen, Augenverletzungen", RelevantLifecyclePhases: []string{"normal_operation", "maintenance"}, RecommendedMeasuresDesign: []string{"Fangseile oder Ketten an allen Schlauchleitungen", "Festverrohrung statt Schlauch wo moeglich"}, RecommendedMeasuresTechnical: []string{"Schlauchbruchventil am Anschluss"}, RecommendedMeasuresInformation: []string{"Tauschintervalle fuer Schlauchleitungen", "Kennzeichnung mit Herstelldatum"}, SuggestedEvidence: []string{"Schlauchleitungspruefprotokoll", "Risikobeurteilung"}, RelatedKeywords: []string{"Schlauch", "Peitschen", "Fangseil"}, IsBuiltin: true, TenantID: nil, CreatedAt: now, }, { ID: hazardUUID("pneumatic_hydraulic", 4), Category: "pneumatic_hydraulic", SubCategory: "druckspeicherenergie", Name: "Unerwartete Bewegung durch Druckspeicherrestenergie", Description: "Nach dem Abschalten der Maschine kann in Druckspeichern verbliebene Energie unerwartete Bewegungen von Zylindern oder Aktoren verursachen.", DefaultSeverity: 5, DefaultProbability: 3, DefaultExposure: 2, DefaultAvoidance: 2, ApplicableComponentTypes: []string{"actuator", "mechanical"}, RegulationReferences: []string{"Maschinenverordnung 2023/1230 Anhang I"}, SuggestedMitigations: mustMarshalJSON([]string{"Automatische Druckspeicher-Entladung bei Abschaltung", "Sperrventile vor Aktoren"}), TypicalCauses: []string{"Nicht entladener Druckspeicher", "Fehlendes Entlastungsventil", "Wartungszugriff ohne Druckfreischaltung"}, TypicalHarm: "Quetsch- und Stossverletzungen durch unerwartete Zylinderbewegung", RelevantLifecyclePhases: []string{"maintenance", "fault_finding", "decommissioning"}, RecommendedMeasuresDesign: []string{"Automatische Speicherentladung bei Hauptschalter-Aus", "Manuelles Entlastungsventil mit Druckanzeige"}, RecommendedMeasuresTechnical: []string{"Druckmanometer am Speicher", "Verriegeltes Entlastungsventil"}, RecommendedMeasuresInformation: []string{"Warnschild Druckspeicher", "LOTO-Verfahren fuer Druckspeicher"}, SuggestedEvidence: []string{"Funktionstest Speicherentladung", "Risikobeurteilung"}, RelatedKeywords: []string{"Druckspeicher", "Restenergie", "Speicherentladung"}, IsBuiltin: true, TenantID: nil, CreatedAt: now, }, { ID: hazardUUID("pneumatic_hydraulic", 5), Category: "pneumatic_hydraulic", SubCategory: "oelkontamination", Name: "Kontamination von Hydraulikoel durch Partikel", Description: "Verunreinigungen im Hydraulikoel fuehren zu erhoehtem Verschleiss an Ventilen und Dichtungen, was Leckagen und Funktionsversagen ausloest.", DefaultSeverity: 3, DefaultProbability: 3, DefaultExposure: 3, DefaultAvoidance: 4, ApplicableComponentTypes: []string{"actuator", "mechanical"}, RegulationReferences: []string{"Maschinenverordnung 2023/1230 Anhang I"}, SuggestedMitigations: mustMarshalJSON([]string{"Feinfilterung des Hydraulikoels", "Regelmaessige Oelanalyse"}), TypicalCauses: []string{"Verschleisspartikel im System", "Verschmutzte Nachfuellung", "Defekte Filterelemente"}, TypicalHarm: "Maschinenausfall mit Folgeverletzungen durch ploetzliches Versagen hydraulischer Funktionen", RelevantLifecyclePhases: []string{"normal_operation", "maintenance"}, RecommendedMeasuresDesign: []string{"Mehrfachfiltration mit Bypass-Anzeige", "Geschlossener Nachfuellkreislauf"}, RecommendedMeasuresTechnical: []string{"Online-Partikelzaehler", "Differenzdruckanzeige am Filter"}, RecommendedMeasuresInformation: []string{"Oelwechselintervalle festlegen", "Sauberkeitsvorgaben fuer Nachfuellung"}, SuggestedEvidence: []string{"Oelanalysebericht", "Filterwechselprotokoll"}, RelatedKeywords: []string{"Hydraulikoel", "Kontamination", "Filtration"}, IsBuiltin: true, TenantID: nil, CreatedAt: now, }, { ID: hazardUUID("pneumatic_hydraulic", 6), Category: "pneumatic_hydraulic", SubCategory: "leckage", Name: "Leckage an Hochdruckverbindungen", Description: "Undichte Verschraubungen oder Dichtungen an Hochdruckverbindungen fuehren zu Medienaustritt, Rutschgefahr und moeglichen Hochdruckinjektionsverletzungen.", DefaultSeverity: 4, DefaultProbability: 3, DefaultExposure: 3, DefaultAvoidance: 3, ApplicableComponentTypes: []string{"mechanical", "actuator"}, RegulationReferences: []string{"Maschinenverordnung 2023/1230 Anhang I"}, SuggestedMitigations: mustMarshalJSON([]string{"Leckagefreie Verschraubungen verwenden", "Auffangwannen unter Verbindungsstellen"}), TypicalCauses: []string{"Vibrationsbedingte Lockerung", "Alterung der Dichtungen", "Falsches Anzugsmoment"}, TypicalHarm: "Rutschverletzungen, Hochdruckinjektion bei feinem Oelstrahl", RelevantLifecyclePhases: []string{"normal_operation", "maintenance"}, RecommendedMeasuresDesign: []string{"Verschraubungen mit Sicherungsmitteln", "Leckage-Auffangvorrichtungen"}, RecommendedMeasuresTechnical: []string{"Fuellstandsueberwachung im Tank", "Leckagesensor"}, RecommendedMeasuresInformation: []string{"Sichtpruefung in Wartungsplan aufnehmen", "Hinweis auf Injektionsgefahr"}, SuggestedEvidence: []string{"Leckagepruefprotokoll", "Risikobeurteilung"}, RelatedKeywords: []string{"Leckage", "Verschraubung", "Hochdruck"}, IsBuiltin: true, TenantID: nil, CreatedAt: now, }, { ID: hazardUUID("pneumatic_hydraulic", 7), Category: "pneumatic_hydraulic", SubCategory: "kavitation", Name: "Kavitation in Hydraulikpumpe", Description: "Dampfblasenbildung und deren Implosion in der Hydraulikpumpe fuehren zu Materialabtrag, Leistungsverlust und ploetzlichem Pumpenversagen.", DefaultSeverity: 3, DefaultProbability: 2, DefaultExposure: 3, DefaultAvoidance: 4, ApplicableComponentTypes: []string{"actuator", "mechanical"}, RegulationReferences: []string{"Maschinenverordnung 2023/1230 Anhang I"}, SuggestedMitigations: mustMarshalJSON([]string{"Korrekte Saughoehe einhalten", "Saugleitungsdimensionierung pruefen"}), TypicalCauses: []string{"Zu kleine Saugleitung", "Verstopfter Saugfilter", "Zu hohe Oelviskositaet bei Kaelte"}, TypicalHarm: "Maschinenausfall durch Pumpenversagen mit moeglichen Folgeverletzungen", RelevantLifecyclePhases: []string{"normal_operation", "setup"}, RecommendedMeasuresDesign: []string{"Saugleitung grosszuegig dimensionieren", "Ueberdruck-Zulaufsystem"}, RecommendedMeasuresTechnical: []string{"Vakuumanzeige an der Saugseite", "Temperaturueberwachung des Oels"}, RecommendedMeasuresInformation: []string{"Vorwaermverfahren bei Kaeltestart", "Wartungsintervall Saugfilter"}, SuggestedEvidence: []string{"Saugdruckmessung", "Pumpeninspektionsbericht"}, RelatedKeywords: []string{"Kavitation", "Hydraulikpumpe", "Saugleitung"}, IsBuiltin: true, TenantID: nil, CreatedAt: now, }, { ID: hazardUUID("pneumatic_hydraulic", 8), Category: "pneumatic_hydraulic", SubCategory: "ueberdruckversagen", Name: "Ueberdruckversagen durch defektes Druckbegrenzungsventil", Description: "Ein klemmendes oder falsch eingestelltes Druckbegrenzungsventil laesst den Systemdruck unkontrolliert ansteigen, was zum Bersten von Komponenten fuehren kann.", DefaultSeverity: 5, DefaultProbability: 2, DefaultExposure: 3, DefaultAvoidance: 2, ApplicableComponentTypes: []string{"actuator", "mechanical"}, RegulationReferences: []string{"Maschinenverordnung 2023/1230 Anhang I"}, SuggestedMitigations: mustMarshalJSON([]string{"Redundantes Druckbegrenzungsventil", "Druckschalter mit Abschaltung"}), TypicalCauses: []string{"Verschmutztes Druckbegrenzungsventil", "Falsche Einstellung nach Wartung", "Ermuedung der Ventilfeder"}, TypicalHarm: "Bersten von Leitungen und Gehaeusen mit Splitterwurf, Hochdruckinjektionsverletzungen", RelevantLifecyclePhases: []string{"normal_operation", "maintenance"}, RecommendedMeasuresDesign: []string{"Redundante Druckbegrenzung", "Berstscheibe als letzte Sicherung"}, RecommendedMeasuresTechnical: []string{"Druckschalter mit sicherer Pumpenabschaltung", "Manometer mit Schleppzeiger"}, RecommendedMeasuresInformation: []string{"Pruefintervall Druckbegrenzungsventil", "Einstellprotokoll nach Wartung"}, SuggestedEvidence: []string{"Ventilpruefprotokoll", "Druckverlaufsmessung"}, RelatedKeywords: []string{"Ueberdruck", "Druckbegrenzungsventil", "Bersten"}, IsBuiltin: true, TenantID: nil, CreatedAt: now, }, { ID: hazardUUID("pneumatic_hydraulic", 9), Category: "pneumatic_hydraulic", SubCategory: "ventilversagen", Name: "Unkontrollierte Zylinderbewegung bei Ventilversagen", Description: "Bei Ausfall oder Fehlfunktion eines Wegeventils kann ein Zylinder unkontrolliert ein- oder ausfahren und Personen im Bewegungsbereich verletzen.", DefaultSeverity: 5, DefaultProbability: 2, DefaultExposure: 3, DefaultAvoidance: 2, ApplicableComponentTypes: []string{"actuator", "controller"}, RegulationReferences: []string{"Maschinenverordnung 2023/1230 Anhang I"}, SuggestedMitigations: mustMarshalJSON([]string{"Redundante Ventile fuer sicherheitskritische Achsen", "Lasthalteventile an Vertikalachsen"}), TypicalCauses: []string{"Elektromagnetausfall am Ventil", "Ventilschieber klemmt", "Kontamination blockiert Ventilsitz"}, TypicalHarm: "Quetsch- und Stossverletzungen durch unkontrollierte Zylinderbewegung", RelevantLifecyclePhases: []string{"normal_operation", "fault_finding"}, RecommendedMeasuresDesign: []string{"Redundante Ventilanordnung mit Ueberwachung", "Lasthalteventile fuer schwerkraftbelastete Achsen"}, RecommendedMeasuresTechnical: []string{"Positionsueberwachung am Zylinder", "Ventil-Stellungsueberwachung"}, RecommendedMeasuresInformation: []string{"Fehlermeldung bei Ventildiskrepanz", "Notfallprozedur bei Ventilversagen"}, SuggestedEvidence: []string{"Funktionstest Redundanz", "FMEA Ventilschaltung"}, RelatedKeywords: []string{"Wegeventil", "Zylinderversagen", "Ventilausfall"}, IsBuiltin: true, TenantID: nil, CreatedAt: now, }, { ID: hazardUUID("pneumatic_hydraulic", 10), Category: "pneumatic_hydraulic", SubCategory: "viskositaet", Name: "Temperaturbedingte Viskositaetsaenderung von Hydraulikmedium", Description: "Extreme Temperaturen veraendern die Viskositaet des Hydraulikoels so stark, dass Ventile und Pumpen nicht mehr zuverlaessig arbeiten und Sicherheitsfunktionen versagen.", DefaultSeverity: 3, DefaultProbability: 2, DefaultExposure: 2, DefaultAvoidance: 4, ApplicableComponentTypes: []string{"actuator", "mechanical"}, RegulationReferences: []string{"Maschinenverordnung 2023/1230 Anhang I"}, SuggestedMitigations: mustMarshalJSON([]string{"Oeltemperierung", "Oelsorte mit breitem Viskositaetsbereich"}), TypicalCauses: []string{"Kaltstart ohne Vorwaermung", "Ueberhitzung durch mangelnde Kuehlung", "Falsche Oelsorte"}, TypicalHarm: "Funktionsversagen hydraulischer Sicherheitseinrichtungen", RelevantLifecyclePhases: []string{"normal_operation", "setup"}, RecommendedMeasuresDesign: []string{"Oelkuehler und Oelheizung vorsehen", "Temperaturbereich der Oelsorte abstimmen"}, RecommendedMeasuresTechnical: []string{"Oeltemperatursensor mit Warnmeldung", "Aufwaermprogramm in der Steuerung"}, RecommendedMeasuresInformation: []string{"Zulaessiger Temperaturbereich in Betriebsanleitung", "Oelwechselvorschrift"}, SuggestedEvidence: []string{"Temperaturverlaufsmessung", "Oeldatenblatt"}, RelatedKeywords: []string{"Viskositaet", "Oeltemperatur", "Hydraulikmedium"}, IsBuiltin: true, TenantID: nil, CreatedAt: now, }, // ==================================================================== // Category: noise_vibration (indices 1-6, 6 entries) // ==================================================================== { ID: hazardUUID("noise_vibration", 1), Category: "noise_vibration", SubCategory: "dauerschall", Name: "Gehoerschaedigung durch Dauerschallpegel", Description: "Dauerhaft erhoehte Schallpegel am Arbeitsplatz ueber dem Grenzwert fuehren zu irreversiblen Gehoerschaeden bei den Maschinenbedienern.", DefaultSeverity: 4, DefaultProbability: 4, DefaultExposure: 4, DefaultAvoidance: 3, ApplicableComponentTypes: []string{"mechanical", "actuator"}, RegulationReferences: []string{"Maschinenverordnung 2023/1230 Anhang I"}, SuggestedMitigations: mustMarshalJSON([]string{"Laermminderung an der Quelle", "Gehoerschutzpflicht ab 85 dB(A)"}), TypicalCauses: []string{"Nicht gekapselte Antriebe", "Metallische Schlagvorgaenge", "Fehlende Schalldaemmung"}, TypicalHarm: "Laermschwerhoerigkeit, Tinnitus", RelevantLifecyclePhases: []string{"normal_operation"}, RecommendedMeasuresDesign: []string{"Laermarme Antriebe und Getriebe", "Schwingungsdaempfende Lagerung"}, RecommendedMeasuresTechnical: []string{"Schallschutzkapseln", "Schallschutzwaende"}, RecommendedMeasuresInformation: []string{"Laermbereichskennzeichnung", "Gehoerschutzpflicht beschildern"}, SuggestedEvidence: []string{"Laermpegelmessung am Arbeitsplatz", "Laermkataster"}, RelatedKeywords: []string{"Laerm", "Gehoerschutz", "Schallpegel"}, IsBuiltin: true, TenantID: nil, CreatedAt: now, }, { ID: hazardUUID("noise_vibration", 2), Category: "noise_vibration", SubCategory: "hand_arm_vibration", Name: "Hand-Arm-Vibrationssyndrom durch vibrierende Werkzeuge", Description: "Langzeitige Nutzung handgefuehrter vibrierender Werkzeuge kann zu Durchblutungsstoerungen, Nervenschaeden und Gelenkbeschwerden in Haenden und Armen fuehren.", DefaultSeverity: 4, DefaultProbability: 3, DefaultExposure: 4, DefaultAvoidance: 3, ApplicableComponentTypes: []string{"mechanical", "other"}, RegulationReferences: []string{"Maschinenverordnung 2023/1230 Anhang I"}, SuggestedMitigations: mustMarshalJSON([]string{"Vibrationsgedaempfte Werkzeuge verwenden", "Expositionszeit begrenzen"}), TypicalCauses: []string{"Ungepufferte Handgriffe", "Verschlissene Werkzeuge mit erhoehter Vibration", "Fehlende Arbeitszeitbegrenzung"}, TypicalHarm: "Weissfingerkrankheit, Karpaltunnelsyndrom, Gelenkarthrose", RelevantLifecyclePhases: []string{"normal_operation", "maintenance"}, RecommendedMeasuresDesign: []string{"Vibrationsgedaempfte Griffe", "Automatisierung statt Handarbeit"}, RecommendedMeasuresTechnical: []string{"Vibrationsmessung am Werkzeug", "Anti-Vibrationshandschuhe"}, RecommendedMeasuresInformation: []string{"Expositionsdauer dokumentieren", "Arbeitsmedizinische Vorsorge anbieten"}, SuggestedEvidence: []string{"Vibrationsmessung nach ISO 5349", "Expositionsberechnung"}, RelatedKeywords: []string{"Vibration", "Hand-Arm", "HAVS"}, IsBuiltin: true, TenantID: nil, CreatedAt: now, }, { ID: hazardUUID("noise_vibration", 3), Category: "noise_vibration", SubCategory: "ganzkoerpervibration", Name: "Ganzkoerpervibration an Bedienplaetzen", Description: "Vibrationen, die ueber den Sitz oder die Standflaeche auf den gesamten Koerper uebertragen werden, koennen zu Wirbelsaeulenschaeden fuehren.", DefaultSeverity: 3, DefaultProbability: 3, DefaultExposure: 4, DefaultAvoidance: 3, ApplicableComponentTypes: []string{"mechanical", "other"}, RegulationReferences: []string{"Maschinenverordnung 2023/1230 Anhang I"}, SuggestedMitigations: mustMarshalJSON([]string{"Schwingungsisolierter Fahrersitz", "Vibrationsgedaempfte Stehplattform"}), TypicalCauses: []string{"Unwucht in rotierenden Teilen", "Unebener Fahrweg", "Fehlende Schwingungsisolierung des Bedienplatzes"}, TypicalHarm: "Bandscheibenschaeden, Rueckenschmerzen, Ermuedung", RelevantLifecyclePhases: []string{"normal_operation"}, RecommendedMeasuresDesign: []string{"Schwingungsisolierte Kabine oder Plattform", "Auswuchten rotierender Massen"}, RecommendedMeasuresTechnical: []string{"Luftgefederter Sitz", "Vibrationsueberwachung mit Grenzwertwarnung"}, RecommendedMeasuresInformation: []string{"Maximalexpositionsdauer festlegen", "Arbeitsmedizinische Vorsorge"}, SuggestedEvidence: []string{"Ganzkoerper-Vibrationsmessung nach ISO 2631", "Expositionsbewertung"}, RelatedKeywords: []string{"Ganzkoerpervibration", "Wirbelsaeule", "Sitzvibrationen"}, IsBuiltin: true, TenantID: nil, CreatedAt: now, }, { ID: hazardUUID("noise_vibration", 4), Category: "noise_vibration", SubCategory: "impulslaerm", Name: "Impulslaerm durch Stanz-/Praegevorgaenge", Description: "Kurzzeitige Schallspitzen bei Stanz-, Praege- oder Nietvorgaengen ueberschreiten den Spitzenschalldruckpegel und schaedigen das Gehoer besonders stark.", DefaultSeverity: 4, DefaultProbability: 4, DefaultExposure: 3, DefaultAvoidance: 3, ApplicableComponentTypes: []string{"mechanical"}, RegulationReferences: []string{"Maschinenverordnung 2023/1230 Anhang I"}, SuggestedMitigations: mustMarshalJSON([]string{"Schalldaemmende Werkzeugeinhausung", "Impulsschallgedaempfter Gehoerschutz"}), TypicalCauses: []string{"Metall-auf-Metall-Schlag", "Offene Stanzwerkzeuge", "Fehlende Schalldaemmung"}, TypicalHarm: "Akutes Knalltrauma, irreversible Gehoerschaedigung", RelevantLifecyclePhases: []string{"normal_operation"}, RecommendedMeasuresDesign: []string{"Elastische Werkzeugauflagen", "Geschlossene Werkzeugkammer"}, RecommendedMeasuresTechnical: []string{"Schallschutzkabine um Stanzbereich", "Impulslaermueberwachung"}, RecommendedMeasuresInformation: []string{"Gehoerschutzpflicht-Kennzeichnung", "Schulung zur Impulslaermgefahr"}, SuggestedEvidence: []string{"Spitzenpegelmessung", "Laermgutachten"}, RelatedKeywords: []string{"Impulslaerm", "Stanzen", "Spitzenschallpegel"}, IsBuiltin: true, TenantID: nil, CreatedAt: now, }, { ID: hazardUUID("noise_vibration", 5), Category: "noise_vibration", SubCategory: "infraschall", Name: "Infraschall von Grossventilatoren", Description: "Grosse Ventilatoren und Geblaese erzeugen niederfrequenten Infraschall, der zu Unwohlsein, Konzentrationsstoerungen und Ermuedung fuehren kann.", DefaultSeverity: 3, DefaultProbability: 2, DefaultExposure: 3, DefaultAvoidance: 3, ApplicableComponentTypes: []string{"mechanical", "actuator"}, RegulationReferences: []string{"Maschinenverordnung 2023/1230 Anhang I"}, SuggestedMitigations: mustMarshalJSON([]string{"Schwingungsisolierte Aufstellung", "Schalldaempfer in Kanaelen"}), TypicalCauses: []string{"Grosse Ventilatorschaufeln mit niedriger Drehzahl", "Resonanzen in Luftkanaelen", "Fehlende Schwingungsentkopplung"}, TypicalHarm: "Unwohlsein, Uebelkeit, Konzentrationsstoerungen bei Dauerexposition", RelevantLifecyclePhases: []string{"normal_operation"}, RecommendedMeasuresDesign: []string{"Schwingungsentkopplung des Ventilators", "Resonanzfreie Kanaldimensionierung"}, RecommendedMeasuresTechnical: []string{"Niederfrequenz-Schalldaempfer", "Infraschall-Messgeraet"}, RecommendedMeasuresInformation: []string{"Aufklaerung ueber Infraschallsymptome", "Expositionshinweise"}, SuggestedEvidence: []string{"Infraschallmessung", "Risikobeurteilung"}, RelatedKeywords: []string{"Infraschall", "Ventilator", "Niederfrequenz"}, IsBuiltin: true, TenantID: nil, CreatedAt: now, }, { ID: hazardUUID("noise_vibration", 6), Category: "noise_vibration", SubCategory: "resonanz", Name: "Resonanzschwingungen in Maschinengestell", Description: "Anregung des Maschinengestells in seiner Eigenfrequenz kann zu unkontrollierten Schwingungen fuehren, die Bauteile ermueden und zum Versagen bringen.", DefaultSeverity: 4, DefaultProbability: 2, DefaultExposure: 3, DefaultAvoidance: 3, ApplicableComponentTypes: []string{"mechanical"}, RegulationReferences: []string{"Maschinenverordnung 2023/1230 Anhang I"}, SuggestedMitigations: mustMarshalJSON([]string{"Eigenfrequenzanalyse bei Konstruktion", "Schwingungsdaempfer anbringen"}), TypicalCauses: []string{"Drehzahl nahe der Eigenfrequenz des Gestells", "Fehlende Daempfungselemente", "Nachtraegliche Massenveraenderungen"}, TypicalHarm: "Materialermuedungsbruch mit Absturz von Bauteilen, Verletzungen durch Bruchstuecke", RelevantLifecyclePhases: []string{"normal_operation", "setup"}, RecommendedMeasuresDesign: []string{"Eigenfrequenz ausserhalb des Betriebsdrehzahlbereichs legen", "Versteifung des Gestells"}, RecommendedMeasuresTechnical: []string{"Schwingungssensoren mit Grenzwertueberwachung", "Tilger oder Daempfer anbringen"}, RecommendedMeasuresInformation: []string{"Verbotene Drehzahlbereiche kennzeichnen", "Schwingungsueberwachungsanleitung"}, SuggestedEvidence: []string{"Modalanalyse des Gestells", "Schwingungsmessprotokoll"}, RelatedKeywords: []string{"Resonanz", "Eigenfrequenz", "Strukturschwingung"}, IsBuiltin: true, TenantID: nil, CreatedAt: now, }, // ==================================================================== // Category: ergonomic (indices 1-8, 8 entries) // ==================================================================== { ID: hazardUUID("ergonomic", 1), Category: "ergonomic", SubCategory: "fehlbedienung", Name: "Fehlbedienung durch unguenstige Anordnung von Bedienelementen", Description: "Ungluecklich platzierte oder schlecht beschriftete Bedienelemente erhoehen das Risiko von Fehlbedienungen, die sicherheitskritische Maschinenbewegungen ausloesen.", DefaultSeverity: 4, DefaultProbability: 3, DefaultExposure: 4, DefaultAvoidance: 3, ApplicableComponentTypes: []string{"controller", "sensor"}, RegulationReferences: []string{"Maschinenverordnung 2023/1230 Anhang I"}, SuggestedMitigations: mustMarshalJSON([]string{"Ergonomische Anordnung nach ISO 9355", "Eindeutige Beschriftung und Farbcodierung"}), TypicalCauses: []string{"Nicht-intuitive Anordnung der Schalter", "Fehlende oder unlesbare Beschriftung", "Zu geringer Abstand zwischen Bedienelementen"}, TypicalHarm: "Verletzungen durch unbeabsichtigte Maschinenaktionen nach Fehlbedienung", RelevantLifecyclePhases: []string{"normal_operation", "setup"}, RecommendedMeasuresDesign: []string{"Bedienelemente nach ISO 9355 anordnen", "Farbcodierung und Symbolik nach IEC 60073"}, RecommendedMeasuresTechnical: []string{"Bestaetigung fuer kritische Aktionen", "Abgedeckte Schalter fuer Gefahrenfunktionen"}, RecommendedMeasuresInformation: []string{"Bedienerhandbuch mit Bilddarstellungen", "Schulung der Bediener"}, SuggestedEvidence: []string{"Usability-Test des Bedienfeldes", "Risikobeurteilung"}, RelatedKeywords: []string{"Bedienelemente", "Fehlbedienung", "Ergonomie"}, IsBuiltin: true, TenantID: nil, CreatedAt: now, }, { ID: hazardUUID("ergonomic", 2), Category: "ergonomic", SubCategory: "zwangshaltung", Name: "Zwangshaltung bei Beschickungsvorgaengen", Description: "Unglueckliche Koerperhaltungen beim manuellen Beladen oder Entnehmen von Werkstuecken fuehren zu muskuloskeletalen Beschwerden.", DefaultSeverity: 3, DefaultProbability: 4, DefaultExposure: 4, DefaultAvoidance: 3, ApplicableComponentTypes: []string{"mechanical", "other"}, RegulationReferences: []string{"Maschinenverordnung 2023/1230 Anhang I"}, SuggestedMitigations: mustMarshalJSON([]string{"Hoehenverstellbare Beschickungsoeffnung", "Automatische Materialzufuhr"}), TypicalCauses: []string{"Beschickungsoeffnung in unguenstiger Hoehe", "Grosse Greifentfernung", "Wiederholte Drehbewegungen des Rumpfes"}, TypicalHarm: "Rueckenbeschwerden, Schulter-Arm-Syndrom, chronische Gelenkschmerzen", RelevantLifecyclePhases: []string{"normal_operation"}, RecommendedMeasuresDesign: []string{"Beschickungshoehe zwischen 60 und 120 cm", "Kurze Greifwege"}, RecommendedMeasuresTechnical: []string{"Hoehenverstellbare Arbeitstische", "Hebehilfen und Manipulatoren"}, RecommendedMeasuresInformation: []string{"Ergonomie-Schulung", "Hinweise zur richtigen Koerperhaltung"}, SuggestedEvidence: []string{"Ergonomische Arbeitsplatzanalyse", "Gefaehrdungsbeurteilung"}, RelatedKeywords: []string{"Zwangshaltung", "Beschickung", "Muskel-Skelett"}, IsBuiltin: true, TenantID: nil, CreatedAt: now, }, { ID: hazardUUID("ergonomic", 3), Category: "ergonomic", SubCategory: "manuelle_handhabung", Name: "Koerperliche Ueberforderung durch manuelle Handhabung", Description: "Schwere Lasten muessen manuell gehoben, getragen oder verschoben werden, was zu akuten Verletzungen oder chronischen Schaeden fuehrt.", DefaultSeverity: 3, DefaultProbability: 4, DefaultExposure: 4, DefaultAvoidance: 3, ApplicableComponentTypes: []string{"mechanical", "other"}, RegulationReferences: []string{"Maschinenverordnung 2023/1230 Anhang I"}, SuggestedMitigations: mustMarshalJSON([]string{"Technische Hebehilfen bereitstellen", "Gewichtsgrenze fuer manuelles Heben festlegen"}), TypicalCauses: []string{"Fehlende Hebehilfen", "Zu schwere Einzelteile", "Haeufiges Heben ueber Schulterhoe­he"}, TypicalHarm: "Bandscheibenvorfall, Rueckenverletzungen, Ueberanstrengung", RelevantLifecyclePhases: []string{"normal_operation", "maintenance", "setup"}, RecommendedMeasuresDesign: []string{"Bauteile unter 15 kg fuer manuelles Handling", "Hebevorrichtungen integrieren"}, RecommendedMeasuresTechnical: []string{"Kran oder Hebezeug am Arbeitsplatz", "Vakuumheber fuer Platten"}, RecommendedMeasuresInformation: []string{"Hebebelastungstabelle aushangen", "Unterweisung in Hebetechnik"}, SuggestedEvidence: []string{"Lastenhandhabungsbeurteilung", "Risikobeurteilung"}, RelatedKeywords: []string{"Heben", "Lastenhandhabung", "Ueberanstrengung"}, IsBuiltin: true, TenantID: nil, CreatedAt: now, }, { ID: hazardUUID("ergonomic", 4), Category: "ergonomic", SubCategory: "verwechslung", Name: "Verwechslungsgefahr bei gleichartigen Bedienelementen", Description: "Baugleiche, nicht unterscheidbare Taster oder Schalter koennen verwechselt werden, was zu unbeabsichtigten und gefaehrlichen Maschinenaktionen fuehrt.", DefaultSeverity: 4, DefaultProbability: 3, DefaultExposure: 4, DefaultAvoidance: 4, ApplicableComponentTypes: []string{"controller", "sensor"}, RegulationReferences: []string{"Maschinenverordnung 2023/1230 Anhang I"}, SuggestedMitigations: mustMarshalJSON([]string{"Unterschiedliche Formen und Farben fuer verschiedene Funktionen", "Beschriftung in Klartext"}), TypicalCauses: []string{"Identische Tasterform fuer unterschiedliche Funktionen", "Fehlende Beschriftung", "Schlechte Beleuchtung am Bedienfeld"}, TypicalHarm: "Unbeabsichtigte Maschinenaktionen mit Verletzungsgefahr", RelevantLifecyclePhases: []string{"normal_operation", "setup"}, RecommendedMeasuresDesign: []string{"Form- und Farbcodierung nach IEC 60073", "Raeumliche Gruppierung nach Funktionsbereichen"}, RecommendedMeasuresTechnical: []string{"Beleuchtetes Bedienfeld", "Haptisch unterscheidbare Taster"}, RecommendedMeasuresInformation: []string{"Bedienfeldplan am Arbeitsplatz aushangen", "Einweisung neuer Bediener"}, SuggestedEvidence: []string{"Usability-Bewertung", "Risikobeurteilung"}, RelatedKeywords: []string{"Verwechslung", "Taster", "Bedienpanel"}, IsBuiltin: true, TenantID: nil, CreatedAt: now, }, { ID: hazardUUID("ergonomic", 5), Category: "ergonomic", SubCategory: "sichtbehinderung", Name: "Sichtbehinderung des Gefahrenbereichs vom Bedienplatz", Description: "Vom Bedienplatz aus ist der Gefahrenbereich nicht vollstaendig einsehbar, sodass der Bediener Personen im Gefahrenbereich nicht erkennen kann.", DefaultSeverity: 5, DefaultProbability: 3, DefaultExposure: 4, DefaultAvoidance: 2, ApplicableComponentTypes: []string{"controller", "sensor", "mechanical"}, RegulationReferences: []string{"Maschinenverordnung 2023/1230 Anhang I"}, SuggestedMitigations: mustMarshalJSON([]string{"Kameraueberwa­chung des Gefahrenbereichs", "Sicherheits-Laserscanner"}), TypicalCauses: []string{"Verdeckte Sicht durch Maschinenteile", "Bedienplatz zu weit vom Arbeitsbereich", "Fehlende Spiegel oder Kameras"}, TypicalHarm: "Schwere Verletzungen von Personen im nicht einsehbaren Gefahrenbereich", RelevantLifecyclePhases: []string{"normal_operation", "setup"}, RecommendedMeasuresDesign: []string{"Bedienplatz mit direkter Sicht auf Gefahrenbereich", "Transparente Schutzeinrichtungen"}, RecommendedMeasuresTechnical: []string{"Kamerasystem mit Monitor am Bedienplatz", "Sicherheits-Laserscanner"}, RecommendedMeasuresInformation: []string{"Hinweis auf toten Winkel", "Anlaufwarnung vor Maschinenbewegung"}, SuggestedEvidence: []string{"Sichtfeldanalyse vom Bedienplatz", "Risikobeurteilung"}, RelatedKeywords: []string{"Sichtfeld", "Toter Winkel", "Bedienplatz"}, IsBuiltin: true, TenantID: nil, CreatedAt: now, }, { ID: hazardUUID("ergonomic", 6), Category: "ergonomic", SubCategory: "griffgestaltung", Name: "Unergonomische Griffgestaltung von Handwerkzeugen", Description: "Schlecht geformte Griffe an handgefuehrten Werkzeugen und Hebeln fuehren zu Ermuedung, verminderter Griffkraft und erhoehtem Unfallrisiko.", DefaultSeverity: 3, DefaultProbability: 3, DefaultExposure: 4, DefaultAvoidance: 4, ApplicableComponentTypes: []string{"mechanical", "other"}, RegulationReferences: []string{"Maschinenverordnung 2023/1230 Anhang I"}, SuggestedMitigations: mustMarshalJSON([]string{"Ergonomische Griffformen nach EN 894", "Rutschfeste Griffoberflaechen"}), TypicalCauses: []string{"Zu duenner oder zu dicker Griff", "Glatte Griffoberflaeche", "Scharfe Kanten am Griff"}, TypicalHarm: "Sehnenscheidenentzuendung, Abrutschen mit Folgeverletzung", RelevantLifecyclePhases: []string{"normal_operation", "maintenance"}, RecommendedMeasuresDesign: []string{"Griffdurchmesser 30-45 mm", "Anatomisch geformte Griffe"}, RecommendedMeasuresTechnical: []string{"Rutschfeste Beschichtung", "Handgelenkschlaufe an Handwerkzeugen"}, RecommendedMeasuresInformation: []string{"Auswahl ergonomischer Werkzeuge dokumentieren", "Arbeitsmedizinische Beratung"}, SuggestedEvidence: []string{"Ergonomische Werkzeugbewertung", "Risikobeurteilung"}, RelatedKeywords: []string{"Griff", "Handwerkzeug", "Ergonomie"}, IsBuiltin: true, TenantID: nil, CreatedAt: now, }, { ID: hazardUUID("ergonomic", 7), Category: "ergonomic", SubCategory: "monotonie", Name: "Monotone Taetigkeit fuehrt zu Aufmerksamkeitsverlust", Description: "Langandauernde, sich wiederholende Taetigkeiten ohne Abwechslung vermindern die Aufmerksamkeit des Bedieners und erhoehen die Unfallgefahr.", DefaultSeverity: 4, DefaultProbability: 3, DefaultExposure: 4, DefaultAvoidance: 3, ApplicableComponentTypes: []string{"other"}, RegulationReferences: []string{"Maschinenverordnung 2023/1230 Anhang I"}, SuggestedMitigations: mustMarshalJSON([]string{"Aufgabenwechsel organisieren", "Regelmaessige Pausen einplanen"}), TypicalCauses: []string{"Gleichfoermige Wiederholtaetigkeit", "Fehlende Pausenregelung", "Mangelnde Aufgabenvielfalt"}, TypicalHarm: "Unfaelle durch Unaufmerksamkeit, verspaetete Reaktion auf Gefahren", RelevantLifecyclePhases: []string{"normal_operation"}, RecommendedMeasuresDesign: []string{"Automatisierung monotoner Teilaufgaben", "Arbeitsplatzrotation ermoeglichen"}, RecommendedMeasuresTechnical: []string{"Aufmerksamkeitserkennung", "Regelmaessige Warnmeldungen"}, RecommendedMeasuresInformation: []string{"Pausenplan erstellen", "Schulung zur Ermuedungserkennung"}, SuggestedEvidence: []string{"Arbeitsplatzanalyse", "Gefaehrdungsbeurteilung psychische Belastung"}, RelatedKeywords: []string{"Monotonie", "Aufmerksamkeit", "Ermuedung"}, IsBuiltin: true, TenantID: nil, CreatedAt: now, }, { ID: hazardUUID("ergonomic", 8), Category: "ergonomic", SubCategory: "wartungszugang", Name: "Ungenuegender Zugang fuer Wartungsarbeiten", Description: "Enge oder schwer zugaengliche Wartungsbereiche zwingen das Personal zu gefaehrlichen Koerperhaltungen und erhoehen das Risiko von Verletzungen.", DefaultSeverity: 3, DefaultProbability: 3, DefaultExposure: 3, DefaultAvoidance: 3, ApplicableComponentTypes: []string{"mechanical", "other"}, RegulationReferences: []string{"Maschinenverordnung 2023/1230 Anhang I"}, SuggestedMitigations: mustMarshalJSON([]string{"Wartungsoeffnungen ausreichend dimensionieren", "Wartungsbuehnen und Podeste vorsehen"}), TypicalCauses: []string{"Zu kleine Wartungsoeffnungen", "Fehlende Arbeitsbuehnen in der Hoehe", "Wartungspunkte hinter schwer zu demontierenden Verkleidungen"}, TypicalHarm: "Quetschungen in engen Raeumen, Absturz von erhoehten Wartungspositionen", RelevantLifecyclePhases: []string{"maintenance", "fault_finding"}, RecommendedMeasuresDesign: []string{"Mindestmasse fuer Zugangsoeeffnungen nach ISO 14122", "Wartungspunkte leicht zugaenglich anordnen"}, RecommendedMeasuresTechnical: []string{"Feste Buehnen und Leitern mit Absturzsicherung", "Schnellverschluesse statt Schraubverbindungen an Wartungsklappen"}, RecommendedMeasuresInformation: []string{"Wartungszugangsskizze in Betriebsanleitung", "Hinweis auf PSA-Pflicht bei Arbeiten in der Hoehe"}, SuggestedEvidence: []string{"Zugaenglichkeitspruefung", "Risikobeurteilung"}, RelatedKeywords: []string{"Wartungszugang", "Zugaenglichkeit", "Wartungsbuehne"}, IsBuiltin: true, TenantID: nil, CreatedAt: now, }, // ==================================================================== // Category: material_environmental (indices 1-8, 8 entries) // ==================================================================== { ID: hazardUUID("material_environmental", 1), Category: "material_environmental", SubCategory: "staubexplosion", Name: "Staubexplosion durch Feinpartikel", Description: "Feine brennbare Staube koennen in Verbindung mit einer Zuendquelle explosionsartig reagieren und schwere Zerstoerungen verursachen.", DefaultSeverity: 5, DefaultProbability: 2, DefaultExposure: 3, DefaultAvoidance: 2, ApplicableComponentTypes: []string{"mechanical", "other"}, RegulationReferences: []string{"Maschinenverordnung 2023/1230 Anhang I"}, SuggestedMitigations: mustMarshalJSON([]string{"ATEX-konforme Ausfuehrung", "Absauganlage mit Funkenerkennung"}), TypicalCauses: []string{"Unzureichende Absaugung", "Staubansammlung in Hohlraeumen", "Elektrische oder mechanische Zuendquelle"}, TypicalHarm: "Explosion mit toedlichen Verletzungen, schwere Verbrennungen, Gebaeudezersto­erung", RelevantLifecyclePhases: []string{"normal_operation", "cleaning"}, RecommendedMeasuresDesign: []string{"ATEX-konforme Konstruktion", "Druckentlastungsflaechen vorsehen"}, RecommendedMeasuresTechnical: []string{"Absaugung mit Funkenloeschanlage", "Explosionsunterdrueckung"}, RecommendedMeasuresInformation: []string{"Ex-Zoneneinteilung kennzeichnen", "Reinigungsplan fuer Staubablagerungen"}, SuggestedEvidence: []string{"Explosionsschutz-Dokument", "ATEX-Konformitaetserklaerung"}, RelatedKeywords: []string{"Staubexplosion", "ATEX", "Feinstaub"}, IsBuiltin: true, TenantID: nil, CreatedAt: now, }, { ID: hazardUUID("material_environmental", 2), Category: "material_environmental", SubCategory: "rauch_gas", Name: "Rauch- und Gasfreisetzung bei Laserschneiden", Description: "Beim Laserschneiden entstehen gesundheitsschaedliche Rauche und Gase aus dem verdampften Material, die die Atemwege schaedigen.", DefaultSeverity: 4, DefaultProbability: 4, DefaultExposure: 3, DefaultAvoidance: 3, ApplicableComponentTypes: []string{"mechanical", "other"}, RegulationReferences: []string{"Maschinenverordnung 2023/1230 Anhang I"}, SuggestedMitigations: mustMarshalJSON([]string{"Absaugung direkt am Bearbeitungspunkt", "Filteranlage mit Aktivkohlestufe"}), TypicalCauses: []string{"Fehlende Absaugung", "Verarbeitung kunststoffbeschichteter Materialien", "Undichte Maschineneinhausung"}, TypicalHarm: "Atemwegserkrankungen, Reizung von Augen und Schleimhaeuten", RelevantLifecyclePhases: []string{"normal_operation"}, RecommendedMeasuresDesign: []string{"Geschlossener Bearbeitungsraum mit Absaugung", "Materialauswahl ohne toxische Beschichtungen"}, RecommendedMeasuresTechnical: []string{"Punktabsaugung mit HEPA-Filter", "Raumluft-Monitoring"}, RecommendedMeasuresInformation: []string{"Materialfreigabeliste pflegen", "Atemschutz-PSA bei Sondermaterialien"}, SuggestedEvidence: []string{"Arbeitsplatzmessung Gefahrstoffe", "Risikobeurteilung"}, RelatedKeywords: []string{"Laserschneiden", "Rauch", "Gefahrstoff"}, IsBuiltin: true, TenantID: nil, CreatedAt: now, }, { ID: hazardUUID("material_environmental", 3), Category: "material_environmental", SubCategory: "kuehlschmierstoff", Name: "Daempfe aus Kuehlschmierstoffen", Description: "Beim Einsatz von Kuehlschmierstoffen entstehen Aerosole und Daempfe, die bei Langzeitexposition zu Haut- und Atemwegserkrankungen fuehren.", DefaultSeverity: 3, DefaultProbability: 3, DefaultExposure: 4, DefaultAvoidance: 3, ApplicableComponentTypes: []string{"mechanical", "other"}, RegulationReferences: []string{"Maschinenverordnung 2023/1230 Anhang I"}, SuggestedMitigations: mustMarshalJSON([]string{"Oelunebelabscheider an der Maschine", "Hautschutzplan fuer Bediener"}), TypicalCauses: []string{"Offene Bearbeitungszonen ohne Abschirmung", "Ueberaltertes Kuehlschmiermittel", "Zu hoher Kuehlmitteldurchsatz"}, TypicalHarm: "Oelakne, Atemwegssensibilisierung, allergische Hautreaktionen", RelevantLifecyclePhases: []string{"normal_operation"}, RecommendedMeasuresDesign: []string{"Geschlossener Bearbeitungsraum", "Minimalmengenschmierung statt Volumenoelstrom"}, RecommendedMeasuresTechnical: []string{"Oelunebelabscheider", "KSS-Konzentrations- und pH-Ueberwachung"}, RecommendedMeasuresInformation: []string{"Hautschutz- und Hygieneplan", "KSS-Pflegeanweisung"}, SuggestedEvidence: []string{"Arbeitsplatz-Gefahrstoffmessung", "Hautschutzplan"}, RelatedKeywords: []string{"Kuehlschmierstoff", "KSS", "Aerosol"}, IsBuiltin: true, TenantID: nil, CreatedAt: now, }, { ID: hazardUUID("material_environmental", 4), Category: "material_environmental", SubCategory: "prozessmedien", Name: "Chemische Exposition durch Prozessmedien", Description: "Chemisch aggressive Prozessmedien wie Saeuren, Laugen oder Loesemittel koennen bei Hautkontakt oder Einatmen schwere Gesundheitsschaeden verursachen.", DefaultSeverity: 4, DefaultProbability: 3, DefaultExposure: 3, DefaultAvoidance: 3, ApplicableComponentTypes: []string{"other", "mechanical"}, RegulationReferences: []string{"Maschinenverordnung 2023/1230 Anhang I"}, SuggestedMitigations: mustMarshalJSON([]string{"Geschlossene Mediumfuehrung", "Chemikalienschutz-PSA"}), TypicalCauses: []string{"Offene Behaelter mit Gefahrstoffen", "Spritzer beim Nachfuellen", "Leckage an Dichtungen"}, TypicalHarm: "Veraetzungen, Atemwegsschaedigung, Vergiftung", RelevantLifecyclePhases: []string{"normal_operation", "maintenance", "cleaning"}, RecommendedMeasuresDesign: []string{"Geschlossene Kreislaeufe", "Korrosionsbestaendige Materialien"}, RecommendedMeasuresTechnical: []string{"Notdusche und Augenspueler", "Gaswarnanlage"}, RecommendedMeasuresInformation: []string{"Sicherheitsdatenblaetter am Arbeitsplatz", "Gefahrstoffunterweisung"}, SuggestedEvidence: []string{"Gefahrstoffverzeichnis", "Arbeitsplatzmessung"}, RelatedKeywords: []string{"Gefahrstoff", "Chemikalie", "Prozessmedium"}, IsBuiltin: true, TenantID: nil, CreatedAt: now, }, { ID: hazardUUID("material_environmental", 5), Category: "material_environmental", SubCategory: "dichtungsversagen", Name: "Leckage von Gefahrstoffen bei Dichtungsversagen", Description: "Versagende Dichtungen an Rohrleitungen oder Behaeltern setzen Gefahrstoffe frei und gefaehrden Personal und Umwelt.", DefaultSeverity: 4, DefaultProbability: 3, DefaultExposure: 3, DefaultAvoidance: 3, ApplicableComponentTypes: []string{"mechanical", "other"}, RegulationReferences: []string{"Maschinenverordnung 2023/1230 Anhang I"}, SuggestedMitigations: mustMarshalJSON([]string{"Doppelwandige Behaelter mit Leckagedetektion", "Auffangwannen unter allen Gefahrstoffbereichen"}), TypicalCauses: []string{"Alterung der Dichtungsmaterialien", "Chemische Unvertraeglichkeit", "Thermische Ueberbelastung der Dichtung"}, TypicalHarm: "Gefahrstofffreisetzung mit Vergiftung, Hautschaedigung, Umweltschaden", RelevantLifecyclePhases: []string{"normal_operation", "maintenance"}, RecommendedMeasuresDesign: []string{"Doppelwandige Leitungen", "Chemisch bestaendige Dichtungswerkstoffe"}, RecommendedMeasuresTechnical: []string{"Leckagesensoren", "Auffangwannen mit Fassungsvermoegen 110%"}, RecommendedMeasuresInformation: []string{"Dichtungswechselintervalle festlegen", "Notfallplan Gefahrstoffaustritt"}, SuggestedEvidence: []string{"Dichtheitspruefprotokoll", "Gefahrstoff-Notfallplan"}, RelatedKeywords: []string{"Leckage", "Dichtung", "Gefahrstoff"}, IsBuiltin: true, TenantID: nil, CreatedAt: now, }, { ID: hazardUUID("material_environmental", 6), Category: "material_environmental", SubCategory: "biologische_kontamination", Name: "Biologische Kontamination in Lebensmittelmaschinen", Description: "In Maschinen der Lebensmittelindustrie koennen sich Mikroorganismen in schwer zu reinigenden Bereichen ansiedeln und das Produkt kontaminieren.", DefaultSeverity: 4, DefaultProbability: 3, DefaultExposure: 3, DefaultAvoidance: 3, ApplicableComponentTypes: []string{"mechanical", "other"}, RegulationReferences: []string{"Maschinenverordnung 2023/1230 Anhang I"}, SuggestedMitigations: mustMarshalJSON([]string{"Hygienic-Design-Konstruktion", "CIP-Reinigungssystem"}), TypicalCauses: []string{"Totraeume und Hinterschneidungen in der Konstruktion", "Unzureichende Reinigung", "Poroese Oberflaechen"}, TypicalHarm: "Lebensmittelkontamination mit Gesundheitsge­faehrdung der Verbraucher", RelevantLifecyclePhases: []string{"normal_operation", "cleaning", "maintenance"}, RecommendedMeasuresDesign: []string{"Hygienic Design nach EHEDG-Richtlinien", "Selbstentleerende Konstruktion"}, RecommendedMeasuresTechnical: []string{"CIP-Reinigungsanlage", "Oberflaechenguete Ra kleiner 0.8 Mikrometer"}, RecommendedMeasuresInformation: []string{"Reinigungs- und Desinfektionsplan", "Hygieneschulung des Personals"}, SuggestedEvidence: []string{"EHEDG-Zertifikat", "Mikrobiologische Abklatschproben"}, RelatedKeywords: []string{"Hygiene", "Kontamination", "Lebensmittelsicherheit"}, IsBuiltin: true, TenantID: nil, CreatedAt: now, }, { ID: hazardUUID("material_environmental", 7), Category: "material_environmental", SubCategory: "elektrostatik", Name: "Statische Aufladung in staubhaltiger Umgebung", Description: "In staubhaltiger oder explosionsfaehiger Atmosphaere kann eine elektrostatische Entladung als Zuendquelle wirken und eine Explosion oder einen Brand ausloesen.", DefaultSeverity: 5, DefaultProbability: 2, DefaultExposure: 3, DefaultAvoidance: 3, ApplicableComponentTypes: []string{"mechanical", "electrical", "other"}, RegulationReferences: []string{"Maschinenverordnung 2023/1230 Anhang I"}, SuggestedMitigations: mustMarshalJSON([]string{"Erdung aller leitfaehigen Teile", "Ableitfaehige Bodenbeschichtung"}), TypicalCauses: []string{"Nicht geerdete Maschinenteile", "Reibung von Kunststoffbaendern", "Niedrige Luftfeuchtigkeit"}, TypicalHarm: "Zuendung explosionsfaehiger Atmosphaere, Explosion oder Brand", RelevantLifecyclePhases: []string{"normal_operation"}, RecommendedMeasuresDesign: []string{"Leitfaehige Materialien verwenden", "Erdungskonzept fuer alle Komponenten"}, RecommendedMeasuresTechnical: []string{"Ionisatoren zur Ladungsneutralisation", "Erdungsueberwachung"}, RecommendedMeasuresInformation: []string{"ESD-Hinweisschilder", "Schulung zur elektrostatischen Gefaehrdung"}, SuggestedEvidence: []string{"Erdungsmessung", "Explosionsschutz-Dokument"}, RelatedKeywords: []string{"Elektrostatik", "ESD", "Zuendquelle"}, IsBuiltin: true, TenantID: nil, CreatedAt: now, }, { ID: hazardUUID("material_environmental", 8), Category: "material_environmental", SubCategory: "uv_strahlung", Name: "UV-Strahlung bei Schweiss- oder Haerteprozessen", Description: "Schweissvorgaenge und UV-Haerteprozesse emittieren ultraviolette Strahlung, die Augen und Haut schwer schaedigen kann.", DefaultSeverity: 4, DefaultProbability: 3, DefaultExposure: 3, DefaultAvoidance: 3, ApplicableComponentTypes: []string{"mechanical", "electrical", "other"}, RegulationReferences: []string{"Maschinenverordnung 2023/1230 Anhang I"}, SuggestedMitigations: mustMarshalJSON([]string{"Abschirmung des UV-Bereichs", "Schweissschutzschirm und Schutzkleidung"}), TypicalCauses: []string{"Fehlende Abschirmung der UV-Quelle", "Reflexion an glaenzenden Oberflaechen", "Aufenthalt im Strahlungsbereich ohne Schutz"}, TypicalHarm: "Verblitzen der Augen, Hautverbrennungen, erhoehtes Hautkrebsrisiko bei Langzeitexposition", RelevantLifecyclePhases: []string{"normal_operation", "maintenance"}, RecommendedMeasuresDesign: []string{"Vollstaendige Einhausung der UV-Quelle", "UV-absorbierende Schutzscheiben"}, RecommendedMeasuresTechnical: []string{"Schweissvorhaenge um den Arbeitsbereich", "UV-Sensor mit Abschaltung"}, RecommendedMeasuresInformation: []string{"Warnhinweis UV-Strahlung", "PSA-Pflicht: Schweissschutzhelm und Schutzkleidung"}, SuggestedEvidence: []string{"UV-Strahlungsmessung", "Risikobeurteilung"}, RelatedKeywords: []string{"UV-Strahlung", "Schweissen", "Strahlenschutz"}, IsBuiltin: true, TenantID: nil, CreatedAt: now, }, } entries = append(entries, iso12100Entries...) return entries }