← Bibliothek EQUILIBRIUM equilibrium-system.com

EINHEITLICHER SOYUZ — Verteidigungsarchitektur

EINZIGE UNION

Integrale Verteidigungsarchitektur XXI Jahrhundert

Erweiterter Strategiebericht

I. Einleitung: Die neue Natur des Konflikts

Nach dem Zweiten Weltkrieg war der Krieg kein Krieg mehr.

Heute ist der Konflikt:

Verteidigung ist nicht mehr gleich Armee.

Verteidigung ist die Integrität des Systems.

II. Die Philosophie der Siegeslehre

Der Sieg von XXI ist ein Zustand, in dem:

Formel:

Sieg = Abschrecken × Souveränität × Bedeutung × Entwicklung

Wenn ein Multiplikator gleich Null ist, ist das System verwundbar.

III. Die Architektur der Einheitlichen Union1. Militärstrategischer Rahmen

Die Aufgabe ist die garantierte Unausweichlichkeit der Antwort.

Schlüsselelemente:

Prinzip: Ein potenzieller Konflikt muss für den Initiator im Voraus verloren gehen.

2. Technologische Souveränität

Wer die Technologie kontrolliert, bestimmt die Regeln.

Reiseziele:

Abhängigkeit von = strategisches Risiko.

3. Wirtschaftliche Nachhaltigkeit

Ohne eine nachhaltige Wirtschaft geht die Verteidigung verloren.

Umrisse:

4. Sinnvolle Sicherheit

Die Informationsspaltung zerstört schneller als Raketen.

Benötigt:

Die Gesellschaft muss verstehen, wofür die Union existiert.

5. Noosphärische Diplomatie

Die höchste Stufe der Verteidigung ist die Verringerung des Konflikts der Umwelt.

Grundsätze:

Ziel ist es, eine Welt zu schaffen, in der Krieg irrational ist.

IV. Das Modell der fünf Nachhaltigkeitsstufen der Union

Stufe

Kriterien für Nachhaltigkeit

Risiko bei Schwächung

Militär

Garantierte Eindämmung

Äußere Aggression

Technologische

Unabhängige Systeme

Entwicklungsblockierung

Wirtschaftlich

Selbstversorgung

Erschöpfung

Soziales

Vertrauen und Gerechtigkeit

Innere Spaltung

Slimova

Allgemeine Mission

Verschlechterung der Identität


V. Prinzip "Verteidigung durch Entwicklung"

Klassisches Modell:

Erst Sicherheit, dann Entwicklung.

Integriertes Modell der Union:

Entwicklung ist Sicherheit.

Der technologische Durchbruch verringert die Wahrscheinlichkeit eines Konflikts stärker als die Zunahme der Armee.

VI. Institutionelles Modell

Alle Elemente müssen als ein einziger Organismus funktionieren.

VII. Risiken XXI Jahrhundert

Die Verteidigung muss vorausgehen und nicht reaktiv sein.

VIII. Schlussfolgerung

Ein Bündnis ist kein Militärblock. Es ist eine Architektur der Nachhaltigkeit.

Der Sieg im XXI Jahrhundert ist:

Nur eine Kombination dieser Faktoren schafft echte Sicherheit.



Projekt des Anschreibens

zum Bericht “Einheitliche Union: Integrale Verteidigungsarchitektur XXI Jahrhundert”

Sehr geehrte Kollegen,

Angesichts der Transformation des globalen Sicherheitssystems, der Beschleunigung von Technologiezyklen und des Wachstums hybrider Konfrontationsformen ist der Übergang von fragmentarischen Maßnahmen zu einer ganzheitlichen Nachhaltigkeitsarchitektur von besonderer Bedeutung.

Zur Entwicklung der Expertenarbeit wird ein strategischer Bericht vorgelegt

Einheitliche Union: Integrale Verteidigungsarchitektur XXI des Jahrhunderts.

Der Bericht bildet einen systematischen Ansatz zu den Themen:

Das vorgeschlagene Modell basiert auf dem Prinzip:

Entwicklung ist Sicherheit.

Der Bericht behandelt die Verteidigung nicht nur als militärischen Rahmen, sondern als eine Reihe von miteinander verbundenen Elementen: Industrie, Wissenschaft, Bildung, Informationspolitik und internationale Zusammenarbeit.

Besondere Aufmerksamkeit gilt:

Das Dokument ist fachlich und analytisch und soll in der Fachwelt diskutiert werden.

Bereit, eine erweiterte Version, analytische Anwendungen und eine schrittweise Roadmap der Implementierung zu präsentieren.

Mit Respekt,

S. L. Sokolov

Der Entwurf des Briefes ist eine verstärkte Version.

Strategischer Bericht zur integrierten Architektur der Verteidigungsstabilität

Sehr geehrter Herr ________,

Zur Entwicklung eines systematischen Ansatzes für die nationale Nachhaltigkeit wird ein analytischer Bericht vorgelegt:

Einheitliche Union: Integrale Verteidigungsarchitektur XXI Jahrhundert

Das Dokument enthält ein strukturiertes Verteidigungsmodell, das auf fünf miteinander verbundenen Konturen und messbaren Leistungsindikatoren basiert.

1. Militärstrategischer Rahmen

Es wird der Übergang von der quantitativen Erhöhung zu den Parametern der garantierten Unrentabilität der Aggression vorgeschlagen.

Schlüsselindikatoren:

2. Technologische Souveränität

Fokus: Verringerung der kritischen Abhängigkeit von externen Anbietern.

Vorgeschlagene Zielparameter:

3. Wirtschaftliche Nachhaltigkeit

Ohne eine wirtschaftliche Basis ist das Verteidigungspotenzial erschöpft.

Metriken:

4. Kognitive und soziale Nachhaltigkeit

Moderne Konflikte sind hybrider Natur.

Indikatoren:

5. Prinzip "Verteidigung durch Entwicklung"

Der Bericht begründet eine Strategie, bei der:

Die Entwicklung von Industrie, Wissenschaft und Bildung wird als Teil des Verteidigungssystems betrachtet.

Synchronisation wird angeboten:

Praktisches Ergebnis der Modelleinführung

Der Bericht ist analytisch und für die Expertenprüfung bestimmt. Wir sind bereit, erweiterte Berechnungen, eine Risikomatrix und eine schrittweise Roadmap vorzulegen.

I. Bericht: Einheitliche Union: Integrale Verteidigungsarchitektur XXI des Jahrhunderts

7 wichtige Schlussfolgerungen

1. Die Natur des Konflikts hat sich verändert

Die moderne Konfrontation ist hybrider Natur: Sanktionen, technologische Einschränkungen, Cyberangriffe, Informationseffekte. Der militärische Rahmen ist nur ein Element.

2. Verteidigung = System miteinander verbundener Konturen

Das Modell umfasst 5 Stufen:

Die Schwächung eines jeden Niveaus verringert die Stabilität des gesamten Systems.

3. Technologische Abhängigkeit ist das Hauptrisiko von XXI Jahrhunderten

Kritische Verwundbarkeit entsteht in folgenden Bereichen:

Die Verringerung der Abhängigkeit ist eine strategische Priorität.

4. Wirtschaftliche Nachhaltigkeit als Voraussetzung für Abschreckung

Ohne industrielle Basis ist eine langfristige Verteidigung nicht möglich.

Benötigt:

5. Kognitive Nachhaltigkeit beeinflusst die Sicherheit direkt

Die Informationsspaltung der Gesellschaft kann einen Schaden verursachen, der mit einem Militärschlag vergleichbar ist. Systemarbeit mit:

6. Entwicklung ist ein Element der Verteidigung

Investitionen in:

Sie verringern die Wahrscheinlichkeit eines Konflikts stärker als der bloße Aufbau von Kräften.

7. Das Ziel ist nicht der Sieg im Krieg, sondern die Verhinderung des Krieges.

Eine effektive Verteidigungsarchitektur macht Aggression wirtschaftlich und strategisch sinnlos.

II. MATRICA RISIKO 

(Wahrscheinlichkeit × Schaden × Gegenmaßnahmen)

№

Risiko

Wahrscheinlichkeit

Mögliche Schäden

Gegenmaßnahmen

1

Technologische Blockade

Hoch

Entwicklungseinschränkung, Abhängigkeit

Lokalisierung kritischer Produktionen

2

Cyberangriffe auf die Infrastruktur

Hoch

Störung der Kontrolle

Erstellung autonomer Konturen und Backup-Systeme

3

Sanktionsdruck

Mittel-hoch

Finanzielle Verluste

Diversifizierung der Berechnungsmechanismen

4

Informationsdestabilisierung

Hoch

Soziale Polarisierung

Medienkompetenz und strategische Kommunikationsprogramme

5

Demographischer Rückgang

Durchschnitt

Schwächung des Personalpotentials

Unterstützung der Familien- und Bildungspolitik

6

Technologie-Kompetenz geleakt

Durchschnitt

Verlust der wissenschaftlichen Souveränität

Investitionen in Forschung und Entwicklung und Personalprogramme

7

Energiebeschränkungen

Niedrig-Durchschnitt

Reduzierung des industriellen Potenzials

Entwicklung autonomer Energiesysteme

Schlussakzent für das Schreiben

Im Anschreiben können Sie den letzten Absatz hinzufügen:

Die Einführung eines integrierten Modells der Verteidigungsstabilität wird den Übergang von einem reaktiven Risikomanagement zu einer proaktiven Konfliktpräventionsarchitektur ermöglichen.


ERWEITERTER ABSCHNITT

Wirtschaftliche Nachhaltigkeit als Verteidigungskreislauf

1. Strategische These

Wirtschaft ist keine "Unterstützung" der Verteidigung.

Die Wirtschaft ist das Fundament der Abschreckung.

Historisch gesehen wurde Nachhaltigkeit nicht nur durch militärische Stärke, sondern auch durch industrielles Potenzial gewährleistet. Nach World War II war die industrielle Mobilisierung der Schlüsselfaktor für den Sieg.

V XXI Jahrhundert Mobilmachung = Technologische und finanzielle Autonomie.

2. Schlüsselparameter der wirtschaftlichen Nachhaltigkeit

2.1. Industrielle Selbstversorgung

Zielindikatoren (Horizont 5–7 Jahre):

Kontrollmetrik: Index der industriellen Autonomie (IPA).

2.2. Finanzielle Nachhaltigkeit

Die Risiken von XXI des Jahrhunderts sind kalkulierte Blockaden und Währungsabhängigkeit.

Gezielte Orientierungen:


Kontrollmetrik: Koeffizient der finanziellen Unabhängigkeit (KFI).

2.3. Energieautonomie

Energie = Steuerbarkeit. Einstellungen:

MetrikEnergiestabilitätsindex (IEU).

2.4. Lebensmittelsicherheit

Lebensmittel sind ein Faktor der sozialen Stabilität.

Ziele:

  • ≥ 95% Interne Bereitstellung von Basisprodukten;
  • strategische Reserve ≥ 12 Monate;
  • Autonomie des Saatgutfonds ≥ 80%.

Kennzahl: Koeffizient der Ernährungsautonomie (KPA).

2.5. Technologischer Mehrwert

Das Rohstoffmodell erhöht die Anfälligkeit. Zielvektor:

  • Steigerung des Anteils von Produkten mit hoher Wertschöpfung ≥ 50% in der Struktur des Exports;
  • Erhöhung der Ausgaben für Forschung und Entwicklung auf ≥ 3% BIP;
  • Der Anteil der Hightech-Branchen an der BIP-Wachstum ≥ 25%.

Metrik: Index der technologischen Tiefe (ITG).

3. Institutionelle Umsetzungsmechanismen

  • Zentrum für strategische Risikoüberwachung (Quartalsaudit).
  • Koordinierungsrat für technologische Autonomie.
  • Integration der Industriepolitik mit dem Bildungssystem.
  • Strategische Produktionscluster in vollem Umfang.
  • Langfristige Investitionsplanung (Horizont 10–15 Jahre).

4. Wirtschaftsmodell "Verteidigung durch Entwicklung"

Formel:

Wirtschaftliche Nachhaltigkeit = Produktion × Technologie × Finanzielle Autonomie × Bilderrahmen

Wenn ein Element geschwächt ist, ist das System anfällig.

5. Wirtschaftliche Risikomatrix (verstärkte Version)


Risiko

Wahrscheinlichkeit

Schaden

Antwortpriorität

Technologische Blockierung

Hoch

Kritisch

Maximal

Finanzielle Isolation

Mittel-hoch

Hoch

Hoch

Logistische Einschränkungen

Durchschnitt

Hoch

Hoch

Rohstoffabhängigkeit

Durchschnitt

Mittel

Mittel

Demographischer Rückgang

Durchschnitt

Strategische

Maximal



6. Endposition für das Schreiben

Sie können einen abschließenden Akzent hinzufügen:

Die wirtschaftliche Nachhaltigkeit wird als ein Element der nationalen Verteidigungsarchitektur betrachtet, das eine langfristige Fähigkeit zur strategischen Abschreckung und Entwicklung bietet.



Anlage A. Szenarioanalyse der Nachhaltigkeit

Technik

Wir bewerten das System anhand von 5 Konturen (militärisch, technologisch, wirtschaftlich, kognitiv, institutionell) durch:

Drehbuch 1. Optimistisch

“Managed Wettbewerb + Entwicklungsfenster”

Trigger

Fenster der Möglichkeiten

Priorisierte Aktionen

Zielergebnis

Drehbuch 2. Grundstufe

“Langer Druck + Wellenbeschränkungen”

Trigger

Wichtige Risiken

Priorisierte Aktionen

Zielergebnis

Drehbuch 3. Stress

“Schlimme Eskalation: Finanz- und Technologielücke + Cyber-Angriffe”

Trigger

Schadensprofil: hoch/kritisch, besonders in den ersten 30–90 Tagen.

Anti-Krisen-Schaltung (die im Voraus vorbereitet werden sollte)

Das Ziel ist es, das Management zu halten und einen kaskadenartigen Infrastrukturausfall zu verhindern.

Anlage B. Interdisziplinäre Synchronisierungstabelle

Die Idee ist einfach: Die Widerstandsfähigkeit der Verteidigung wird nicht durch die Industrie, sondern durch die Verbindungen erreicht (Daten ↔ Energie ↔ Produktion ↔ Bilderrahmen ↔ Logistik ↔ Finanzen ↔ Sinn).

1) Matrix “Kontur → Industrie → Ausgang → KPI”


Kontur

Stützindustrien

Kritischer Ausgang

KPI (Beispiel)

Militärisch-strategische

Kommunikation, Satelliten, Instrumentierung

Nachhaltiges Management

Wiederherstellungszeit der Steuerung; Anteil der geschützten Kanäle

Technologische

Mikroelektronik, Werkzeugmaschinenbau, Software

Unabhängige Ketten

Anteil der Lokalisierung; Anteil der inländischen Software in KRITIKSYSTEMEN

Wirtschaftlich

Industrie, Energie, Finanzen

Ressourcenbasis

KRITIKBEREICHE; Energiebilanzautonomie

Kognitive

Bildung, Medien, Kultur

Nachhaltigkeit der Gesellschaft

Vertrauensindex; Geschwindigkeit der Neutralisierung von Informationskampagnen

Institutionell

Verwaltung, Standardisierung

Koordination

Zeit für die Entscheidungsfindung;% der Projekte mit Interdependenz



2) Tabelle “7 Schlüsselketten” (die wichtigsten Verbindungen)


Kette

Warum wir brauchen

Enge Lage

Was zu synchronisieren

Mikroelektronik → Kommunikation → Steuerung

Landesführung

Komponenten/Fabriken

Lokalisierung + standards + Zertifizierung

Energie → Industrie → Logistik

Nachhaltigkeit der Produktion

Netz/Reserve

verteilte Generierung + Objektreservierung

Daten → KI → Cyberschutz

Verteidigung voraus

Personal/PO

Datenzentren + Ausbildung + Reaktionsprotokolle

Finanzen → Berechnungen → Außenhandel

Nachhaltigkeit des Austauschs

Clearing/Währung

Alternative Berechnungen + Reserven + routen

Werkstoffe → Chemie → Maschinenbau

Herstellung des gesamten Zyklus

Seltene Materialien

Lagerbestände + Verarbeitung + Ersatz

Bildung → Fachkräfte → Forschung und Entwicklung

Technologischer Durchbruch

Brain Drain

Zuschüsse + Ingenieurschulen + Auftrag für Forschung und Entwicklung

Bedeutung → Vertrauen → Mobilisierungsbereitschaft

Soziale Nachhaltigkeit

Polarisation

Kommunikation + Kultur + Medienkompetenz



3) Mini-Register “Kritische Abhängigkeiten” (Zeilenmuster)

Dies wird von der Tabelle in die Anwendung eingefügt und nach der Tatsache gefüllt:







Anlage B. Stressresistenztest: 10 kritische Systeme der Union

Skala

1) Energieversorgung (Generation + Netzwerk + Dispatcher)

Ausfallschwelle: Verlust von ≥ 15% Leistung in der Region für > 6 Stunden oder Störung der Netzfrequenz / -stabilität.

Kaskade: Verbindung → Wasser/Wärme → Industrie → Logistik → Gesundheitsversorgung.

Wiederherstellungsplan

KPI

2) Kommunikation und Verwaltung (Autobahnen, Nachrichtendienste, Funknetze)

Ausfallschwelle: Degradation der Steuerbarkeit > 2 Stunden (instabile Kanäle in den wichtigsten Links).

Kaskade: Staatsverwaltung → Verteidigung → Finanzen → Logistik.

Wiederherstellungsplan

KPI

3) Finanzsystem und Berechnungen

Die Schwelle der Ablehnung: die Unmöglichkeit der Massenberechnung > 24 Stunden oder das Einfrieren externer Clearingkanäle.

Kaskade: Handel → Logistik → soziale Spannungen.

Wiederherstellungsplan

KPI

4) Logistik und Transport (Bahn/Hafen/Auto/Luftfahrt-Knoten)

Ausfallschwelle: Fehler bei der Lieferung von KRITGRAFT > 72 Stunden oder Blockieren von Schlüsselknoten.

Kaskade: Lebensmittel → Kraftstoff → Industrie.

Wiederherstellungsplan

KPI

5) Lebensmittel und landwirtschaftliche Erzeugnisse

Ausfallschwelle: Mangel an Basiskorb in der Region > 7 Tage oder Preisschock > Der vorgegebene Korridor.

Cascade: Soziale Nachhaltigkeit → Vertrauen → Steuerbarkeit.

Wiederherstellungsplan

KPI

6) Gesundheit und Gesundheitsvorsorge

Ausfallschwelle: Überlastung von Krankenhäusern > 20% Kapazität für 2+ Wochen oder Mangel an kretischen Medikamenten.

Kaskade: Demographie → Wirtschaft → Vertrauen.

Wiederherstellungsplan

KPI

7) Staatsverwaltung und Kontinuität der Macht

Ausfallschwelle: Unfähigkeit, Entscheidungen auf Schlüsselniveaus > 2 Stunden zu treffen / zu beweisen.

Cascade: Alles.

Wiederherstellungsplan

KPI

8 OPC und industrielle Mobilisierung

Ausfallschwelle: Ausfall von KRITISCHEN Produktionen/von Komponenten > 30 Tage.

Cascade: militärische Kontur → technologisch → Außenpolitik.

Wiederherstellungsplan

  • 0–24h: Bestandsaufnahme von KRITIS, Umverteilung von Kapazitäten, Umrechnung von Linien.
  • 24–72h: Einführung alternativer Lieferungen / Ersatz, beschleunigte Zertifizierung.
  • bis 30d: Einsatz von Engpässe, Lagerbestände, langfristige Verträge.

KPI

  • Zeit für den Ersatz der kretischen Komponente (m);
  • Lokalisierungsanteil nach Kriterien (%);
  • Vorrat an kretokomplektnih (mes Abdeckung).

9) Bildung/Frames/NICOR (Engineering-Kontur)

Die Ausfallschwelle: ein anhaltender Mangel an Schlüsselspezialisten oder ein Mangel an Kompetenzen.

Kaskade: Technologie → Industrie → Verteidigung.

Wiederherstellungsplan

  • 0–24h: Priorisierung von Schlüsselkompetenzen, "Personalregister".
  • 24–72h: Incentive-Pakete, beschleunigte Umschulungsprogramme
  • bis zu 30d: Ingenieurschulen, Forschungs- und Entwicklungsstipendien, Auftrag für angewandte Entwicklungen.

KPI

  • Abschluss von Ingenieuren / Jahr nach Prioritäten;
  • Anteil der Forschung und Entwicklung am BIP (%);
  • Die Frist für die Schließung von offenen Stellen in den kretischen Bereichen (Tage).

10) Medien/Infomedien/kognitive Nachhaltigkeit

Ausfallschwelle: Massenpolarisation, Vertrauensverlust unter dem Kritporog oder erfolgreiche Informationsoperationen, die eine Managementlähmung verursachen.

Cascade: Soziale Nachhaltigkeit → Staatsverwaltung → Wirtschaft.

Wiederherstellungsplan

  • 0–24h: Einheitliches Zentrum für Krisenkommunikation, schneller Faktumkontur, Beendigung der Panik.
  • 24–72h: Aufklärungskampagnen, Medienkompetenz, Zusammenarbeit mit Gemeindeführern.
  • bis 30Systemische Strategie der semantischen Sicherheit (Bildung + Kultur + Medien).

KPI

  • die Geschwindigkeit der Widerlegung der destruktiven Einleitung (Stunden);
  • Index des Vertrauens in Institutionen;
  • Anteil der Bevölkerung mit grundlegender Medienkompetenz (%).


Anlage G. "War Room" - ein einheitliches Hauptquartier des Vorfalls (Musterstruktur)

Zusammensetzung:

Energie, Kommunikation, Cyber, Finanzen, Logistik, Social-Block, Medien, Industrie.

Einheitliches Protokoll: 

→ Isolierung → Wiederherstellung → Nachanalyse.

Modus: 

24/7 mit Stress-Szenario, wöchentliche Übungen im Basismodus.










PASSPORT HALTBARKEIT

(Standard für das kritische System der Union)

1. Systemidentifizierung

  • Systemname:
  • Kontur (militärisch / technologisch / wirtschaftlich / kognitiv / institutionell):
  • Kritikalität: I / II / III
  • Verantwortliche Stelle/Koordinator:

2. Zielfunktion

Was muss das System unter allen Bedingungen bieten? (Formulierung in 1–2 Zeilen, ohne gemeinsame Wörter)

3. Ausfallschwelle (rote Zone)

Genauer:

  • Abbauzeit:
  • Zoom:
  • Funktionsverlust (%):

4. Reservierung

  • Physische Reserve (Kapazitäten, Lager, Ausrüstung):
  • Informationsreserve (doppelte Kanäle):
  • Personalreserve:
  • Finanzreserve:

5. Reaktionssszenario. 0–24 Stunden

(erste Aktion) 24–72 Stunden

(Stabilisierung) Bis 30 Tage

(Wiederherstellung und Verstärkung)

6. KPI Nachhaltigkeit

  • Abklingzeit (RTO):
  • Zulässiger Datenverlust (RPO):
  • % Autonomie:
  • Häufigkeit der Stresstests:
  • Bereitschaftsindex (zusammengefasst):

7. Reifegrad

1 — deklarativ

2 — teilweise realisiert

3 - funktionierend

4 - regelmäßig getestet

5 - stressresistent

Beispiel 1

Nachhaltigkeitspass - Energiesystem

Kontur: Wirtschaftlich-Technisch

Kritikalität: I

Zielfunktion:

Sicherstellung der kontinuierlichen Stromversorgung kritischer Infrastruktur und Industrie.

Ausfallschwelle:

Verlust > 15% Kapazität in der Region > 6 Stunden.

Reservierung:

  • 20% verteilte Erzeugung
  • 100% Reservierung kritischer Objekte
  • 30 Tage Lagerbestände an Schlüsselkomponenten

KPI:

  • Abklingzeit < 12 Stunden
  • 95% kretische Objekte mit Selbstversorgung
  • 2 Stresstest pro Jahr

Beispiel 2

Nachhaltigkeitspass - Finanzsystem

Kontur: Wirtschaftlich

Kritikalität: I

Zielfunktion:

Kontinuierliche Zahlungen und Sozialleistungen.

Ausfallschwelle:

Unmöglichkeit von Massenoperationen > 24 Stunden.

Reservierung:

  • Ein alternativer Clearing-Mechanismus
  • 24 Monat der Abdeckung der Einfuhren von kritischen Positionen
  • 2 unabhängiges Rechenzentrum

KPI:

  • 99% Auszahlungen rechtzeitig
  • Wiederherstellung von Massenzahlungen < 6 Stunden
  • Anteil autonomer Berechnungen ≥ 70%

Beispiel 3

Nachhaltigkeitspass - Kommunikation und Management

Struktur: Institutionell-Militärisch

Kritikalität: I

Zielfunktion:

Garantierte Kontrolle auf allen Ebenen.

Ausfallschwelle:

Störung der stabilen Kommunikation > 2 Stunden.

Reservierung:

  • Doppelte Kanäle (Optik + Satellit + Radio-Reserve)
  • Backup-Steuerungszentren
  • Kryptographische Doppelkontur

KPI:

  • Umschalten auf Reserve < 10 Minuten
  • 100% Schlüsselknoten mit Duplicate
  • Vierteljährliche Übungen

Wie man es strategisch nutzt

Wenn das Dokument offiziell gesendet wird, empfehle ich:

  • Machen 10 Pässe (für alle kritischen Systeme).
  • Führen Sie sie in die Zusammenfassungstabelle des Nachhaltigkeitsindex der Union ein.
  • Einführung eines jährlichen Auditverfahrens.
  • Fügen Sie den Abschnitt “Indikatordynamik für 3 des Jahres” hinzu.


I. LANDWIRTSCHAFTSBESTÄNDIGKEITS-INDEX (SIU)

1. Die Logik des Index

Nachhaltigkeit ist nicht die Summe, sondern das Produkt von Konturen.

Ist eine Schleife schwach, ist das ganze System anfällig.

Formel: 

SIU = (W × T × E × C × I)^{1/5},

Wo:

  • W - Militärische Kontur
  • T - Technologie
  • E - Wirtschaftlich
  • C - Kognitive (soziale)
  • I - Institutionell

Jede Schleife wird auf einer Skala von 0–100 bewertet.

Es wird ein geometrischer Durchschnitt verwendet, damit ein schwaches Glied den Gesamtindex reduziert.

2. Interne Berechnung der einzelnen Konturen

Jede Kontur hat einen Durchschnitt von = mit 5 Parametern:

Kontur

Einstellungen

W

Abschreckung, Autonomie, Redundanz, Cyber Resilienz, Übungen

T

Lokalisierung, F&E, Personalreserve, Software-Unabhängigkeit, Produktionstiefe

E

Industrie, Finanzen, Energie, Lebensmittel, Logistik

C

Vertrauen, Informationssicherheit, Bildung, kulturelle Integration, Mobilisierungsbereitschaft

I

Lösungsgeschwindigkeit, branchenübergreifende Koordination, Center-Duplizierung, Risikoprüfung, Transparenz KPI

3. Interpretationsskala

SIU

Stufe

0–40

Verletzliches System

40–60

Teilweise nachhaltig

60–75

Stabil

75–85

Hohe Nachhaltigkeit

85–100

Strategisch geschützt

4. Berechnungsbeispiel (bedingt)

W = 78

T = 62

E = 70

C = 65

I = 60

SIU ≈ 66 Fazit: Das System ist stabil, aber die technologischen und institutionellen Konturen erfordern Verstärkung.

II. STRAßENKARTE: ÜBERGANG 2 → 5

Reifegrade

2 — Teilweise realisiert

3 — Funktioniert

4 - Regelmäßig getestet

5 - Beständig gegen Stressszenarien

STUFE 1 (0–2 Jahre)

Gehe zu 2 → 3. Zweck: Formalisierung des Systems.

  • Genehmigung der Nachhaltigkeitsausweise.
  • Geben Sie ein einziges Register kritischer Abhängigkeiten ein.
  • Starten Sie das jährliche Audit SIU.
  • Einrichtung eines Risikoüberwachungszentrums.
  • Starten Sie die Stresstests.

Das Ergebnis: Das System wird gesteuert.

SCHRITT 2 (2–5 Jahre)

Gehe zu 3 → 4. Zweck: Überprüfen Sie das System in der Praxis.

  • Regelmäßige sektorübergreifende Übungen.
  • Duplizierung von Kontrollzentren.
  • Erhöhung der Reserven auf normative Niveaus.
  • Lokalisierung von 60–75% kritischen Komponenten.
  • Erhöhung der FuE-Ausgaben auf ≥ 3% des BIP.

Das Ergebnis: Das System hält grundlegendem Stress stand.

SCHRITT 3 (5–10 Jahre)

Gehe zu 4 → 5. Ziel: Volle strategische Autonomie.

  • Volle Doppelkreissteuerung.
  • 80–90% Autonomie der kritischen Industrien.
  • Widerstandsfähigkeit gegen finanzielle Isolation.
  • Hoher Vertrauensindex (>75).
  • SIU ≥ 80.

Das Ergebnis: Aggression wird irrational.



III. Kontrollmechanismus

Einmal im Jahr:

  • SIU.
  • Aktualisierung der Pässe.
  • Öffentlicher (oder geschlossener) Dynamikbericht.
  • Anpassung des Fahrplans.

Allgemein

Nachhaltigkeit ist kein Bericht. Es ist eine kontrollierbare Dynamik der Indikatoren.

PLATTFORM DER SOjus

Schnittstellen-Prototyp (MVP)

1Hauptbildschirm — STRATEGIC DASHBOARD

Zentrales Element:

SIU - Gesamtindex der Nachhaltigkeit

Großer Kreisindikator:

  • 0–40 Rote Zone
  • 40–60 Gelb
  • 60–75 Grün
  • 75+ Dunkelgrün

Unter ihm - die Dynamik für 12 Monate.

Rechts - 5 Konturen

Kontur

Index

Trend

Militär

78

↑

Technologische

62

→

Wirtschaftlich

70

↑

Kognitive

65

↓

Institutionell

60

→

Ein Klick auf jeden - der Übergang zur Detaillierung.

2 - Bildschirmkontur (Beispiel: Wirtschaftlich)

Block 1 — KPI in Echtzeit

  • Industrielle Autonomie (%)
  • Finanzielle Nachhaltigkeit
  • Energiebilanz
  • Nahrungsmittelindex
  • Logistische Nachhaltigkeit

Jeder mit einem Lichtzeichen.

Einheit 2 - Risikokarte

Matrix: Wahrscheinlichkeit × Schaden

Die Risiken werden automatisch hervorgehoben, wenn die Schwelle überschritten wird.

Einheit 3 — Trends

Zeitplan 1 / 3 / 5 Jahre

  • Prognose für die aktuelle Dynamik.

3 - Modul “VERSTÄNDIGKEITSKONTO”

Schnittstelle:

Filter:

  • Die Branche
  • Risikostufe
  • Importanteil
  • Ersatzfrist

Tabelle:

? Komponente ? Risiko ? Ersatz ? Laufzeit ? Reserve ?

Das System wählt automatisch kritische Positionen aus.

4 - STRESS-TEST-MODUL

Skript-Bildschirm:

  • Optimistisch
  • Grundstufe
  • Stress

Der Benutzer wählt das Ereignis aus:

  • Finanzielle Sperre
  • Cyberangriff
  • Logistisches Versagen
  • Energie-Vorfall

Das System berechnet:

  • Herbst SIU
  • Wiederherstellungszeit
  • Kaskadeneffekte

5️⃣ WAR ROOM DIGITAL

Der Modus wird automatisch aktiviert, wenn:

  • Stürzen SIU unten 60
  • Überschreitung der kritischen Risikoschwelle

Der Bildschirm ist in 4 Zonen unterteilt:

  • Event-Karte
  • Kritisch KPI
  • Aufgaben und Lösungen
  • Reaktionszeitgeber

6 - Architektur der Zugriffsebenen

Stufe 1 — Strategische

Nur Indizes und aggregierte Analysen.

Stufe 2 - Betrieb

Branchenkennzahlen und Risiken.

Niveau 3 — Technisch

Tiefe Daten und Parameter.

7 - Technische Architektur MVP

  • Backend: geschützter Server-Kontur
  • Datenbank: Verteilt
  • Analyse: Berechnungsmodul SIU
  • Schnittstelle: web + geschütztes intranet
  • Logs: Kontinuierliches Audit von Aktionen

8 - Minimale Startfunktionalität (6–9 Monate)

  • Berechnung SIU.
  • Dashboard 5 Konturen.
  • Pässe der Nachhaltigkeit.
  • Der grundlegende Stresstest.
  • Manuelle Eingabe KPI.

Keine übermäßige Komplexität.


I. Die wirtschaftlichen Auswirkungen des Wachstums der Nachhaltigkeit

1. Grundlogik

Nachhaltigkeit reduziert:

  • Risikoprämie,
  • Volatilität,
  • Verluste durch Krisen,
  • Importsubstitutionskosten im Notfall.

Und erhöht:

  • Investitionsattraktivität,
  • Verarbeitungstiefe,
  • Mehrwert,
  • technologische Unabhängigkeit.

2. Modell der Auswirkungen auf das BIP. 

Teilen Sie den Effekt durch 4 Blöcke:

1 - Verringerung der Krisenverluste

Historisch gesehen "fressen" Krisen 3–8% des BIP in einem Stress-Szenario.

Die Erhöhung von SIU von 60 auf → um 80 reduziert die Verluste um 30–50%.

Einsparung: ≈ 1,5–3% BIP jährlich in einem Horizont von 10 Jahren.

2 - Wachstum der technologischen Wertschöpfung

Anteilszunahme von HighTech:+10% zur Exportstruktur

= +2–3% beim BIP mittelfristig.

3 - Senkung der finanziellen Kosten

Nachhaltigkeit reduziert:

  • Kosten der Kreditaufnahme,
  • Sanktionsverluste,
  • Kapitalflucht.

Geschätzter Effekt: +0,5–1,5% des BIP.

4 - Infrastruktur-Multiplikator

Investitionen in:

  • Energie,
  • Digitalisierung,
  • industrielle Zusammenarbeit, 
  • geben Sie den Multiplikator 1,4–1,8.

3. Gesamteffekt

Beim Übergang SIU 65 → 80: Potenzielles BIP-Wachstum: +3–6% zur Basisbahn im Horizont 7–10 Jahre.

AllgemeinNachhaltigkeit zahlt sich aus.


II. Überwachungsplattform "SOYZ"

Kommen wir zur digitalen Steuerung.

Die Architektur der Plattform “SOYZ”

1. Ziel

Echtzeit-Nachhaltigkeitsüberwachung im Modus 24/7. Nicht nur einmal im Jahr. Es ist ein lebendes System.

2. Hauptmodule

MODUL 1 — SIU-CORE

  • Automatische Berechnung des Nachhaltigkeitsindex.
  • Dashboard 5 Konturen.
  • Dynamik für 1–5–10 Jahre.

MODUL 2 — KRITISCHES HAFTUNGSREZEPT

  • Komponente → Industrie → Anbieter → Risiko.
  • Signale bei Überschreitung der Schwelle.

MODUL 3 — Stresstest ENGINE

  • Simulation von Szenarien.
  • Kaskadeneffekte bewerten.
  • Prognose der Erholungszeit.

MODUL 4 — KPI ÜBERWACHUNG

  • Energie.
  • Kommunikation.
  • Finanzen.
  • Logistik.
  • Bildung.
  • OPC.

MODUL 5 — WAR ROOM DIGITAL

  • Datenintegration in der Krise.
  • Entscheidungszentrum.
  • Geschichte der Vorfälle.

3. Technologische Architektur

Die Plattform umfasst:

  • geschützte Datenkontur,
  • Verteilte Knoten,
  • analytische Schicht (AI),
  • Schnittstelle für strategisches Management.

4. Zugangsstufen

  • Strategischer Index (Zusammenfassung).
  • Betrieb (Branchenindikatoren).
  • Technische (spezifische Kennzahlen und Alarme).

5. Implementierungsschritt

Stufe 1 (1–2 Jahre)

  • Starten SIU-CORE.
  • Pässe der Nachhaltigkeit.
  • Grundlegende Stresstests.

Stufe 2 (3–5 Jahre)

  • Integration von Branchendaten.
  • Automatische Signale.
  • Zentrum für digitale Überwachung.

Stufe 3 (5–10 Jahre)

  • Voller digitaler Stabilitäts-Doppelt.
  • Prognose auf Basis von KI.
  • Prädiktiver Schutz.

Das letzte Band. Wachstum SIU →Risikominderung →Investitionswachstum →Wachstum des BIP →Steigerung der Nachhaltigkeit. Geschlossener Zyklus.

Data Model (Datenschema) Plattform “SOYuz” für MVP. Dies kann sofort an den Architekten / Entwickler gegeben werden: Entitäten, Verbindungen, Felder, Regeln für die Versionierung und Berechnung von SIU.

Datenmodell Plattform "SOYuz" (MVP)

0) Prinzipien des Modells

  • Ereignis: Alles Wichtige wird als Messung / Vorfall / Lösung / Test erfasst.
  • Version: Pässe, KPI und Schwellenwerte haben Versionen (damit das Audit Geschichte sieht).
  • Hierarchie: System → Umriss → Subsystem → KPI → Messung.
  • Normen vs. Tatsache: Wir speichern die Zielwerte und die tatsächlichen Messungen getrennt.

1) Referenzen (core)

1.1 von Contour. Stabilitätskreise (5 Stück).

  • contour_id (PK)
  • code (W, T, E, C, I)
  • name
  • weight (Standardeinstellung 0.2)
  • description

1.2 Critical System. 10 Kritische Systeme (Energie, Kommunikation, Finanzen).

  • system_id (PK)
  • name
  • category (energy/comm/finance/…)
  • criticality_level (1/2/3)
  • owner_org
  • region_scope (national/region/local)
  • status (active/archived)


1.3 Subsystem. System innerhalb des CriticalSystems.

  • subsystem_id (PK)
  • system_id (FK → CriticalSystem)
  • name
  • description
  • status

1.4 OrgUnit. Organisationen/Einheiten.

  • org_id (PK)
  • name
  • type (operator/regulator/analysis/…)
  • contact_role (keine personenbezogenen Daten, nur eine Rolle)
  • status

1.5 Benutzerrolle (RBAC). Zugriffsrollen.

  • role_id (PK)
  • name (strategic/operational/technical/auditor/admin)
  • permissions (json/bitmask)

2 Nachhaltigkeitspass (Version und Kontrolle)

2.1 ResiliencePassport. Reisepass des Systems (aktuelle "Kappe").

  • passport_id (PK)
  • system_id (FK)
  • contour_id (FK)
  • current_version_id (FK → PassportVersion)
  • maturity_level (1–5)
  • created_at, updated_at

2.2 PassportVersion. Passversion (Audit und Änderungen).

  • version_id (PK)
  • passport_id (FK)
  • version_no (int)
  • target_function (text)
  • failure_threshold (Text + structured fields unten)
  • rto_target_hours (float)
  • rpo_target_hours (float)
  • autonomy_target_pct (float)
  • test_frequency_per_year (int)
  • approved_by_org (FK → OrgUnit)
  • effective_from, effective_to
  • notes

2.3 FailureThreshold. (Optional, wenn strukturiert werden muss)

  • threshold_id (PK)
  • version_id (FK)
  • metric (e.g. “capacity_loss_pct”, “outage_hours”)
  • operator (>, >=, <…)
  • value (float)
  • unit

2.4 ReserveProfile. Das Reserveprofil nach der Version des Passes.

  • reserve_id (PK)
  • version_id (FK)
  • reserve_type (physical/data/people/finance)
  • description
  • coverage_days (float, nullable)
  • capacity_units (nullable)
  • last_verified_at

3) KPI und Messungen

3.1 KPI. Das Handbuch KPI.

  • kpi_id (PK)
  • name
  • unit (%, hours, days, index)
  • aggregation (avg/min/max/last/weighted)
  • direction (higher_is_better / lower_is_better)
  • description

3.2 KPIDefinition. Anbindung KPI zum System/Subsystem und zur Kontur + Normen.

  • kpi_def_id (PK)
  • kpi_id (FK)
  • system_id (FK)
  • subsystem_id (FK, nullable)
  • contour_id (FK)
  • target_value (float)
  • warning_value (float)
  • critical_value (float)
  • weight_in_contour (float) (Betrag nach Kontur = 1.0)
  • effective_from, effective_to
  • source_type (manual/api/import)
  • owner_org (FK)

3.3 Measurement. Tatsächliche Maße KPI.

  • measurement_id (PK)
  • kpi_def_id (FK)
  • timestamp
  • value (float)
  • quality_flag (ok/suspect/missing)
  • ingested_at
  • source_ref (Zeile: Datei/Sensor/System)

4) Risiken und Abhängigkeiten

4.1 Risikoregister. Risikoregister (einschließlich für die Matrix wahrscheinlich×)

  • risk_id (PK)
  • name
  • type (tech/finance/cyber/logistics/info/…)
  • description
  • probability (1–5)
  • impact (1–5)
  • risk_score (computed = prob×impact)
  • owner_org (FK)
  • status (open/mitigating/closed)
  • last_reviewed_at

4.2 DependencyItem. Kritische Abhängigkeiten (Komponente/Software/Material)

  • dep_id (PK)
  • system_id (FK)
  • subsystem_id (FK, nullable)
  • item_name
  • item_type (component/material/software/service)
  • current_source (domestic/foreign/mixed)
  • import_share_pct (float)
  • substitution_plan (text)
  • substitution_due_months (int)
  • reserve_coverage_months (float)
  • risk_level (low/med/high/critical)
  • owner_org (FK)
  • updated_at

5) Vorfälle und War Room

5.1 Incident. Ereignis/Ereignis (real oder lehrreich)

  • incident_id (PK)
  • system_id (FK)
  • incident_type (cyber/outage/supply/finance/info/…)
  • severity (1–5)
  • started_at, ended_at
  • status (open/contained/recovered/closed)
  • summary
  • root_cause (nullable)
  • created_by_role (FK → UserRole)

5.2 IncidentImpact. Kaskadeneffekt (welche KPI / Systeme betroffen sind).

  • impact_id (PK)
  • incident_id (FK)
  • kpi_def_id (FK, nullable)
  • affected_system_id (FK, nullable)
  • delta_value (float, nullable)
  • notes

5.3 DecisionLog. Das War Room-Protokoll.

  • decision_id (PK)
  • incident_id (FK)
  • time
  • decision_text
  • assigned_org (FK)
  • deadline
  • status (planned/in_progress/done)
  • evidence_ref (nullable)

6) Stresstests und -szenarien

6.1 Scenario

  • scenario_id (PK)
  • name (optimistic/base/stress + custom)
  • description
  • assumptions (text/json)
  • created_at

6.2 StressTestRun. Test starten.

  • run_id (PK)
  • scenario_id (FK)
  • initiated_at
  • initiated_by_role
  • scope (national/region/system)
  • status

6.3 StressTestResult. Ergebnisse nach Systemen/Konturen.

  • result_id (PK)
  • run_id (FK)
  • system_id (FK)
  • contour_id (FK)
  • expected_siu_drop (float)
  • expected_rto_hours (float)
  • critical_findings (text)
  • recommended_actions (text)

7) Indexberechnung (SIU)

7.1 ContourScore. Gesamtpunktzahl der Kontur für den Zeitraum.

  • contour_score_id (PK)
  • contour_id (FK)
  • period_start, period_end
  • score_0_100
  • computed_at
  • method_version (um die Methodik zu ändern)

7.2 SIUScore. Postleitzahl SIU.

  • siu_id (PK)
  • period_start, period_end
  • siu_0_100
  • w_score, t_score, e_score, c_score, i_score
  • computed_at
  • method_version

Berechnungsregel (MVP)

  • Wir betrachten jeden ContourScore als einen gewichteten Durchschnitt von KPI durch KPI Definition.weight_in_contour für einen Zeitraum (z. B. last/avg).
  • SIU = geometrischer Mittelwert von fünf Konturen:
    SIU = (W × T × E × C × I)^{1/5}
  • Wenn es viele Missing-Zyklen gibt, geben Sie eine Geldstrafe ein (z. B. -5...-15), um die Daten zu stimulieren.

8) Kommunikation (kurz)

  • Contour 1—N Resilience Passport
  • CriticalSystem 1—N ResiliencePassport, 1—N Subsystem, 1—N KPIDefinition, 1—N Incident, 1—N DependencyItem
  • KPI 1—N KPIDefinition
  • KPIDefinition 1—N Measurement
  • Incident 1—N DecisionLog, 1—N IncidentImpact
  • Scenario 1—N StressTestRun 1—N StressTestResult
  • ContourScore + SIUScore - periodische Einheiten

9 Mindestdatensatz zum Ausführen von MVP

Damit die Plattform sofort "lebt":

  • 10 CriticalSystem
  • 5 Contour
  • von 5 KPI pro Schaltung (25 KPI min.)
  • 1 Systempass (10 Reisepass) + Version
  • wöchentlicher Import von Measurement (auch manuell)
  • 1 Basis-Stresstest-Szenario


DDL ist ein Skelett unter PostgreSQL (Tabellen/Schlüssel/Indexe) und wireframe Navigation/Bildschirme streng unter unserem Data Model.

1) PostgreSQL DDL (Skelett)


-- =========================================

-- PLATFORM "SOYUZ" - MVP DDL (PostgreSQL)

-- =========================================


-- 0) Enums (kann durch Referenzen ersetzt werden)

DO $$ BEGIN

  CREATE TYPE risk_status AS ENUM ('open','mitigating','closed');

EXCEPTION WHEN duplicate_object THEN NULL; END $$;


DO $$ BEGIN

  CREATE TYPE incident_status AS ENUM ('open','contained','recovered','closed');

EXCEPTION WHEN duplicate_object THEN NULL; END $$;


DO $$ BEGIN

  CREATE TYPE quality_flag AS ENUM ('ok','suspect','missing');

EXCEPTION WHEN duplicate_object THEN NULL; END $$;


DO $$ BEGIN

  CREATE TYPE kpi_direction AS ENUM ('higher_is_better','lower_is_better');

EXCEPTION WHEN duplicate_object THEN NULL; END $$;


DO $$ BEGIN

  CREATE TYPE kpi_aggregation AS ENUM ('avg','min','max','last','weighted');

EXCEPTION WHEN duplicate_object THEN NULL; END $$;


DO $$ BEGIN

  CREATE TYPE system_status AS ENUM ('active','archived');

EXCEPTION WHEN duplicate_object THEN NULL; END $$;


DO $$ BEGIN

  CREATE TYPE reserve_type AS ENUM ('physical','data','people','finance');

EXCEPTION WHEN duplicate_object THEN NULL; END $$;


DO $$ BEGIN

  CREATE TYPE dependency_type AS ENUM ('component','material','software','service');

EXCEPTION WHEN duplicate_object THEN NULL; END $$;


DO $$ BEGIN

  CREATE TYPE source_type AS ENUM ('manual','api','import');

EXCEPTION WHEN duplicate_object THEN NULL; END $$;


-- 1) Core reference tables


CREATE TABLE IF NOT EXISTS contour (

  contour_id        BIGSERIAL PRIMARY KEY,

  code              TEXT NOT NULL UNIQUE CHECK (code IN ('W','T','E','C','I')),

  name              TEXT NOT NULL,

  weight            NUMERIC(6,4) NOT NULL DEFAULT 0.2000,

  description       TEXT

);


CREATE TABLE IF NOT EXISTS org_unit (

  org_id            BIGSERIAL PRIMARY KEY,

  name              TEXT NOT NULL UNIQUE,

  type              TEXT,

  contact_role TEXT, -- nur die Rolle, ohne personenbezogene Daten

  status            system_status NOT NULL DEFAULT 'active'

);


CREATE TABLE IF NOT EXISTS user_role (

  role_id           BIGSERIAL PRIMARY KEY,

  name              TEXT NOT NULL UNIQUE, -- strategic/operational/technical/auditor/admin

  permissions       JSONB NOT NULL DEFAULT '{}'::jsonb

);


CREATE TABLE IF NOT EXISTS critical_system (

  system_id         BIGSERIAL PRIMARY KEY,

  name              TEXT NOT NULL UNIQUE,

  category          TEXT NOT NULL, -- energy/comm/finance/logistics/...

  criticality_level SMALLINT NOT NULL CHECK (criticality_level BETWEEN 1 AND 3),

  owner_org         BIGINT REFERENCES org_unit(org_id),

  region_scope      TEXT NOT NULL DEFAULT 'national',

  status            system_status NOT NULL DEFAULT 'active'

);


CREATE TABLE IF NOT EXISTS subsystem (

  subsystem_id      BIGSERIAL PRIMARY KEY,

  system_id         BIGINT NOT NULL REFERENCES critical_system(system_id) ON DELETE CASCADE,

  name              TEXT NOT NULL,

  description       TEXT,

  status            system_status NOT NULL DEFAULT 'active',

  UNIQUE(system_id, name)

);


-- 2) Passports (versioned)


CREATE TABLE IF NOT EXISTS resilience_passport (

  passport_id        BIGSERIAL PRIMARY KEY,

  system_id          BIGINT NOT NULL REFERENCES critical_system(system_id) ON DELETE CASCADE,

  contour_id         BIGINT NOT NULL REFERENCES contour(contour_id),

  current_version_id BIGINT, -- FK added after passport_version exists

  maturity_level     SMALLINT NOT NULL DEFAULT 2 CHECK (maturity_level BETWEEN 1 AND 5),

  created_at         TIMESTAMPTZ NOT NULL DEFAULT NOW(),

  updated_at         TIMESTAMPTZ NOT NULL DEFAULT NOW(),

  UNIQUE(system_id, contour_id)

);


CREATE TABLE IF NOT EXISTS passport_version (

  version_id            BIGSERIAL PRIMARY KEY,

  passport_id           BIGINT NOT NULL REFERENCES resilience_passport(passport_id) ON DELETE CASCADE,

  version_no            INT NOT NULL,

  target_function       TEXT NOT NULL,

  failure_threshold_txt TEXT, -- kurze Beschreibung der Fehlerschwelle

  rto_target_hours      NUMERIC(10,2),

  rpo_target_hours      NUMERIC(10,2),

  autonomy_target_pct   NUMERIC(6,2),

  test_frequency_per_year INT,

  approved_by_org       BIGINT REFERENCES org_unit(org_id),

  effective_from        DATE NOT NULL DEFAULT CURRENT_DATE,

  effective_to          DATE,

  notes                 TEXT,

  created_at            TIMESTAMPTZ NOT NULL DEFAULT NOW(),

  UNIQUE(passport_id, version_no)

);


ALTER TABLE resilience_passport

  ADD CONSTRAINT fk_passport_current_version

  FOREIGN KEY (current_version_id) REFERENCES passport_version(version_id);


CREATE TABLE IF NOT EXISTS failure_threshold (

  threshold_id    BIGSERIAL PRIMARY KEY,

  version_id      BIGINT NOT NULL REFERENCES passport_version(version_id) ON DELETE CASCADE,

  metric          TEXT NOT NULL,

  operator        TEXT NOT NULL, -- >, >=, < ...

  value           NUMERIC(18,6) NOT NULL,

  unit            TEXT

);


CREATE TABLE IF NOT EXISTS reserve_profile (

  reserve_id        BIGSERIAL PRIMARY KEY,

  version_id        BIGINT NOT NULL REFERENCES passport_version(version_id) ON DELETE CASCADE,

  reserve_type      reserve_type NOT NULL,

  description       TEXT,

  coverage_days     NUMERIC(10,2),

  capacity_units    TEXT,

  last_verified_at  TIMESTAMPTZ

);


-- 3) KPI model


CREATE TABLE IF NOT EXISTS kpi (

  kpi_id        BIGSERIAL PRIMARY KEY,

  name          TEXT NOT NULL UNIQUE,

  unit          TEXT NOT NULL,

  aggregation   kpi_aggregation NOT NULL DEFAULT 'avg',

  direction     kpi_direction NOT NULL DEFAULT 'higher_is_better',

  description   TEXT

);


CREATE TABLE IF NOT EXISTS kpi_definition (

  kpi_def_id        BIGSERIAL PRIMARY KEY,

  kpi_id            BIGINT NOT NULL REFERENCES kpi(kpi_id),

  system_id         BIGINT NOT NULL REFERENCES critical_system(system_id) ON DELETE CASCADE,

  subsystem_id      BIGINT REFERENCES subsystem(subsystem_id) ON DELETE SET NULL,

  contour_id        BIGINT NOT NULL REFERENCES contour(contour_id),

  target_value      NUMERIC(18,6),

  warning_value     NUMERIC(18,6),

  critical_value    NUMERIC(18,6),

  weight_in_contour NUMERIC(8,6) NOT NULL DEFAULT 0.200000,

  effective_from    DATE NOT NULL DEFAULT CURRENT_DATE,

  effective_to      DATE,

  source_type       source_type NOT NULL DEFAULT 'manual',

  owner_org         BIGINT REFERENCES org_unit(org_id),

  CHECK (weight_in_contour >= 0 AND weight_in_contour <= 1)

);


CREATE INDEX IF NOT EXISTS idx_kpi_def_system ON kpi_definition(system_id);

CREATE INDEX IF NOT EXISTS idx_kpi_def_contour ON kpi_definition(contour_id);

CREATE INDEX IF NOT EXISTS idx_kpi_def_kpi ON kpi_definition(kpi_id);


CREATE TABLE IF NOT EXISTS measurement (

  measurement_id BIGSERIAL PRIMARY KEY,

  kpi_def_id     BIGINT NOT NULL REFERENCES kpi_definition(kpi_def_id) ON DELETE CASCADE,

  timestamp      TIMESTAMPTZ NOT NULL,

  value          NUMERIC(18,6) NOT NULL,

  quality_flag   quality_flag NOT NULL DEFAULT 'ok',

  ingested_at    TIMESTAMPTZ NOT NULL DEFAULT NOW(),

  source_ref     TEXT

);


CREATE INDEX IF NOT EXISTS idx_measurement_kpi_def_time ON measurement(kpi_def_id, timestamp DESC);

CREATE INDEX IF NOT EXISTS idx_measurement_time ON measurement(timestamp DESC);


-- 4) Risks & dependencies


CREATE TABLE IF NOT EXISTS risk_register (

  risk_id          BIGSERIAL PRIMARY KEY,

  name             TEXT NOT NULL,

  type             TEXT NOT NULL,

  description      TEXT,

  probability      SMALLINT NOT NULL CHECK (probability BETWEEN 1 AND 5),

  impact           SMALLINT NOT NULL CHECK (impact BETWEEN 1 AND 5),

  risk_score       SMALLINT GENERATED ALWAYS AS (probability * impact) STORED,

  owner_org        BIGINT REFERENCES org_unit(org_id),

  status           risk_status NOT NULL DEFAULT 'open',

  last_reviewed_at TIMESTAMPTZ

);


CREATE INDEX IF NOT EXISTS idx_risk_score ON risk_register(risk_score DESC);

CREATE INDEX IF NOT EXISTS idx_risk_status ON risk_register(status);


CREATE TABLE IF NOT EXISTS dependency_item (

  dep_id                  BIGSERIAL PRIMARY KEY,

  system_id               BIGINT NOT NULL REFERENCES critical_system(system_id) ON DELETE CASCADE,

  subsystem_id            BIGINT REFERENCES subsystem(subsystem_id) ON DELETE SET NULL,

  item_name               TEXT NOT NULL,

  item_type               dependency_type NOT NULL,

  current_source          TEXT NOT NULL, -- domestic/foreign/mixed

  import_share_pct        NUMERIC(6,2),

  substitution_plan       TEXT,

  substitution_due_months INT,

  reserve_coverage_months NUMERIC(10,2),

  risk_level              TEXT NOT NULL, -- low/med/high/critical

  owner_org               BIGINT REFERENCES org_unit(org_id),

  updated_at              TIMESTAMPTZ NOT NULL DEFAULT NOW()

);


CREATE INDEX IF NOT EXISTS idx_dep_system ON dependency_item(system_id);

CREATE INDEX IF NOT EXISTS idx_dep_risk ON dependency_item(risk_level);


-- 5) Incidents & War Room


CREATE TABLE IF NOT EXISTS incident (

  incident_id     BIGSERIAL PRIMARY KEY,

  system_id       BIGINT NOT NULL REFERENCES critical_system(system_id) ON DELETE CASCADE,

  incident_type   TEXT NOT NULL, -- cyber/outage/supply/finance/info/...

  severity        SMALLINT NOT NULL CHECK (severity BETWEEN 1 AND 5),

  started_at      TIMESTAMPTZ NOT NULL,

  ended_at        TIMESTAMPTZ,

  status          incident_status NOT NULL DEFAULT 'open',

  summary         TEXT,

  root_cause      TEXT,

  created_by_role BIGINT REFERENCES user_role(role_id)

);


CREATE INDEX IF NOT EXISTS idx_incident_system ON incident(system_id, started_at DESC);

CREATE INDEX IF NOT EXISTS idx_incident_status ON incident(status);


CREATE TABLE IF NOT EXISTS incident_impact (

  impact_id          BIGSERIAL PRIMARY KEY,

  incident_id        BIGINT NOT NULL REFERENCES incident(incident_id) ON DELETE CASCADE,

  kpi_def_id         BIGINT REFERENCES kpi_definition(kpi_def_id) ON DELETE SET NULL,

  affected_system_id BIGINT REFERENCES critical_system(system_id) ON DELETE SET NULL,

  delta_value        NUMERIC(18,6),

  notes              TEXT

);


CREATE TABLE IF NOT EXISTS decision_log (

  decision_id   BIGSERIAL PRIMARY KEY,

  incident_id   BIGINT NOT NULL REFERENCES incident(incident_id) ON DELETE CASCADE,

  time          TIMESTAMPTZ NOT NULL DEFAULT NOW(),

  decision_text TEXT NOT NULL,

  assigned_org  BIGINT REFERENCES org_unit(org_id),

  deadline      TIMESTAMPTZ,

  status        TEXT NOT NULL DEFAULT 'planned', -- planned/in_progress/done

  evidence_ref  TEXT

);


CREATE INDEX IF NOT EXISTS idx_decision_incident ON decision_log(incident_id, time DESC);


-- 6) Scenarios & stress tests


CREATE TABLE IF NOT EXISTS scenario (

  scenario_id  BIGSERIAL PRIMARY KEY,

  name         TEXT NOT NULL UNIQUE, -- optimistic/base/stress/custom

  description  TEXT,

  assumptions  JSONB NOT NULL DEFAULT '{}'::jsonb,

  created_at   TIMESTAMPTZ NOT NULL DEFAULT NOW()

);


CREATE TABLE IF NOT EXISTS stress_test_run (

  run_id            BIGSERIAL PRIMARY KEY,

  scenario_id       BIGINT NOT NULL REFERENCES scenario(scenario_id),

  initiated_at      TIMESTAMPTZ NOT NULL DEFAULT NOW(),

  initiated_by_role BIGINT REFERENCES user_role(role_id),

  scope             TEXT NOT NULL DEFAULT 'national', -- national/region/system

  status            TEXT NOT NULL DEFAULT 'running'

);


CREATE TABLE IF NOT EXISTS stress_test_result (

  result_id           BIGSERIAL PRIMARY KEY,

  run_id              BIGINT NOT NULL REFERENCES stress_test_run(run_id) ON DELETE CASCADE,

  system_id           BIGINT NOT NULL REFERENCES critical_system(system_id) ON DELETE CASCADE,

  contour_id          BIGINT NOT NULL REFERENCES contour(contour_id),

  expected_siu_drop   NUMERIC(10,2),

  expected_rto_hours  NUMERIC(10,2),

  critical_findings   TEXT,

  recommended_actions TEXT

);


CREATE INDEX IF NOT EXISTS idx_stress_result_run ON stress_test_result(run_id);

CREATE INDEX IF NOT EXISTS idx_stress_result_system ON stress_test_result(system_id);


-- 7) Scores (computed aggregates)


CREATE TABLE IF NOT EXISTS contour_score (

  contour_score_id BIGSERIAL PRIMARY KEY,

  contour_id       BIGINT NOT NULL REFERENCES contour(contour_id),

  period_start     DATE NOT NULL,

  period_end       DATE NOT NULL,

  score_0_100      NUMERIC(6,2) NOT NULL CHECK (score_0_100 BETWEEN 0 AND 100),

  computed_at      TIMESTAMPTZ NOT NULL DEFAULT NOW(),

  method_version   TEXT NOT NULL DEFAULT 'mvp_v1',

  UNIQUE(contour_id, period_start, period_end, method_version)

);


CREATE TABLE IF NOT EXISTS siu_score (

  siu_id       BIGSERIAL PRIMARY KEY,

  period_start DATE NOT NULL,

  period_end   DATE NOT NULL,

  siu_0_100    NUMERIC(6,2) NOT NULL CHECK (siu_0_100 BETWEEN 0 AND 100),

  w_score      NUMERIC(6,2) NOT NULL,

  t_score      NUMERIC(6,2) NOT NULL,

  e_score      NUMERIC(6,2) NOT NULL,

  c_score      NUMERIC(6,2) NOT NULL,

  i_score      NUMERIC(6,2) NOT NULL,

  computed_at  TIMESTAMPTZ NOT NULL DEFAULT NOW(),

  method_version TEXT NOT NULL DEFAULT 'mvp_v1',

  UNIQUE(period_start, period_end, method_version)

);


-- Helpful indexes for dashboard queries

CREATE INDEX IF NOT EXISTS idx_siu_latest ON siu_score(period_end DESC);

CREATE INDEX IF NOT EXISTS idx_contour_score_latest ON contour_score(period_end DESC, contour_id);


Artikel-Nr.: MVP

  • V DDL Keine Benutzertabelle (Login/Authentifizierung). Für MVP genug RBAC Rollen + Außen SSO/LDAP später.
  • Gewicht: contour.weight + kpi_definition.weight_in_contour. In MVP können Sie Konturen auf 0.2 fixieren und nur KPI-Gewichte steuern.

2) Drahtrahmen-Schnittstelle (Menü + Bildschirme)

Globale Navigation (linkes Menü)

  • Startseite
  • Umrisse
    • W Militär
    • T Technologie
    • E Wirtschaft
    • C Kognitive
    • Ich institutionell
  • Kritische Systeme
    • Energie
    • Kontakt
    • Finanzen
    • Logistik
    • Lebensmittelversorgung
    • Gesundheitswesen
    • Staatsverwaltung
    • OPC
    • Rahmen/NIOKR
    • Info-Umgebung
  • Nachhaltigkeitspass
  • KPI und Maße
  • Risiken und Abhängigkeiten
  • Stresstests
  • War Room
  • Berichte / Export
  • Einstellungen
    • Referenzen
    • Schwellenwerte/Skala
    • Zugangsrollen

Bildschirm 1: Startseite (Strategic Dashboard)

Obere Platte:

  • Zeitraum (Woche/Monat/Quartal)
  • Filter (Land/Region/System)
  • Schaltfläche “Stresstest starten”
  • Anzeigemodus (Normal / Alert / War Room)

Körper:

  • Große SIU gauge
  • 5 Konturenfliesen (W/T/E/C/I): score + Trend + Status
  • “Top-5 Risiken” (von risk_register auf risk_score)
  • “Top-5 Abhängigkeiten” (von dependency_item auf risk_level=critical)
  • "Aktive Zwischenfälle" (aus incident status=open/contained)

Bildschirm 2: Kontur (Beispiel: Wirtschaft)

Tabs:

  • KPI
  • Risiken
  • Abhängigkeiten
  • Ereignisse (Vorfälle)
  • Empfehlungen (aus den Ergebnissen von Stresstests)

KPI-Registerkarte:

  • Tabelle KPI mit Schwellenwerten (target/warn/critical)
  • Trenddiagramm für jeden KPI (last 90 days)
  • "Datenfehler" (quality_flag=missing) - eine Strafe im Index

Bildschirm 3: Kritisches System (Beispiel: Energie)

System-Kappe:

  • Kritikalitätsgrad
  • Verantwortliche Stelle (org_unit)
  • Aktueller Reisepass (Version)

Einheiten:

  • KPI Systeme (einschließlich Subsysteme)
  • Ausfallschwelle (von passport_version + failure_threshold)
  • Reserven (aus reserve_profile)
  • Vorfälle im System
  • Schaltfläche “Öffnen War Room auf dem System”

Bildschirm 4: Nachhaltigkeitsausweise

  • Liste der Pässe (System + contour + maturity)
  • Öffnung des Passes → Versionsgeschichte
  • Versions-Editor (wenn die Rolle es zulässt)
  • Schaltfläche “Zuweisen” (aktualisiert current_version_id)

Bildschirm 5: KPI und Abmessungen

  • Katalog KPI
  • KPI Systembindungen (kpi_definition)
  • Importieren Sie Messungen / manuelle Eingabe
  • Datenqualitätskontrolle (ok/suspect/missing)
  • Quellenprüfung (source_ref)

Bildschirm 6: Risiken und Abhängigkeiten

  • Matrix Wahrscheinlichkeit×Schaden (Heatmap)
  • Risikoregister (risk_register)
  • Abhängigkeitsregister (dependency_item) mit Filter:
    • risiko_level
    • import_share_pct
    • substitution_due_months

Bildschirm 7: Stresstests

  • Szenarien (Szenario)
  • Ausführung (stress_test_run)
  • Ergebnisse (stress_test_result):
    • erwarteter Fall SIU
    • erwartet RTO
    • Empfehlungen

Bildschirm: 8: War Room

Leyout 4 Platten:

  • Karte/Zeitlinie des Vorfalls
  • KPI “Rote Zone”
  • Lösungsband (decision_log)
  • Aufgaben/Termine/Verantwortliche (decision_log status)

Auto-Login im War Room, wenn:

  • siu_score < 60 oder
  • Vorfall mit Schweregrad ≥ 4 oder
  • риск_score ≥ 20 (5×4, 5×5)

1) Berechnung von ContourScore und SIU (SQL)

1.1 Normalisierung KPI auf der Skala 0–100

Idee: Jede Messung von KPI wird in eine 0–100 relativ zu den Schwellenwerten von critical_value / warning_value / target_value umgewandelt.

  • Wenn higher_is_better:
    • value ≥ target → 100
    • value ≤ critical → 0
    • zwischen Critical und Target - lineare Interpolation (kann später kompliziert werden)
  • Wenn lower_is_better: spiegelbildlich

-- =========================================

-- KPI scoring view (0..100)

-- Uses latest measurement per KPI definition within period

-- =========================================


CREATE OR REPLACE VIEW v_kpi_latest_in_period AS

SELECT

  kd.kpi_def_id,

  kd.kpi_id,

  kd.system_id,

  kd.subsystem_id,

  kd.contour_id,

  kd.target_value,

  kd.warning_value,

  kd.critical_value,

  kd.weight_in_contour,

  k.direction,

  k.aggregation,

  m.timestamp,

  m.value,

  m.quality_flag

FROM kpi_definition kd

JOIN kpi k ON k.kpi_id = kd.kpi_id

JOIN LATERAL (

  SELECT m1.*

  FROM measurement m1

  WHERE m1.kpi_def_id = kd.kpi_def_id

  ORDER BY m1.timestamp DESC

  LIMIT 1

) m ON TRUE

WHERE kd.effective_to IS NULL OR kd.effective_to >= CURRENT_DATE;


-- Score each KPI definition to 0..100

CREATE OR REPLACE VIEW v_kpi_score_latest AS

SELECT

  v.*,

  CASE

    WHEN v.quality_flag = 'missing' THEN 0


    WHEN v.direction = 'higher_is_better' THEN

      CASE

        WHEN v.target_value IS NULL OR v.critical_value IS NULL THEN NULL

        WHEN v.value >= v.target_value THEN 100

        WHEN v.value <= v.critical_value THEN 0

        ELSE ROUND( ( (v.value - v.critical_value) / NULLIF((v.target_value - v.critical_value),0) ) * 100, 2)

      END


    WHEN v.direction = 'lower_is_better' THEN

      CASE

        WHEN v.target_value IS NULL OR v.critical_value IS NULL THEN NULL

        WHEN v.value <= v.target_value THEN 100

        WHEN v.value >= v.critical_value THEN 0

        ELSE ROUND( ( (v.critical_value - v.value) / NULLIF((v.critical_value - v.target_value),0) ) * 100, 2)

      END


    ELSE NULL

  END AS score_0_100

FROM v_kpi_latest_in_period v;


Hinweis: Warning_value wird noch nicht in der Formel verwendet. Die v2 kann “gebrochen” Funktion: critical→warning→target.


1.2 ContourScore = gewichteter Durchschnitt KPI umrissen

-- =========================================

-- Contour score = weighted average of KPI scores

-- =========================================


CREATE OR REPLACE VIEW v_contour_score_current AS

SELECT

  c.contour_id,

  c.code AS contour_code,

  CURRENT_DATE AS period_start,

  CURRENT_DATE AS period_end,

  ROUND(

    SUM(ks.score_0_100 * kd.weight_in_contour) / NULLIF(SUM(kd.weight_in_contour),0),

    2

  ) AS score_0_100,

  SUM(CASE WHEN ks.score_0_100 IS NULL THEN 1 ELSE 0 END) AS null_scores_cnt,

  SUM(CASE WHEN ks.quality_flag = 'missing' THEN 1 ELSE 0 END) AS missing_cnt

FROM contour c

JOIN kpi_definition kd ON kd.contour_id = c.contour_id

JOIN v_kpi_score_latest ks ON ks.kpi_def_id = kd.kpi_def_id

GROUP BY c.contour_id, c.code;


1.3 SIU = geometrischer Durchschnitt 5 Konturen + Geldstrafe für Missing

-- =========================================

-- SIU score = geometric mean of 5 contour scores

-- + optional penalty for missing data

-- =========================================


CREATE OR REPLACE VIEW v_siu_score_current AS

WITH cs AS (

  SELECT

    contour_code,

    score_0_100,

    missing_cnt

  FROM v_contour_score_current

),

pivot AS (

  SELECT

    MAX(CASE WHEN contour_code='W' THEN score_0_100 END) AS w_score,

    MAX(CASE WHEN contour_code='T' THEN score_0_100 END) AS t_score,

    MAX(CASE WHEN contour_code='E' THEN score_0_100 END) AS e_score,

    MAX(CASE WHEN contour_code='C' THEN score_0_100 END) AS c_score,

    MAX(CASE WHEN contour_code='I' THEN score_0_100 END) AS i_score,

    SUM(missing_cnt) AS total_missing

  FROM cs

)

SELECT

  CURRENT_DATE AS period_start,

  CURRENT_DATE AS period_end,

  w_score, t_score, e_score, c_score, i_score,

  -- Base geometric mean

  ROUND(

    POWER(

      NULLIF(w_score,0) * NULLIF(t_score,0) * NULLIF(e_score,0) * NULLIF(c_score,0) * NULLIF(i_score,0),

      1.0/5.0

    ),

    2

  ) AS siu_base,

  -- Penalty: -0.5 per missing KPI (cap -15)

  GREATEST(

    ROUND(

      POWER(

        NULLIF(w_score,0) * NULLIF(t_score,0) * NULLIF(e_score,0) * NULLIF(c_score,0) * NULLIF(i_score,0),

        1.0/5.0

      ) - LEAST(total_missing * 0.5, 15),

      2

    ),

    0

  ) AS siu_0_100

FROM pivot;

1.4 (Optional) materialized views für Geschwindigkeit

-- Materialize contour and SIU daily/weekly via cron/job

CREATE MATERIALIZED VIEW IF NOT EXISTS mv_contour_score_current AS

SELECT * FROM v_contour_score_current;


CREATE MATERIALIZED VIEW IF NOT EXISTS mv_siu_score_current AS

SELECT * FROM v_siu_score_current;


-- Refresh commands:

-- REFRESH MATERIALIZED VIEW mv_contour_score_current;

-- REFRESH MATERIALIZED VIEW mv_siu_score_current;


2) Seed-Daten (MVP)

2.1 Umrisse, Rollen, Organisationen, 10 kritische Systeme

-- =========================================

-- SEED DATA - CORE

-- =========================================


-- Contours

INSERT INTO contour (code, name, weight, description) VALUES

('W','Militär',0.2,'Abschreckung, Handhabung, Cyber-Resistenz, übungen'),

('T','Technologisch',0.2,'Lokalisierung, F & E, Software, Personal, Produktionstiefe'),

('E','Wirtschaftlich',0.2,'Industrie, Finanzen, Energie, Lebensmittel, Logistik'),

('C','Kognitive',0.2,'Vertrauen, informationsresistent, Bildung, Kultur'),

('I','Institutional',0.2,'Koordination, Entscheidungsgeschwindigkeit, Risikoprüfung, Reservierungsmanagement')

ON CONFLICT (code) DO NOTHING;


-- Roles

INSERT INTO user_role (name, permissions) VALUES

('strategic',  '{"read":"all","write":"none"}'),

('operational','{"read":"all","write":"kpi,incident,decision"}'),

('technical', '{"read":"all","write":"kpi,measurement,deps"}'),

('auditor',   '{"read":"all","write":"none"}'),

('admin',     '{"read":"all","write":"all"}')

ON CONFLICT (name) DO NOTHING;


-- Org units (ungefähr)

INSERT INTO org_unit (name, type, contact_role, status) VALUES

('Sojus-Überwachungszentrum','analysis','Koordinator','active'),

('Creetinfrey','operator','Diensthabender','active'),

('Cybercenter','operator','Diensthabender','active'),

('Finanzkreis','operator','Koordinator','active'),

('Logistischer Pfad','operator','Koordinator','active'),

('Infosred/Kommunikation','operator','Koordinator','active'),

('NIOCR und Frames','operator','Koordinator','active')

ON CONFLICT (name) DO NOTHING;


-- 10 Critical systems

INSERT INTO critical_system (name, category, criticality_level, owner_org, region_scope, status)

SELECT x.name, x.category, x.crit, ou.org_id, 'national', 'active'

FROM (VALUES

('Energiesystem','energy',1),

('Kommunikation und Management','comm',1),

('Finanzsystem','Finance',1),

('Logistik und Transport','logistics',1),

('Lebensmittelsystem','food',1),

('Gesundheit','health',2),

('Kontinuität der öffentlichen Verwaltung','governance',1),

('OPC und industrielle Mobilisierung','defense_industry',1),

('Frames & R&D','hr_rnd',2),

('Infosred und kognitive Stabilität','info',1)

) AS x(name, category, crit)

JOIN org_unit ou ON ou.name = 'Überwachungszentrum der Union'

ON CONFLICT (name) DO NOTHING;


2.2 KPI (25 Stück: bis 5 für jede Kontur)

-- =========================================

-- SEED DATA - KPI CATALOG (25)

-- =========================================


-- W (higher better unless stated)

INSERT INTO kpi (name, unit, aggregation, direction, description) VALUES

('W1: Steuerautonomie','%','last','higher_is_better','Anteil an autonomen Steuerkreisläufen'),

('W2: Anteil der geschützten Kanäle','%','last','higher_is_better','Anteil der geschützten Kommunikationskanäle'),

('W3: Schaltzeit auf Reserve','min','last','lower_is_better','Minuten bis zum Umschalten auf Backup-Kanäle'),

('W4: Cyber Resilienz (Reflexionsschwelle)','index','last','higher_is_better','Angriffsresistenzindex'),

('W5: Frequenz der kreisenden Übungen','per_year','last','higher_is_better','Übung/Jahr');


-- T

INSERT INTO kpi (name, unit, aggregation, direction, description) VALUES

('T1: Lokalisierung von kritischen Komponenten','%','last','higher_is_better','Anteil lokalisierter kritischer Komponenten'),

('T2: Anteil der inländischen Software an den KRITIKSYSTEMEN','%','last','higher_is_better','Anwendung der inländischen Software'),

('T3: R&D zum BIP','%GDP','last','higher_is_better','R&D-Intensität'),

('T4: Abschluss von Ingenieuren nach Prioritäten','per_year','last','higher_is_better','Anzahl der Absolventen/Jahr'),

('T5: Ersetzungszeit der Komponente','months','last','lower_is_better','Ersetzungszeit des Engpasses');


-- E

INSERT INTO kpi (name, unit, aggregation, direction, description) VALUES

('E1: Industrielle Autonomie','%','last','higher_is_better','Produktionsautonomie'),

('E2: Kontinuität der Massenzahlungen','%','last','higher_is_better','Zahlungsanteil ohne Verzögerung'),

('E3: Energieautonomie','%','last','higher_is_better','Anteil der internen Energieversorgung'),

('E4: Tage der Nahrungsreserve','days','last','higher_is_better','Reservedeckung'),

('E5: SLA Lieferung von KRITGUS','%','last','higher_is_better','Lieferung von KRITGOS an SLA');


-- C

INSERT INTO kpi (name, unit, aggregation, direction, description) VALUES

('C1: Index des Vertrauens in Institutionen','index','last','higher_is_better','Öffentliches Vertrauen'),

('C2: Geschwindigkeit der Einwurf-Widerlegung','hours','last','lower_is_better','Uhren bis zur Neutralisation'),

('C3: Anteil der Medienkompetenz','%','last','higher_is_better','Bevölkerung mit grundlegender Medienkompetenz'),

('C4: Systembildungsabdeckung','%','last','higher_is_better','Programmabdeckungsanteil'),

('C5: Index der sozialen Bindung','index','last','higher_is_better','Polarisation/Bindung');


-- I

INSERT INTO kpi (name, unit, aggregation, direction, description) VALUES

('I1: Zykluszeit der Entscheidung','hours','last','lower_is_better','Von Ereignis zu Entscheidung'),

('I2: Passport Coverability','%','last','higher_is_better','Anteil der Systeme mit Pässen'),

('I3: Regelmäßigkeit der Risikoprüfung','per_year','last','higher_is_better','Audits/Jahr'),

('I4: Duplizierung von Control Centern','%','last','higher_is_better','Reserve Center-Abdeckung'),

('I5: Ausführung von termingerechten Entscheidungen','%','last','higher_is_better','Anteil der termingerechten Aufgaben')

ON CONFLICT (name) DO NOTHING;


2.3 KPI Kontur- und 10 Systembindungen (KPIDefinition)

Um MVP "angefangen" zu haben, machen wir es so: Jeder der 25 KPI ist an alle Systeme gebunden (dies ist normal für MVP, dann teilen wir die Teilsysteme auf). Gewicht innerhalb der Kontur = 0.2 (5 KPI).

-- =========================================

-- SEED DATA - KPI DEFINITIONS (25 KPI x 10 systems)

-- =========================================

-- Helper: get contour_id by code

WITH contours AS (

  SELECT contour_id, code FROM contour

),

systems AS (

  SELECT system_id FROM critical_system WHERE status='active'

),

kpimap AS (

  SELECT kpi_id, name FROM kpi

),

defs AS (

  SELECT

    s.system_id,

    c.contour_id,

    k.kpi_id,

    -- targets/warn/critical per KPI name (MVP rough norms)

    CASE

      WHEN k.name LIKE 'W1:%' THEN 85

      WHEN k.name LIKE 'W2:%' THEN 80

      WHEN k.name LIKE 'W3:%' THEN 10

      WHEN k.name LIKE 'W4:%' THEN 80

      WHEN k.name LIKE 'W5:%' THEN 4


      WHEN k.name LIKE 'T1:%' THEN 70

      WHEN k.name LIKE 'T2:%' THEN 80

      WHEN k.name LIKE 'T3:%' THEN 3

      WHEN k.name LIKE 'T4:%' THEN 100000 -- Bedingte Skala, später normieren

      WHEN k.name LIKE 'T5:%' THEN 12


      WHEN k.name LIKE 'E1:%' THEN 75

      WHEN k.name LIKE 'E2:%' THEN 99

      WHEN k.name LIKE 'E3:%' THEN 90

      WHEN k.name LIKE 'E4:%' THEN 180

      WHEN k.name LIKE 'E5:%' THEN 95


      WHEN k.name LIKE 'C1:%' THEN 75

      WHEN k.name LIKE 'C2:%' THEN 6

      WHEN k.name LIKE 'C3:%' THEN 60

      WHEN k.name LIKE 'C4:%' THEN 50

      WHEN k.name LIKE 'C5:%' THEN 70


      WHEN k.name LIKE 'I1:%' THEN 12

      WHEN k.name LIKE 'I2:%' THEN 100

      WHEN k.name LIKE 'I3:%' THEN 4

      WHEN k.name LIKE 'I4:%' THEN 80

      WHEN k.name LIKE 'I5:%' THEN 90

      ELSE NULL

    END AS target_value,

    CASE

      WHEN k.name LIKE 'W3:%' THEN 20

      WHEN k.name LIKE 'T5:%' THEN 18

      WHEN k.name LIKE 'C2:%' THEN 12

      WHEN k.name LIKE 'I1:%' THEN 24

      ELSE NULL

    END AS warning_value,

    CASE

      WHEN k.name LIKE 'W1:%' THEN 50

      WHEN k.name LIKE 'W2:%' THEN 40

      WHEN k.name LIKE 'W3:%' THEN 60

      WHEN k.name LIKE 'W4:%' THEN 40

      WHEN k.name LIKE 'W5:%' THEN 1


      WHEN k.name LIKE 'T1:%' THEN 40

      WHEN k.name LIKE 'T2:%' THEN 50

      WHEN k.name LIKE 'T3:%' THEN 1

      WHEN k.name LIKE 'T4:%' THEN 20000

      WHEN k.name LIKE 'T5:%' THEN 36


      WHEN k.name LIKE 'E1:%' THEN 50

      WHEN k.name LIKE 'E2:%' THEN 90

      WHEN k.name LIKE 'E3:%' THEN 70

      WHEN k.name LIKE 'E4:%' THEN 30

      WHEN k.name LIKE 'E5:%' THEN 80


      WHEN k.name LIKE 'C1:%' THEN 45

      WHEN k.name LIKE 'C2:%' THEN 48

      WHEN k.name LIKE 'C3:%' THEN 30

      WHEN k.name LIKE 'C4:%' THEN 20

      WHEN k.name LIKE 'C5:%' THEN 40


      WHEN k.name LIKE 'I1:%' THEN 72

      WHEN k.name LIKE 'I2:%' THEN 60

      WHEN k.name LIKE 'I3:%' THEN 1

      WHEN k.name LIKE 'I4:%' THEN 40

      WHEN k.name LIKE 'I5:%' THEN 60

      ELSE NULL

    END AS critical_value

  FROM systems s

  JOIN contours c ON TRUE

  JOIN kpimap k ON (

    (c.code='W' AND k.name LIKE 'W%:%') OR

    (c.code='T' AND k.name LIKE 'T%:%') OR

    (c.code='E' AND k.name LIKE 'E%:%') OR

    (c.code='C' AND k.name LIKE 'C%:%') OR

    (c.code='I' AND k.name LIKE 'I%:%')

  )

)

INSERT INTO kpi_definition (

  kpi_id, system_id, contour_id,

  target_value, warning_value, critical_value,

  weight_in_contour, source_type, owner_org

)

SELECT

  d.kpi_id, d.system_id, d.contour_id,

  d.target_value, d.warning_value, d.critical_value,

  0.2,

  'manual',

  (SELECT org_id FROM org_unit WHERE name='UNION-Überwachungszentrum' LIMIT 1)

FROM defs d

ON CONFLICT DO NOTHING;


Wichtig: KPI wie "Absolvent von Ingenieuren" erfordert eine Normalisierung der Bevölkerung / des Plans. In MVP ist es nur eine Demonstration. In der Kampfversion machen wir "Ingenieure auf 100k" oder "% der Planerfüllung".


2.4 Mehrere Messungen, um das Dashboard sofort zu zeigen SIU

-- =========================================

-- SEED DATA - MEASUREMENTS (latest values)

-- =========================================


-- Wir werden "Heute" für alle kpi_definition messen.

-- Zur Demonstration: Werte um Target (mit kleinen Abweichungen).

INSERT INTO measurement (kpi_def_id, timestamp, value, quality_flag, source_ref)

SELECT

  kd.kpi_def_id,

  NOW(),

  CASE

    WHEN k.name LIKE 'W1:%' THEN 82

    WHEN k.name LIKE 'W2:%' THEN 77

    WHEN k.name LIKE 'W3:%' THEN 14

    WHEN k.name LIKE 'W4:%' THEN 75

    WHEN k.name LIKE 'W5:%' THEN 3


    WHEN k.name LIKE 'T1:%' THEN 60

    WHEN k.name LIKE 'T2:%' THEN 72

    WHEN k.name LIKE 'T3:%' THEN 2.2

    WHEN k.name LIKE 'T4:%' THEN 70000

    WHEN k.name LIKE 'T5:%' THEN 16


    WHEN k.name LIKE 'E1:%' THEN 70

    WHEN k.name LIKE 'E2:%' THEN 98.5

    WHEN k.name LIKE 'E3:%' THEN 88

    WHEN k.name LIKE 'E4:%' THEN 120

    WHEN k.name LIKE 'E5:%' THEN 93


    WHEN k.name LIKE 'C1:%' THEN 68

    WHEN k.name LIKE 'C2:%' THEN 10

    WHEN k.name LIKE 'C3:%' THEN 45

    WHEN k.name LIKE 'C4:%' THEN 38

    WHEN k.name LIKE 'C5:%' THEN 62


    WHEN k.name LIKE 'I1:%' THEN 18

    WHEN k.name LIKE 'I2:%' THEN 70

    WHEN k.name LIKE 'I3:%' THEN 2

    WHEN k.name LIKE 'I4:%' THEN 55

    WHEN k.name LIKE 'I5:%' THEN 84

    ELSE NULL

  END AS value,

  'ok'::quality_flag,

  'seed_mvp'

FROM kpi_definition kd

JOIN kpi k ON k.kpi_id = kd.kpi_id

WHERE (kd.effective_to IS NULL OR kd.effective_to >= CURRENT_DATE);


Wie man sicherstellt, dass die Berechnung funktioniert (schnell)

-- 1) Anzeigen KPI scores

SELECT contour_id, COUNT(*) cnt, ROUND(AVG(score_0_100),2) avg_score

FROM v_kpi_score_latest

GROUP BY contour_id

ORDER BY contour_id;


-- 2 Umrisse

SELECT * FROM v_contour_score_current ORDER BY contour_code;


-- 3) SIU

SELECT * FROM v_siu_score_current;




-- =========================================

-- DASHBOARD PACK (single query views)

-- SIU + contour tiles + top risks + top deps + active incidents

-- =========================================


-- 1) Latest SIU (from materialized if exists, else from view)

CREATE OR REPLACE VIEW v_dashboard_siu_latest AS

SELECT *

FROM v_siu_score_current;


-- 2) Contour tiles

CREATE OR REPLACE VIEW v_dashboard_contours AS

SELECT

  contour_id,

  contour_code,

  score_0_100,

  missing_cnt,

  null_scores_cnt

FROM v_contour_score_current

ORDER BY contour_code;


-- 3) Top risks (by risk_score)

CREATE OR REPLACE VIEW v_dashboard_top_risks AS

SELECT

  risk_id,

  name,

  type,

  probability,

  impact,

  risk_score,

  status,

  last_reviewed_at

FROM risk_register

WHERE status IN ('open','mitigating')

ORDER BY risk_score DESC, last_reviewed_at NULLS LAST

LIMIT 5;


-- 4) Top dependencies (critical first, then high; shortest due date first)

CREATE OR REPLACE VIEW v_dashboard_top_dependencies AS

SELECT

  dep_id,

  item_name,

  item_type,

  system_id,

  import_share_pct,

  substitution_due_months,

  reserve_coverage_months,

  risk_level,

  updated_at

FROM dependency_item

WHERE risk_level IN ('critical','high')

ORDER BY

  CASE risk_level WHEN 'critical' THEN 0 ELSE 1 END,

  substitution_due_months NULLS LAST,

  reserve_coverage_months NULLS FIRST,

  updated_at DESC

LIMIT 5;


-- 5) Active incidents (open/contained)

CREATE OR REPLACE VIEW v_dashboard_active_incidents AS

SELECT

  i.incident_id,

  i.system_id,

  cs.name AS system_name,

  i.incident_type,

  i.severity,

  i.started_at,

  i.status,

  i.summary

FROM incident i

JOIN critical_system cs ON cs.system_id = i.system_id

WHERE i.status IN ('open','contained')

ORDER BY i.severity DESC, i.started_at DESC

LIMIT 10;


-- 6) Single "dashboard pack" view as JSON (handy for API)

CREATE OR REPLACE VIEW v_dashboard_pack_json AS

SELECT jsonb_build_object(

  'siu', (SELECT to_jsonb(s) FROM v_dashboard_siu_latest s),

  'contours', (SELECT jsonb_agg(to_jsonb(c) ORDER BY c.contour_code) FROM v_dashboard_contours c),

  'top_risks', (SELECT jsonb_agg(to_jsonb(r)) FROM v_dashboard_top_risks r),

  'top_dependencies', (SELECT jsonb_agg(to_jsonb(d)) FROM v_dashboard_top_dependencies d),

  'active_incidents', (SELECT jsonb_agg(to_jsonb(a)) FROM v_dashboard_active_incidents a)

) AS dashboard;

-- =========================================

-- OPTIONAL: ROLLUPS (weekly/monthly) for fast charts

-- Uses measurements to compute contour scores by period.

-- =========================================


-- Helper: choose period bucket. For weekly: date_trunc('week', ts), monthly: date_trunc('month', ts)


-- 1) KPI score per period (latest measurement within period)

CREATE OR REPLACE VIEW v_kpi_latest_by_week AS

WITH m2 AS (

  SELECT

    m.kpi_def_id,

    date_trunc('week', m.timestamp)::date AS period_start,

    (date_trunc('week', m.timestamp) + INTERVAL '6 days')::date AS period_end,

    m.timestamp,

    m.value,

    m.quality_flag,

    ROW_NUMBER() OVER (

      PARTITION BY m.kpi_def_id, date_trunc('week', m.timestamp)

      ORDER BY m.timestamp DESC

    ) AS rn

  FROM measurement m

)

SELECT

  kd.kpi_def_id,

  kd.kpi_id,

  kd.system_id,

  kd.subsystem_id,

  kd.contour_id,

  kd.target_value,

  kd.warning_value,

  kd.critical_value,

  kd.weight_in_contour,

  k.direction,

  m2.period_start,

  m2.period_end,

  m2.timestamp,

  m2.value,

  m2.quality_flag

FROM m2

JOIN kpi_definition kd ON kd.kpi_def_id = m2.kpi_def_id

JOIN kpi k ON k.kpi_id = kd.kpi_id

WHERE m2.rn = 1;


-- Score weekly

CREATE OR REPLACE VIEW v_kpi_score_by_week AS

SELECT

  v.*,

  CASE

    WHEN v.quality_flag = 'missing' THEN 0

    WHEN v.direction = 'higher_is_better' THEN

      CASE

        WHEN v.target_value IS NULL OR v.critical_value IS NULL THEN NULL

        WHEN v.value >= v.target_value THEN 100

        WHEN v.value <= v.critical_value THEN 0

        ELSE ROUND( ( (v.value - v.critical_value) / NULLIF((v.target_value - v.critical_value),0) ) * 100, 2)

      END

    WHEN v.direction = 'lower_is_better' THEN

      CASE

        WHEN v.target_value IS NULL OR v.critical_value IS NULL THEN NULL

        WHEN v.value <= v.target_value THEN 100

        WHEN v.value >= v.critical_value THEN 0

        ELSE ROUND( ( (v.critical_value - v.value) / NULLIF((v.critical_value - v.target_value),0) ) * 100, 2)

      END

    ELSE NULL

  END AS score_0_100

FROM v_kpi_latest_by_week v;


-- 2) Contour score by week (across all systems, MVP global)

CREATE OR REPLACE VIEW v_contour_score_by_week AS

SELECT

  c.contour_id,

  c.code AS contour_code,

  ks.period_start,

  ks.period_end,

  ROUND(

    SUM(ks.score_0_100 * kd.weight_in_contour) / NULLIF(SUM(kd.weight_in_contour),0),

    2

  ) AS score_0_100,

  SUM(CASE WHEN ks.score_0_100 IS NULL THEN 1 ELSE 0 END) AS null_scores_cnt,

  SUM(CASE WHEN ks.quality_flag = 'missing' THEN 1 ELSE 0 END) AS missing_cnt

FROM contour c

JOIN kpi_definition kd ON kd.contour_id = c.contour_id

JOIN v_kpi_score_by_week ks ON ks.kpi_def_id = kd.kpi_def_id

GROUP BY c.contour_id, c.code, ks.period_start, ks.period_end;


-- 3) SIU by week

CREATE OR REPLACE VIEW v_siu_by_week AS

WITH cs AS (

  SELECT period_start, period_end, contour_code, score_0_100, missing_cnt

  FROM v_contour_score_by_week

),

pivot AS (

  SELECT

    period_start,

    period_end,

    MAX(CASE WHEN contour_code='W' THEN score_0_100 END) AS w_score,

    MAX(CASE WHEN contour_code='T' THEN score_0_100 END) AS t_score,

    MAX(CASE WHEN contour_code='E' THEN score_0_100 END) AS e_score,

    MAX(CASE WHEN contour_code='C' THEN score_0_100 END) AS c_score,

    MAX(CASE WHEN contour_code='I' THEN score_0_100 END) AS i_score,

    SUM(missing_cnt) AS total_missing

  FROM cs

  GROUP BY period_start, period_end

)

SELECT

  period_start,

  period_end,

  w_score, t_score, e_score, c_score, i_score,

  ROUND(

    POWER(

      NULLIF(w_score,0) * NULLIF(t_score,0) * NULLIF(e_score,0) * NULLIF(c_score,0) * NULLIF(i_score,0),

      1.0/5.0

    ),

    2

  ) AS siu_base,

  GREATEST(

    ROUND(

      POWER(

        NULLIF(w_score,0) * NULLIF(t_score,0) * NULLIF(e_score,0) * NULLIF(c_score,0) * NULLIF(i_score,0),

        1.0/5.0

      ) - LEAST(total_missing * 0.5, 15),

      2

    ),

    0

  ) AS siu_0_100

FROM pivot

ORDER BY period_end DESC;

Wenn das MVP sofort „lebendig“ wirken soll, führen Sie auch diese kurze Initialbefüllung für Risiken, Abhängigkeiten und Vorfälle aus:

-- =========================================

-- Optional seed: risks, dependencies, incident

-- =========================================


INSERT INTO risk_register (name, type, description, probability, impact, owner_org, status, last_reviewed_at)

VALUES

('Krite-Komponenten-Technologie-Blockierung','tech','Lieferbeschränkung/Ausrüstung','5','5',

 (SELECT org_id FROM org_unit WHERE name='Überwachungszentrum der Union'), 'open', NOW()),

('Cyberangriff auf die Critinfrastructure','cyber','Angriffe auf Energie/Kommunikation/Logistik','5','4',

 (SELECT org_id FROM org_unit WHERE name='Cybercenter'), 'open', NOW()),

('Logistische KRET-Bruch','logistics','Routen/Knoten-Bruch','4','4',

 (SELECT org_id FROM org_unit WHERE name='Logistischer Pfad'), 'mitigating', NOW())

ON CONFLICT DO NOTHING;


INSERT INTO dependency_item (system_id, item_name, item_type, current_source, import_share_pct,

                            substitution_plan, substitution_due_months, reserve_coverage_months,

                            risk_level, owner_org)

VALUES

((SELECT system_id FROM critical_system WHERE name="Kommunikation und Management"),

 'Kritische Netzwerk-Chipsatz','component','foreign',85,

 'Entwicklung des inländischen Analogons + Auftragsfertigung',24,6,'kritisch',

 (SELECT org_id FROM org_unit WHERE name='UNI-Überwachungszentrum')),

((SELECT system_id FROM critical_system WHERE name="Finanzsystem"),

 'Komponenten HSM (Kryptomodule)','component','mixed',40,

 'Produktionslokalisierung und Zertifizierung',18,9,'high',

 (SELECT org_id FROM org_unit WHERE name='Cybercenter'))

ON CONFLICT DO NOTHING;


INSERT INTO incident (system_id, incident_type, severity, started_at, status, summary, created_by_role)

VALUES

((SELECT system_id FROM critical_system WHERE name="Energiesystem"),

 'outage',4,NOW() - INTERVAL '3 hours','contained','Lokaler Fehler im Versandknoten',

 (SELECT role_id FROM user_role WHERE name='operational'))

ON CONFLICT DO NOTHING;

Use this one-liner to fetch the whole dashboard payload:

SELECT dashboard FROM v_dashboard_pack_json;