Program wielosprintowy dostarczany przyrostowo. Od stabilizacji warstwy prezentacji (już gotowej) przez szkielet produkcyjny, konektory, remediację, pakiety DORA/TIBER, aż po SIEM/CTI/BAS i bezpieczeństwo AI. Ta strona jest jawnym rejestrem: co jest LIVE, co jest PoC, a co pozostaje ROADMAP.
Roadmapa nie obiecuje „gotowego systemu" — deklaruje kolejność dostarczania. Sprint 0 jest zamknięty i dowodliwy. Sprint 1 ma działający PoC na gałęzi. Sprinty 2–6 to specyfikacja z jasno postawionymi kryteriami akceptacji.
Dowody: smoke tests/ip3-smoke-pages.js (8/8), integracja tests/ip3-api-pro.integration.js (56/56 na żywej bazie), unit tests/ip3-parsers.unit.js (13/13), eksplorator /api-explorer, /.well-known/security.txt. Wszystko poza powyższym = ROADMAP.
Wszystkie liczby testów w portalu i PDF-ach linkują do tej tabeli. Data weryfikacji: 2026-07-05.
| Obszar | Wynik | Plik / źródło | Status |
|---|---|---|---|
| Smoke stron | 8/8 | tests/ip3-smoke-pages.js | PASS |
| Unit — parsery + generator PDF | 13/13 | tests/ip3-parsers.unit.js | PASS |
| Unit — Legal Trigger Engine | 9/9 | tests/ip3-legal.unit.js | PASS |
| Unit — Fala 1 (Qualys/enrich/MITRE) | 8/8 · 8/8 · 9/9 | ip3-parsers-ext · ip3-enrich · ip3-mitre | PASS |
| Integracja — żywa PostgreSQL | 56/56 | tests/ip3-api-pro.integration.js | PASS (staging) |
| Prod health | db:true | /api/ip3/v1/_health | LIVE |
Suma unit = 47/47 (13+9+8+8+9). Ewentualne liczby historyczne w changelogu opisują stan w chwili dostawy — kanon bieżący = ta tabela (56/56 integracja).
GET /api/ip3/v1/engagements/:id/report-package?format=json|pdf — raport TLPT: engagement + timeline zdarzeń + evidence-register + final-report + manifest + package_sha256; realny PDF.
#3 Legal Trigger Engine GET /api/ip3/v1/incidents/:id/legal-triggers — mapuje incydent na obowiązki DORA art.19 / NIS2 (24h/72h) / RODO art.33-34 / AI Act art.73 z zegarami (deadline ISO liczony od created_at) i draftem powiadomienia. Doktryna DECISION-SUPPORT (nie porada prawna; terminy orientacyjne). Flagi: ?personal_data&high_risk&entity§or. Dowód: unit 9/9 + integracja.GET /reports/evidence-package/:id — JSON (manifest + package_sha256 + ślad audytowy + chain-of-custody) oraz realny pobieralny PDF (bezzależnościowy generator).
DORA/TIBER white-team-log MVP — engagement (scope/crown-jewels/RoE) + /log (white-team-log · evidence-register) + /final-report (wymaga rejestru dowodów).
Dowód: unit 13/13, integracja 56/56 na żywej bazie (import→pack→retest→engagement). Commit na gałęzi feat/orphan-pages.| Sprint | Cel | Status | Kryteria akceptacji (acceptance) |
|---|---|---|---|
| S0 · Stabilizacja | Warstwa prezentacji spójna, dowodliwa, higieniczna. Smoke + lint + security.txt + API demo. | LIVE / ZROBIONE | Smoke tests/ip3-smoke-pages.js = 8/8 PASS · hygiene 0 zakazanych fraz · security.txt obecny · /api-explorer odpowiada na read-path. |
| S1 · Szkielet produkcyjny | organizations / users / OIDC / RBAC / audit log / multi-tenant / rate-limit. | LIVE-PoC + ROADMAP | PoC auth-skeleton 15/15 PASS na gałęzi (login, sesja, role, audyt zapisu) LIVE-PoC. OIDC realny IdP, izolacja tenantów, rate-limit prod, twardy RBAC = ROADMAP. |
| S2 · Import findings | Konektory: skanery/DAST → normalizacja do modelu incydentu. | LIVE v1 + ROADMAP | LIVE v1: realne parsery Burp (XML) · ZAP (JSON/XML) · Nessus (CSV) · Qualys (CSV/XML) · generic CSV/JSON + enrichment offline KEV/CVSS + MITRE ATT&CK TTP → normalizacja severity → incydent + evidence (sha256) w PostgreSQL. Dowód: 56/56 integ. SIEM/CTI online-lookup, STIX/TAXII, deduplikacja, idempotencja = ROADMAP. Zobacz Connectors. |
| S3 · Remediacja / retest | Playbook → działanie → walidacja naprawy (close-with-evidence). | LIVE v1 + ROADMAP | LIVE v1: reguła close-with-evidence egzekwowana w DB (422 bez CONFIRMED, PATCH-bypass zamknięty — audyt F4); retest → CONFIRMED → close → evidence-package odzwierciedla zmianę (inny package_sha256). Orkiestracja wieloetapowa, dowód regresji, workflow zatwierdzeń = ROADMAP. Zobacz Response & Retest. |
| S4 · DORA / TIBER pack | Pakiet raportowy: zegary incydentów, ślad audytowy, eksport do organu. | LIVE MVP + ROADMAP | LIVE MVP: engagement (scope/crown-jewels/RoE) + white-team-log + evidence-register + final-report jako realne rekordy DB (reguła: raport końcowy wymaga rejestru — claim ≤ proof). Evidence-package board pack PDF/JSON (manifest + package_sha256). Mapowanie na obowiązki DORA, podpisany PAdES/PQC eksport, branding KNF = ROADMAP. Zobacz DORA / TIBER. |
| S5 · SIEM / CTI / BAS | Integracja detekcji, threat intel i Breach & Attack Simulation (tylko w RoE). | ROADMAP | Dwukierunkowa wymiana ze SIEM, wzbogacanie CTI, BAS wyłącznie w autoryzowanym zakresie (pisemne RoE) = ROADMAP. Zero technik ofensywnych poza RoE. |
| S6 · AI security | Klasa incydentów AI: prompt injection, agent hijack, data poisoning, nadzór HITL. | ROADMAP | Detektory zagrożeń AI, red-team AI w RoE, mapowanie na AI Act art. 73 = ROADMAP. Zobacz AI Red-Team. |
node tests/ip3-smoke-pages.js przechodzi 8/8 stron z pages.json. Weryfikacja HTTP 200, obecności NAV/FOOTER, braku pustych sekcji. LIVE/.well-known/security.txt z kontaktem VDP i zakresem. LIVE/api/ip3/* w trybie odczytu na danych demonstracyjnych. Zapis/mutacje = ROADMAP. LIVE✔ = spełnione dziś · ◻ = warunek dla sprintu docelowego (ROADMAP).
| # | Kryterium DoD | Stan |
|---|---|---|
| 1 | Strona/endpoint istnieje i odpowiada 200 w smoke | ✔ LIVE |
| 2 | NAV + FOOTER + CSS spójne z kanonem portalu | ✔ LIVE |
| 3 | Zero zewnętrznych zasobów (CSP), JS inline bez nonce | ✔ LIVE |
| 4 | Hygiene lint: 0 zakazanych fraz | ✔ LIVE |
| 5 | Każdy status ma dowód (link/test/endpoint) — §16 | ✔ LIVE |
| 6 | security.txt + kanał VDP | ✔ LIVE |
| 7 | PoC uwierzytelniania (login/sesja/role) z testem | ✔ LIVE-PoC |
| 8 | Audit log zapisów (kto/co/kiedy) | ✔ LIVE v1 (w DB) |
| 9 | OIDC realny IdP + twardy RBAC | ✔ RBAC LIVE v1 · ◻ OIDC/mTLS |
| 10 | Multi-tenant izolacja + rate-limit prod | ✔ rate-limit v1 · ◻ multi-tenant |
| 11 | Import findings z realnego źródła | ✔ LIVE v1 (Burp/ZAP/Nessus/CSV) · ◻ dedup/idempotencja |
| 12 | Close-with-evidence egzekwowane w produkcji | ✔ LIVE v1 (DB, F4 zamknięty) |
| 13 | Pakiet DORA/TIBER + eksport (board pack) | ✔ MVP v1 (PDF/JSON+hash) · ◻ podpis PAdES/PQC |
| 14 | Integracja SIEM/CTI + BAS wyłącznie w RoE | ◻ S5 |
| 15 | Detektory AI + mapowanie AI Act art. 73 | ◻ S6 |
Wiring /api/incidents (zapis), audit log, OIDC + RBAC, izolacja tenantów. Bez tego reszta nie jest bezpieczna.
Sprint docelowy: S1 · status ROADMAP (PoC szkielet LIVE).
Import findings (SIEM/skanery/CTI), normalizacja, deduplikacja; workflow remediacja→retest z dowodem naprawy.
Sprint docelowy: S2–S3 · status ROADMAP.
Pakiety DORA/TIBER, integracja SIEM/CTI/BAS w RoE, detektory incydentów AI i mapowanie na AI Act.
Sprint docelowy: S4–S6 · status ROADMAP.
Każda „wisienka" to samodzielny, demonstrowalny scenariusz end-to-end dla instytucji finansowej. #1 LIVE v1; #2 i #3 LIVE MVP; #5 częściowo v1; #4 i #6 ROADMAP.
| # | Wisienka | Co dowozi | Status |
|---|---|---|---|
| #1 | Pentest Report → Board Pack (5 min) | import Burp/ZAP/Nessus/CSV → incydent+evidence → evidence-package PDF/JSON+hash → retest→close | LIVE v1 |
| #2 | DORA/TIBER Engagement → raport TLPT | cykl white-team: scope→RoE→evidence-register→final-report + report-package (JSON/PDF z timeline+hash) | LIVE MVP |
| #3 | Legal Trigger Engine (incydent → obowiązek) | auto-mapowanie zdarzenia na DORA art.19 / NIS2 24h-72h / RODO art.33-34 / AI Act art.73 z zegarami (deadline ISO) i draftem powiadomienia (DECISION-SUPPORT) | LIVE MVP |
| #4 | Executive / KNF Board Report | pakiet dla zarządu/regulatora: ryzyko rezydualne, control effectiveness, trend, branding, podpisany eksport | ROADMAP |
| #5 | Retest / Remediation Validation workflow | orkiestracja: przypisanie właściciela → SLA → dowód naprawy → retest regresyjny → control mapping | częściowo v1 |
| #6 | AI Red-Team / model risk register | klasa incydentów AI (prompt injection, agent hijack, data poisoning) + corpus testów + mapowanie AI Act | ROADMAP |
Jawny rejestr elementów, które dziś są DEMO/SIMULATION/PoC, a mają zdefiniowaną ścieżkę do statusu LIVE. To jest lista „awansów".
| Element | Dziś | Cel | Co potrzebne do awansu | Prio |
|---|---|---|---|---|
Rejestr operacyjny /api/incidents | SIMULATION (401 anon) | LIVE | wpięcie dashboardu w warstwę v1 DB zamiast danych demo; przełączenie źródła read-path na /api/ip3/v1 | P0 |
| Konta v1 na prod | zamknięte (brak IP3_SEED_PASS) | dostęp na zaproszenie | decyzja operatora + IP3_SEED_PASS na prod (dla audytora/pentesterów), lub OIDC IdP | P0 |
| Konektory Qualys / Splunk / SIEM | Qualys LIVE (Fala 1) | LIVE v1 | ✓ Qualys CSV/XML; Splunk/SIEM webhook ingestion = ROADMAP | P1 |
| Enrichment CVE → CVSS/EPSS/KEV | offline LIVE (Fala 1) | LIVE | ✓ hint z seedu (KEV/CVSS/EPSS) przy imporcie; online NVD/CISA lookup = ROADMAP | P1 |
| Auth: JWT lokalny → OIDC/mTLS/PQC | JWT+RBAC LIVE | enterprise | swap na Keycloak/JWKS, mTLS, podpis PQC (hardening — funkcja już działa) | P0 |
| Board pack PDF → podpisany | PDF+hash LIVE | PAdES/PQC | podpis PAdES + timestamp TSA (dziś: sha256 integralności) | P1 |
| MITRE ATT&CK / STIX-TAXII | biblioteka LIVE (Fala 1) | LIVE | ✓ 21 technik + /incidents/:id/ttp; STIX/TAXII + MISP/OpenCTI = ROADMAP | P2 |
| Multi-tenant (bank/urząd/partner) | jedna org | izolacja | tenant scoping w zapytaniach + RLS PostgreSQL | P1 |
Każdy element w portalu i w tym rejestrze nosi dokładnie jeden status. To jedyna waluta zaufania orchestratora.
| Status | Znaczenie | Warunek nadania |
|---|---|---|
| LIVE | Działa produkcyjnie/na gałęzi z dowodem. | Kod + test + endpoint (lub link do artefaktu). |
| DEMO | Ścieżka odczytu na danych przykładowych. | Endpoint read-path działa, dane oznaczone jako demo. |
| SIMULATION | Wartości/incydenty ilustracyjne. | Jawnie oznaczone „symulacja", nie stan realnej infrastruktury. |
| ROADMAP | Specyfikacja docelowa, jeszcze nie zbudowane. | Opisane kryteria akceptacji, brak działającego kodu. |
| GAP | Hipoteza/luka bez pokrycia dowodowego. | Brak dowodu — nie wolno przedstawiać jako fakt. |