Files
nis2-agile/docs/mappa-logica/19_service-continuity.md
DevEnv nis2-agileandClaude Opus 4.8 4dfab2a391 [FORMAZIONE] Avatar di prodotto — mappa-logica COMPLETA (22 viste) + SELETTORI_DEMO + tassonomia corso + fix kb.js
Deliverable formazione-first (DESIGN_AVATAR_FORMAZIONE / product-demo-complete):
- docs/mappa-logica/01..22_*.md: tutte le viste app V2 mappate (formato canonico standard §2),
  selettori VERIFICATI sul DOM reale, endpoint verificati su api.js/script, gate ruolo dai controller
- docs/mappa-logica/SELETTORI_DEMO.md: registry canonico (22 viste, 131 visualizzazione + 89 azioni)
  + worklist consolidata 132 id stabili da aggiungere (modifiche chirurgiche future)
- docs/formazione/TASSONOMIA_CORSO_NIS2.{md,json}: 10 moduli / 28 lezioni / ~7h45, prerequisiti+durate,
  esame con soglia 80%, sandbox 'prova tu' org 996002
- fix kb.js: ingest scope=ORG ora invia organization_id (prima 422 KB_ORG_REQUIRED) — bug trovato da A2

Prodotto con 4 trittici di agenti (A1 esecutore -> A2 revisore -> A3 controllore avversariale):
A2: ~14 correzioni (cross-ref, gate ruolo, comportamenti); A3 PASS: 38 selettori campionati 0 rotti,
18 endpoint reali, 0 violazioni normative (Allegati 3/4, IS-4, '1 mese', PII.* interna), 9 claim verificati.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-12 18:50:19 +02:00

5.6 KiB

MAPPA-LOGICA · Standard Continuità di Servizio

⟦ INIZIO · U-SERVICE-CONTINUITY · Videata "Standard Continuità di Servizio" (documento standalone) ⟧ File: public/service-continuity.html · URL: /service-continuity.html · Scopo: documento informativo statico (stampabile) che descrive la strategia di continuità di servizio della piattaforma NIS2 Agile — architettura, resilienza a 7 livelli, rate limiting, maintenance mode, matrice rischi, SLA e checklist operativa · Profili: pagina pubblica, nessun controllo di autenticazione né ruolo (non carica api.js/common.js; non ha sidebar applicativa). NOTA: pagina interamente statica — nessuna chiamata API, nessun dato dinamico; gli unici script sono il bundle Bootstrap Italia e bootstrap.loadFonts.

• U-SERVICE-CONTINUITY.1 — Intestazione documento Mostra: brand "NIS2 Agile / Cybersecurity Compliance NIS2" con icona lucchetto; meta "Standard Operativo — Continuità di Servizio"; titolo "Strategia di Continuità di Servizio"; sottotitolo "Architettura di resilienza, monitoraggio, auto-recovery e protezione dei dati"; 4 tag: "Aprile 2026", "PHP+MySQL+Qdrant", "Hetzner CPX31", "99.9% SLA Target" Azioni: nessuna Dati da: nessuna (contenuto statico) Confine: header.doc-header (riga 62, senza id)

• U-SERVICE-CONTINUITY.2 — Sezione 1 "Architettura di Servizio" Mostra: tabella Servizio/Stack/Healthcheck: nis2-app (PHP+MySQL+Qdrant, /health), MySQL/PostgreSQL (Database condiviso, ping), Qdrant (Vector DB embeddings, HTTP 200), AgileHub NEXUS (Ticket + AI + Notifiche, /health); box informativo "Deploy a caldo" (bind mount Docker / PM2 reload, nessun rebuild) Azioni: nessuna Dati da: nessuna Confine: primo h2 dentro main.content (riga 81, senza id)

• U-SERVICE-CONTINUITY.3 — Sezione 2 "Strategia di Resilienza a 7 Livelli" Mostra: 7 blocchi numerati L1-L7: L1 Auto-Restart Container/PM2 (recovery < 30s); L2 Healthcheck Nativo (endpoint /health ogni 30s, ricreazione dopo 3 fail); L3 Database Retry con Reconnect (errori MySQL 2006/2013/1213, 2 retry con backoff); L4 Resilienza API Esterne (Claude AI, ElevenLabs TTS, Voyage — 3 retry, degradazione graceful, fallback frontend "AI temporaneamente non disponibile"); L5 Error Alerting in Tempo Reale (notifica AgileHub entro 30s); L6 Monitoraggio Esterno AgileHub (cron ogni 2 minuti); L7 Manutenzione Preventiva (tabella: disk monitor ogni 6 ore, cleanup settimanale, SSL renewal settimanale, refresh token Claude orario) Azioni: nessuna Dati da: nessuna Confine: blocchi .layer con .layer-num/.layer-body (righe 92-149, senza id)

• U-SERVICE-CONTINUITY.4 — Sezione 3 "Protezione da Abuso" (Rate Limiting) Mostra: tabella limiti: Login 5 tentativi/15 min per IP + lockout; API generiche 100 req/ora per chiave/utente; Password reset 3 req/ora per email; Webhook esterni 50 req/min per IP Azioni: nessuna Dati da: nessuna Confine: h2 "3. Protezione da Abuso" (riga 151, senza id)

• U-SERVICE-CONTINUITY.5 — Sezione 4 "Modalità Manutenzione" Mostra: procedura automatica in 5 passi (flag /tmp/maintenance-NIS2.flag, pagina di manutenzione Apache, applicazione fix, rimozione flag, redirect automatico); box di avvertenza "Nessun intervento manuale richiesto" Azioni: nessuna Dati da: nessuna Confine: h2 "4. Modalità Manutenzione" (riga 164, senza id)

• U-SERVICE-CONTINUITY.6 — Sezione 5 "Matrice Rischi e Mitigazione" Mostra: tabella a 5 colonne (Scenario, Probabilità, Impatto, Mitigazione, Recovery) con 7 scenari: crash singolo servizio, database restart, AI non disponibile, disco pieno, SSL scaduto, attacco brute force, errore deployment; badge colorati Bassa/Media (probabilità) e Basso/Medio/Alto (impatto) Azioni: nessuna Dati da: nessuna Confine: h2 "5. Matrice Rischi e Mitigazione" (riga 178, senza id)

• U-SERVICE-CONTINUITY.7 — Sezione 6 "Service Level Agreement" Mostra: tabella Metrica/Target/Misurazione: uptime 99.9% (8.7h downtime/anno), recovery da crash < 30 secondi, recovery da aggiornamento < 5 minuti, rilevamento downtime < 5 minuti, tempo risposta API p95 < 500ms Azioni: nessuna Dati da: nessuna Confine: h2 "6. Service Level Agreement" (riga 193, senza id)

• U-SERVICE-CONTINUITY.8 — Sezione 7 "Checklist Operativa" + footer Mostra: checklist "Verifica automatica (quotidiana)" (container healthy, campanella AgileHub, email alert) e "Prima di un aggiornamento manuale" (4 passi con docker compose ps / pm2 list); footer con copyright, link nis2.agile.software e "Standard Continuità di Servizio v1.0 • Aprile 2026 • Agile Technology SRL" Azioni: click sul link https://nis2.agile.software nel footer Dati da: nessuna Confine: h2 "7. Checklist Operativa" (riga 206) e footer.doc-footer (riga 222, senza id)

⟦ FINE · U-SERVICE-CONTINUITY ⟧

ID STABILI MANCANTI (da aggiungere)

La pagina non contiene NESSUN id: tutte le ancore sono solo classi/struttura.

Elemento Riga Id proposto
Header documento 62 nis2-continuity-header
Sezione 1 Architettura (h2) 81 nis2-continuity-architettura
Sezione 2 Resilienza 7 livelli (h2) 90 nis2-continuity-resilienza
Blocchi L1-L7 92-149 nis2-continuity-layer-1 … nis2-continuity-layer-7
Sezione 3 Rate limiting (h2) 151 nis2-continuity-rate-limiting
Sezione 4 Manutenzione (h2) 164 nis2-continuity-manutenzione
Sezione 5 Matrice rischi (h2) 178 nis2-continuity-matrice-rischi
Sezione 6 SLA (h2) 193 nis2-continuity-sla
Sezione 7 Checklist (h2) 206 nis2-continuity-checklist
Footer documento 222 nis2-continuity-footer