# ISMS — ISO 27001 Managementsystem

## Uebersicht

Das ISMS-Modul (Informationssicherheits-Managementsystem) unterstuetzt die vollstaendige
ISO 27001:2022 Zertifizierungsvorbereitung. Es deckt alle relevanten Kapitel der Norm ab
und bietet einen automatischen Readiness-Check, der potenzielle Major- und Minor-Findings
**vor** der externen Zertifizierung identifiziert.

**Frontend:** `https://macmini:3007/sdk/isms`

**Backend:** `backend-compliance` (Python/FastAPI), Prefix `/api/isms/`

## Abgedeckte ISO 27001 Kapitel

| Kapitel | Titel | Funktionen |
|---------|-------|------------|
| 4.1/4.2 | Kontext der Organisation | Interne/externe Themen, Stakeholder-Analyse, SWOT |
| 4.3 | Geltungsbereich | Scope-Definition, Standorte, Prozesse, Ausschlüsse |
| 5.2 | Informationssicherheitspolitik | Policy-Verwaltung mit Versioning und Genehmigung |
| 6.2 | Sicherheitsziele | SMART-Ziele mit KPI-Tracking und Fortschrittsmessung |
| Annex A | Statement of Applicability (SoA) | 93 Controls, Applicability, Implementierungsstatus |
| 9.2 | Internes Audit | Audit-Planung, Durchfuehrung, Abschluss |
| 9.3 | Managementbewertung | Review-Protokolle, Action Items, Genehmigung |
| 10.1 | Nichtkonformitaet & Korrekturmassnahmen | Findings (Major/Minor/OFI) und CAPA-Workflow |

## API-Endpunkte (39 Endpoints)

### ISMS Scope (Kap. 4.3)

| Methode | Pfad | Beschreibung |
|---------|------|--------------|
| `GET` | `/isms/scope` | Aktuellen Scope abrufen |
| `POST` | `/isms/scope` | Neuen Scope erstellen (ersetzt bestehenden) |
| `PUT` | `/isms/scope/{id}` | Scope aktualisieren (nur im Draft-Status) |
| `POST` | `/isms/scope/{id}/approve` | Scope genehmigen (Top-Management-Signatur) |

### Kontext (Kap. 4.1, 4.2)

| Methode | Pfad | Beschreibung |
|---------|------|--------------|
| `GET` | `/isms/context` | Kontextanalyse abrufen |
| `POST` | `/isms/context` | Neue Kontextanalyse erstellen |

### Policies (Kap. 5.2)

| Methode | Pfad | Beschreibung |
|---------|------|--------------|
| `GET` | `/isms/policies` | Alle Policies auflisten (Filter: `policy_type`, `status`) |
| `POST` | `/isms/policies` | Neue Policy erstellen |
| `GET` | `/isms/policies/{id}` | Einzelne Policy abrufen |
| `PUT` | `/isms/policies/{id}` | Policy aktualisieren (neue Version bei genehmigter Policy) |
| `POST` | `/isms/policies/{id}/approve` | Policy genehmigen |

### Sicherheitsziele (Kap. 6.2)

| Methode | Pfad | Beschreibung |
|---------|------|--------------|
| `GET` | `/isms/objectives` | Alle Ziele auflisten (Filter: `category`, `status`) |
| `POST` | `/isms/objectives` | Neues Ziel erstellen |
| `PUT` | `/isms/objectives/{id}` | Ziel-Fortschritt aktualisieren |

### Statement of Applicability (SoA)

| Methode | Pfad | Beschreibung |
|---------|------|--------------|
| `GET` | `/isms/soa` | SoA-Eintraege auflisten (Filter: `is_applicable`, `implementation_status`, `category`) |
| `POST` | `/isms/soa` | Neuen SoA-Eintrag erstellen |
| `PUT` | `/isms/soa/{id}` | SoA-Eintrag aktualisieren |
| `POST` | `/isms/soa/{id}/approve` | SoA-Eintrag genehmigen |

### Audit Findings

| Methode | Pfad | Beschreibung |
|---------|------|--------------|
| `GET` | `/isms/findings` | Findings auflisten (Filter: `finding_type`, `status`, `internal_audit_id`) |
| `POST` | `/isms/findings` | Neues Finding erstellen (auto-generierte ID: FIND-YYYY-NNN) |
| `PUT` | `/isms/findings/{id}` | Finding aktualisieren |
| `POST` | `/isms/findings/{id}/close` | Finding schliessen (alle CAPAs muessen verifiziert sein) |

### Corrective Actions (CAPA)

| Methode | Pfad | Beschreibung |
|---------|------|--------------|
| `GET` | `/isms/capa` | CAPAs auflisten (Filter: `finding_id`, `status`, `assigned_to`) |
| `POST` | `/isms/capa` | Neue CAPA erstellen (auto-generierte ID: CAPA-YYYY-NNN) |
| `PUT` | `/isms/capa/{id}` | CAPA-Fortschritt aktualisieren |
| `POST` | `/isms/capa/{id}/verify` | CAPA-Wirksamkeit verifizieren |

### Management Reviews (Kap. 9.3)

| Methode | Pfad | Beschreibung |
|---------|------|--------------|
| `GET` | `/isms/management-reviews` | Reviews auflisten |
| `POST` | `/isms/management-reviews` | Neue Review erstellen |
| `GET` | `/isms/management-reviews/{id}` | Einzelne Review abrufen |
| `PUT` | `/isms/management-reviews/{id}` | Review aktualisieren |
| `POST` | `/isms/management-reviews/{id}/approve` | Review genehmigen |

### Interne Audits (Kap. 9.2)

| Methode | Pfad | Beschreibung |
|---------|------|--------------|
| `GET` | `/isms/internal-audits` | Audits auflisten |
| `POST` | `/isms/internal-audits` | Neues Audit planen |
| `PUT` | `/isms/internal-audits/{id}` | Audit aktualisieren |
| `POST` | `/isms/internal-audits/{id}/complete` | Audit abschliessen |

### Readiness-Check

| Methode | Pfad | Beschreibung |
|---------|------|--------------|
| `POST` | `/isms/readiness-check` | Readiness-Check durchfuehren |
| `GET` | `/isms/readiness-check/latest` | Letztes Ergebnis abrufen |

### Audit Trail & Uebersicht

| Methode | Pfad | Beschreibung |
|---------|------|--------------|
| `GET` | `/isms/audit-trail` | Audit-Trail abfragen (paginiert) |
| `GET` | `/isms/overview` | ISO 27001 Gesamtuebersicht |

## Datenbank-Tabellen

| Tabelle | Beschreibung |
|---------|--------------|
| `compliance_isms_scope` | ISMS-Geltungsbereich |
| `compliance_isms_context` | Kontextanalyse (4.1/4.2) |
| `compliance_isms_policy` | Sicherheitspolicies |
| `compliance_security_objectives` | Sicherheitsziele mit KPIs |
| `compliance_soa` | Statement of Applicability (93 Annex-A-Controls) |
| `compliance_audit_findings` | Audit-Findings (Major/Minor/OFI/Positive) |
| `compliance_corrective_actions` | CAPA (Corrective/Preventive Actions) |
| `compliance_management_reviews` | Management-Reviews |
| `compliance_internal_audits` | Interne Audits |
| `compliance_audit_trail` | Audit-Trail (alle ISMS-Aenderungen) |
| `compliance_isms_readiness_checks` | Readiness-Check-Ergebnisse |

## Readiness-Check

Der Readiness-Check prueft automatisch alle Zertifizierungsvoraussetzungen:

- **Scope genehmigt?** (Kap. 4.3) → Major wenn nein
- **Kontextanalyse vorhanden?** (Kap. 4.1/4.2) → Major wenn nein
- **Master-Policy genehmigt?** (Kap. 5.2) → Major wenn nein
- **Risiken mit Behandlungsplan?** (Kap. 6.1.2) → Major wenn Risiken ohne Plan
- **Sicherheitsziele definiert?** (Kap. 6.2) → Major wenn keine
- **SoA erstellt und genehmigt?** (Annex A) → Major/Minor
- **Internes Audit in letzten 12 Monaten?** (Kap. 9.2) → Major wenn nein
- **Management-Review in letzten 12 Monaten?** (Kap. 9.3) → Major wenn nein
- **Offene Major-Findings?** (Kap. 10.1) → Major wenn ja
- **Offene Minor-Findings?** (Kap. 10.1) → Minor wenn ja

Das Ergebnis zeigt einen Readiness-Score (0-100%) und ob eine Zertifizierung moeglich ist.

## Frontend-Tabs

| Tab | Inhalt |
|-----|--------|
| **Uebersicht** | Readiness-Score, Kapitel-Status, Scope-Zusammenfassung, Readiness-Check |
| **Policies** | Policy-Liste mit Filter, Versionierung, Genehmigungsworkflow |
| **SoA (Annex A)** | 93 Controls-Tabelle, Applicability, Implementierungsstatus |
| **Ziele** | Sicherheitsziele mit KPI-Fortschrittsbalken |
| **Audits & Findings** | Interne Audits, Findings (Major/Minor/OFI), CAPA-Workflow |
| **Management Reviews** | Review-Protokolle, Genehmigung, naechste Review-Planung |

## Rechtliche Grundlagen

- **ISO/IEC 27001:2022** — Informationssicherheits-Managementsysteme
- **Art. 32 DSGVO** — Sicherheit der Verarbeitung
- **Art. 5 Abs. 1f DSGVO** — Integritaet und Vertraulichkeit
