⚠  PROJEKT — niezweryfikowany prawnie. Wymaga akceptacji przed publikacją.

Nota zgodności z NIS2 / KSC

Dyrektywa NIS2 (UE) 2022/2555  ·  Ustawa o KSC (Dz.U. 2018 poz. 1560 ze zm.)  ·  Ostatnia aktualizacja: 2026-10-22  ·  Wersja: 1.0

Niniejszy dokument opisuje, w jaki sposób platforma CyberZgodność EDU wspiera dyrektora szkoły, koordynatora IT lub JST w wykonywaniu obowiązków wynikających z dyrektywy NIS2 i polskiej ustawy o KSC. Dokument ma charakter informacyjny i nie stanowi porady prawnej. Platforma jest narzędziem wspomagającym — ostateczna odpowiedzialność za zgodność leży po stronie Dzierżawcy.

§1. Dla kogo jest ta platforma

Platforma jest zaprojektowana z myślą o:

Platforma obsługuje również organizacje stosujące NIS2/KSC dobrowolnie (sposób dobrej praktyki) bez formalnego objęcia zakresem ustawy.

§2. Samoidentyfikacja (Kategoria podmiotu NIS2 / KSC)

Platforma udostępnia kreator samoidentyfikacji, który prowadzi użytkownika przez proces kwalifikacji. Jest to szczególnie ważne w sektorze edukacji, gdzie nowelizacja KSC może objąć szkoły ponadgimnazjalne i JST jako podmioty ważne.

Jak działa kreator

Wyznaczenie IBTI / ITSO — platforma nie prowadzi rekordu wyznaczenia (z rodzajem wyznaczenia, podstawą prawną i okresem ważności). Istnieje wbudowana rola itso, wskazanie imiennego ITSO dla placówki w rekordzie placówki oraz uprawnienia nadawane per placówka — itso nadany w placówce pracuje na zadaniach kontrolnych, przypisaniach i incydentach tej placówki; w Dzierżawcy JST role itso i school_director nadaje się wyłącznie per placówka, a samo wskazanie kogoś jako ITSO placówki niczego mu nie nadaje. Szczegóły w §6.

§3. Cykl raportowania incydentów NIS2

Art. 23 NIS2 i art. 11 KSC nakładają obowiązek raportowania poważnych incydentów w trzech etapach. Platforma obsługuje pełny cykl z wbudowanymi timerami terminów.

Etap Termin (od wykrycia) Treść wymagana Wsparcie platformy
24H Wczesne ostrzeżenie 24 godziny Klasyfikacja (poważny / nie); wstępna ocena; podejrzenie działania zamierzonego. Formularz z predefiniowanymi klasyfikatorami dla sektora edukacji; terminy liczone od wpisanego momentu wykrycia; e-mail do ITSO przy T−4h. Kolejność czasów — wystąpienie nie później niż wykrycie, wykrycie nie później niż 5 minut po rejestracji — egzekwuje też baza danych ograniczeniami CHECK (incidents/0005), działającymi na obu wdrożeniach produkcyjnych od 2026-10-22 (sprawdzone skryptem tylko do odczytu deploy/check-p6b-live.sh).
72H Zgłoszenie incydentu 72 godziny Ocena wpływu (liczba uczniów / pracowników, dostępność systemów); przyczyny; środki zaradcze. Formularz raportu etapu; złożenie zapisywane w dzienniku audytu kodem incident.report.full_report. Incydent jest identyfikowany swoim identyfikatorem (UUID); platforma nie nadaje numerów w formacie KSC-INC.
1M Sprawozdanie końcowe Miesiąc od zgłoszenia 72 h Szczegółowy opis; podatności; środki długoterminowe; decyzja o ujawnieniu. Formularz raportu końcowego; złożenie zapisywane w dzienniku audytu kodem incident.report.final_report; eksport paczki audytowej ZIP. Rekordy incydentu są przechowywane przez cały okres istnienia konta Dzierżawcy — nie istnieje automatyczne usuwanie.

§4. Biblioteka obowiązków KSC dla sektora edukacji

Platforma dostarcza katalog obowiązków KSC (wersja 2026.1, 63 pozycje), z którego powstają zadania kontrolne (ControlTask). Po zatwierdzeniu kwalifikacji podmiotu platforma tworzy zadania dla obowiązków właściwych dla tej kwalifikacji. Każde zadanie ma:

Zadania nie mają własnych załączników. Pliki dowodowe dołącza się do stanów zgodności w module programów kontroli (wymagania przypisywane placówkom przez JST), a potwierdzenia szkoleń pochodzą z importu z platformy szkoleniowej Irenly, gdy Operator skonfigurował połączenie platformy z Irenly (jedno ustawienie całej platformy we wdrożeniu paraKSCol, a nie ustawienie Dzierżawcy).

Zakres katalogu (przykłady)

Samoidentyfikacja i wpis do wykazu; systematyczne szacowanie ryzyka i polityki bezpieczeństwa; środki z art. 8 ustawy (m.in. ciągłość działania, łańcuch dostaw, kryptografia, kontrola dostępu, zarządzanie aktywami, cyberhigiena); środki z załącznika nr 4 dla podmiotów publicznych (m.in. kopie zapasowe i testy ich odtworzenia, nadawanie i cofanie uprawnień, oprogramowanie antywirusowe, szkolenia pracowników); coroczny przegląd SZBI i coroczne szkolenie kierownika podmiotu; audyt bezpieczeństwa co 3 lata; obowiązki zdarzeniowe przy incydentach (24 h, 72 h, sprawozdanie końcowe). Częstotliwość wynika z obowiązku: jednorazowo, co roku, co 3 lata, w sposób ciągły albo przy zdarzeniu. Przypisanie części obowiązków i terminów to interpretacja przepisów czekająca na opinię eksperta.

§5. Paczka audytowa (eksport dowodów)

Na żądanie organu nadzorczego lub podczas audytu wewnętrznego platforma generuje paczkę audytową ZIP:

nis2-audit-pack-{subdomena}-{RRRRMMDDTHHMMSSZ}.zip
├── manifest.json               # wersja 2: zakres, liczniki, kotwica łańcucha audytu oraz lista „files”
│                             #   ze skrótem SHA-256 i rozmiarem każdego pozostałego pliku
├── audit_chain_anchor.json     # wynik weryfikacji łańcucha audytu w chwili eksportu, skrót ostatniego wiersza
├── audit_chain_rows.json       # wiersze łańcucha audytu od początku (do 50 000) do niezależnego przeliczenia
├── obligations.json            # katalog obowiązków
├── control_tasks.json          # zadania kontrolne
├── incidents.json              # incydenty
├── incident_reports.json       # zgłoszenia/raporty incydentów
└── self_identification.json    # historia samoidentyfikacji

Wszystkie pliki są w katalogu głównym archiwum i mają format JSON (UTF-8). Jeżeli podmiot ma włączone dodatkowe moduły, paczka zawiera też ich pliki (control_programs_*.json, vendors_*.json, assets_*.json) — każdy z nich również jest wymieniony w manifest.json. Paczka nie zawiera załączników (plików PDF, zrzutów ekranu), plików CSV ani haseł i sekretów uwierzytelniających.

Weryfikacja niezależna od platformy. Po rozpakowaniu (unzip nis2-audit-pack-….zip -d paczka && cd paczka) poniższe polecenie (Python 3, wyłącznie biblioteka standardowa; flaga -I sprawia, że Python nie wczyta żadnego modułu z rozpakowanej paczki i pominie zmienne środowiskowe PYTHON* — bez niej plik json.py podrzucony do paczki mógłby wypisać fałszywe OK) przelicza SHA-256 każdego pliku i porównuje z manifest.json; wypisuje OK albo listę plików zmienionych, brakujących lub dodanych i kończy się kodem 1:

python3 -I -c 'import hashlib,json,os,sys; m=json.load(open("manifest.json")); L={f["path"]: f for f in m["files"]}; bad=[p for p, f in L.items() if not os.path.isfile(p) or hashlib.sha256(open(p, "rb").read()).hexdigest() != f["sha256"]]; bad += sorted(set(os.listdir(".")) - set(L) - {"manifest.json"}); print("FAIL:", bad) if bad else print("OK:", len(L), "file(s) match manifest.json"); sys.exit(1 if bad else 0)'

Skróty w manifest.json wykrywają zmianę, obcięcie, usunięcie lub dodanie pliku po eksporcie. Nie są podpisem: kto może podmienić plik, może też podmienić manifest. Dlatego treść dziennika audytu weryfikuje się osobno — przeliczając łańcuch z audit_chain_rows.json według instrukcji w polu note pliku audit_chain_anchor.json i sprawdzając, że latest_row_hash występuje w kolumnie row_hash_hex eksportu dziennika audytu pobranego z platformy (/api/audit/export.csv).

§6. Wyznaczenie IBTI / ITSO i izolacja placówek

W strukturze JST każda szkoła może mieć własnego ITSO (Inspektora ds. bezpieczeństwa informacji). Platforma obsługuje wielopoziomową hierarchię:

Rekord wyznaczenia — nie jest zbudowany. Platforma nie prowadzi rejestru wyznaczeń z polami takimi jak rodzaj wyznaczenia, odwołanie do podstawy prawnej (np. art. 14 ust. 1 KSC) czy okres ważności. Wcześniejsza wersja tej strony publikowała taką tabelę pól; została wycofana 2026-10-12, bo żadne z tych pól nie istnieje w kodzie. Istnieje natomiast:

Dokument wyznaczenia IBTI/ITSO pozostaje dokumentem organizacji, prowadzonym poza platformą.

§7. Mapowanie NIS2 Art. 21 §2 (lit. a–j)

Art. 21 §2 Wymaganie Wsparcie platformy Status
a Polityki bezpieczeństwa i analiza ryzyka Rejestr ryzyk ze strategią postępowania i właścicielem; generator dokumentów SZBI, których zakres wynika z zatwierdzonej kwalifikacji, z edycją i zatwierdzaniem. Dostępne
b Obsługa incydentów Cykl 24 h / 72 h / miesiąc od zgłoszenia 72 h, liczony od momentu wykrycia; formularze; paczka audytowa; historia per placówka. Dostępne
c Ciągłość działania, kopie zapasowe Zadania kontrolne z katalogu KSC dla ciągłości działania, kopii zapasowych i testów ich odtworzenia; platforma stosuje 3-2-1 dla własnych danych. Dostępne
d Bezpieczeństwo łańcucha dostaw Rejestr dostawców IT szkoły (kategoria, krytyczność, daty umowy i przeglądu, oceny); zadanie kontrolne dla łańcucha dostaw. Dostępne
e Bezpieczeństwo w nabywaniu i utrzymaniu systemów Zadania kontrolne z katalogu KSC; rejestr aktywów z podatnościami (NVD); integracja Jira Cloud (opcjonalna) dla incydentów. Dostępne
f Ocena skuteczności środków Metryki compliance per placówka; historia zmian statusów; eksport CSV. Dostępne
g Higiena cybernetyczna i szkolenia Zadania kontrolne dla cyberhigieny i szkoleń; rejestr ukończonych szkoleń per pracownik, importowany z platformy szkoleniowej Irenly, gdy Operator skonfigurował połączenie platformy z Irenly (jedno ustawienie całej platformy we wdrożeniu paraKSCol, a nie ustawienie Dzierżawcy). Dostępne
h Kryptografia i szyfrowanie Zadanie kontrolne dla polityki szyfrowania; platforma stosuje TLS na brzegu Cloudflare, Argon2id, LUKS, Vault. Dostępne
i Bezpieczeństwo zasobów ludzkich i zarządzanie aktywami RBAC per Dzierżawca z rolami nadawanymi w placówce; okresowe kampanie przeglądu dostępu; rejestr aktywów. Dostępne
j MFA, SSO, bezpieczna komunikacja Obowiązkowe MFA (TOTP lub WebAuthn) dla wszystkich kont z hasłem, przy czym konta SSO podlegają dostawcy tożsamości Dzierżawcy; SAML 2.0 SSO; OIDC per Dzierżawca; TLS na brzegu Cloudflare. Dostępne

§8. Interfejs RODO

Szkoły i JST są organizacjami publicznymi i są zobowiązane do wyznaczenia IOD (art. 37 ust. 1 lit. a RODO). Platforma obsługuje jednoczesne prowadzenie procesu NIS2 i RODO:

§9. Czego platforma nie robi

Transparentne ograniczenia dla sektora edukacji:

Obszar Co platforma robi Czego nie robi
Zgłoszenie do CSIRT / MEiN Prowadzi formularze raportów etapów (24 h / 72 h / miesiąc) z terminami i zapisem w dzienniku audytu; eksportuje paczkę audytową ZIP Nie wysła automatycznie do CERT Polska ani Ministerstwa (API nie jest publiczne)
Ochrona e-dziennika (Librus, Vulcan) Rejestruje zadania oceny ryzyka dla e-dziennika Nie łączy się bezpośrednio z e-dziennikiem; brak integracji API
Szkolenia uczniów Rejestruje zadania szkoleniowe dla pracowników Nie jest platformą e-learningową dla uczniów
Certyfikacja KSC Generuje dokumentację audytową Nie wystawia certyfikatów; certyfikacja wymaga niezależnego audytora
SOC/SIEM dla sieci szkolnej Integracja przez API z zewnętrznymi narzędziami Nie monitoruje sieci szkolnej w czasie rzeczywistym
Pomoc prawna Szablony i checklisty KSC Nie świadczy usług prawnych; dokumenty są informacyjne

§10. Kontakt

Pytania o NIS2 / KSC compliance@cyberzgodnosc.edu.pl
Zgłoszenie incydentu (platforma) security@cyberzgodnosc.edu.pl
Ogólne zapytania kontakt@cyberzgodnosc.edu.pl
Organ nadzorczy (KSC) CERT Polska / CSIRT GOV — cert.pl
Organ nadzorczy (RODO) UODO — uodo.gov.pl