K0NSULT // ai-truth/ipIII
k0nsult.cloud / ai-truth / ipIII / orchestrator / backup-dr

Backup & Disaster Recovery — jak zabezpieczamy dane platformy ipIII

Ta strona opisuje, jak dziś wygląda kopia zapasowa i plan odzyskiwania po awarii dla samej platformy ipIII (SaaS EU) — nie jest to playbook dla klienta na wypadek jego własnego incydentu (ten znajduje się osobno, patrz Playbook L). Podajemy cel odzyskiwania (RTO/RPO), nie obietnicę zerowej utraty danych. Doktryna claim ≤ proof: co jest dziś mechanizmem działającym, oznaczamy LIVE; czego jeszcze nie przetestowaliśmy jako udokumentowany dowód, oznaczamy ROADMAP.

Po co ta strona. Bank, partner PoC lub audytor pyta wprost: „co się stanie, jeśli stracicie bazę danych albo instancję aplikacji?". Ta strona odpowiada uczciwie, bez podkoloryzowania: co jest dziś mechanizmem działającym (LIVE), co jest planem bez dowodu wdrożenia (ROADMAP), oraz jakie są orientacyjne cele czasu i punktu odzyskiwania — nie umowne SLA i nie gwarancja zerowej utraty danych.
Cel: godziny, nie dni. To cel odzyskiwania — nie gwarancja zera utraty danych.

ipIII działa dziś w jednym trybie — SaaS EU, wspólna instancja, jedna baza PostgreSQL w regionie Unii Europejskiej (patrz deployment-modes). Backup opiera się dziś na zarządzanych snapshotach wolumenu bazy (Fly Postgres) — mechanizm infrastruktury, nie autorski system K0NSULT. Elementy podnoszące dojrzałość DR (kopia niezmienna/offline, replika w innym regionie, udokumentowany, cykliczny test odtworzenia) są dziś ROADMAP — nie udajemy, że są gotowe.

OŚ DOJRZAŁOŚCI DR: snapshot zarządzany (dziś)test restore udokumentowanykopia immutable/offlinereplika cross-regioncykliczny DR drill z dowodem

Strategia backupu — co jest LIVE, co ROADMAP

Data weryfikacji: 2026-07-05. Kolumna Status: LIVE = mechanizm działa dziś (dowód: konfiguracja usługi zarządzanej) · ROADMAP = plan, brak dziś udokumentowanego dowodu.

WarstwaMechanizmStatusUwaga
Baza danych
(PostgreSQL, silnik ipIII)
Zarządzane snapshoty wolumenu — cykliczne kopie po stronie operatora infrastruktury (Fly Postgres). LIVE Mechanizm infrastrukturalny usługi zarządzanej, nie autorska aplikacja backupowa K0NSULT. Harmonogram i retencja — po stronie dostawcy usługi bazy.
Kod i konfiguracja aplikacji Repozytorium Git (historia commitów) + obraz kontenera budowany deterministycznie z commita. LIVE Odtworzenie warstwy aplikacyjnej = redeploy z commita. To nie jest backup danych — to backup kodu/konfiguracji.
Integralność pojedynczego dowodu
(evidence-package)
package_sha256 + wpis chain-of-custody w bazie przy eksporcie. LIVE Potwierdza niezmienność treści pojedynczego pliku, nie zastępuje backupu całej bazy.
Kopia niezmienna / offline (immutable, WORM) Egzemplarz odporny na nadpisanie/szyfrowanie, odizolowany od bieżącej sieci. ROADMAP Bez tej warstwy snapshot online teoretycznie mógłby zostać naruszony razem z produkcją w scenariuszu kompromitacji poświadczeń infrastruktury. Priorytet P1.
Replika w innym regionie Kopia danych utrzymywana poza jednym regionem UE, na wypadek awarii całego regionu. ROADMAP Dziś jeden region — zgodnie z deployment-modes. Zależy od decyzji o kolejnym regionie UE. Priorytet P1.
Udokumentowany test odtworzenia (restore test) Regularna, zapisana próba przywrócenia bazy z kopii, z pomiarem faktycznego czasu. ROADMAP Dziś nie mamy jeszcze udokumentowanego dowodu (data, wynik, zmierzony czas) dla środowiska ipIII. Priorytet P0 — jak trafnie ujmuje to Playbook L: backup nieprzetestowany odtworzeniem to hipoteza, nie zabezpieczenie.

RTO / RPO — cele orientacyjne per scenariusz

Poniższe wartości to wewnętrzne cele projektowe (target), nie umowne SLA i nie deklaracja zerowej utraty danych. Rzeczywisty czas odzyskiwania w konkretnym incydencie może odbiegać od celu — zależy od przyczyny, dostępności zespołu i stanu kopii. Docelowe wartości SLA dla konkretnego wdrożenia enterprise ustala umowa, nie ta strona.

ScenariuszRTO (cel)RPO (cel)Status dowodu
Utrata/awaria instancji aplikacji (compute) ≤ 1 godzina ≈ 0 (bez utraty danych — dane trzyma osobno baza) ROADMAP — cel niepotwierdzony jeszcze zmierzonym testem
Uszkodzenie/utrata bazy danych, restore z ostatniego snapshotu ≤ 4 godziny ≤ 24 godziny (odstęp do ostatniego snapshotu) ROADMAP — cel niepotwierdzony jeszcze zmierzonym testem
Awaria całego regionu hostingu (region UE) ≤ 24–48 godzin ≤ 24 godziny ROADMAP — zależy od repliki cross-region (dziś brak)

Niższe RPO (mniejsza utrata danych) wymaga częstszego zapisu stanu bazy (np. archiwizacji WAL) zamiast pojedynczego snapshotu dobowego — to element tej samej mapy ROADMAP powyżej.

Procedura restore — krok po kroku

Szkielet proceduralny. Kroki decyzyjne wymagają człowieka — narzędzie nie wykonuje failover ani przywrócenia bazy automatycznie, bez nadzoru osoby odpowiedzialnej za operacje/bezpieczeństwo.

Krok 1 — Detekcja i potwierdzenie. Alert monitoringu lub zgłoszenie potwierdza utratę dostępności/integralności. człowiek: dyżurny ops
Krok 2 — Decyzja o restore/failover. Osoba odpowiedzialna za operacje ocenia zakres (aplikacja vs baza vs region) i podejmuje decyzję o uruchomieniu procedury. człowiek: ops lead / osoba odpowiedzialna za bezpieczeństwo
Krok 3 — Wybór punktu przywrócenia. Weryfikacja daty i integralności ostatniego zaufanego snapshotu względem celu RPO.
Krok 4 — Przywrócenie bazy. Utworzenie nowej instancji bazy z wybranego snapshotu (mechanizm zarządzanej usługi bazy).
Krok 5 — Weryfikacja integralności danych. Sprawdzenie sum kontrolnych evidence-package, ciągłości audit-logu i liczby rekordów po przywróceniu.
Krok 6 — Przełączenie aplikacji. Wskazanie aplikacji na przywróconą bazę i ponowne uruchomienie usługi.
Krok 7 — Smoke test. GET /api/ip3/v1/_health + test logowania + odczyt przykładowego incydentu, zanim dostęp zostanie przywrócony użytkownikom.
Krok 8 — Komunikacja i wpis do rejestru. Powiadomienie interesariuszy, wpis czasu zdarzenia i zmierzonego RTO/RPO do rejestru. człowiek: właściciel komunikacji z klientem/partnerem
Krok 9 — Post-mortem. Analiza przyczyny, aktualizacja known-limitations i status-matrix, jeśli zdarzenie ujawniło nowy gap. człowiek: przegląd przez osobę odpowiedzialną za bezpieczeństwo/audyt wewnętrzny

Cykliczny DR drill

Dojrzałe podejście do ciągłości zakłada regularny, zaplanowany test przywrócenia — nie tylko istnienie kopii. Cel: potwierdzić, że procedura restore rzeczywiście działa, i zmierzyć faktyczny czas, zamiast zakładać go teoretycznie.

Plan cykliczności ROADMAP

Zamiar: test odtworzenia w regularnym cyklu (np. kwartalnym) na środowisku nieprodukcyjnym, z zapisanym protokołem (data, scenariusz, zmierzony RTO/RPO, wynik).

Stan dziś

Nie mamy jeszcze udokumentowanego, przeprowadzonego drillu dla środowiska ipIII. To jawny gap — nie ukrywamy go, tak jak w known-limitations.

Gdzie pojawi się dowód

Po pierwszym przeprowadzonym drillu wynik trafi do status-matrix i roadmap-dev — z datą, scenariuszem i zmierzonym czasem, nie jako gołosłowna deklaracja.

Powiązanie z DORA/TIBER

Testy odporności ICT (w tym scenariusze DR) mieszczą się w logice testów odporności opisanych w DORA/TIBER Pack — tam również jawnie oznaczonych jako wsparcie, nie jako formalny test regulacyjny.

Skrót statusów

3
Mechanizmy LIVE
snapshot bazy · redeploy kodu · sha256 evidence-package
3
Elementy ROADMAP
immutable/offline · cross-region · udokumentowany restore test
0
Przeprowadzonych DR drill
dziś — jawnie, bez ukrywania
1
Region danych dziś
UE, jedna instancja (SaaS EU)

Czego ta strona NIE oznacza

To nie jest gwarancja zerowej utraty danych ani umowne SLA. RTO/RPO powyżej to cele projektowe do zmierzenia i weryfikacji, nie zobowiązanie kontraktowe. Konkretne zobowiązania czasu odzyskiwania dla wdrożenia enterprise ustala odrębna umowa z klientem, po ocenie ryzyka i wymaganego trybu wdrożenia (deployment-modes).
„Snapshot istnieje" ≠ „przywrócenie jest udowodnione". Zgodnie z zasadą z Playbook L: kopia, której nie przetestowano faktycznym odtworzeniem, jest hipotezą. Dopóki nie mamy udokumentowanego wyniku testu restore dla środowiska ipIII, oznaczamy tę pozycję jako ROADMAP, a nie jako potwierdzoną zdolność.
Zakres i granica. Ta strona to szkielet operacyjny i deklaracja celu, nie audyt ciągłości działania ani porada prawna. Wymogi regulacyjne dotyczące odporności operacyjnej ICT (np. w kontekście DORA/NIS2) wymagają odrębnej weryfikacji i kwalifikacji przez dział zgodności, audytora wewnętrznego lub prawnika po stronie odbiorcy — ipIII dostarcza wsparcie decyzji (decision-support), nie zastępuje tej oceny. Rzeczywisty test odtworzenia, formalny plan BCP/DR oraz jego audyt pozostają zadaniem wymagającym udziału człowieka (DBA/ops/audytor), nie są wykonywane automatycznie przez system.

Powiązane: tryby wdrożenia i gdzie leżą dane → /deployment-modes · pełny rejestr znanych ograniczeń → /known-limitations · playbook ciągłości dla incydentu klienta → /playbook-ciaglosc · żywy status komponentów → /status-matrix.