diff --git a/TOPICS.md b/TOPICS.md index 2e68b98..8b66b01 100644 --- a/TOPICS.md +++ b/TOPICS.md @@ -102,4 +102,5 @@ Lade immer zuerst diese Datei. Dann gezielt die passende(n) Referenz-Datei(en). | IMS (ISO 9001 + 27001) | e-compliance/ims/00_IMS-Handbuch.md | Integriertes Managementsystem: Kontext, Politiken, Risiko/SoA, Audit, KVP; Betriebsprozesse in ims/05_betrieb/ | | IMS Management-Cockpit | e-compliance/ims/cockpit/IMS-Cockpit.html | Offline-HTML zur Navigation/Einsicht aller IMS-Dokumente; neu bauen via build_cockpit.py | | Pendenzen / Massnahmen | e-compliance/ims/07_verbesserung/massnahmen-register.md | Zentrale Pendenzenliste (CAPA), Quelle fuer Cockpit-Pendenzenseite | -| Organisationsreglement | e-compliance/ims/02_fuehrung/organisationsreglement.md | Operative Aufgabenverteilung, Operations-/VR-Meetings (Vorschlag Silvan Winiger, POL-Freigabe ausstehend) | +| Organisationsreglement | e-compliance/ims/02_fuehrung/organisationsreglement.md | Operative Rollen, Meetings (generisch); Amtsinhaber im Mapping | +| Personen-Rollen-Mapping | e-compliance/ims/02_fuehrung/personen-rollen-mapping.md | Zentrale Zuordnung Funktion → Person (OR + IMS-Fachrollen) | diff --git a/c-work/_CHANGELOG.md b/c-work/_CHANGELOG.md index 7d95716..1eb7eaa 100644 --- a/c-work/_CHANGELOG.md +++ b/c-work/_CHANGELOG.md @@ -14,8 +14,9 @@ Skip: reine Refactors, Formatting, Lint, Dep-Bumps, Test-only, Wiki-Tippfehler. ## 2026-06-11 +- 2026-06-11 | docs | wiki | **IMS: Personen & VR im Organisationsreglement** — Vollständige Namen, VR-Mitglieder, FT/OP-Rollencodes, Mitarbeitende Stephan Schellworth / Ida Dittrich; PDFs neu. - 2026-06-11 | docs | wiki | **IMS: MFA umgesetzt nachgeführt** — M-01 erledigt, R-03/SoA A.5.17+A.8.5 auf Umgesetzt, Zugriffsmanagement und Rechtsanalyse aktualisiert. -- 2026-06-11 | docs | wiki | **IMS: Organisationsreglement** — `02_fuehrung/organisationsreglement.md` aus Vorschlag Silvan Winiger; Kommunikation/Rollen/R-01 ergänzt; M-14 POL-Bestätigung in Arbeit. +- 2026-06-11 | docs | wiki | **IMS: Organisationsreglement** — `02_fuehrung/organisationsreglement.md`; Kommunikation/Rollen/R-01 ergänzt; M-14 VR-Freigabe in Arbeit. ## 2026-06-10 diff --git a/e-compliance/ims/00_IMS-Handbuch.md b/e-compliance/ims/00_IMS-Handbuch.md index 5d31525..181cb65 100644 --- a/e-compliance/ims/00_IMS-Handbuch.md +++ b/e-compliance/ims/00_IMS-Handbuch.md @@ -30,7 +30,7 @@ Gesamte PowerOn AG inkl. Entwicklung, Betrieb und Produktmanagement der **PORTA | Kapitel (ISO) | Ordner | Inhalt | |---|---|---| | 4 Kontext | `01_kontext/` | Kontext & interessierte Parteien, Geltungsbereich | -| 5 Führung | `02_fuehrung/` | QM-Politik, IS-Politik, Rollen, Organisationsreglement | +| 5 Führung | `02_fuehrung/` | QM-Politik, IS-Politik, Rollen, Organisationsreglement, Personen-Mapping | | 6 Planung | `03_planung/` | Risikomethodik, Risikoregister, SoA, Ziele/KPI | | 7 Unterstützung | `04_unterstuetzung/` | Kompetenz/Schulung, Kommunikation, Dokumentenlenkung, Register | | 8 Betrieb + Annex A | `05_betrieb/` | Operative Prozesse & Sicherheits-Controls | diff --git a/e-compliance/ims/02_fuehrung/organisationsreglement.md b/e-compliance/ims/02_fuehrung/organisationsreglement.md index da2ce11..0b2bc79 100644 --- a/e-compliance/ims/02_fuehrung/organisationsreglement.md +++ b/e-compliance/ims/02_fuehrung/organisationsreglement.md @@ -1,6 +1,6 @@ - + @@ -11,9 +11,8 @@ # Organisationsreglement **Dokumenttyp:** Grundlagendokument (Führung, operative Organisation) -**Quelle:** Vorschlag Silvan Winiger (SoHa Treuhand AG), Juni 2026 — zur Bestätigung im Verwaltungsrat (POL). -Regelt die **operative Aufgabenverteilung**, **Meetingstruktur** und **Kommunikationswege** der PowerOn AG. Ergänzt die IMS-Rollen in [rollen-verantwortlichkeiten.md](rollen-verantwortlichkeiten.md) (ISB, QMB, Audit etc.) um die geschäftliche Führungs- und Koordinationsstruktur. +Regelt die **operative Aufgabenverteilung**, **Meetingstruktur** und **Kommunikationswege** der PowerOn AG. Ergänzt die IMS-Fachrollen in [rollen-verantwortlichkeiten.md](rollen-verantwortlichkeiten.md). Personen und VR-Zugehörigkeit: [Personen-Rollen-Mapping](personen-rollen-mapping.md). ## 1. Zweck @@ -25,21 +24,27 @@ Regelt die **operative Aufgabenverteilung**, **Meetingstruktur** und **Kommunika | Ziel | Beschreibung | |---|---| -| Entlastung Patrick | Fokus auf Roadmap, Personalplanung und operative Entscheidungsprozesse | -| Entlastung Philipp | Fokus auf Strategie, Growth und Investoren/Kapital | -| Entlastung Dominic | Fokus auf Network, Sales und Support Operations | +| Entlastung Geschäftsführung | Fokus auf Roadmap Entwicklung, Personalplanung und operative Entscheidungsprozesse | +| Entlastung Leiter Strategie & Kapital | Fokus auf Strategie, Growth und Investoren/Kapitalbeschaffung | +| Entlastung Leiter Vertrieb & Support Operations | Fokus auf Network, Sales und Support Operations | | Struktur & Kommunikation | Regelmässige, thematisch getrennte Meetings mit klarer Moderation | ## 3. Aufgabenverteilung (operativ) -| Person | Schwerpunkt | Bemerkung | -|---|---|---| -| **Patrick Motsch** | Roadmap Entwicklung, Personalplanung, Prozess für operative Entscheidungsfindung | Geschäftsführung, IMS-Rollen gebündelt (siehe Rollenmatrix) | -| **Dominic** | Network, Sales, Unterstützung Business Development & Support Operations | | -| **Philipp** | Strategie, Support Growth Management, Lead Invest-Themen / Kapitalbeschaffung | | -| **Silvan Winiger** | Treuhänderische & buchhalterische Leistungen, Testing, Akquise | Extern (SoHa Treuhand AG) | -| **Chris** | Business Development, organisatorische Führung und Koordination; Bindeglied zwischen Operations, Entwicklung, Akquise und Kundenbetreuung; Auffangbecken für Patrick | Voraussetzung Tätigkeit für PowerOn — siehe Abschnitt 6 | -| **Stephan** | Abstimmung zum weiteren Vorgehen, Einsatzfähigkeit | Fokus Entlastung Dominic — Bedarf im POL klären | +| Rolle | Code | Amtsinhaber | VR | Schwerpunkt | +|---|---|---|---|---| +| **Geschäftsführung** | GF | Patrick Motsch | ja | Roadmap Entwicklung, Personalplanung, operative Entscheidungsfindung; CEO, CTO; IMS-Fachrollen gebündelt | +| **Leiter Vertrieb & Support Operations** | VSO | Dominic Largo | ja | Network, Sales, Unterstützung Business Development & Support Operations | +| **Leiter Strategie & Kapital** | SK | Philipp Graf | ja | Strategie, Support Growth Management, Lead Invest-Themen / Kapitalbeschaffung | +| **Finanzen und Treuhand** | FT | Silvan Winiger | ja | Treuhänderische & buchhalterische Leistungen, Testing, Akquise | +| **Leiter operative Koordination und Produktmarketing** | OP | Chris Winiger | nein | Business Development, organisatorische Führung und Koordination, Produktmarketing; Bindeglied zwischen Operations, Entwicklung, Akquise und Kundenbetreuung; Entlastung der Geschäftsführung im Tagesgeschäft | + +### 3.1 Weitere Mitarbeitende PowerOn AG + +| Name | Funktion | +|---|---| +| Stephan Schellworth | Mitarbeitender | +| Ida Dittrich | Mitarbeitende | ## 4. Meetingstruktur @@ -47,19 +52,19 @@ Regelt die **operative Aufgabenverteilung**, **Meetingstruktur** und **Kommunika | Feld | Inhalt | |---|---| -| Teilnehmende | Patrick, Dominic, Chris; anfangs ggf. Silvan als Support | +| Teilnehmende | Patrick Motsch (GF), Dominic Largo (VSO), Chris Winiger (OP); bei Bedarf Silvan Winiger (FT) | | Inhalte | Daily Business, operative Entscheidungsfindungen, Zahlen | -| Moderation | Chris (Vorschlag) | +| Moderation | Chris Winiger (OP) — Vertretung: Patrick Motsch (GF) | | Eskalation | Bei Bedarf kurzes Sync Operations → Verwaltungsrat | -### 4.2 Verwaltungsrat (POL) +### 4.2 Verwaltungsrat -| Feld | Aktuell | Ziel | -|---|---|---| -| Frequenz | wöchentlich | bald zweiwöchentlich, mittelfristig monatlich | -| Teilnehmende | Verwaltungsrat | +| Feld | Regelung | +|---|---| +| Mitglieder | Patrick Motsch, Dominic Largo, Philipp Graf, Silvan Winiger | +| Frequenz | Übergang: ab Juli 2026 zweiwöchentlich; ab Q4 2026 monatlich | | Inhalte | Strategische Entscheidungen, relevante operative Themen, finanzielle Situation | -| Physisch | Quartalsweise Abendessen (Vorschlag) | +| Physisches Treffen | Quartalsweise (Abendessen / strategischer Austausch) | Details zur IMS-internen Kommunikation: [kommunikation.md](../04_unterstuetzung/kommunikation.md). @@ -67,24 +72,11 @@ Details zur IMS-internen Kommunikation: [kommunikation.md](../04_unterstuetzung/ | IMS-Bezug | Wirkung | |---|---| -| R-01 Schlüsselpersonenrisiko | Operative Entlastung und Koordinationsrolle (Chris) als **kompensierende Massnahme** — ersetzt keine technische Vertretung | -| Kap. 5.3 Rollen | Operative Rollen hier; IMS-Fachrollen (ISB, QMB, Auditor) in [rollen-verantwortlichkeiten.md](rollen-verantwortlichkeiten.md) | -| Kap. 7.4 Kommunikation | Meetingrhythmus in [kommunikation.md](../04_unterstuetzung/kommunikation.md) nachgeführt | -| Kap. 9.3 Management-Review | VR/POL dient als strategisches Review-Gremium; formales IMS-Management-Review zusätzlich gemäss [management-review.md](../06_bewertung/management-review.md) | +| R-01 Schlüsselpersonenrisiko | Operative Entlastung und Rolle **Leiter operative Koordination und Produktmarketing (OP)** als kompensierende Massnahme — ersetzt keine technische Vertretung | +| Kap. 5.3 Rollen | Operative Rollen hier; IMS-Fachrollen in [rollen-verantwortlichkeiten.md](rollen-verantwortlichkeiten.md) | +| Kap. 7.4 Kommunikation | Meetingrhythmus in [kommunikation.md](../04_unterstuetzung/kommunikation.md) | +| Kap. 9.3 Management-Review | Verwaltungsrat als strategisches Review-Gremium; formales IMS-Management-Review zusätzlich gemäss [management-review.md](../06_bewertung/management-review.md) | -## 6. Offene Entscheidungen (POL) +## 6. Inkrafttreten -Folgende Punkte sind **Vorschlag** und bedürfen der Bestätigung im nächsten POL: - -| Nr. | Entscheidung | Zieltermin | -|---|---|---| -| 1 | Feedback zur Aufgabenzuteilung (Abschnitt 3) | Nächstes POL | -| 2 | Personalsituation nächste drei Monate | Nächstes POL | -| 3 | Chris übernimmt Moderation Operations-Meetings (sofern für PO tätig) | Nächstes POL | -| 4 | Startdatum neue VR-Meetingfrequenz und Übergangsplan | Nächstes POL | - -Nach POL-Bestätigung: `status` auf `freigegeben` setzen, `approvedDate` und ggf. `version` 1.0. - -## 7. Inkrafttreten - -Gültig ab Bestätigung durch Verwaltungsrat. Bis dahin als **Arbeitsgrundlage** für die vorgeschlagene Meetingstruktur. +Gültig ab Freigabe durch den Verwaltungsrat. Anpassungen an Rolleninhalten in diesem Dokument; Personenwechsel im [Personen-Rollen-Mapping](personen-rollen-mapping.md). diff --git a/e-compliance/ims/02_fuehrung/organisationsreglement.pdf b/e-compliance/ims/02_fuehrung/organisationsreglement.pdf new file mode 100644 index 0000000..0fbd137 Binary files /dev/null and b/e-compliance/ims/02_fuehrung/organisationsreglement.pdf differ diff --git a/e-compliance/ims/02_fuehrung/personen-rollen-mapping.md b/e-compliance/ims/02_fuehrung/personen-rollen-mapping.md new file mode 100644 index 0000000..efeb683 --- /dev/null +++ b/e-compliance/ims/02_fuehrung/personen-rollen-mapping.md @@ -0,0 +1,57 @@ + + + + + + + + + + +# Personen-Rollen-Mapping + +**Dokumenttyp:** Record (Zuordnung Funktion → Person) + +Zentrale Zuordnung **namentlicher Amtsinhaber** zu den Rollen im IMS und Organisationsreglement. Bei Wechsel wird ausschliesslich diese Tabelle angepasst. + +**Stand:** 2026-06-11 + +## 1. Verwaltungsrat und operative Führung + +| Rolle | Code | Name | VR | Bemerkung | +|---|---|---|---|---| +| Geschäftsführung | GF | **Patrick Motsch** | ja | CEO, CTO | +| Leiter Vertrieb & Support Operations | VSO | **Dominic Largo** | ja | | +| Leiter Strategie & Kapital | SK | **Philipp Graf** | ja | | +| Finanzen und Treuhand | FT | **Silvan Winiger** | ja | Treuhänderische & buchhalterische Leistungen (SoHa Treuhand AG) | +| Leiter operative Koordination und Produktmarketing | OP | **Chris Winiger** | nein | PowerOn AG | + +Rollenbeschreibungen und Aufgaben: [organisationsreglement.md](organisationsreglement.md). + +## 2. Weitere Mitarbeitende PowerOn AG + +| Name | Funktion | +|---|---| +| **Stephan Schellworth** | Mitarbeitender | +| **Ida Dittrich** | Mitarbeitende | + +## 3. IMS-Fachrollen + +| Rolle | Amtsinhaber | Kontakt | +|---|---|---| +| Oberste Leitung (Geschäftsführung) | Patrick Motsch | p.motsch@poweron.swiss | +| Informationssicherheits-Beauftragter (ISB) | Patrick Motsch | p.motsch@poweron.swiss | +| Qualitätsmanagement-Beauftragter (QMB) | Patrick Motsch | p.motsch@poweron.swiss | +| Dokumentenlenkungs-Verantwortlicher | Patrick Motsch | p.motsch@poweron.swiss | +| Datenschutzverantwortlicher | Patrick Motsch | p.motsch@poweron.swiss | +| Betrieb / DevOps & Incident-Verantwortlicher | Patrick Motsch | p.motsch@poweron.swiss | +| Drittdienst-/Lieferanten-Verantwortlicher | Patrick Motsch | p.motsch@poweron.swiss | +| Interner Auditor | *noch zu benennen (extern)* | — | + +Rollenbeschreibungen: [rollen-verantwortlichkeiten.md](rollen-verantwortlichkeiten.md). Risiko-Eigner je Eintrag: [Risikoregister](../03_planung/risikoregister.md). + +## 4. Pflege + +- Änderungen nur hier; kein Duplikat in Organisationsreglement oder Rollenmatrix. +- Bei Wechsel: Zeile ersetzen, `Stand`-Datum im Header aktualisieren, betroffene Person informieren. +- Freigabe durch Geschäftsführung; wesentliche Änderungen im nächsten Verwaltungsrat zur Kenntnis. diff --git a/e-compliance/ims/02_fuehrung/personen-rollen-mapping.pdf b/e-compliance/ims/02_fuehrung/personen-rollen-mapping.pdf new file mode 100644 index 0000000..85c7d33 Binary files /dev/null and b/e-compliance/ims/02_fuehrung/personen-rollen-mapping.pdf differ diff --git a/e-compliance/ims/02_fuehrung/rollen-verantwortlichkeiten.md b/e-compliance/ims/02_fuehrung/rollen-verantwortlichkeiten.md index ca7c9c5..b59fe25 100644 --- a/e-compliance/ims/02_fuehrung/rollen-verantwortlichkeiten.md +++ b/e-compliance/ims/02_fuehrung/rollen-verantwortlichkeiten.md @@ -12,21 +12,23 @@ **Dokumenttyp:** Grundlagendokument (ISO 9001 / 27001 Kap. 5.3) -Aufgrund der kleinen Teamgrösse (2-5 Personen) werden Rollen gebuendelt. Bündelung ist zulässig; entscheidend ist die dokumentierte, namentliche Zuweisung. Wo Funktionstrennung fehlt, greifen kompensierende Massnahmen. +Aufgrund der kleinen Teamgrösse (2-5 Personen) werden Rollen gebuendelt. Bündelung ist zulässig; entscheidend ist die dokumentierte Zuweisung. **Namentliche Träger** stehen zentral im [Personen-Rollen-Mapping](personen-rollen-mapping.md) — diese Matrix enthält nur Funktionen. ## 1. Rollenmatrix | Rolle | Verantwortung / Befugnis | Träger | |---|---|---| -| Oberste Leitung (Geschäftsführung) | Gesamtverantwortung IMS, Freigabe Politiken, Ressourcen, Management-Review | Patrick Motsch (p.motsch@poweron.swiss) | -| Informationssicherheits-Beauftragter (ISB / CISO-Funktion) | ISMS-Pflege, Risikobeurteilung, SoA, Steuerung Annex-A-Controls | Patrick Motsch | -| Qualitätsmanagement-Beauftragter (QMB) | QMS-Pflege, Prozesssteuerung, KVP, Audit-Koordination | Patrick Motsch | -| Dokumentenlenkungs-Verantwortlicher | Pflege Header-Standard, Dokumentenregister, Review-Zyklen | Patrick Motsch | -| Datenschutzverantwortlicher | DSG/DSGVO, AVV-Management | Patrick Motsch | -| Betrieb / DevOps & Incident-Verantwortlicher | Server, Deployment, Backups, Vorfallbehandlung | Patrick Motsch | -| Drittdienst-/Lieferanten-Verantwortlicher | Drittanbieter-Inventar, AVVs, Subunternehmer | Patrick Motsch | +| Oberste Leitung (Geschäftsführung) | Gesamtverantwortung IMS, Freigabe Politiken, Ressourcen, Management-Review | → Mapping | +| Informationssicherheits-Beauftragter (ISB / CISO-Funktion) | ISMS-Pflege, Risikobeurteilung, SoA, Steuerung Annex-A-Controls | → Mapping | +| Qualitätsmanagement-Beauftragter (QMB) | QMS-Pflege, Prozesssteuerung, KVP, Audit-Koordination | → Mapping | +| Dokumentenlenkungs-Verantwortlicher | Pflege Header-Standard, Dokumentenregister, Review-Zyklen | → Mapping | +| Datenschutzverantwortlicher | DSG/DSGVO, AVV-Management | → Mapping | +| Betrieb / DevOps & Incident-Verantwortlicher | Server, Deployment, Backups, Vorfallbehandlung | → Mapping | +| Drittdienst-/Lieferanten-Verantwortlicher | Drittanbieter-Inventar, AVVs, Subunternehmer | → Mapping | | Risiko-Eigner (Risk Owner) | Verantwortung je wesentlichem Risiko/Asset | gemäss [Risikoregister](../03_planung/risikoregister.md) | -| Interner Auditor | Unabhängige Prüfung des IMS | **Extern, noch zu benennen** (Unabhängigkeit erforderlich) | +| Interner Auditor | Unabhängige Prüfung des IMS | → Mapping (extern, Unabhängigkeit erforderlich) | + +Amtsinhaber: [personen-rollen-mapping.md](personen-rollen-mapping.md) Abschnitt 2. ## 2. Hinweis zur Funktionstrennung @@ -38,8 +40,8 @@ Da derzeit zentrale Rollen bei einer Person liegen, sind folgende kompensierende ## 3. Operative Organisation -Die geschäftliche Aufgabenverteilung, Meetingstruktur (Operations, Verwaltungsrat) und Koordinationsrollen sind im [Organisationsreglement](organisationsreglement.md) geregelt. Dort adressiert die vorgeschlagene Struktur auch die Entlastung zentraler Personen (kompensierende Massnahme zu R-01). +Die geschäftliche Aufgabenverteilung, Meetingstruktur (Operations, Verwaltungsrat) und Koordinationsrollen sind im [Organisationsreglement](organisationsreglement.md) geregelt. Die operative Entlastungsstruktur adressiert das Schlüsselpersonenrisiko (R-01) als kompensierende Massnahme. ## 4. Pflege -Änderungen an der Rollenzuweisung werden hier nachgeführt und im Management-Review bestätigt. Operative Anpassungen zusätzlich im Organisationsreglement. Bei Teamwachstum sind Rollen zu entflechten (insb. interner Auditor, Release-Freigabe vs. Entwicklung). +Änderungen an Rolleninhalten in dieser Matrix bzw. im Organisationsreglement; **Personenwechsel nur** im [Personen-Rollen-Mapping](personen-rollen-mapping.md). Wesentliche Änderungen im Management-Review bestätigen. Bei Teamwachstum Rollen entflechten (insb. interner Auditor, Release-Freigabe vs. Entwicklung). diff --git a/e-compliance/ims/03_planung/risikoregister.md b/e-compliance/ims/03_planung/risikoregister.md index fe4beeb..8e39073 100644 --- a/e-compliance/ims/03_planung/risikoregister.md +++ b/e-compliance/ims/03_planung/risikoregister.md @@ -17,7 +17,7 @@ Bewertung gemäss [Risikomanagement-Methodik](risikomanagement-methodik.md). W = | ID | Risiko | Kategorie | W | A | R | Klasse | Behandlung | Owner | Annex-A-Bezug | |---|---|---|---|---|---|---|---|---|---| -| R-01 | Schlüsselpersonenrisiko (Wissen/Zugriffe auf eine Person konzentriert) | Organisation | 3 | 4 | 12 | hoch | Vertretung, Dokumentation, Break-Glass; operative Entlastung via [Organisationsreglement](../02_fuehrung/organisationsreglement.md) (Chris, Rollenverteilung) | Patrick Motsch | A.5.2, A.5.4 | +| R-01 | Schlüsselpersonenrisiko (Wissen/Zugriffe auf eine Person konzentriert) | Organisation | 3 | 4 | 12 | hoch | Vertretung, Dokumentation, Break-Glass; operative Entlastung via [Organisationsreglement](../02_fuehrung/organisationsreglement.md) (Rolle OP) | Patrick Motsch (GF) | A.5.2, A.5.4 | | R-02 | Abfluss sensibler Inhaltsdaten an externe LLM-Provider (OpenAI/USA) | Datenschutz | 3 | 4 | 12 | hoch | Neutralisierung, AVV/DPA + EU-SCC, Zero-Retention prüfen | Patrick Motsch | A.5.14, A.8.12 | | R-03 | MFA auf Admin-/Server-Zugängen | Zugriff | 1 | 2 | 2 | niedrig | Umgesetzt (Juni 2026); periodische Rezertifizierung halbjährlich | Patrick Motsch | A.5.17, A.8.5 | | R-04 | Backup nicht wiederherstellbar (Restore nie getestet) | Verfügbarkeit | 2 | 4 | 8 | mittel | Restore-Test durchführen & protokollieren | Patrick Motsch | A.8.13 | diff --git a/e-compliance/ims/04_unterstuetzung/dokumentenregister.md b/e-compliance/ims/04_unterstuetzung/dokumentenregister.md index d49c154..a40fd12 100644 --- a/e-compliance/ims/04_unterstuetzung/dokumentenregister.md +++ b/e-compliance/ims/04_unterstuetzung/dokumentenregister.md @@ -21,6 +21,7 @@ Zentrales Verzeichnis aller gelenkten IMS-Dokumente. Massgeblich für Status, Ow | IMS-05-02 | Informationssicherheitspolitik | `02_fuehrung/informationssicherheitspolitik.md` | Patrick Motsch | entwurf | | IMS-05-03 | Rollen & Verantwortlichkeiten | `02_fuehrung/rollen-verantwortlichkeiten.md` | Patrick Motsch | entwurf | | IMS-05-04 | Organisationsreglement | `02_fuehrung/organisationsreglement.md` | Patrick Motsch | entwurf | +| IMS-05-05 | Personen-Rollen-Mapping | `02_fuehrung/personen-rollen-mapping.md` | Patrick Motsch | entwurf | | IMS-06-01 | Risikomanagement-Methodik | `03_planung/risikomanagement-methodik.md` | Patrick Motsch | entwurf | | IMS-06-02 | Risikoregister | `03_planung/risikoregister.md` | Patrick Motsch | entwurf | | IMS-06-03 | Statement of Applicability (SoA) | `03_planung/statement-of-applicability-soa.md` | Patrick Motsch | entwurf | diff --git a/e-compliance/ims/04_unterstuetzung/kommunikation.md b/e-compliance/ims/04_unterstuetzung/kommunikation.md index 222412e..d7407c9 100644 --- a/e-compliance/ims/04_unterstuetzung/kommunikation.md +++ b/e-compliance/ims/04_unterstuetzung/kommunikation.md @@ -23,11 +23,11 @@ Regelt, **was, wann, mit wem und wie** im Kontext des IMS kommuniziert wird. | Incidents | sofort | Melder -> Incident-Verantwortlicher | definierter Meldeweg | | Release Notes / Changes | je Release | Release-Verantwortlicher -> Team | CHANGELOG, Wiki | | Management-Review-Ergebnisse | nach Review | Leitung -> Team | Protokoll | -| Operations-Meeting | wöchentlich | Patrick, Dominic, Chris (+ ggf. Silvan) | Meeting (Moderation: Chris, Vorschlag) — Daily Business, operative Entscheide, Zahlen | -| Verwaltungsrat (POL) | wöchentlich → Ziel: zweiwöchentlich/monatlich | VR | Strategie, Finanzen, Eskalation aus Operations | -| POL — physisches Treffen | quartalsweise (Vorschlag) | VR | Abendessen / strategischer Austausch | +| Operations-Meeting | wöchentlich | GF, VSO, OP (+ ggf. FT) | Meeting — Moderation OP; Daily Business, operative Entscheide, Zahlen | +| Verwaltungsrat | ab Jul 2026 2-wöchentlich, ab Q4 2026 monatlich | VR | Strategie, Finanzen, Eskalation aus Operations | +| VR — physisches Treffen | quartalsweise | VR | Abendessen / strategischer Austausch | -Details und offene POL-Entscheide: [Organisationsreglement](../02_fuehrung/organisationsreglement.md). +Rollencodes und Amtsinhaber: [Personen-Rollen-Mapping](../02_fuehrung/personen-rollen-mapping.md). Details: [Organisationsreglement](../02_fuehrung/organisationsreglement.md). ## 2. Externe Kommunikation diff --git a/e-compliance/ims/07_verbesserung/massnahmen-register.md b/e-compliance/ims/07_verbesserung/massnahmen-register.md index bc67287..693e25b 100644 --- a/e-compliance/ims/07_verbesserung/massnahmen-register.md +++ b/e-compliance/ims/07_verbesserung/massnahmen-register.md @@ -32,7 +32,7 @@ Zentrale Liste aller Korrektur- und Verbesserungsmassnahmen. Das [Management-Coc | M-11 | Risikoworkshop zur Validierung des Risikoregisters | Patrick Motsch | Risiko | 2026-06-03 | 2026-06-30 | offen | | M-12 | Asset-Inventar erstellen (A.5.9) | Patrick Motsch | Doku | 2026-06-03 | 2026-08-31 | offen | | M-13 | Politiken formal freigeben (Status entwurf -> freigegeben) | Patrick Motsch | Doku | 2026-06-03 | 2026-07-31 | offen | -| M-14 | Organisationsreglement und Meetingstruktur im POL bestätigen | Patrick Motsch | Review | 2026-06-11 | 2026-06-30 | in Arbeit | +| M-14 | Organisationsreglement administrativ durch Verwaltungsrat freigeben | Patrick Motsch | Review | 2026-06-11 | 2026-06-12 | in Arbeit | ## Pflegehinweis diff --git a/e-compliance/ims/cockpit/IMS-Cockpit.html b/e-compliance/ims/cockpit/IMS-Cockpit.html index e369447..a74ce01 100644 --- a/e-compliance/ims/cockpit/IMS-Cockpit.html +++ b/e-compliance/ims/cockpit/IMS-Cockpit.html @@ -2127,7 +2127,7 @@ Expecting `+Ze.join(", ")+", got '"+(this.terminals_[Ne]||Ne)+"'":Dt="Parse erro } `;function lYe(i,a,u=!1){var R,B,j;const d=i;let p="default";(((R=d==null?void 0:d.classes)==null?void 0:R.length)||0)>0&&(p=((d==null?void 0:d.classes)||[]).join(" ")),p=p+" flowchart-label";let v=0,b="",y;switch(d.type){case"round":v=5,b="rect";break;case"composite":v=0,b="composite",y=0;break;case"square":b="rect";break;case"diamond":b="question";break;case"hexagon":b="hexagon";break;case"block_arrow":b="block_arrow";break;case"odd":b="rect_left_inv_arrow";break;case"lean_right":b="lean_right";break;case"lean_left":b="lean_left";break;case"trapezoid":b="trapezoid";break;case"inv_trapezoid":b="inv_trapezoid";break;case"rect_left_inv_arrow":b="rect_left_inv_arrow";break;case"circle":b="circle";break;case"ellipse":b="ellipse";break;case"stadium":b="stadium";break;case"subroutine":b="subroutine";break;case"cylinder":b="cylinder";break;case"group":b="rect";break;case"doublecircle":b="doublecircle";break;default:b="rect"}const E=gm((d==null?void 0:d.styles)||[]),_=d.label,A=d.size||{width:0,height:0,x:0,y:0};return{labelStyle:E.labelStyle,shape:b,labelText:_,rx:v,ry:v,class:p,style:E.style,id:d.id,directions:d.directions,width:A.width,height:A.height,x:A.x,y:A.y,positioned:u,intersect:void 0,type:d.type,padding:y??(((j=(B=mh())==null?void 0:B.block)==null?void 0:j.padding)||0)}}async function Hcn(i,a,u){const d=lYe(a,u,!1);if(d.type==="group")return;const p=await pJ(i,d),v=p.node().getBBox(),b=u.getBlock(d.id);b.size={width:v.width,height:v.height,x:0,y:0,node:p},u.setBlock(b),p.remove()}async function Ucn(i,a,u){const d=lYe(a,u,!0);u.getBlock(d.id).type!=="space"&&(await pJ(i,d),a.intersect=d==null?void 0:d.intersect,ive(d))}async function Dwe(i,a,u,d){for(const p of a)await d(i,p,u),p.children&&await Dwe(i,p.children,u,d)}async function Vcn(i,a,u){await Dwe(i,a,u,Hcn)}async function Gcn(i,a,u){await Dwe(i,a,u,Ucn)}async function Kcn(i,a,u,d,p){const v=new R0({multigraph:!0,compound:!0});v.setGraph({rankdir:"TB",nodesep:10,ranksep:10,marginx:8,marginy:8});for(const b of u)b.size&&v.setNode(b.id,{width:b.size.width,height:b.size.height,intersect:b.intersect});for(const b of a)if(b.start&&b.end){const y=d.getBlock(b.start),E=d.getBlock(b.end);if(y!=null&&y.size&&(E!=null&&E.size)){const _=y.size,A=E.size,P=[{x:_.x,y:_.y},{x:_.x+(A.x-_.x)/2,y:_.y+(A.y-_.y)/2},{x:A.x,y:A.y}];await cGe(i,{v:b.start,w:b.end,name:b.id},{...b,arrowTypeEnd:b.arrowTypeEnd,arrowTypeStart:b.arrowTypeStart,points:P,classes:"edge-thickness-normal edge-pattern-solid flowchart-link LS-a1 LE-b1"},void 0,"block",v,p),b.label&&(await sve(i,{...b,label:b.label,labelStyle:"stroke: #333; stroke-width: 1.5px;fill:none;",arrowTypeEnd:b.arrowTypeEnd,arrowTypeStart:b.arrowTypeStart,points:P,classes:"edge-thickness-normal edge-pattern-solid flowchart-link LS-a1 LE-b1"}),await aGe({...b,x:P[1].x,y:P[1].y},{originalPath:P}))}}}const Jf=((gYe=(dYe=qt())==null?void 0:dYe.block)==null?void 0:gYe.padding)||8;function Wcn(i,a){if(i===0||!Number.isInteger(i))throw new Error("Columns must be an integer !== 0.");if(a<0||!Number.isInteger(a))throw new Error("Position must be a non-negative integer."+a);if(i<0)return{px:a,py:0};if(i===1)return{px:0,py:a};const u=a%i,d=Math.floor(a/i);return{px:u,py:d}}const Ycn=i=>{let a=0,u=0;for(const d of i.children){const{width:p,height:v,x:b,y}=d.size||{width:0,height:0,x:0,y:0};Xe.debug("getMaxChildSize abc95 child:",d.id,"width:",p,"height:",v,"x:",b,"y:",y,d.type),d.type!=="space"&&(p>a&&(a=p/(i.widthInColumns||1)),v>u&&(u=v))}return{width:a,height:u}};function Iwe(i,a,u=0,d=0){var b,y,E,_,A,P,R,B,j,W,ee;Xe.debug("setBlockSizes abc95 (start)",i.id,(b=i==null?void 0:i.size)==null?void 0:b.x,"block width =",i==null?void 0:i.size,"sieblingWidth",u),(y=i==null?void 0:i.size)!=null&&y.width||(i.size={width:u,height:d,x:0,y:0});let p=0,v=0;if(((E=i.children)==null?void 0:E.length)>0){for(const de of i.children)Iwe(de,a);const ie=Ycn(i);p=ie.width,v=ie.height,Xe.debug("setBlockSizes abc95 maxWidth of",i.id,":s children is ",p,v);for(const de of i.children)de.size&&(Xe.debug(`abc95 Setting size of children of ${i.id} id=${de.id} ${p} ${v} ${de.size}`),de.size.width=p*(de.widthInColumns||1)+Jf*((de.widthInColumns||1)-1),de.size.height=v,de.size.x=0,de.size.y=0,Xe.debug(`abc95 updating size of ${i.id} children child:${de.id} maxWidth:${p} maxHeight:${v}`));for(const de of i.children)Iwe(de,a,p,v);const oe=i.columns||-1;let be=0;for(const de of i.children)be+=de.widthInColumns||1;let ge=i.children.length;oe>0&&oe0?Math.min(i.children.length,oe):i.children.length;if(de>0){const X=(ne-de*Jf-Jf)/de;Xe.debug("abc95 (growing to fit) width",i.id,ne,(R=i.size)==null?void 0:R.width,X);for(const pe of i.children)pe.size&&(pe.size.width=X)}}i.size={width:ne,height:se,x:0,y:0}}Xe.debug("setBlockSizes abc94 (done)",i.id,(B=i==null?void 0:i.size)==null?void 0:B.x,(j=i==null?void 0:i.size)==null?void 0:j.width,(W=i==null?void 0:i.size)==null?void 0:W.y,(ee=i==null?void 0:i.size)==null?void 0:ee.height)}function hYe(i,a){var d,p,v,b,y,E,_,A,P,R,B,j,W,ee,ie,oe,be;Xe.debug(`abc85 layout blocks (=>layoutBlocks) ${i.id} x: ${(d=i==null?void 0:i.size)==null?void 0:d.x} y: ${(p=i==null?void 0:i.size)==null?void 0:p.y} width: ${(v=i==null?void 0:i.size)==null?void 0:v.width}`);const u=i.columns||-1;if(Xe.debug("layoutBlocks columns abc95",i.id,"=>",u,i),i.children&&i.children.length>0){const ge=((y=(b=i==null?void 0:i.children[0])==null?void 0:b.size)==null?void 0:y.width)||0,ae=i.children.length*ge+(i.children.length-1)*Jf;Xe.debug("widthOfChildren 88",ae,"posX");let ne=0;Xe.debug("abc91 block?.size?.x",i.id,(E=i==null?void 0:i.size)==null?void 0:E.x);let se=(_=i==null?void 0:i.size)!=null&&_.x?((A=i==null?void 0:i.size)==null?void 0:A.x)+(-((P=i==null?void 0:i.size)==null?void 0:P.width)/2||0):-Jf,de=0;for(const X of i.children){const pe=i;if(!X.size)continue;const{width:G,height:xe}=X.size,{px:U,py:Be}=Wcn(u,ne);if(Be!=de&&(de=Be,se=(R=i==null?void 0:i.size)!=null&&R.x?((B=i==null?void 0:i.size)==null?void 0:B.x)+(-((j=i==null?void 0:i.size)==null?void 0:j.width)/2||0):-Jf,Xe.debug("New row in layout for block",i.id," and child ",X.id,de)),Xe.debug(`abc89 layout blocks (child) id: ${X.id} Pos: ${ne} (px, py) ${U},${Be} (${(W=pe==null?void 0:pe.size)==null?void 0:W.x},${(ee=pe==null?void 0:pe.size)==null?void 0:ee.y}) parent: ${pe.id} width: ${G}${Jf}`),pe.size){const Pe=G/2;X.size.x=se+Jf+Pe,Xe.debug(`abc91 layout blocks (calc) px, pyid:${X.id} startingPos=X${se} new startingPosX${X.size.x} ${Pe} padding=${Jf} width=${G} halfWidth=${Pe} => x:${X.size.x} y:${X.size.y} ${X.widthInColumns} (width * (child?.w || 1)) / 2 ${G*((X==null?void 0:X.widthInColumns)||1)/2}`),se=X.size.x+Pe,X.size.y=pe.size.y-pe.size.height/2+Be*(xe+Jf)+xe/2+Jf,Xe.debug(`abc88 layout blocks (calc) px, pyid:${X.id}startingPosX${se}${Jf}${Pe}=>x:${X.size.x}y:${X.size.y}${X.widthInColumns}(width * (child?.w || 1)) / 2${G*((X==null?void 0:X.widthInColumns)||1)/2}`)}X.children&&hYe(X),ne+=(X==null?void 0:X.widthInColumns)||1,Xe.debug("abc88 columnsPos",X,ne)}}Xe.debug(`layout blocks (<==layoutBlocks) ${i.id} x: ${(ie=i==null?void 0:i.size)==null?void 0:ie.x} y: ${(oe=i==null?void 0:i.size)==null?void 0:oe.y} width: ${(be=i==null?void 0:i.size)==null?void 0:be.width}`)}function fYe(i,{minX:a,minY:u,maxX:d,maxY:p}={minX:0,minY:0,maxX:0,maxY:0}){if(i.size&&i.id!=="root"){const{x:v,y:b,width:y,height:E}=i.size;v-y/2d&&(d=v+y/2),b+E/2>p&&(p=b+E/2)}if(i.children)for(const v of i.children)({minX:a,minY:u,maxX:d,maxY:p}=fYe(v,{minX:a,minY:u,maxX:d,maxY:p}));return{minX:a,minY:u,maxX:d,maxY:p}}function Xcn(i){const a=i.getBlock("root");if(!a)return;Iwe(a,i,0,0),hYe(a),Xe.debug("getBlocks",JSON.stringify(a,null,2));const{minX:u,minY:d,maxX:p,maxY:v}=fYe(a),b=v-d,y=p-u;return{x:u,y:d,width:y,height:b}}const Qcn=Object.freeze(Object.defineProperty({__proto__:null,diagram:{parser:Mcn,db:zcn,renderer:{draw:async function(i,a,u,d){const{securityLevel:p,block:v}=mh(),b=d.db;let y;p==="sandbox"&&(y=Dr("#i"+a));const E=Dr(p==="sandbox"?y.nodes()[0].contentDocument.body:"body"),_=p==="sandbox"?E.select(`[id="${a}"]`):Dr(`[id="${a}"]`);Ume(_,["point","circle","cross"],d.type,a);const P=b.getBlocks(),R=b.getBlocksFlat(),B=b.getEdges(),j=_.insert("g").attr("class","block");await Vcn(j,P,b);const W=Xcn(b);if(await Gcn(j,P,b),await Kcn(j,B,R,b,a),W){const ee=W,ie=Math.max(1,Math.round(.125*(ee.width/ee.height))),oe=ee.height+ie+10,be=ee.width+10,{useMaxWidth:ge}=v;Fg(_,oe,be,!!ge),Xe.debug("Here Bounds",W,ee),_.attr("viewBox",`${ee.x-5} ${ee.y-5} ${ee.width+10} ${ee.height+10}`)}PF(sRe)},getClasses:function(i,a){return a.db.getClasses()}},styles:qcn}},Symbol.toStringTag,{value:"Module"}));return bm}); - +