{
 "schema_version": "obligation_procedures_v1",
 "regulation": "CRA",
 "layer": "Regulation -> Legal Obligation -> Procedure -> Control -> Evidence",
 "note": "Procedure ist KEINE neue Compliance-Pflicht. LEGAL_MINIMUM liegt an der Obligation; die Procedure beschreibt, WIE sie umgesetzt wird; Evidence belegt die Umsetzung. source_role=procedural_requirement (Konvergenz mit der Legal-Knowledge-Engine der anderen Session).",
 "citation_status": "pending_span_anchor",
 "scope": "worked examples: SBOM + Vulnerability Handling",
 "procedures": [
  {
   "procedure_id": "sbom_generation_process",
   "name": "SBOM-Erstellungsprozess",
   "description": "Erzeugen einer vollstaendigen, maschinenlesbaren Software Bill of Materials fuer ein Produkt mit digitalen Elementen.",
   "source_role": "procedural_requirement",
   "fulfills_obligations": ["sbom_creation", "sbom_dependency_coverage", "sbom_format_standard", "sbom_tooling_automation"],
   "steps": [
    "Komponenten und (direkte + transitive) Abhaengigkeiten inventarisieren",
    "SBOM automatisiert in der Build-/Toolchain generieren",
    "Komponenten, Versionen, Lizenzen und Lieferanten erfassen",
    "in anerkanntem maschinenlesbarem Format (CycloneDX/SPDX) ausgeben",
    "Format- und Schemavalidierung durchfuehren"
   ],
   "controls": [
    "SBOM-Datei vorhanden",
    "Format ist maschinenlesbar und standardkonform (CycloneDX/SPDX)",
    "direkte und transitive Abhaengigkeiten enthalten"
   ],
   "evidence": ["sbom.cyclonedx.json", "Format-Validierungs-Log", "Build-/Toolchain-Konfiguration"],
   "citation_spans": [], "citation_status": "pending_span_anchor"
  },
  {
   "procedure_id": "sbom_update_process",
   "name": "SBOM-Aktualisierungsprozess",
   "description": "Halten der SBOM aktuell ueber den Produktlebenszyklus bei Komponenten-, Versions- und Patch-Aenderungen.",
   "source_role": "procedural_requirement",
   "fulfills_obligations": ["sbom_maintenance_update"],
   "steps": [
    "Komponentenaenderung erkennen (Dependency-/Patch-/Versionsaenderung)",
    "SBOM neu generieren",
    "Lieferanten-SBOMs aktualisieren",
    "neue SBOM-Version speichern",
    "SBOM in Release-Artefakte uebernehmen"
   ],
   "controls": [
    "CI prueft SBOM vorhanden",
    "SBOM-Version passt zum Release",
    "Supplier-Komponenten enthalten"
   ],
   "evidence": ["sbom.json", "CI-Log", "Release-Artefakt", "Supplier-SBOM"],
   "citation_spans": [], "citation_status": "pending_span_anchor"
  },
  {
   "procedure_id": "sbom_supplier_integration_process",
   "name": "Lieferanten-SBOM-Integration",
   "description": "Beschaffen und Einarbeiten von Lieferanten-/Drittkomponenten-SBOMs in die Produkt-SBOM.",
   "source_role": "procedural_requirement",
   "fulfills_obligations": ["sbom_supply_chain_contracts", "sbom_dependency_coverage"],
   "steps": [
    "SBOM-Anforderung in Lieferantenvertraege aufnehmen",
    "Lieferanten-SBOMs einsammeln",
    "in die Produkt-SBOM mergen",
    "Drittkomponenten und deren Abhaengigkeiten nachverfolgen"
   ],
   "controls": [
    "vertragliche SBOM-Klausel vorhanden",
    "Lieferanten-SBOMs eingegangen",
    "Drittkomponenten in der SBOM gelistet"
   ],
   "evidence": ["Lieferantenvertrag-Klausel", "eingegangene Supplier-SBOMs", "gemergte SBOM"],
   "citation_spans": [], "citation_status": "pending_span_anchor"
  },
  {
   "procedure_id": "sbom_provision_process",
   "name": "SBOM-Bereitstellungsprozess",
   "description": "Zugaenglichmachen der SBOM fuer berechtigte Parteien (Nutzer, Behoerde) unter Wahrung der Vertraulichkeit.",
   "source_role": "procedural_requirement",
   "fulfills_obligations": ["sbom_access_provision", "sbom_authority_provision", "sbom_confidentiality"],
   "steps": [
    "Zugangskanal definieren (Portal/API/dokumentierter Pfad)",
    "Nutzer ueber den Zugangsweg informieren",
    "auf begruendetes Verlangen der Marktueberwachungsbehoerde vertraulich bereitstellen",
    "Zugriffskontrolle und Vertraulichkeitsmassnahmen anwenden"
   ],
   "controls": [
    "Zugangspfad dokumentiert",
    "Zugriffskontrolle/Vertraulichkeit umgesetzt",
    "Behoerden-Bereitstellungsprozess definiert"
   ],
   "evidence": ["Zugangskanal-Dokumentation", "Behoerden-Anfrage-Log", "Zugriffskontroll-Konfiguration"],
   "citation_spans": [], "citation_status": "pending_span_anchor"
  },
  {
   "procedure_id": "sbom_conformity_documentation_process",
   "name": "SBOM in technischer Dokumentation/Konformitaet",
   "description": "Aufnehmen der SBOM in die technische Dokumentation und Verifizieren der Vollstaendigkeit fuer die Konformitaetsbewertung.",
   "source_role": "procedural_requirement",
   "fulfills_obligations": ["sbom_technical_documentation", "sbom_completeness_verification"],
   "steps": [
    "SBOM in die technische Dokumentation aufnehmen",
    "Vollstaendigkeit gegen die real eingesetzte Softwarekomposition pruefen",
    "der Konformitaetsbewertung beilegen (ggf. EUCC)"
   ],
   "controls": [
    "SBOM Teil der technischen Dokumentation",
    "Vollstaendigkeit verifiziert",
    "Konformitaetsnachweis vorhanden"
   ],
   "evidence": ["technische Dokumentation", "Vollstaendigkeits-Pruefbericht", "Konformitaetsnachweis"],
   "citation_spans": [], "citation_status": "pending_span_anchor"
  },

  {
   "procedure_id": "vuln_handling_process_setup",
   "name": "Schwachstellenbehandlungsprozess einrichten",
   "description": "Dokumentierten Prozess und Meldekanal (CVD) fuer die Schwachstellenbehandlung etablieren.",
   "source_role": "procedural_requirement",
   "fulfills_obligations": ["vuln_handling_process"],
   "steps": [
    "dokumentierten Schwachstellenbehandlungsprozess definieren",
    "Coordinated-Vulnerability-Disclosure-Richtlinie und Meldekanal veroeffentlichen",
    "eingehende Meldungen triagieren"
   ],
   "controls": [
    "Behandlungsprozess dokumentiert",
    "Meldekanal/Kontaktstelle auffindbar (z.B. security.txt)",
    "Triage-Verfahren vorhanden"
   ],
   "evidence": ["Prozessdokument", "security.txt / Kontaktstelle", "Triage-Log"],
   "citation_spans": [], "citation_status": "pending_span_anchor"
  },
  {
   "procedure_id": "vuln_identification_process",
   "name": "Schwachstellen-Identifikation",
   "description": "Bekannte Schwachstellen in eingesetzten Komponenten erkennen und inventarisieren.",
   "source_role": "procedural_requirement",
   "fulfills_obligations": ["vuln_identification_inventory"],
   "steps": [
    "Advisories/CVE-Feeds beobachten",
    "gegen die SBOM-Komponenten abgleichen",
    "Schwachstellen-Inventar pflegen"
   ],
   "controls": [
    "Advisory-/CVE-Monitoring aktiv",
    "SBOM-zu-CVE-Abgleich durchgefuehrt",
    "Schwachstellen-Inventar gepflegt"
   ],
   "evidence": ["CVE-Abgleich-Report", "Schwachstellen-Register"],
   "citation_spans": [], "citation_status": "pending_span_anchor"
  },
  {
   "procedure_id": "vuln_assessment_process",
   "name": "Schwachstellen-Bewertung/Priorisierung",
   "description": "Identifizierte Schwachstellen nach Schweregrad, Ausnutzbarkeit und Exposition bewerten und priorisieren.",
   "source_role": "procedural_requirement",
   "fulfills_obligations": ["vuln_assessment_prioritization"],
   "steps": [
    "Schweregrad bewerten (z.B. CVSS)",
    "Ausnutzbarkeit/Exposition einschaetzen",
    "risikobasiert priorisieren"
   ],
   "controls": [
    "Schweregrad standardisiert bewertet",
    "risikobasierte Priorisierung vorhanden"
   ],
   "evidence": ["Bewertungsdatensatz (CVSS)", "Prioritaetenliste"],
   "citation_spans": [], "citation_status": "pending_span_anchor"
  },
  {
   "procedure_id": "vuln_remediation_process",
   "name": "Schwachstellen-Behebung",
   "description": "Bekannte Schwachstellen fristgerecht durch Patches/Gegenmassnahmen beheben und Sicherheitsupdates bereitstellen.",
   "source_role": "procedural_requirement",
   "fulfills_obligations": ["vuln_remediation_patching"],
   "steps": [
    "Fix/Gegenmassnahme entwickeln",
    "testen",
    "Sicherheitsupdate kostenfrei und zeitnah bereitstellen",
    "bis zum Abschluss nachverfolgen"
   ],
   "controls": [
    "zeitnahe Behebung",
    "Sicherheitsupdate bereitgestellt",
    "Follow-up bis Closure"
   ],
   "evidence": ["Patch/Release", "Behebungs-Zeitleiste", "Follow-up-Log"],
   "citation_spans": [], "citation_status": "pending_span_anchor"
  },
  {
   "procedure_id": "vuln_disclosure_process",
   "name": "Offenlegung + Nutzerinformation",
   "description": "Koordinierte Offenlegung behobener Schwachstellen und Information der Nutzer ueber Schutzmassnahmen.",
   "source_role": "procedural_requirement",
   "fulfills_obligations": ["coordinated_vulnerability_disclosure", "vuln_info_dissemination_users"],
   "steps": [
    "Offenlegungszeitpunkt koordinieren",
    "Security Advisory / CVE-Eintrag veroeffentlichen",
    "Nutzer ueber behobene Schwachstelle und Schutzmassnahmen informieren"
   ],
   "controls": [
    "Advisory veroeffentlicht",
    "Nutzer informiert"
   ],
   "evidence": ["Security Advisory", "CVE-Eintrag", "Nutzer-Benachrichtigung"],
   "citation_spans": [], "citation_status": "pending_span_anchor"
  },
  {
   "procedure_id": "vuln_authority_reporting_process",
   "name": "Behoerdenmeldung aktiv ausgenutzter Schwachstellen",
   "description": "Aktiv ausgenutzte Schwachstellen fristgerecht an CSIRT/ENISA melden (CRA Art. 14-Kaskade).",
   "source_role": "procedural_requirement",
   "fulfills_obligations": ["exploited_vuln_reporting_authorities"],
   "applicability_note": "bedingt: nur bei aktiv ausgenutzter Schwachstelle",
   "steps": [
    "aktive Ausnutzung erkennen",
    "Fruehwarnung an CSIRT/ENISA (24h)",
    "vollstaendige Meldung (72h)",
    "Abschlussbericht (14 Tage)"
   ],
   "controls": [
    "24h-Fruehwarnung erfolgt",
    "72h-Meldung erfolgt",
    "14d-Abschlussbericht erfolgt"
   ],
   "evidence": ["CSIRT/ENISA-Meldungsbelege", "Zeitstempel der Kaskade"],
   "citation_spans": [], "citation_status": "pending_span_anchor"
  }
 ]
}
