Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
1999 lines
144 KiB
JavaScript
1999 lines
144 KiB
JavaScript
/**
|
||
* NIS2 Agile - Contextual Help System
|
||
*
|
||
* Sistema di guida contestuale per pagina.
|
||
* - Rileva automaticamente la pagina corrente dall'URL
|
||
* - Mostra help contestuale tramite showModal()
|
||
* - Inietta un pulsante "?" nell'header della pagina
|
||
* - Fornisce tooltip inline riutilizzabili
|
||
*/
|
||
|
||
const HelpSystem = (function () {
|
||
'use strict';
|
||
|
||
// ── Icona SVG del punto interrogativo ────────────────────────────
|
||
var HELP_ICON = '<svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><circle cx="12" cy="12" r="10"/><path d="M9.09 9a3 3 0 015.83 1c0 2-3 3-3 3"/><line x1="12" y1="17" x2="12.01" y2="17"/></svg>';
|
||
|
||
var HELP_ICON_SMALL = '<svg viewBox="0 0 24 24" width="14" height="14" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><circle cx="12" cy="12" r="10"/><path d="M9.09 9a3 3 0 015.83 1c0 2-3 3-3 3"/><line x1="12" y1="17" x2="12.01" y2="17"/></svg>';
|
||
|
||
// ── Contenuti di help per ogni pagina (in italiano) ──────────────
|
||
|
||
var _helpContent = {
|
||
|
||
// ─── Dashboard ───────────────────────────────────────────────
|
||
'dashboard': {
|
||
title: 'Guida - Dashboard',
|
||
intro: 'La Dashboard fornisce una panoramica in tempo reale dello stato di conformita\' NIS2 della tua organizzazione. Da qui puoi monitorare i principali indicatori, le attivita\' recenti e le scadenze imminenti.',
|
||
sections: [
|
||
{
|
||
heading: 'Punteggio di Compliance',
|
||
items: [
|
||
'Il <strong>gauge circolare</strong> mostra il punteggio complessivo di conformita\' NIS2 (0-100%), calcolato sulla base dell\'ultimo assessment completato.',
|
||
'I colori indicano il livello: <span style="color:var(--danger)">rosso</span> (critico, <20%), <span style="color:#f97316">arancione</span> (basso, 20-39%), <span style="color:var(--warning)">giallo</span> (medio, 40-59%), <span style="color:#84cc16">verde chiaro</span> (buono, 60-79%), <span style="color:var(--secondary)">verde</span> (eccellente, ≥80%).',
|
||
'Il punteggio si aggiorna automaticamente ad ogni nuovo assessment.'
|
||
]
|
||
},
|
||
{
|
||
heading: 'Statistiche Principali',
|
||
items: [
|
||
'<strong>Rischi Aperti</strong> - numero di rischi attivi nel registro dei rischi.',
|
||
'<strong>Incidenti Attivi</strong> - incidenti di sicurezza attualmente in gestione.',
|
||
'<strong>Scadenze Superate</strong> - attivita\' o task il cui termine e\' gia\' passato.',
|
||
'Clicca su ciascuna card per accedere direttamente alla sezione corrispondente.'
|
||
]
|
||
},
|
||
{
|
||
heading: 'Attivita\' Recente e Scadenze',
|
||
items: [
|
||
'Il <strong>feed Attivita\' Recente</strong> mostra le ultime operazioni effettuate sulla piattaforma (assessment, rischi, incidenti, policy).',
|
||
'Le <strong>Prossime Scadenze</strong> elencano i task e le attivita\' in scadenza, evidenziando in rosso quelle urgenti.',
|
||
'La <strong>Mappa Rischi</strong> visualizza la distribuzione dei rischi per livello di gravita\'.'
|
||
]
|
||
},
|
||
{
|
||
heading: 'Azioni Rapide',
|
||
items: [
|
||
'Utilizza le <strong>Azioni Rapide</strong> per avviare operazioni comuni senza navigare nel menu.',
|
||
'La funzione <strong>Genera Policy con AI</strong> permette di creare bozze di policy conformi NIS2 tramite intelligenza artificiale.',
|
||
'Puoi avviare un nuovo assessment, registrare un incidente o aggiungere un rischio con un solo clic.'
|
||
]
|
||
},
|
||
{
|
||
heading: 'Documenti istituzionali',
|
||
items: [
|
||
'La card <strong>Documenti istituzionali</strong> raccoglie i documenti di governance dell\'organizzazione. Sono <strong>sempre presenti 5 voci standard</strong>: <strong>Codice Etico</strong>, <strong>Mission</strong>, <strong>Vision</strong>, <strong>Statuto</strong> e <strong>Piano Sanzionatorio</strong>.',
|
||
'Con <strong>Aggiungi voce</strong> puoi inserire documenti personalizzati oltre ai 5 standard.',
|
||
'All\'inserimento o modifica di un documento la <strong>descrizione e\' obbligatoria</strong>: serve a spiegare contenuto e finalita\' del documento.',
|
||
'La gestione (aggiungi / modifica / elimina) e\' riservata ai profili <strong>Amministratore</strong> e <strong>Compliance Manager</strong>; tutti i membri dell\'organizzazione possono consultarli.'
|
||
]
|
||
}
|
||
],
|
||
references: [
|
||
'Direttiva (UE) 2022/2555 (NIS2) - Considerando generale sulla gestione del rischio',
|
||
'Art. 24 D.Lgs. 138/2024 - Misure di gestione dei rischi di cibersicurezza (recepisce l\'art. 21 della Direttiva (UE) 2022/2555)',
|
||
'Art. 25 D.Lgs. 138/2024 - Obblighi di segnalazione degli incidenti significativi (recepisce l\'art. 23 della Direttiva (UE) 2022/2555)'
|
||
]
|
||
},
|
||
|
||
// ─── Assessment / Gap Analysis ───────────────────────────────
|
||
'assessment': {
|
||
title: 'Guida - Gap Analysis NIS2',
|
||
intro: 'La Gap Analysis NIS2 ti permette di valutare il livello di conformita\' della tua organizzazione rispetto ai requisiti dell\'art. 24 del D.Lgs. 138/2024 (che recepisce l\'art. 21 della Direttiva (UE) 2022/2555). Il wizard guida l\'utente attraverso 10 categorie di misure di sicurezza.',
|
||
sections: [
|
||
{
|
||
heading: 'Wizard di Assessment',
|
||
items: [
|
||
'L\'assessment e\' strutturato in <strong>10 categorie</strong> derivate dall\'art. 24 del D.Lgs. 138/2024 (che recepisce l\'art. 21, par. 2, della Direttiva (UE) 2022/2555).',
|
||
'Ogni categoria contiene domande specifiche sulle misure di sicurezza implementate.',
|
||
'Puoi compilare l\'assessment in piu\' sessioni: il progresso viene salvato automaticamente.',
|
||
'Utilizza la barra di avanzamento in alto per monitorare il completamento.'
|
||
]
|
||
},
|
||
{
|
||
heading: 'Sistema di Valutazione',
|
||
items: [
|
||
'<strong>Non Implementato</strong> (0%) - la misura non e\' presente.',
|
||
'<strong>Parzialmente Implementato</strong> (50%) - la misura e\' presente ma incompleta o non formalizzata.',
|
||
'<strong>Implementato</strong> (100%) - la misura e\' completamente implementata e documentata.',
|
||
'<strong>Non Applicabile</strong> - la misura non si applica al contesto dell\'organizzazione.'
|
||
]
|
||
},
|
||
{
|
||
heading: 'Analisi AI',
|
||
items: [
|
||
'Al completamento dell\'assessment, puoi richiedere un\'<strong>analisi basata su AI</strong> dei risultati.',
|
||
'L\'AI identifica le aree critiche, suggerisce priorita\' di intervento e fornisce raccomandazioni specifiche.',
|
||
'L\'analisi tiene conto del settore e della classificazione NIS2 dell\'organizzazione.'
|
||
]
|
||
},
|
||
{
|
||
heading: 'Generazione Non Conformita\' (NCR)',
|
||
items: [
|
||
'Dalla pagina dei risultati, puoi <strong>generare automaticamente NCR</strong> (Non Conformity Reports) dai gap individuati.',
|
||
'Ogni NCR viene creata con priorita\', descrizione e suggerimenti di rimedio.',
|
||
'Le NCR generate possono essere esportate o collegate al registro dei rischi.'
|
||
]
|
||
}
|
||
],
|
||
references: [
|
||
'Art. 24 D.Lgs. 138/2024 - Obbligo di adottare misure tecniche, operative e organizzative adeguate e proporzionate (recepisce l\'art. 21, par. 1, della Direttiva (UE) 2022/2555)',
|
||
'Art. 24 D.Lgs. 138/2024 - Le 10 categorie di misure di sicurezza minime (recepisce l\'art. 21, par. 2, lett. a-j, della Direttiva (UE) 2022/2555)',
|
||
'Art. 24 D.Lgs. 138/2024 - Valutazione della proporzionalita\' delle misure (recepisce l\'art. 21, par. 3, della Direttiva (UE) 2022/2555)',
|
||
'Art. 24 D.Lgs. 138/2024 - Conformita\' con norme europee e internazionali (recepisce l\'art. 21, par. 4, della Direttiva (UE) 2022/2555)'
|
||
]
|
||
},
|
||
|
||
'isms': {
|
||
title: 'Guida - Modello Organizzativo SGSI (ISO 27001)',
|
||
intro: 'Il modulo Modello Organizzativo ti guida nella costruzione di un Sistema di Gestione della Sicurezza delle Informazioni (SGSI / ISMS) secondo ISO/IEC 27001:2022 (clausole 4-10) + lo Statement of Applicability (SoA) sui controlli Annex A. E\' uno strumento di SUPPORTO e PRE-AUDIT: non sostituisce l\'auditor ne costituisce una certificazione.',
|
||
sections: [
|
||
{
|
||
heading: 'Il wizard in 6 passi (clausole ISO 27001:2022)',
|
||
items: [
|
||
'<strong>1. Contesto e Ambito (cl. 4)</strong>: definisci lo scope del SGSI, contesto interno/esterno, parti interessate, confini ed esclusioni motivate. Qui attivi anche le estensioni cloud.',
|
||
'<strong>2. Leadership (cl. 5)</strong>: ruoli e responsabilita del SGSI con matrice RACI (Responsible, Accountable, Consulted, Informed).',
|
||
'<strong>3. Risk (cl. 6)</strong>: dichiari la metodologia di risk assessment (es. ISO 27005) e gli obiettivi. Il registro dei rischi resta nel modulo Rischi.',
|
||
'<strong>4. Statement of Applicability</strong>: i 93 controlli Annex A con applicabilita, stato e motivazione.',
|
||
'<strong>5. Documented Information (cl. 7-8)</strong>: policy e procedure, con bozze generabili dall\'AI (revisione umana obbligatoria).',
|
||
'<strong>6. Monitoraggio e Miglioramento (cl. 9-10)</strong>: audit interni e non conformita si gestiscono nei moduli Audit & Report e NCR/CAPA. Una checklist mostra il completamento del SGSI.'
|
||
]
|
||
},
|
||
{
|
||
heading: 'Ciclo di vita dei documenti (cl. 7.5)',
|
||
items: [
|
||
'Ogni documento (Manuale, politiche, procedure, istruzioni) ha un <strong>ciclo di vita</strong>: <strong>Bozza → In revisione → Approvato → Pubblicato → Archiviato</strong>, mostrato con un badge colorato nel passo 5 (Documenti).',
|
||
'<strong>Transizioni</strong>: "Invia in revisione", "Approva" / "Rimanda in bozza", "Pubblica" (mette il documento <strong>in vigore</strong>), "Archivia" (lo ritira), "Nuova versione" (riapre una bozza con numero di versione incrementato).',
|
||
'Ad ogni pubblicazione viene salvato uno <strong>snapshot di versione</strong>: il pulsante "Storico" mostra tutte le versioni con autore, data e nota. Alla pubblicazione vengono impostate la data di entrata in vigore e la <strong>prossima data di riesame</strong> (a 1 anno).',
|
||
'<strong>Scarica Word</strong>: il pulsante "Word" esporta il singolo documento in formato .doc <strong>modificabile</strong> (mantiene titoli, elenchi e tabelle); "Apri" lo mostra in una nuova scheda. Il pulsante <strong>"Scarica tutto (Word)"</strong> esporta l\'intero set documentale in un unico file (copertina + indice).',
|
||
'<strong>Modifica in-app</strong>: per le <strong>bozze</strong> e i documenti <strong>in revisione</strong> il pulsante "Modifica" apre un editor con barra strumenti (grassetto, titoli, elenchi) e modalita HTML. I documenti gia pubblicati non si modificano direttamente: usa prima "Nuova versione" per riaprirli in bozza (cosi la versione in vigore resta tracciata).',
|
||
'E\' la gestione delle <strong>informazioni documentate</strong> richiesta dalla ISO/IEC 27001 <strong>cl. 7.5</strong>: creazione, approvazione, controllo delle versioni e della distribuzione.'
|
||
]
|
||
},
|
||
{
|
||
heading: 'SoA pre-popolato dal NIS2',
|
||
items: [
|
||
'Ogni domanda della Gap Analysis NIS2 Art.21 e gia collegata a un controllo ISO 27001 (es. A.5.1): lo Statement of Applicability viene quindi <strong>pre-compilato</strong> a partire dalle tue risposte NIS2 (badge "da NIS2").',
|
||
'Lo stato derivato e una <strong>proposta da confermare</strong>: implemented=100%, partial=50%, not_implemented=0%; not_applicable esclude il controllo dalla derivazione.',
|
||
'I controlli senza corrispondenza NIS2 (es. parte dei controlli fisici A.7) restano da compilare manualmente.',
|
||
'Il pulsante "Ri-deriva dal NIS2" aggiunge solo i controlli mancanti: non sovrascrive le tue modifiche manuali.'
|
||
]
|
||
},
|
||
{
|
||
heading: 'Estensioni cloud ISO 27017 / 27018',
|
||
items: [
|
||
'Se usi servizi cloud pubblici o sei un fornitore cloud, attiva <strong>ISO/IEC 27017:2015</strong>: aggiunge 7 controlli cloud (CLD.*) al SoA.',
|
||
'Se tratti dati personali (PII) in cloud pubblico come responsabile, attiva <strong>ISO/IEC 27018:2019</strong>: aggiunge i controlli privacy (PII.*) allineati ai principi ISO 29100, sinergici con il GDPR.',
|
||
'Le sezioni cloud/PII compaiono nel SoA solo se attivi i relativi flag nel passo 1.'
|
||
]
|
||
}
|
||
],
|
||
references: [
|
||
'ISO/IEC 27001:2022 - Requisiti del SGSI (clausole 4-10 + Annex A, 93 controlli)',
|
||
'ISO/IEC 27002:2022 - Guida implementativa dei controlli Annex A',
|
||
'ISO/IEC 27017:2015 - Controlli di sicurezza per i servizi cloud (CLD.*)',
|
||
'ISO/IEC 27018:2019 - Protezione dei PII nel cloud pubblico (PII processor)',
|
||
'NOTA: ISO e best practice non vincolante; gli obblighi italiani derivano da NIS2 / D.Lgs. 138/2024 / Determinazioni ACN.'
|
||
]
|
||
},
|
||
|
||
// ─── Organigramma (A4 Fase 4.1) ──────────────────────────────
|
||
'org': {
|
||
title: 'Guida - Organigramma',
|
||
intro: 'L\'Organigramma mappa chi e responsabile di cosa: i ruoli dell\'organizzazione, la loro gerarchia, il titolare di ciascun ruolo e — distinto — il nodo degli organi di amministrazione e direttivi. E\' la base del modello relazionale: nelle fasi successive i ruoli verranno collegati a competenze, procedure, inventario e rischi tramite la matrice RACI. E\' uno strumento di supporto organizzativo, non un parere legale.',
|
||
sections: [
|
||
{
|
||
heading: 'Cosa rappresenta',
|
||
items: [
|
||
'<strong>Ruolo</strong>: una posizione organizzativa (es. CISO, Responsabile IT, DPO). Puo avere un <strong>titolare</strong> (un utente dell\'organizzazione) oppure restare vacante.',
|
||
'<strong>Gerarchia</strong>: ogni ruolo puo avere un ruolo "padre" (a chi riporta). I ruoli senza padre sono i nodi radice dell\'organigramma.',
|
||
'<strong>Responsabilita e poteri</strong>: il campo descrizione documenta cosa fa il ruolo, coerentemente con la buona prassi GV.RR-02 (ruoli, responsabilita e poteri stabiliti e comunicati).'
|
||
]
|
||
},
|
||
{
|
||
heading: 'Il nodo "Organi di amministrazione e direttivi" (Art. 23)',
|
||
items: [
|
||
'Marca come <strong>organo di governance</strong> il ruolo che rappresenta gli organi di amministrazione e direttivi: l\'<strong>art. 23 del D.Lgs. 138/2024</strong> ne stabilisce la responsabilita nell\'approvare le misure di gestione del rischio e nel sovrintendere alla loro attuazione.',
|
||
'Tenere questo nodo distinto rende dimostrabile in audit "chi approva" le misure e su chi ricade la responsabilita di vigilanza.',
|
||
'Gli organi di gestione sono inoltre tenuti a seguire una <strong>formazione</strong> specifica in materia di sicurezza informatica (gestita nel modulo Formazione).'
|
||
]
|
||
},
|
||
{
|
||
heading: 'Come si usa',
|
||
items: [
|
||
'<strong>Nuovo ruolo</strong>: indica il nome, l\'eventuale ruolo padre, il titolare e — se pertinente — la spunta "organo di governance".',
|
||
'Puoi modificare un ruolo o spostarlo nella gerarchia cambiandone il padre (il sistema impedisce di creare cicli).',
|
||
'Un ruolo non puo essere eliminato se ha ruoli subordinati: riassegna prima i figli a un altro ruolo.'
|
||
]
|
||
}
|
||
],
|
||
references: [
|
||
'D.Lgs. 138/2024, art. 23 - Responsabilita degli organi di amministrazione e direttivi (governance)',
|
||
'NIST CSF 2.0 / GV.RR-02 (best practice) - Ruoli, responsabilita e poteri stabiliti e comunicati',
|
||
'NOTA: gli obblighi normativi in Italia derivano da NIS2 (Dir. UE 2022/2555) e dal D.Lgs. 138/2024; framework e organigrammi sono strumenti di supporto, non un parere legale.'
|
||
]
|
||
},
|
||
|
||
// ─── Competenze (A4 Fase 4.2) ────────────────────────────────
|
||
'competences': {
|
||
title: 'Guida - Competenze',
|
||
intro: 'Il modulo Competenze collega le persone ai ruoli dell\'organigramma attraverso le competenze: quelle richieste da ciascun ruolo e quelle effettivamente possedute. Confrontandole, individua i divari (gap) e ti aiuta a colmarli con la formazione o aprendo un\'azione correttiva. E\' uno strumento di supporto, non un parere legale.',
|
||
sections: [
|
||
{
|
||
heading: 'Le quattro schede',
|
||
items: [
|
||
'<strong>Catalogo competenze</strong>: l\'elenco delle competenze (con area e descrizione). Puoi mappare a ciascuna i corsi che la erogano. Le competenze "globali" sono fornite dal sistema e sono in sola lettura.',
|
||
'<strong>Requisiti per ruolo</strong>: per ogni ruolo dell\'organigramma indichi quali competenze servono e a quale livello (scala 1-5).',
|
||
'<strong>Competenze persone</strong>: registri le competenze possedute da ciascun membro, con il livello, l\'eventuale corso che le ha fornite e un\'evidenza.',
|
||
'<strong>Gap & azioni</strong>: confronta, per ogni ruolo con titolare, il livello richiesto con quello posseduto e mostra i gap.'
|
||
]
|
||
},
|
||
{
|
||
heading: 'Come si calcola il gap e cosa farne',
|
||
items: [
|
||
'Il gap di una competenza = livello richiesto dal ruolo − livello posseduto dal titolare. Se è maggiore di zero, c\'è un divario da colmare.',
|
||
'<strong>Assegna corso</strong>: assegna al titolare uno dei corsi mappati alla competenza (gestito nel modulo Formazione).',
|
||
'<strong>Apri non conformità</strong>: genera una Non Conformità (NCR) con un\'azione correttiva collegata, riusando il modulo NCR/CAPA. L\'azione resta tracciata fino alla chiusura; il sistema evita doppioni sullo stesso gap.'
|
||
]
|
||
},
|
||
{
|
||
heading: 'Riferimenti normativi',
|
||
items: [
|
||
'<strong>PR.AT-01</strong>: formazione e consapevolezza per tutto il personale (vale per tutti i soggetti).',
|
||
'<strong>PR.AT-02</strong>: formazione mirata per i ruoli a maggior rischio (richiesto in particolare ai soggetti <em>essenziali</em>).',
|
||
'<strong>GV.RR-04</strong>: la cybersicurezza è inclusa nelle pratiche di gestione del personale (HR).'
|
||
]
|
||
}
|
||
],
|
||
references: [
|
||
'D.Lgs. 138/2024, art. 24 - Obblighi in materia di misure di gestione del rischio (include la formazione)',
|
||
'Misure di base ACN (Determinazione n. 164179/2025), funzione Protect: PR.AT-01 (tutti), PR.AT-02 (essenziali); GV.RR-04',
|
||
'NOTA: gli obblighi normativi in Italia derivano da NIS2 (Dir. UE 2022/2555) e dal D.Lgs. 138/2024; i livelli di competenza e i framework sono strumenti di supporto, non un parere legale.'
|
||
]
|
||
},
|
||
|
||
// ─── Matrice RACI (A4 Fase 4.3) ──────────────────────────────
|
||
'raci': {
|
||
title: 'Guida - Matrice RACI',
|
||
intro: 'La Matrice RACI è l\'hub del modello relazionale: collega i ruoli dell\'organigramma agli oggetti del sistema (inventario, procedure, rischi, fornitori) indicando chi è Responsabile (R), chi è Approvatore/responsabile finale (A), chi va Consultato (C) e chi va Informato (I). In più gestisce i collegamenti molti-a-molti fra procedure, inventario, rischi e misure, così da tracciare la rete delle dipendenze. E\' uno strumento di supporto, non un parere legale.',
|
||
sections: [
|
||
{
|
||
heading: 'Cos\'è la RACI',
|
||
items: [
|
||
'Per ogni coppia <strong>ruolo × oggetto</strong> assegni una lettera: <strong>R</strong>esponsible (esegue), <strong>A</strong>ccountable (risponde del risultato, di norma uno solo), <strong>C</strong>onsulted (consultato prima), <strong>I</strong>nformed (informato dopo).',
|
||
'Gli oggetti collegabili sono: <strong>Inventario</strong> (gli asset), <strong>Procedure</strong> (le policy), <strong>Rischi</strong> (il registro rischi) e <strong>Fornitori</strong> (la supply chain).',
|
||
'Lasciando vuota una cella, il ruolo non ha responsabilità formalizzate su quell\'oggetto.'
|
||
]
|
||
},
|
||
{
|
||
heading: 'I collegamenti (link)',
|
||
items: [
|
||
'<strong>Procedura ↔ Inventario</strong>: quali asset sono coperti/governati da una procedura.',
|
||
'<strong>Procedura ↔ Rischio</strong>: quali rischi una procedura contribuisce a trattare.',
|
||
'<strong>Inventario ↔ Rischio</strong>: quali rischi insistono su un determinato asset.',
|
||
'<strong>Rischio ↔ Misura</strong>: a quali misure ACN (per codice, es. GV.OC-04) un rischio è ricondotto.'
|
||
]
|
||
},
|
||
{
|
||
heading: 'Riferimenti normativi',
|
||
items: [
|
||
'<strong>GV.RR-02</strong>: ruoli, responsabilità e poteri per la cybersicurezza sono stabiliti e comunicati (base della RACI).',
|
||
'<strong>Inventario</strong>: famiglia <strong>ID.AM</strong> (asset management) — censimento e responsabilità sugli asset.',
|
||
'<strong>Procedure</strong>: <strong>GV.PO</strong> (policy/governance) — le procedure attuano le politiche.',
|
||
'<strong>Rischi</strong>: <strong>art. 24 D.Lgs. 138/2024</strong> e famiglia <strong>ID.RA</strong> (risk assessment).'
|
||
]
|
||
}
|
||
],
|
||
references: [
|
||
'NIST CSF 2.0 / GV.RR-02 - Ruoli, responsabilità e poteri stabiliti e comunicati',
|
||
'Inventario: famiglia ID.AM (asset management)',
|
||
'Procedure: GV.PO (policy/governance)',
|
||
'Rischi: art. 24 D.Lgs. 138/2024 + famiglia ID.RA (risk assessment)',
|
||
'NOTA: gli obblighi normativi in Italia derivano da NIS2 (Dir. UE 2022/2555) e dal D.Lgs. 138/2024; la matrice RACI e i framework NIST CSF/ACN sono strumenti di supporto, non un parere legale.'
|
||
]
|
||
},
|
||
|
||
// ─── Scadenziario centralizzato (A4 Fase 4.4) ─────────────────
|
||
'review-schedule': {
|
||
title: 'Guida - Scadenziario',
|
||
intro: 'Lo Scadenziario raccoglie in un unico posto le revisioni periodiche di policy, controlli, trattamenti del rischio, ruoli, competenze, inventario, fornitori e misure. Per ciascuna voce indica chi è il responsabile (ruolo), ogni quanto va rivista e quando scade la prossima revisione, segnalandone lo stato. È uno strumento di supporto organizzativo, non un parere legale.',
|
||
sections: [
|
||
{
|
||
heading: 'Stati e badge',
|
||
items: [
|
||
'<strong>OK (verde)</strong>: la prossima revisione è oltre i 30 giorni.',
|
||
'<strong>In scadenza (arancione)</strong>: la prossima revisione cade entro 30 giorni.',
|
||
'<strong>Scaduto (rosso)</strong>: la data di prossima revisione è già passata.',
|
||
'Lo stato è ricalcolato automaticamente in base alla data odierna: non serve aggiornarlo a mano.'
|
||
]
|
||
},
|
||
{
|
||
heading: 'Come si usa',
|
||
items: [
|
||
'<strong>Nuova scadenza</strong>: crei una voce indicando titolo, tipo di entità, ruolo responsabile, frequenza (in mesi) e data della prossima revisione.',
|
||
'<strong>Segna revisionato</strong>: registra la revisione di oggi; se è impostata una frequenza, la prossima data avanza automaticamente.',
|
||
'<strong>Sincronizza scadenze esistenti</strong>: importa (senza duplicare) le scadenze già presenti nel sistema — riesami delle policy, dei controlli e le date dei trattamenti del rischio della tua organizzazione.'
|
||
]
|
||
},
|
||
{
|
||
heading: 'Riferimenti normativi',
|
||
items: [
|
||
'<strong>GV.PO-02</strong>: le politiche di cybersicurezza sono riviste periodicamente e aggiornate.',
|
||
'<strong>GV.SC-07</strong>: i rischi e i rapporti con i fornitori sono monitorati e rivisti nel tempo.',
|
||
'<strong>PR.AT</strong>: la formazione e consapevolezza è mantenuta e ripetuta nel tempo.',
|
||
'<strong>DE.CM</strong>: il monitoraggio continuo presuppone controlli rivisti con regolarità.',
|
||
'In Italia gli obblighi fanno capo al <strong>D.Lgs. 138/2024</strong> (in particolare l\'art. 24 sulla gestione del rischio). La periodicità puntuale, dove non fissata dalla norma, è buona prassi.'
|
||
]
|
||
}
|
||
],
|
||
references: [
|
||
'NIST CSF 2.0 / GV.PO-02 - Politiche riviste e aggiornate periodicamente',
|
||
'NIST CSF 2.0 / GV.SC-07 - Monitoraggio e revisione dei fornitori',
|
||
'NIST CSF 2.0 / PR.AT - Formazione e consapevolezza mantenute nel tempo',
|
||
'NIST CSF 2.0 / DE.CM - Monitoraggio continuo',
|
||
'Obblighi: art. 24 D.Lgs. 138/2024 (gestione del rischio)',
|
||
'NOTA: gli obblighi normativi in Italia derivano dal D.Lgs. 138/2024; lo scadenziario e i framework NIST CSF/ACN sono strumenti di supporto. La periodicità puntuale, dove non fissata, è buona prassi, non un parere legale.'
|
||
]
|
||
},
|
||
|
||
// ─── Misure e Requisiti — elenco canonico (Epic C / C1) ───────
|
||
'misure-requisiti': {
|
||
title: 'Guida - Misure e Requisiti',
|
||
intro: 'Questa pagina mostra l\'elenco canonico delle misure di sicurezza di base e dei relativi requisiti previsti dalla Determinazione ACN n. 164179 del 14 aprile 2025. Per ogni requisito sono indicati la policy di default che lo soddisfa e il rischio di default associato. È un elenco di riferimento in sola lettura: la codifica e l\'ordine non sono modificabili. È uno strumento di supporto, non un parere legale.',
|
||
sections: [
|
||
{
|
||
heading: 'Come è organizzato',
|
||
items: [
|
||
'Le <strong>misure</strong> sono 43 in totale; ogni misura è descritta da uno o più <strong>requisiti</strong> (i singoli punti/commi).',
|
||
'A ogni requisito è abbinata una <strong>policy di default</strong> (che lo risolve) e un <strong>rischio di default</strong>: queste alimentano, come contenuto iniziale modificabile, i moduli Policy e Rischi.',
|
||
'La <strong>valutazione del rischio</strong> parte vuota: la compili tu nel modulo Rischi. È da lì, e dall\'analisi degli stakeholder, che emerge lo stato di conformità dell\'azienda.'
|
||
]
|
||
},
|
||
{
|
||
heading: 'Importanti ed essenziali',
|
||
items: [
|
||
'Alcuni requisiti, e alcune intere misure, riguardano solo i <strong>soggetti essenziali</strong>: per un soggetto <strong>importante</strong> quelle righe si "spengono" (appaiono in grigio).',
|
||
'Soggetti <strong>importanti</strong>: 37 misure / 92 requisiti. Soggetti <strong>essenziali</strong>: 43 misure / 116 requisiti.',
|
||
'Con il selettore "Soggetto" scegli quale profilo applicare; con "nascondi non applicabili" mostri solo le righe pertinenti. Le viste "per misura" e "per area politica" mostrano gli stessi dati in due modi.'
|
||
]
|
||
},
|
||
{
|
||
heading: 'Valutazione e stato di conformità',
|
||
items: [
|
||
'Quando lavori nel contesto di un\'organizzazione, ogni requisito mostra una colonna <strong>Stato / Valutazione</strong>: ci clicchi sopra per registrare lo <strong>stato</strong> (da valutare, non applicabile, non conforme, parziale, conforme) e la <strong>valutazione del rischio</strong> (che parte vuota).',
|
||
'È da questa valutazione, requisito per requisito, e dall\'analisi degli stakeholder che <strong>emerge lo stato di conformità</strong> dell\'azienda: non serve un modulo "gap analysis" separato.',
|
||
'La valutazione è un dato della tua organizzazione (modificabile); la codifica del requisito, invece, resta intatta.',
|
||
'Le <strong>policy di default</strong> associate ai requisiti vengono caricate automaticamente, al primo accesso, nel modulo <strong>Policy</strong>, dove puoi personalizzarle o eliminarle.'
|
||
]
|
||
},
|
||
{
|
||
heading: 'Riferimenti normativi',
|
||
items: [
|
||
'Misure di base: <strong>Determinazione ACN n. 164179 del 14 aprile 2025</strong> (Allegato 1 = importanti, Allegato 2 = essenziali).',
|
||
'Gli obblighi di gestione del rischio fanno capo all\'<strong>art. 24 del D.Lgs. 138/2024</strong>; la governance all\'<strong>art. 23</strong>.',
|
||
'L\'elenco non è modificabile dall\'utente: rappresenta la codifica ufficiale e va mantenuto fedele alla fonte.'
|
||
]
|
||
}
|
||
],
|
||
references: [
|
||
'Determinazione ACN n. 164179 del 14 aprile 2025 - misure di sicurezza di base (Allegati 1-2)',
|
||
'Obblighi: art. 24 D.Lgs. 138/2024 (gestione del rischio), art. 23 (governance)',
|
||
'NOTA: l\'elenco è uno strumento di supporto; la classificazione del soggetto e la conformità formale restano valutazione di Direzione/Legale e verifica ACN.'
|
||
]
|
||
},
|
||
|
||
// ─── Stakeholder estesi (A4 Fase 4.5) ─────────────────────────
|
||
'stakeholders': {
|
||
title: 'Guida - Stakeholder',
|
||
intro: 'Il modulo Stakeholder è un registro delle parti interessate dell\'organizzazione (interne ed esterne). Per ognuna scegli un tipo dall\'elenco configurabile (Stak.01–30 di sistema, puoi aggiungerne altri), la colleghi all\'organigramma (se interna) o a un fornitore della Supply Chain (se esterna) e alle procedure, e ne valuti potere e interesse (0–5). In base a questi due valori il sistema colloca automaticamente lo stakeholder su una matrice a quattro quadranti. È uno strumento di supporto organizzativo, non un parere legale.',
|
||
sections: [
|
||
{
|
||
heading: 'Tipi di stakeholder',
|
||
items: [
|
||
'<strong>Interni</strong> (Stak.01–06): dipendenti, management, azionisti, collaboratori, sindacalisti, volontari/associati. Si collegano a un nodo dell\'<strong>organigramma</strong>.',
|
||
'<strong>Esterni</strong> (Stak.07–30): clienti, fornitori, partner, autorità, banche, assicurazioni, comunità, media… Possono essere <strong>collegati a un fornitore</strong> già censito in Supply Chain (nessuna duplicazione del dato).',
|
||
'Puoi <strong>aggiungere nuovi tipi</strong>: ricevono in automatico il codice successivo (da Stak.31). I 30 tipi di sistema non sono modificabili.'
|
||
]
|
||
},
|
||
{
|
||
heading: 'Valutazione e matrice di Mendelow',
|
||
items: [
|
||
'Assegna <strong>potere</strong> (capacità di influenzare l\'azienda) e <strong>interesse</strong> (quanto è coinvolto) con valori da 0 a 5.',
|
||
'La <strong>matrice di Mendelow</strong> (x = interesse, y = potere) colloca lo stakeholder in un quadrante: <strong>Q1 Tenere soddisfatti</strong>, <strong>Q2 Gestire attivamente</strong>, <strong>Q3 Tenere informati</strong>, <strong>Q4 Monitorare</strong>.',
|
||
'La matrice è una <strong>buona prassi</strong> di gestione degli stakeholder, <strong>non un obbligo NIS2</strong>. Gli stakeholder non ancora valutati restano elencati a parte, da completare.'
|
||
]
|
||
},
|
||
{
|
||
heading: 'Riferimenti normativi',
|
||
items: [
|
||
'<strong>GV.SC-02</strong> (obbligo): ruoli e responsabilità per la sicurezza sono stabiliti e comunicati verso fornitori, <strong>clienti</strong> e <strong>partner</strong>.',
|
||
'<strong>GV.OC</strong>: comprensione del contesto organizzativo e delle parti interessate.',
|
||
'<strong>GV.SC-04/05/07</strong>: fornitori prioritizzati per criticità, requisiti di sicurezza negli accordi, monitoraggio e revisione nel tempo.'
|
||
]
|
||
}
|
||
],
|
||
references: [
|
||
'NIST CSF 2.0 / GV.SC-02 - Ruoli e responsabilità verso fornitori, clienti e partner (obbligo)',
|
||
'NIST CSF 2.0 / GV.OC - Contesto organizzativo e parti interessate',
|
||
'NIST CSF 2.0 / GV.SC-04/05/07 - Prioritizzazione, accordi e monitoraggio delle terze parti',
|
||
'Obblighi: la gestione della supply chain è prevista dall\'art. 24 del D.Lgs. 138/2024.',
|
||
'La matrice di Mendelow (potere/interesse) è una buona prassi di gestione, NON un requisito NIS2.',
|
||
'NOTA: gli obblighi normativi in Italia derivano dal D.Lgs. 138/2024; la matrice e i framework NIST CSF/ACN sono strumenti di supporto, non un parere legale.'
|
||
]
|
||
},
|
||
'controlli-periodici': {
|
||
title: 'Guida - Controlli periodici',
|
||
intro: 'Il modulo Controlli periodici gestisce i controlli RICORRENTI di monitoraggio (ISO/IEC 27001 §9.1 e A.8.16): definisci ogni controllo con responsabile, frequenza e metodo, e registri ogni esecuzione con esito ed evidenze. Lo storico delle esecuzioni è la prova del monitoraggio nel tempo. È uno strumento di supporto organizzativo, non un parere legale.',
|
||
sections: [
|
||
{
|
||
heading: 'Definire un controllo',
|
||
items: [
|
||
'Crea un <strong>controllo</strong> con titolo, categoria, <strong>responsabile</strong> (ruolo dell\'organigramma), <strong>frequenza</strong> (giornaliera, settimanale, mensile, trimestrale, semestrale, annuale o personalizzata) e metodo di verifica. Riceve un codice <strong>CTL-NNN</strong>.',
|
||
'Puoi collegarlo a un <strong>controllo del SoA/NIS2</strong> (campo "Controllo collegato", es. A.8.13): così il controllo periodico diventa l\'<strong>evidenza operativa</strong> che quel controllo tecnico funziona.',
|
||
'La <strong>prossima scadenza</strong> compare nel <strong>Calendario</strong> con stato in ritardo / in scadenza / pianificato.'
|
||
]
|
||
},
|
||
{
|
||
heading: 'Registrare le esecuzioni (evidenza)',
|
||
items: [
|
||
'Dal dettaglio, <strong>Registra esecuzione</strong>: indichi data, <strong>esito</strong> (conforme, parziale, non conforme, non applicabile) e note/evidenze. La scadenza <strong>avanza automaticamente</strong> secondo la frequenza.',
|
||
'Lo <strong>storico</strong> delle esecuzioni è la prova, all\'auditor, che il controllo è eseguito periodicamente.',
|
||
'Il pulsante <strong>Report</strong> genera la scheda del controllo con lo storico, stampabile.'
|
||
]
|
||
},
|
||
{
|
||
heading: 'Generazione NC / azioni correttive',
|
||
items: [
|
||
'Su esito <strong>non conforme o parziale</strong> puoi <strong>generare una non conformità (NC)</strong> oppure <strong>NC + azione correttiva (AC)</strong>: confluiscono nel modulo <strong>NCR/CAPA</strong>, dove gestisci root cause e azioni.',
|
||
'Riferimenti: <strong>ISO/IEC 27001 §10.2</strong> (non conformità e azioni correttive). Le azioni correttive sono collegate alla NC di origine.'
|
||
]
|
||
}
|
||
],
|
||
references: [
|
||
'ISO/IEC 27001:2022 §9.1 - Monitoraggio, misurazione, analisi e valutazione',
|
||
'ISO/IEC 27001:2022 Annex A.8.16 - Attività di monitoraggio',
|
||
'ISO/IEC 27001:2022 §10.2 - Non conformità e azioni correttive',
|
||
'Il monitoraggio periodico dei controlli è buona prassi (continuous control monitoring); gli obblighi normativi in Italia derivano dal D.Lgs. 138/2024.',
|
||
'NOTA: strumento di supporto organizzativo, non un parere legale.'
|
||
]
|
||
},
|
||
'internal-audits': {
|
||
title: 'Guida - Audit interni',
|
||
intro: 'Il modulo Audit interni gestisce il ciclo degli audit del SGSI previsto dalla clausola 9.2 della ISO/IEC 27001: programmi gli audit, conduci la checklist (clausole 4-10 ISO 27001 + controlli Annex A applicabili dal tuo SoA), registri gli esiti riga per riga, apri una non conformità sui punti non conformi e generi il report stampabile. È uno strumento di supporto organizzativo, non un parere legale.',
|
||
sections: [
|
||
{
|
||
heading: 'Programma audit',
|
||
items: [
|
||
'Crea un <strong>audit</strong> indicando titolo, ambito (scope), criteri (es. "ISO/IEC 27001:2022 cl.4-10 + Annex A"), data pianificata, data di esecuzione e auditor capo (un utente dell\'organizzazione oppure un ruolo dell\'organigramma).',
|
||
'Il sistema assegna automaticamente un <strong>codice progressivo</strong> (AUD-001, AUD-002, …) per organizzazione.',
|
||
'La <strong>data pianificata</strong> compare automaticamente nel <strong>calendario NIS2</strong> (Scadenziario).'
|
||
]
|
||
},
|
||
{
|
||
heading: 'Checklist di conduzione',
|
||
items: [
|
||
'Alla creazione la checklist viene <strong>pre-popolata</strong>: le <strong>clausole 4-10</strong> della ISO 27001 e i <strong>controlli Annex A</strong> marcati come applicabili nel tuo <strong>SoA</strong> (Modello SGSI). Parti già con la checklist, non da foglio bianco.',
|
||
'Per ogni voce scegli l\'<strong>esito</strong> (Da verificare, Conforme, Non conforme, Osservazione, Opportunità, Non applicabile) e annoti note/evidenze; il salvataggio è immediato.',
|
||
'Puoi aggiungere <strong>voci custom</strong> non previste dalle clausole o dall\'Annex A.'
|
||
]
|
||
},
|
||
{
|
||
heading: 'Non conformità e report',
|
||
items: [
|
||
'Sulle voci marcate <strong>Non conforme</strong> puoi premere <strong>Apri NC</strong>: il sistema crea una non conformità collegata (sorgente "audit") che confluisce nel modulo <strong>NCR/CAPA</strong>, dove ne gestisci root cause e azioni correttive.',
|
||
'Il pulsante <strong>Report</strong> apre un verbale di audit <strong>stampabile</strong> (HTML) con metadati, sintesi degli esiti, checklist completa e conclusioni: usa "Stampa / Salva PDF" del browser.'
|
||
]
|
||
},
|
||
{
|
||
heading: 'Riferimenti normativi',
|
||
items: [
|
||
'<strong>ISO/IEC 27001:2022 §9.2</strong>: l\'organizzazione conduce audit interni a intervalli pianificati per verificare che il SGSI sia conforme ai requisiti e attuato efficacemente.',
|
||
'<strong>NIST CSF 2.0 / GV.PO-02</strong>: la politica di sicurezza e i programmi di gestione sono rivisti e migliorati nel tempo (buona prassi anche per NIS2).',
|
||
'Le <strong>azioni</strong> correttive/preventive si gestiscono nel modulo NCR/CAPA.'
|
||
]
|
||
}
|
||
],
|
||
references: [
|
||
'ISO/IEC 27001:2022 - Clausola 9.2 Audit interni',
|
||
'ISO/IEC 27001:2022 - Clausole 4-10 e Annex A (controlli del SoA)',
|
||
'NIST CSF 2.0 / GV.PO-02 - Revisione e miglioramento del programma di sicurezza',
|
||
'Gli audit interni e il riesame periodico sono buona prassi di governance; gli obblighi normativi in Italia derivano dal D.Lgs. 138/2024.',
|
||
'NOTA: strumento di supporto organizzativo, non un parere legale.'
|
||
]
|
||
},
|
||
'management-review': {
|
||
title: 'Guida - Riesame di Direzione (ISO 27001 §9.3)',
|
||
intro: 'Il Riesame di Direzione e il momento in cui la direzione valuta periodicamente l\'idoneita, l\'adeguatezza e l\'efficacia del Sistema di Gestione della Sicurezza delle Informazioni (SGSI). Il modulo produce il VERBALE con gli elementi in ingresso (aggregati automaticamente dai moduli esistenti) e in uscita (le decisioni). E\' uno strumento di SUPPORTO e PRE-AUDIT: non sostituisce l\'auditor ne costituisce una certificazione.',
|
||
sections: [
|
||
{
|
||
heading: 'Come si compila un verbale',
|
||
items: [
|
||
'<strong>1. Crea il riesame</strong>: indica data, periodo di riferimento (es. "2026 H1"), presidente e partecipanti. Il codice RD-AAAA-NN viene generato automaticamente.',
|
||
'<strong>2. Aggrega i dati</strong>: il pulsante "Aggrega dati" raccoglie gli elementi in ingresso §9.3.2 da tutta la piattaforma (non conformita, audit interni, rischi, SoA, obiettivi, formazione, stakeholder, normativa, scadenze).',
|
||
'<strong>3. Rivedi e completa</strong>: gli input aggregati sono una proposta da rivedere; aggiungi le conclusioni della direzione.',
|
||
'<strong>4. Registra le decisioni</strong>: ogni decisione (elemento in uscita §9.3.3) ha un responsabile (ruolo dell\'organigramma), una scadenza e uno stato. Puo essere collegata a un\'azione CAPA.',
|
||
'<strong>5. Approva e congela</strong>: l\'approvazione (riservata all\'org_admin) salva uno snapshot immutabile degli input al momento del verbale e blocca ogni ulteriore modifica.'
|
||
]
|
||
},
|
||
{
|
||
heading: 'Elementi in ingresso aggregati automaticamente',
|
||
items: [
|
||
'Le sezioni vengono lette in modo difensivo: se un modulo non e ancora attivo (es. Audit interni) o non ha dati, la sezione mostra "dato non disponibile" senza bloccare le altre.',
|
||
'Tutti i dati sono filtrati per la tua organizzazione e fotografati nello snapshot al momento dell\'approvazione, cosi il verbale resta coerente nel tempo.',
|
||
'Dal verbale puoi aprire la versione stampabile (pulsante "Verbale") da archiviare o presentare in audit.'
|
||
]
|
||
}
|
||
],
|
||
references: [
|
||
'ISO/IEC 27001:2022 §9.3 - Riesame di direzione (elementi in ingresso 9.3.2 / in uscita 9.3.3)',
|
||
'D.Lgs. 138/2024 art. 23 - Obblighi di governance degli organi di amministrazione e direttivi (NIS2 GV.PO-02)',
|
||
'NOTA: ISO e best practice non vincolante; gli obblighi italiani derivano da NIS2 / D.Lgs. 138/2024 / Determinazioni ACN.'
|
||
]
|
||
},
|
||
'calendario': {
|
||
title: 'Guida - Calendario scadenze',
|
||
intro: 'Il Calendario raccoglie in un unico posto ogni scadenza del sistema: incidenti Art.23, revisioni di policy e controlli, trattamenti di rischio, non conformita e azioni correttive, formazione, attivita stakeholder, scadenziario delle revisioni periodiche, audit interni e decisioni del riesame di direzione. E\' un aggregatore in SOLA LETTURA, sempre coerente con i moduli sorgente: ogni scadenza viene calcolata in tempo reale e rimanda direttamente all\'elemento che la genera. E\' uno strumento di supporto operativo, non un parere legale.',
|
||
sections: [
|
||
{
|
||
heading: 'Le viste',
|
||
items: [
|
||
'<strong>Griglia mensile</strong>: ogni giorno mostra dei pallini colorati, uno per scadenza. Il colore indica il tipo, mentre la navigazione ‹ / › sposta il mese e "Oggi" torna al mese corrente. Clic su un giorno apre l\'elenco delle sue scadenze.',
|
||
'<strong>Lista</strong>: tutte le scadenze ordinate per data, con quelle <strong>in ritardo</strong> in cima. Clic sul nome apre l\'elemento sorgente (incidente, policy, rischio, ...).'
|
||
]
|
||
},
|
||
{
|
||
heading: 'Stato delle scadenze',
|
||
items: [
|
||
'<strong>In ritardo</strong> (rosso): la data e\' gia\' passata e la scadenza non risulta assolta.',
|
||
'<strong>In scadenza</strong> (arancione): mancano 14 giorni o meno.',
|
||
'<strong>Futura</strong> (blu): oltre 14 giorni.',
|
||
'<strong>Assolta</strong> (verde): la scadenza e\' stata chiusa/completata nel modulo di origine.'
|
||
]
|
||
},
|
||
{
|
||
heading: 'Filtri',
|
||
items: [
|
||
'Puoi filtrare per <strong>tipo</strong> (incidenti, policy, rischi, controlli, NC/CAPA, formazione, stakeholder, revisioni, audit interni, riesame) e per <strong>stato</strong>, combinando le due dimensioni.',
|
||
'I conteggi in alto (in ritardo / in scadenza / future / assolte) danno il colpo d\'occhio complessivo sul periodo caricato.'
|
||
]
|
||
},
|
||
{
|
||
heading: 'Da dove arrivano le scadenze',
|
||
items: [
|
||
'Il calendario non duplica i dati: legge le scadenze direttamente dai moduli. Per modificarne una, apri l\'elemento dal link e aggiornala nel suo modulo (es. la data di revisione di una policy si cambia in Policy).',
|
||
'Le scadenze dei moduli Audit interni e Riesame di direzione compaiono automaticamente non appena quei moduli sono attivi.'
|
||
]
|
||
}
|
||
],
|
||
references: [
|
||
'ISO/IEC 27001:2022, cl. 9.1 (monitoraggio e misurazione) e 9.3 (riesame di direzione) - buona prassi',
|
||
'NIST CSF 2.0 / GV.PO-02, GV.SC-07, DE.CM (best practice) - revisione periodica e monitoraggio continuo',
|
||
'NOTA: il calendario e\' uno strumento di supporto al monitoraggio delle scadenze; gli obblighi normativi derivano da NIS2 (Dir. UE 2022/2555) e dal D.Lgs. 138/2024.'
|
||
]
|
||
},
|
||
'stakeholder-activities': {
|
||
title: 'Guida - Attività stakeholder',
|
||
intro: 'Le attività verso gli stakeholder ti permettono di inviare questionari (da compilare o per firma di avvenuta lettura) e pianificare azioni, collegandoli alle procedure e alle misure/requisiti, con data e scadenza sul calendario NIS2. Strumento di supporto organizzativo, non un parere legale.',
|
||
sections: [
|
||
{
|
||
heading: 'Questionari tipo',
|
||
items: [
|
||
'Un <strong>questionario tipo</strong> è un modello riutilizzabile: scegli se è un <strong>questionario da compilare</strong> (con domande) o una <strong>richiesta di firma di avvenuta lettura</strong> (un testo da leggere e confermare).',
|
||
'Puoi collegare il questionario tipo alle <strong>procedure</strong> e alle <strong>misure/requisiti</strong> del framework (collegamento molti-a-molti), per documentare a cosa si riferisce.'
|
||
]
|
||
},
|
||
{
|
||
heading: 'Attività e assegnazione',
|
||
items: [
|
||
'Crea un\'<strong>attività</strong> basata (o no) su un questionario tipo e assegnala <strong>per codice stakeholder</strong> (tutti quelli di quel tipo) oppure a <strong>stakeholder singoli</strong> selezionati.',
|
||
'Indica una <strong>data pianificata</strong> e una <strong>scadenza</strong>: la scadenza compare automaticamente nel <strong>calendario NIS2</strong> (Scadenziario).',
|
||
'Con <strong>Invia</strong> il sistema genera un <strong>magic-link</strong> per ogni destinatario. Poiché le email sono disattivate, copia e condividi i link manualmente; gli stakeholder rispondono dal portale senza account.'
|
||
]
|
||
},
|
||
{
|
||
heading: 'Riferimenti normativi',
|
||
items: [
|
||
'<strong>GV.SC-02</strong>: ruoli e responsabilità verso fornitori, clienti e partner.',
|
||
'<strong>GV.SC-05 / GV.SC-07</strong>: requisiti di sicurezza negli accordi e monitoraggio/revisione delle terze parti nel tempo.',
|
||
'Le <strong>azioni</strong> correttive/preventive si gestiscono nel modulo NCR/CAPA.'
|
||
]
|
||
}
|
||
],
|
||
references: [
|
||
'NIST CSF 2.0 / GV.SC-02, GV.SC-05, GV.SC-07 - Coordinamento, accordi e monitoraggio delle terze parti',
|
||
'Obblighi: gestione della supply chain ai sensi dell\'art. 24 del D.Lgs. 138/2024.',
|
||
'NOTA: strumento di supporto organizzativo, non un parere legale.'
|
||
]
|
||
},
|
||
|
||
// ─── Risk Management ─────────────────────────────────────────
|
||
'risks': {
|
||
title: 'Guida - Gestione Rischi',
|
||
intro: 'In questa pagina i rischi corrispondono ai requisiti del framework di sicurezza applicabili alla tua organizzazione e alla loro valutazione. I requisiti derivano dalle misure di sicurezza di base della Determinazione ACN n. 164179 del 14/4/2025 (Allegato 1 per i soggetti importanti, Allegato 2 per gli essenziali). Ogni voce rappresenta il rischio derivante dal mancato o parziale soddisfacimento del requisito, non il requisito in se\'. Tutto in conformita\' con l\'art. 24 del D.Lgs. 138/2024 (che recepisce l\'art. 21 della Direttiva (UE) 2022/2555).',
|
||
sections: [
|
||
{
|
||
heading: 'Come leggere i rischi in questa pagina',
|
||
items: [
|
||
'La <strong>prima tabella</strong> elenca i rischi <strong>derivati dai requisiti</strong> del framework di sicurezza: ogni voce e\' il <strong>rischio di non conformita\'</strong> legato al mancato o parziale soddisfacimento di un requisito, <strong>non il requisito in se\'</strong>. E\' un elenco in <strong>sola lettura</strong>.',
|
||
'Il codice <strong>RSK-‹misura›Com.‹n›</strong> e\' una <strong>codifica interna di NIS2 Agile</strong>; ‹misura› (es. GV.OC-04) e\' il codice della misura del Framework Nazionale richiamato dalla Determinazione ACN 164179/2025. <strong>Non</strong> e\' un codice o numero ufficiale ACN.',
|
||
'La tabella ha <strong>12 colonne</strong>: <strong>Codice rischio</strong> (cliccabile, apre la voce in Misure e Requisiti), <strong>Descrizione rischio</strong> (il rischio di default associato al requisito nel framework), e due valutazioni affiancate — <strong>RISCHIO INERENTE</strong> (prima del trattamento) e <strong>RISCHIO RESIDUO</strong> (dopo il trattamento). Ogni valutazione ha Probabilità, Impatto e Valutazione (= Probabilità × Impatto, scala 1–25).',
|
||
'I profili <strong>Amministratore</strong>, <strong>Compliance Manager</strong> e <strong>super admin</strong> compilano <strong>direttamente in tabella</strong> Probabilità e Impatto (1–5): la Valutazione si calcola da sola e il salvataggio è automatico. La <strong>Probabilità</strong> è la probabilità che la minaccia sfrutti la carenza del requisito; l\'<strong>Impatto</strong> (scala 1–5, non euro) è la severità della non conformità o del conseguente incidente.',
|
||
'La colonna <strong>Alert</strong> compare in base al punteggio inerente: <em>Azione Prioritaria</em> (15–25), <em>Azione Critica</em> (9–12), <em>Azione Necessaria</em> (3–8), <em>Azione Suggerita</em> (1–2). Le soglie sono una <strong>scelta metodologica</strong> dell\'organizzazione (rif. ISO/IEC 27001 §6.1.2), <strong>non un obbligo di legge</strong>. Cliccando l\'Alert si apre l\'elenco delle azioni passate su quel rischio e si può <strong>creare una nuova azione</strong>.',
|
||
'La colonna <strong>Esito residuo</strong> segnala se il rischio residuo va <strong>rivalutato</strong> (punteggio 9–25) o è <strong>adeguato</strong> (1–8). <strong>Importante</strong>: il punteggio di rischio residuo <strong>non</strong> determina automaticamente lo <em>stato di conformità</em> del requisito. La <strong>conformità</strong> dipende dall\'attuazione della misura e dalle evidenze e si aggiorna in modo esplicito dal link "stato" nella colonna Rischio Residuo. Sono due piani distinti (punteggio di rischio ≠ conformità al requisito).',
|
||
'La tabella elenca <strong>solo i requisiti applicabili alla tua classe</strong> (importante → Allegato 1, essenziale → Allegato 2 della Determinazione ACN 164179/2025). Se l\'elenco e\' lungo, il riquadro <strong>scorre verticalmente</strong> con l\'intestazione fissa.',
|
||
'In <strong>fondo alla pagina</strong> trovi la sezione <strong>Rischi trasversali (approccio multirischio / all-hazards)</strong> — comprimibile, riservata ai <strong>profili amministrativi</strong> — per registrare le minacce non riconducibili a un singolo requisito (ambiente fisico, catena di fornitura, eventi naturali, errore umano): copre l\'approccio multirischio richiesto dall\'art. 24 D.Lgs. 138/2024 (che recepisce l\'art. 21 §2 della Direttiva (UE) 2022/2555). Si distingue dai «rischi di non conformità» derivati dai requisiti.',
|
||
'La tabella dei <strong>Rischi trasversali</strong> ha le <strong>stesse 12 colonne</strong> dei rischi dai requisiti (valutazione inerente e residua, Alert, Esito residuo). In testa alla tabella ci sono i tasti <strong>AI Suggerisci</strong> e <strong>Nuovo Rischio</strong>; ogni riga ha un tasto per <strong>eliminare</strong> il rischio. Sotto la tabella c\'è una <strong>seconda matrice 5×5</strong> dedicata ai soli rischi trasversali, con lo stesso tasto Inerente/Residuo.'
|
||
]
|
||
},
|
||
{
|
||
heading: 'Matrice di Rischio',
|
||
items: [
|
||
'La matrice 5×5 (Probabilità × Impatto) e\' uno <strong>strumento di rappresentazione</strong>, non un obbligo normativo: l\'art. 24 D.Lgs. 138/2024 richiede un\'analisi dei rischi proporzionata e con approccio multirischio, senza imporre una metodologia specifica.',
|
||
'Le celle hanno <strong>4 fasce di rischio</strong> (dal prodotto Probabilità × Impatto): <strong>1–2 basso</strong> (verde), <strong>3–8 medio</strong> (arancione), <strong>9–12 alto</strong> (rosso tenue), <strong>15–25 critico</strong> (rosso). Sono le stesse soglie della colonna Alert; una <strong>scelta metodologica</strong> dell\'organizzazione (ISO/IEC 27001 §6.1.2), <strong>non un obbligo di legge</strong>.',
|
||
'Il tasto <strong>Inerente / Residuo</strong> sopra la matrice mostra i giudizi <strong>prima</strong> o <strong>dopo</strong> il trattamento.',
|
||
'Ci sono <strong>due matrici</strong>: una per i <strong>rischi dai requisiti</strong> (subito sotto la prima tabella) e una per i <strong>rischi trasversali</strong> (in fondo). La matrice dei requisiti <strong>esclude i "non applicabili"</strong> (per classe o marcati tali).'
|
||
]
|
||
},
|
||
{
|
||
heading: 'Livelli di Gravita\'',
|
||
items: [
|
||
'<span style="color:var(--secondary)"><strong>Basso</strong></span> - rischio accettabile, monitoraggio periodico.',
|
||
'<span style="color:var(--warning)"><strong>Medio</strong></span> - richiede attenzione, pianificare azioni di mitigazione.',
|
||
'<span style="color:#f97316"><strong>Alto</strong></span> - richiede intervento prioritario.',
|
||
'<span style="color:var(--danger)"><strong>Critico</strong></span> - richiede intervento immediato, escalation al management.'
|
||
]
|
||
},
|
||
{
|
||
heading: 'Opzioni di Trattamento',
|
||
items: [
|
||
'<strong>Mitigare</strong> - implementare controlli per ridurre probabilita\' o impatto.',
|
||
'<strong>Accettare</strong> - accettare consapevolmente il rischio (documentando la decisione).',
|
||
'<strong>Trasferire</strong> - trasferire il rischio a terzi (es. assicurazione, outsourcing).',
|
||
'<strong>Evitare</strong> - eliminare l\'attivita\' o la condizione che genera il rischio.'
|
||
]
|
||
},
|
||
{
|
||
heading: 'Registro e Monitoraggio',
|
||
items: [
|
||
'Ogni rischio registrato include: descrizione, categoria, beni coinvolti, owner e piano di trattamento.',
|
||
'Lo stato di ogni rischio e\' tracciato nel tempo con lo storico delle modifiche.',
|
||
'I rischi possono essere collegati a beni (inventario), incidenti e controlli di compliance.',
|
||
'La <strong>Matrice Rischi</strong> è <strong>sempre visibile</strong> sotto la tabella e si aggiorna in tempo reale: eliminando un rischio dalla vista dettaglio, la matrice si ricalcola automaticamente senza richiedere un refresh manuale.'
|
||
]
|
||
}
|
||
],
|
||
references: [
|
||
'Art. 24 D.Lgs. 138/2024 - Approccio basato sulla valutazione dei rischi (risk-based approach) (recepisce l\'art. 21, par. 1, della Direttiva (UE) 2022/2555)',
|
||
'Art. 24 D.Lgs. 138/2024 - Politiche di analisi dei rischi e di sicurezza dei sistemi informatici (recepisce l\'art. 21, par. 2, lett. a, della Direttiva (UE) 2022/2555)',
|
||
'Art. 24 D.Lgs. 138/2024 - Politiche e procedure per valutare l\'efficacia delle misure (recepisce l\'art. 21, par. 2, lett. f, della Direttiva (UE) 2022/2555)',
|
||
'Considerando 79 - Proporzionalita\' delle misure rispetto ai rischi'
|
||
]
|
||
},
|
||
|
||
// ─── Incident Management ─────────────────────────────────────
|
||
'incidents': {
|
||
title: 'Guida - Gestione Incidenti',
|
||
intro: 'Il modulo di Gestione Incidenti supporta l\'intero ciclo di vita degli incidenti di sicurezza, dalla rilevazione alla chiusura, nel rispetto dei tempi di notifica previsti dall\'art. 25 del D.Lgs. 138/2024 (che recepisce l\'art. 23 della Direttiva (UE) 2022/2555).',
|
||
sections: [
|
||
{
|
||
heading: 'Timeline di Notifica NIS2',
|
||
items: [
|
||
'<strong>Early Warning (24 ore)</strong> - preallarme al CSIRT/autorita\' competente entro 24 ore dalla conoscenza dell\'incidente significativo (obbligo art. 25 D.Lgs. 138/2024, recepisce l\'art. 23 della Direttiva (UE) 2022/2555).',
|
||
'<strong>Notifica (72 ore)</strong> - notifica completa entro 72 ore con valutazione iniziale, gravita\', impatto e indicatori di compromissione.',
|
||
'<strong>Report Finale (un mese)</strong> - relazione finale dettagliata entro un mese dalla notifica, con descrizione, causa, misure adottate e impatto transfrontaliero.',
|
||
'La piattaforma traccia automaticamente le scadenze e invia promemoria per ciascuna fase.'
|
||
]
|
||
},
|
||
{
|
||
heading: 'Livelli di Gravita\'',
|
||
items: [
|
||
'<strong>Bassa</strong> - impatto limitato, nessuna interruzione di servizio significativa.',
|
||
'<strong>Media</strong> - impatto moderato su operazioni o dati, richiede intervento pianificato.',
|
||
'<strong>Alta</strong> - impatto significativo su servizi essenziali o dati sensibili.',
|
||
'<strong>Critica</strong> - interruzione grave di servizi essenziali, compromissione massiva di dati, impatto transfrontaliero.'
|
||
]
|
||
},
|
||
{
|
||
heading: 'Ciclo di Vita dell\'Incidente',
|
||
items: [
|
||
'<strong>Rilevazione</strong> - identificazione e registrazione iniziale dell\'incidente.',
|
||
'<strong>Analisi</strong> - valutazione di gravita\', impatto e perimetro.',
|
||
'<strong>Contenimento</strong> - azioni immediate per limitare il danno.',
|
||
'<strong>Risoluzione</strong> - eliminazione della causa e ripristino dei servizi.',
|
||
'<strong>Chiusura</strong> - documentazione delle lezioni apprese e miglioramenti.'
|
||
]
|
||
},
|
||
{
|
||
heading: 'Funzionalita\' Avanzate',
|
||
items: [
|
||
'Collegamento automatico con il registro dei rischi e gli beni coinvolti.',
|
||
'Timeline visuale con tutti gli aggiornamenti e le comunicazioni.',
|
||
'Esportazione del report per la notifica alle autorita\' competenti.'
|
||
]
|
||
}
|
||
],
|
||
references: [
|
||
'Art. 25 D.Lgs. 138/2024 - Obbligo di notifica degli incidenti significativi (recepisce l\'art. 23, par. 1, della Direttiva (UE) 2022/2555)',
|
||
'Art. 25 D.Lgs. 138/2024 - Early warning entro 24 ore (recepisce l\'art. 23, par. 4, lett. a, della Direttiva (UE) 2022/2555)',
|
||
'Art. 25 D.Lgs. 138/2024 - Notifica entro 72 ore (recepisce l\'art. 23, par. 4, lett. b, della Direttiva (UE) 2022/2555)',
|
||
'Art. 25 D.Lgs. 138/2024 - Relazione finale entro un mese (recepisce l\'art. 23, par. 4, lett. d, della Direttiva (UE) 2022/2555)',
|
||
'Determinazione ACN n. 164179 del 14/04/2025 - Classificazione incidenti significativi (Allegato 3 soggetti importanti, Allegato 4 soggetti essenziali) e tipologie IS-1/IS-2/IS-3/IS-4',
|
||
'Determinazione ACN n. 333017/2025 - Piattaforma digitale ACN per le notifiche'
|
||
]
|
||
},
|
||
|
||
// ─── Policy Management ───────────────────────────────────────
|
||
'policies': {
|
||
title: 'Guida - Gestione Policy',
|
||
intro: 'Il modulo di Gestione Policy consente di creare, gestire e mantenere aggiornate le policy di sicurezza informatica richieste dalla Direttiva NIS2. Include un generatore di policy basato su intelligenza artificiale.',
|
||
sections: [
|
||
{
|
||
heading: 'Ciclo di Vita delle Policy',
|
||
items: [
|
||
'<strong>Bozza</strong> - la policy e\' in fase di stesura, modificabile liberamente.',
|
||
'<strong>In Revisione</strong> - la policy e\' stata sottoposta a revisione da parte dei responsabili.',
|
||
'<strong>Approvata</strong> - la policy e\' stata approvata dal management.',
|
||
'<strong>Pubblicata</strong> - la policy e\' attiva e comunicata a tutto il personale.'
|
||
]
|
||
},
|
||
{
|
||
heading: 'Generazione con AI',
|
||
items: [
|
||
'La funzione <strong>Genera con AI</strong> crea automaticamente bozze di policy conformi NIS2.',
|
||
'L\'AI utilizza il contesto della tua organizzazione (settore, dimensione, classificazione) per personalizzare il contenuto.',
|
||
'Le policy generate includono: obiettivo, ambito di applicazione, responsabilita\', procedure e riferimenti normativi.',
|
||
'Le bozze AI sono contrassegnate da un <strong>banner arancione di avviso</strong> che ricorda l\'obbligo di revisione prima dell\'approvazione. Il banner puo\' essere chiuso premendo la X.'
|
||
]
|
||
},
|
||
{
|
||
heading: 'Framework di Compliance NIS2',
|
||
items: [
|
||
'Ogni policy e\' collegata a una o piu\' categorie dell\'art. 24 del D.Lgs. 138/2024 (che recepisce l\'art. 21, par. 2, della Direttiva (UE) 2022/2555).',
|
||
'Il sistema tiene traccia della copertura delle policy rispetto ai requisiti normativi.',
|
||
'Le policy scadute o non aggiornate vengono evidenziate automaticamente.'
|
||
]
|
||
},
|
||
{
|
||
heading: 'Matrice RACI sulla policy',
|
||
items: [
|
||
'Nel dettaglio di ogni policy la sezione <strong>Matrice RACI</strong> collega i ruoli dell\'organigramma alla policy: <strong>R</strong> (Responsible, chi la esegue), <strong>A</strong> (Accountable, chi la approva e ne risponde), <strong>C</strong> (Consulted, chi va consultato), <strong>I</strong> (Informed, chi va informato).',
|
||
'In stato <strong>Bozza</strong> l\'assegnazione e\' libera. Per <strong>approvare</strong> la policy sono richiesti almeno un ruolo <strong>R</strong> e un ruolo <strong>A</strong>: e\' una regola organizzativa del prodotto (non un obbligo normativo) che evita policy prive di un responsabile e di un approvatore chiari.',
|
||
'I ruoli si definiscono nell\'<strong>Organigramma</strong>; se non vedi alcun ruolo, aggiungilo prima li\'. La modifica della matrice e\' riservata ad Amministratore e Compliance Manager.',
|
||
'La matrice RACI e\' uno strumento di supporto organizzativo, non un parere legale.'
|
||
]
|
||
},
|
||
{
|
||
heading: 'Collegamento con Misure e Requisiti',
|
||
items: [
|
||
'Le voci che in passato erano chiamate "Procedure" sono ora gestite qui come <strong>Policy</strong>: i due archivi sono stati unificati in un unico elenco.',
|
||
'Nella colonna <strong>Requisito NIS2</strong> dell\'elenco policy trovi i requisiti collegati a ciascuna policy; il link apre la pagina <strong>Misure e Requisiti</strong> posizionandosi sul requisito. Viceversa, la colonna "Policy" di quella pagina riporta alla policy collegata.'
|
||
]
|
||
},
|
||
{
|
||
heading: 'Gestione Versioni',
|
||
items: [
|
||
'Ogni modifica crea una nuova versione della policy con data e autore.',
|
||
'E\' possibile confrontare versioni e ripristinare versioni precedenti.',
|
||
'Lo storico completo e\' disponibile per finalita\' di audit.'
|
||
]
|
||
}
|
||
],
|
||
references: [
|
||
'Art. 24 D.Lgs. 138/2024 - Politiche di analisi dei rischi e di sicurezza dei sistemi informatici (recepisce l\'art. 21, par. 2, lett. a, della Direttiva (UE) 2022/2555)',
|
||
'Art. 24 D.Lgs. 138/2024 - Sicurezza nell\'acquisizione, sviluppo e manutenzione dei sistemi (recepisce l\'art. 21, par. 2, lett. e, della Direttiva (UE) 2022/2555)',
|
||
'Art. 24 D.Lgs. 138/2024 - Uso di crittografia e cifratura (recepisce l\'art. 21, par. 2, lett. j, della Direttiva (UE) 2022/2555)',
|
||
'Art. 23 D.Lgs. 138/2024 - Governance - Responsabilita\' degli organi di gestione (recepisce l\'art. 20 della Direttiva (UE) 2022/2555)'
|
||
]
|
||
},
|
||
|
||
// ─── Supply Chain Security ───────────────────────────────────
|
||
'supply-chain': {
|
||
title: 'Guida - Sicurezza Supply Chain',
|
||
intro: 'Il modulo di Sicurezza della Supply Chain consente di gestire e valutare i rischi legati a fornitori e terze parti, in conformita\' con l\'art. 24 del D.Lgs. 138/2024 (che recepisce l\'art. 21, par. 2, lett. d, della Direttiva (UE) 2022/2555).',
|
||
sections: [
|
||
{
|
||
heading: 'Registro Fornitori',
|
||
items: [
|
||
'Il <strong>registro fornitori</strong> centralizza tutte le informazioni sui fornitori critici.',
|
||
'Per ogni fornitore sono registrati: servizi forniti, dati di contatto, contratti attivi e livello di criticita\'.',
|
||
'I fornitori possono essere classificati per tipologia (ICT, servizi, consulenza, etc.).'
|
||
]
|
||
},
|
||
{
|
||
heading: 'Valutazione del Rischio Fornitore',
|
||
items: [
|
||
'Ogni fornitore puo\' essere sottoposto a una <strong>valutazione del rischio</strong> strutturata.',
|
||
'La valutazione copre: sicurezza informatica, continuita\' operativa, conformita\' normativa e dipendenza.',
|
||
'Il <strong>punteggio di rischio</strong> viene calcolato automaticamente sulla base delle risposte.',
|
||
'I fornitori ad alto rischio vengono evidenziati per un monitoraggio rafforzato.'
|
||
]
|
||
},
|
||
{
|
||
heading: 'Monitoraggio Continuo',
|
||
items: [
|
||
'La piattaforma traccia scadenze contrattuali e revisioni periodiche.',
|
||
'Le variazioni di rischio vengono segnalate automaticamente.',
|
||
'E\' possibile associare requisiti di sicurezza specifici a ciascun contratto.'
|
||
]
|
||
},
|
||
{
|
||
heading: 'Panoramica Rischi',
|
||
items: [
|
||
'La <strong>Panoramica Rischi</strong> mostra la distribuzione dei fornitori per livello di rischio.',
|
||
'Statistiche aggregate su: numero di fornitori, valutazioni scadute, fornitori ad alto rischio.',
|
||
'Esportazione dei dati per reporting e audit.'
|
||
]
|
||
},
|
||
{
|
||
heading: 'Importazione fornitori (CSV / API)',
|
||
items: [
|
||
'Puoi caricare i fornitori in tre modi: manualmente, via <strong>importazione CSV</strong> (pulsante "Importa") o tramite <strong>API key</strong> dell\'azienda per l\'integrazione con gestionali/ERP.',
|
||
'Colonne CSV riconosciute: <code>name</code> (obbligatoria), <code>vat_number</code>, <code>contact_email</code>, <code>contact_name</code>, <code>service_type</code>, <code>criticality</code>, <code>category_slug</code>, <code>external_ref</code>.',
|
||
'I record con lo stesso <code>external_ref</code> vengono aggiornati (upsert): puoi reimportare senza creare duplicati.'
|
||
]
|
||
},
|
||
{
|
||
heading: 'Categorie e questionari configurabili',
|
||
items: [
|
||
'I fornitori possono essere classificati per <strong>categoria</strong> (set predefinito personalizzabile: Cloud, MSSP, Telco, Data center, Software/TIC, ecc.).',
|
||
'Il template <strong>"NIS2 base"</strong> copre i requisiti ACN GV.SC: i 5 fattori di rischio di GV.SC-07, gli ambiti di GV.SC-01, i ruoli di GV.SC-02 e la conformita\' contrattuale di GV.SC-05.',
|
||
'I template sono <strong>versionabili</strong> e le domande estensibili, anche per esigenze di procedure interne (privacy, 231, ESG, qualita\').',
|
||
'<em>Nota interpretativa:</em> l\'elenco dei fornitori "critici" e la profondita\' del questionario dipendono dalla criticita\' che assegni. Lo strumento supporta la valutazione, ma la decisione finale di perimetro resta una scelta documentata dell\'organizzazione e non costituisce parere legale.'
|
||
]
|
||
}
|
||
],
|
||
references: [
|
||
'Art. 24 D.Lgs. 138/2024 - Sicurezza della catena di approvvigionamento (recepisce l\'art. 21, par. 2, lett. d, della Direttiva (UE) 2022/2555)',
|
||
'Art. 24 D.Lgs. 138/2024 - Valutazione dei rischi specifici per ciascun fornitore diretto (recepisce l\'art. 21, par. 3, della Direttiva (UE) 2022/2555)',
|
||
'Determinazione ACN n. 164179 del 14/04/2025, Allegati 1 e 2 - Misure GV.SC-01, GV.SC-02, GV.SC-04, GV.SC-05, GV.SC-07 (Art.21.2(d) Dir. 2022/2555)',
|
||
'Considerando 85 - Qualita\' e resilienza dei prodotti e servizi ICT',
|
||
'Considerando 86 - Gestione dei rischi della supply chain'
|
||
]
|
||
},
|
||
|
||
// ─── Training & Awareness ────────────────────────────────────
|
||
'training': {
|
||
title: 'Guida - Formazione e Awareness',
|
||
intro: 'Il modulo di Formazione gestisce i programmi di sensibilizzazione e formazione sulla sicurezza informatica, come richiesto dall\'art. 23 del D.Lgs. 138/2024 (che recepisce l\'art. 20 della Direttiva (UE) 2022/2555) che impone la formazione obbligatoria per gli organi di gestione.',
|
||
sections: [
|
||
{
|
||
heading: 'Formazione Obbligatoria NIS2',
|
||
items: [
|
||
'L\'art. 23 del D.Lgs. 138/2024 (che recepisce l\'art. 20 della Direttiva (UE) 2022/2555) richiede che i <strong>membri degli organi di gestione</strong> seguano una formazione specifica.',
|
||
'La formazione deve consentire di individuare i rischi e valutare le pratiche di gestione del rischio.',
|
||
'La piattaforma traccia la conformita\' a questo obbligo per ciascun membro del management.'
|
||
]
|
||
},
|
||
{
|
||
heading: 'Gestione Corsi',
|
||
items: [
|
||
'Crea e gestisci <strong>corsi di formazione</strong> su tematiche NIS2 e sicurezza informatica.',
|
||
'Ogni corso include: titolo, descrizione, durata stimata, contenuti e materiali.',
|
||
'I corsi possono essere categorizzati per argomento e livello di difficolta\'.',
|
||
'Supporto per corsi interni ed esterni con tracciamento unificato.'
|
||
]
|
||
},
|
||
{
|
||
heading: 'Assegnazione e Tracciamento',
|
||
items: [
|
||
'Assegna corsi a singoli utenti o gruppi con <strong>scadenze personalizzate</strong>.',
|
||
'La dashboard mostra lo stato di completamento per ciascun assegnatario.',
|
||
'I corsi scaduti vengono evidenziati e possono generare notifiche automatiche.',
|
||
'Lo storico di completamento e\' disponibile per audit e compliance.'
|
||
]
|
||
},
|
||
{
|
||
heading: 'Report di Compliance',
|
||
items: [
|
||
'Visualizza il tasso di completamento complessivo della formazione.',
|
||
'Identifica gli utenti con formazione scaduta o mancante.',
|
||
'Genera report per dimostrare la conformita\' all\'art. 23 del D.Lgs. 138/2024 (recepisce l\'art. 20, par. 2, della Direttiva (UE) 2022/2555) in sede di audit.'
|
||
]
|
||
}
|
||
],
|
||
references: [
|
||
'Art. 23 D.Lgs. 138/2024 - Formazione obbligatoria per gli organi di gestione (recepisce l\'art. 20, par. 2, della Direttiva (UE) 2022/2555)',
|
||
'Art. 23 D.Lgs. 138/2024 - Responsabilita\' degli organi di gestione nell\'approvazione delle misure (recepisce l\'art. 20, par. 1, della Direttiva (UE) 2022/2555)',
|
||
'Art. 24 D.Lgs. 138/2024 - Pratiche di igiene informatica di base e formazione in materia di cibersicurezza (recepisce l\'art. 21, par. 2, lett. g, della Direttiva (UE) 2022/2555)',
|
||
'Considerando 89 - Formazione regolare per dipendenti e management'
|
||
]
|
||
},
|
||
|
||
// ─── Inventario ─────────────────────────────────────────
|
||
'assets': {
|
||
title: 'Guida - Inventario',
|
||
intro: 'Il modulo Inventario consente di catalogare e gestire i beni ICT (hardware e software) dell\'organizzazione, fondamentale per la gestione dei rischi e la sicurezza delle reti e dei sistemi informativi ai sensi dell\'art. 24 del D.Lgs. 138/2024 (che recepisce l\'art. 21 della Direttiva (UE) 2022/2555).',
|
||
sections: [
|
||
{
|
||
heading: 'Le due voci dell\'inventario',
|
||
items: [
|
||
'La normativa prevede <strong>due sole voci principali</strong>: <strong>ID.AM-01 Hardware</strong> (apparati fisici: dispositivi IT, IoT, OT e mobili) e <strong>ID.AM-02 Software, servizi e sistemi</strong> (applicazioni commerciali/open-source/custom, servizi, sistemi, API).',
|
||
'Il dettaglio si esprime con le <strong>sottoclassi</strong>: alcune di default (es. Server, Dispositivi di rete, Applicazioni software, Basi dati e archivi) e altre che <strong>puoi aggiungere tu</strong> con "+ aggiungi" accanto al campo Sottoclasse.',
|
||
'Le due voci principali non sono modificabili; le sottoclassi organizzano il tuo inventario sotto di esse.',
|
||
'I flussi di rete (ID.AM-03, solo soggetti essenziali) e i servizi dei fornitori (ID.AM-04) sono registri distinti, non voci dell\'inventario asset.'
|
||
]
|
||
},
|
||
{
|
||
heading: 'Livelli di Criticita\'',
|
||
items: [
|
||
'Ogni bene ha un <strong>livello di criticita\'</strong> che ne determina la priorita\' nella gestione del rischio.',
|
||
'La criticita\' viene valutata in base a: impatto sulla continuita\' operativa, dati trattati, esposizione esterna.',
|
||
'I beni critici sono soggetti a controlli di sicurezza rafforzati.',
|
||
'Il livello di criticita\' influenza la valutazione dei rischi associati.'
|
||
]
|
||
},
|
||
{
|
||
heading: 'Rilevanza NIS2 (scoring 0-100)',
|
||
items: [
|
||
'Il pulsante <strong>Valuta Rilevanza NIS2</strong> applica una metodologia di scoring documentata a 6 criteri pesati: Criticita Operativa (0-25), Impatto Interruzione (0-25), Dati Trattati (0-20), Dipendenze (0-15), Esposizione (0-10), Obblighi Normativi (0-5).',
|
||
'Un sistema e considerato <strong>rilevante NIS2 quando il punteggio ≥ 40</strong>. Classi: ≥80 Critico, 60-79 Alto, 40-59 Medio, 20-39 Basso, <20 Trascurabile.',
|
||
'Il punteggio aggiorna automaticamente anche la criticita del bene e alimenta il registro formale dei <strong>Sistemi Rilevanti</strong>.',
|
||
'La metodologia supporta il requisito di censimento e classificazione dei sistemi informativi e di rete rilevanti, da approvare a livello di Direzione.'
|
||
]
|
||
},
|
||
{
|
||
heading: 'Mappa delle Dipendenze',
|
||
items: [
|
||
'Il pulsante <strong>Mappa Dipendenze</strong> visualizza le relazioni tra i beni (quali beni dipendono da quali).',
|
||
'Per popolarla, in <strong>modifica del bene</strong> usa il campo <strong>Dipendenze</strong> e seleziona i beni da cui quel bene dipende; nel dettaglio le dipendenze sono mostrate per nome.',
|
||
'Identifica le dipendenze critiche e i singoli punti di guasto (SPOF).',
|
||
'Utile per la valutazione dell\'impatto in caso di incidente o indisponibilita\'.'
|
||
]
|
||
},
|
||
{
|
||
heading: 'Gestione del Ciclo di Vita',
|
||
items: [
|
||
'Tracciamento dello stato del bene: attivo, in manutenzione, dismesso.',
|
||
'Registrazione di proprietario, ubicazione, fornitore e contratti di supporto.',
|
||
'Alert automatici per beni con supporto in scadenza o fine vita.',
|
||
'Per <strong>rimuovere</strong> un bene non piu\' pertinente usa il pulsante <strong>Elimina</strong> (icona cestino, in lista o nel dettaglio del bene): l\'operazione richiede il ruolo org_admin. Da non confondere con lo stato "dismesso", che mantiene lo storico del bene.'
|
||
]
|
||
},
|
||
{
|
||
heading: 'Import da CMDB / Cloud (pulsante "Importa")',
|
||
items: [
|
||
'Importa beni in blocco da un file <strong>CSV</strong> o da un export CMDB/cloud, invece di inserirli manualmente.',
|
||
'Colonne riconosciute: <code>name, asset_type, criticality, data_classification, internet_facing, dependencies_count, regulated, external_ref, vendor, location</code>.',
|
||
'Lo <strong>scoring di rilevanza NIS2 (GV.OC-04)</strong> viene calcolato automaticamente per ogni bene importato, classificandolo critico/alto/medio/basso.',
|
||
'Il campo <code>external_ref</code> abilita la deduplica: re-importare lo stesso ID aggiorna il bene invece di duplicarlo.',
|
||
'Gli stessi dati possono arrivare via connettore automatico (API <code>POST /api/services/assets-ingest</code>, scope ingest:assets).'
|
||
]
|
||
},
|
||
{
|
||
heading: 'Esporta (pulsante "Esporta")',
|
||
items: [
|
||
'Scarica l\'intero inventario in un file <strong>CSV</strong> con le <strong>stesse colonne dell\'importazione</strong>, così puoi salvarne una copia, modificarlo fuori e re-importarlo senza riformattare nulla.',
|
||
'Il file usa le colonne riconosciute dall\'import; re-importandolo lo <strong>scoring di rilevanza NIS2</strong> viene ricalcolato e i beni con lo stesso <code>external_ref</code> vengono aggiornati (nessun duplicato).',
|
||
'Utile per backup, migrazioni e modifiche massive in foglio di calcolo (il file è in UTF-8, apribile direttamente in Excel).'
|
||
]
|
||
},
|
||
{
|
||
heading: 'Ordinare la lista per colonna',
|
||
items: [
|
||
'Fai <strong>click su un\'intestazione di colonna</strong> (Nome, Tipo, Categoria, Criticità, Rilevanza NIS2, Owner, Stato) per ordinare l\'inventario in base a quella colonna.',
|
||
'Un secondo click sulla stessa colonna <strong>inverte l\'ordine</strong> (crescente ⇄ decrescente); la freccia ▲/▼ indica la direzione attiva.',
|
||
'Criticità e Rilevanza NIS2 si ordinano per <strong>valore reale</strong> (es. Critico prima di Basso, punteggio alto prima di basso), non in ordine alfabetico.',
|
||
'L\'ordinamento agisce su <strong>tutto l\'inventario caricato</strong> e si combina con i filtri Tipo/Criticità/Stato. È accessibile anche da tastiera (Tab fino all\'intestazione, poi Invio o Spazio).'
|
||
]
|
||
}
|
||
],
|
||
references: [
|
||
'Art. 24 D.Lgs. 138/2024 - Sicurezza delle risorse umane, controllo degli accessi e gestione degli attivi (recepisce l\'art. 21, par. 2, lett. i, della Direttiva (UE) 2022/2555)',
|
||
'Art. 24 D.Lgs. 138/2024 - Politiche di analisi dei rischi e di sicurezza dei sistemi informatici (recepisce l\'art. 21, par. 2, lett. a, della Direttiva (UE) 2022/2555)',
|
||
'Art. 24 D.Lgs. 138/2024 - Continuita\' operativa, gestione dei backup e ripristino (recepisce l\'art. 21, par. 2, lett. c, della Direttiva (UE) 2022/2555)',
|
||
'D.Lgs. 4 settembre 2024, n. 138 - Art. 24 - Obblighi in materia di misure di gestione del rischio',
|
||
'Identificazione e classificazione dei sistemi rilevanti - metodologia di scoring 0-100 approvata dalla Direzione'
|
||
]
|
||
},
|
||
|
||
// ─── Connettori Discovery ────────────────────────────────────
|
||
'connettori-discovery': {
|
||
title: 'Guida - Connettori Discovery',
|
||
intro: 'I connettori di discovery mappano automaticamente la rete o il cloud dell\'organizzazione e popolano l\'Inventario con gli asset rilevati, la rilevanza NIS2, le dipendenze e i flussi di rete (ID.AM-03), riducendo l\'inserimento manuale.',
|
||
sections: [
|
||
{
|
||
heading: 'Più connettori per azienda',
|
||
items: [
|
||
'Puoi creare <strong>più connettori</strong> per la stessa organizzazione, uno per ciascuna sorgente (es. "Rete sede Roma", "Rete sede Modena", "AWS prod").',
|
||
'Ogni connettore ha un <strong>tipo</strong> (rete, AWS, Azure, GCP, CMDB, agente, custom) e una propria <strong>chiave API</strong>.',
|
||
'Stato (attivo/in pausa/errore) e storico delle esecuzioni sono nel dettaglio del connettore.'
|
||
]
|
||
},
|
||
{
|
||
heading: 'Come funziona',
|
||
items: [
|
||
'Crea un connettore con "+ Nuovo connettore": ottieni una <strong>chiave API</strong> mostrata una sola volta (copiala subito).',
|
||
'Esegui l\'<strong>agente di discovery</strong> (<code>scripts/discovery-agent.mjs</code>) dentro la rete da mappare con quella chiave: scansiona gli host e invia gli asset a NIS2.',
|
||
'NIS2 fa <strong>dedup</strong> per indirizzo, calcola il <strong>punteggio di rilevanza NIS2</strong> e aggiorna Inventario + Mappa Dipendenze + flussi di rete.',
|
||
'Ogni esecuzione aggiorna "ultimo run" e il numero di asset scoperti.'
|
||
]
|
||
},
|
||
{
|
||
heading: 'Sicurezza',
|
||
items: [
|
||
'La chiave del connettore ha <strong>solo</strong> lo scope <code>ingest:assets</code>: può aggiungere asset/flussi solo alla tua organizzazione, non leggere altri dati.',
|
||
'Se una chiave è compromessa usa <strong>Rigenera chiave</strong>: la vecchia smette di funzionare.',
|
||
'La gestione dei connettori è riservata agli <strong>amministratori dell\'organizzazione</strong>.'
|
||
]
|
||
}
|
||
],
|
||
references: [
|
||
'Art. 24 D.Lgs. 138/2024 - Gestione degli attivi e dei sistemi informativi e di rete',
|
||
'NIST CSF ID.AM-01/02 - Inventario hardware/software; ID.AM-03 - Flussi di rete',
|
||
'Identificazione e classificazione dei sistemi rilevanti - scoring 0-100 (GV.OC-04)'
|
||
]
|
||
},
|
||
|
||
// ─── Reports / Audit ─────────────────────────────────────────
|
||
'reports': {
|
||
title: 'Guida - Audit & Report',
|
||
intro: 'Il modulo Audit & Report fornisce strumenti per monitorare lo stato dei controlli di compliance, gestire le evidenze e generare report per le autorita\' competenti e per gli audit interni.',
|
||
sections: [
|
||
{
|
||
heading: 'Controlli di Compliance',
|
||
items: [
|
||
'Ogni controllo rappresenta un requisito specifico del D.Lgs. 138/2024 (recepimento NIS2).',
|
||
'Lo stato di ciascun controllo e\' tracciato: <strong>Conforme</strong>, <strong>Parzialmente Conforme</strong>, <strong>Non Conforme</strong>, <strong>Non Valutato</strong>.',
|
||
'I controlli sono organizzati per categoria secondo l\'art. 24 del D.Lgs. 138/2024 (art. 21, par. 2, Direttiva).',
|
||
'La percentuale di conformita\' complessiva e\' calcolata automaticamente.'
|
||
]
|
||
},
|
||
{
|
||
heading: 'Gestione Evidenze',
|
||
items: [
|
||
'Per ogni controllo e\' possibile allegare <strong>evidenze</strong> (documenti, screenshot, log).',
|
||
'Le evidenze supportano la dimostrazione di conformita\' in sede di audit.',
|
||
'Il sistema traccia la data di caricamento e la validita\' di ogni evidenza.',
|
||
'Le evidenze scadute o mancanti vengono segnalate automaticamente.'
|
||
]
|
||
},
|
||
{
|
||
heading: 'Log di Audit',
|
||
items: [
|
||
'Il <strong>log di audit</strong> registra automaticamente tutte le operazioni effettuate sulla piattaforma.',
|
||
'Ogni voce include: utente, azione, data/ora, oggetto e dettagli.',
|
||
'I log sono immutabili e disponibili per verifiche ispettive.',
|
||
'Supporto per filtri avanzati e ricerca nei log.'
|
||
]
|
||
},
|
||
{
|
||
heading: 'Esportazione Report',
|
||
items: [
|
||
'Genera report completi in formato esportabile per audit e autorita\'.',
|
||
'Report disponibili: stato di compliance, registro rischi, incidenti, formazione.',
|
||
'I report possono essere personalizzati per periodo e ambito.'
|
||
]
|
||
},
|
||
{
|
||
heading: 'Monitoraggio Continuo dei Controlli (tab "Monitoraggio Continuo")',
|
||
items: [
|
||
'Mostra lo stato di <strong>freschezza</strong> di ogni controllo alimentato dalle evidenze raccolte automaticamente dai connettori (Evidence Automation).',
|
||
'Semafori: <strong>Sano</strong> (evidenza valida), <strong>Attenzione</strong>, <strong>Evidenza scaduta</strong> (oltre la soglia di freschezza), <strong>Non conforme</strong> (ultimo check fallito), <strong>Non monitorato</strong>.',
|
||
'La <strong>copertura</strong> indica la quota di controlli alimentati da evidenze automatiche: avvicina il modello alla compliance continua (vs assessment puntuale).',
|
||
'Le evidenze arrivano via API <code>POST /api/services/evidence-ingest</code> (scope ingest:evidence) dai collector M365/AWS/EDR/SIEM.'
|
||
]
|
||
}
|
||
],
|
||
references: [
|
||
'Art. 24 D.Lgs. 138/2024 - Misure di gestione dei rischi di cibersicurezza (recepisce l\'art. 21 della Direttiva (UE) 2022/2555)',
|
||
'Art. 32 - Misure di vigilanza e di esecuzione per i soggetti essenziali',
|
||
'Art. 33 - Misure di vigilanza e di esecuzione per i soggetti importanti',
|
||
'Art. 34 - Condizioni generali per l\'imposizione di sanzioni amministrative pecuniarie'
|
||
]
|
||
},
|
||
|
||
// ─── Settings ────────────────────────────────────────────────
|
||
'settings': {
|
||
title: 'Guida - Impostazioni',
|
||
intro: 'La sezione Impostazioni consente di configurare il profilo dell\'organizzazione, la classificazione NIS2, gestire il team e le impostazioni di sicurezza dell\'account.',
|
||
sections: [
|
||
{
|
||
heading: 'Profilo Organizzazione',
|
||
items: [
|
||
'Configura i dati della tua organizzazione: nome, settore, dimensione, codice fiscale/P.IVA.',
|
||
'Questi dati vengono utilizzati per personalizzare i report e le analisi AI.',
|
||
'Il settore e la dimensione influenzano la classificazione NIS2.'
|
||
]
|
||
},
|
||
{
|
||
heading: 'Permessi documentali (ciclo di vita SGSI)',
|
||
items: [
|
||
'Nel tab <strong>Permessi documentali</strong> definisci, con una matrice <strong>Ruolo x Azione</strong>, quali ruoli possono compiere ogni passo del ciclo di vita dei documenti del Modello SGSI: modifica del contenuto, invio in revisione, approvazione, pubblicazione, rinvio in bozza, archiviazione, nuova versione.',
|
||
'La configurazione vale per la singola organizzazione; di default sono abilitati Amministratore, Responsabile SGSI/Compliance e Direzione. Il super amministratore ha sempre tutti i permessi.',
|
||
'La matrice è <strong>visibile a tutti i membri</strong> (trasparenza), ma solo <strong>Amministratore e Direzione</strong> possono modificarla e salvarla.',
|
||
'Lascia sempre almeno un ruolo abilitato per le azioni critiche (Approva, Pubblica), altrimenti nessuno potrebbe far avanzare i documenti.'
|
||
]
|
||
},
|
||
{
|
||
heading: 'Classificazione NIS2',
|
||
items: [
|
||
'L\'esito nel prodotto è un\'<strong>autovalutazione preliminare non vincolante</strong>: la qualifica formale e la registrazione spettano all\'ACN (Determinazione ACN 333017/2025, dichiarazione ex DPR 445/2000, finestra 1 gennaio - 28 febbraio).',
|
||
'<strong>Soggetto Essenziale</strong> - settore ad alta criticità (Allegato I) + grande impresa (≥250 dip. o >50M€ fatturato o >43M€ bilancio). Vigilanza proattiva.',
|
||
'<strong>Soggetto Importante</strong> - media impresa in Allegato I, oppure soggetto medio/grande in Allegato II. Vigilanza reattiva.',
|
||
'<strong>A prescindere dalla dimensione</strong> (art. 3, comma 5, D.Lgs. 138/2024): fornitori DNS, registri TLD, servizi fiduciari, reti/servizi di comunicazione elettronica pubblici, registrar di domini, PA.',
|
||
'<strong>Sotto-soglia</strong>: anche un soggetto sotto le soglie può essere individuato dall\'Autorità se ricorre un criterio dell\'art. 3, comma 9, lett. b/c/d (unico fornitore nazionale; impatto su sicurezza/incolumità/salute pubblica; rischio sistemico) — in tal caso il prodotto segnala una possibile individuazione (rinvio ad ACN), senza assegnare automaticamente una classe.',
|
||
'<strong>Non Applicabile</strong> / <strong>Adesione Volontaria</strong> - fuori dall\'ambito obbligatorio; puoi comunque aderire volontariamente adottando il framework NIS2.'
|
||
]
|
||
},
|
||
{
|
||
heading: 'Gestione Team',
|
||
items: [
|
||
'Aggiungi e gestisci i <strong>membri del team</strong> con ruoli e permessi differenziati.',
|
||
'Ruoli disponibili: Amministratore (accesso completo) e Utente (accesso limitato).',
|
||
'Ogni membro puo\' essere associato a specifiche responsabilita\' (risk owner, incident manager, etc.).'
|
||
]
|
||
},
|
||
{
|
||
heading: 'Sicurezza Account',
|
||
items: [
|
||
'Modifica la password del tuo account in qualsiasi momento dal pulsante "Cambia password".',
|
||
'La piattaforma applica un <strong>timeout di sessione automatico</strong> dopo 30 minuti di inattivita\'. Un avviso con countdown appare 5 minuti prima del logout per permetterti di rimanere connesso.',
|
||
'Il logout automatico protegge le informazioni sensibili in caso di postazione incustodita.',
|
||
'La sezione <strong>Sessioni Attive</strong> elenca tutti i dispositivi attualmente loggati al tuo account (browser, sistema operativo, indirizzo IP, ultimo accesso). Puoi disconnettere un singolo dispositivo con "Disconnetti" oppure tutti tranne questo con "Disconnetti gli altri" — utile se sospetti accessi non autorizzati.'
|
||
]
|
||
},
|
||
{
|
||
heading: 'Preferenze utente',
|
||
items: [
|
||
'Nel tab <strong>Preferenze</strong> puoi personalizzare la tua esperienza individuale (non condivisa con altri membri dell\'organizzazione).',
|
||
'<strong>Lingua</strong>: italiano, inglese, francese o tedesco — applicata a tutti i menu e messaggi.',
|
||
'<strong>Tema</strong>: chiaro, scuro o automatico (segue le impostazioni del sistema operativo).',
|
||
'<strong>Timezone</strong>: usata per visualizzare date e ore. Default Europe/Rome (CET/CEST). Cambia se lavori da un altro fuso.',
|
||
'<strong>Notifiche email</strong>: ricevi via email gli avvisi per incidenti, scadenze e training.',
|
||
'<strong>Notifiche in-app</strong>: mostra un badge contatore per le nuove notifiche.'
|
||
]
|
||
},
|
||
{
|
||
heading: 'Password dimenticata',
|
||
items: [
|
||
'Dalla pagina di login clicca su "Password dimenticata?" per richiedere un link di reset.',
|
||
'Inserisci la tua email: se registrata riceverai un messaggio con un link valido <strong>30 minuti</strong>.',
|
||
'Il link è single-use: una volta cliccato e impostata la nuova password, non potra\' essere riusato.',
|
||
'Per motivi di sicurezza, la pagina mostra sempre lo stesso messaggio sia che l\'email sia registrata sia che non lo sia (anti-enumeration).',
|
||
'Dopo il reset, tutte le sessioni attive precedenti vengono disconnesse automaticamente.'
|
||
]
|
||
},
|
||
{
|
||
heading: 'Cambio organizzazione (multi-tenant)',
|
||
items: [
|
||
'Se sei membro di piu\' organizzazioni (es. consulente), nella barra in alto appare un <strong>selettore azienda</strong>.',
|
||
'Click sul dropdown per vedere tutte le organizzazioni a cui hai accesso e quale è quella attualmente attiva (✓).',
|
||
'Selezionando un\'altra organizzazione il sistema emette un nuovo token con il contesto aggiornato e ricarica la pagina.',
|
||
'Il cambio è registrato nell\'audit log come <em>context_switch</em>.'
|
||
]
|
||
},
|
||
{
|
||
heading: 'Branding white-label (solo consulenti / super admin)',
|
||
items: [
|
||
'Il tab <strong>Branding</strong> consente a uno studio di consulenza di personalizzare l\'interfaccia che vedranno i suoi clienti.',
|
||
'<strong>Nome prodotto custom</strong>: sostituisce "NIS2 Agile" con il branding dello studio (es. "Studio Rossi NIS2 Suite").',
|
||
'<strong>URL Logo</strong>: link assoluto al logo dello studio (es. https://www.tuosito.it/logo.svg). Verra\' mostrato nell\'intestazione e nelle pagine di login.',
|
||
'<strong>Colori</strong>: il primario sostituisce il blu di default (intestazioni, pulsanti principali); il secondario sostituisce il ciano (badge, accenti).',
|
||
'Le modifiche vengono applicate automaticamente a tutti gli utenti del firm al ricaricamento della pagina.'
|
||
]
|
||
}
|
||
],
|
||
references: [
|
||
'Art. 2 - Ambito di applicazione',
|
||
'Art. 3 - Soggetti essenziali e soggetti importanti',
|
||
'Allegato I - Settori ad alta criticita\'',
|
||
'Allegato II - Altri settori critici',
|
||
'Art. 23 D.Lgs. 138/2024 - Governance e organi di amministrazione e direttivi (recepisce l\'art. 20 della Direttiva (UE) 2022/2555)'
|
||
]
|
||
},
|
||
|
||
// ─── Compliance Journey / Workflow ───────────────────────────
|
||
'workflow': {
|
||
title: 'Guida - Compliance Journey',
|
||
intro: 'La pagina Compliance Journey visualizza l\'intero percorso di conformita\' NIS2 come una roadmap interattiva a 6 fasi. Mostra lo stato reale di ogni modulo con dati live, guida verso la prossima azione da completare e permette di navigare direttamente a ciascun modulo.',
|
||
sections: [
|
||
{
|
||
heading: 'Roadmap a 6 Fasi',
|
||
items: [
|
||
'<strong>Fase 1 - Preparazione</strong>: onboarding, configurazione organizzazione, definizione team e ruoli.',
|
||
'<strong>Fase 2 - Valutazione</strong>: gap assessment Art.21 (80 domande), inventario dei beni, valutazione supply chain.',
|
||
'<strong>Fase 3 - Rischi</strong>: risk register, piano di trattamento, suggerimenti AI per settore.',
|
||
'<strong>Fase 4 - Implementazione</strong>: policy approvate, formazione completata, controlli ISO 27001 implementati.',
|
||
'<strong>Fase 5 - Monitoraggio</strong>: gestione incidenti Art.23, NCR/CAPA, aggiornamenti normativi, whistleblowing.',
|
||
'<strong>Fase 6 - Reportistica</strong>: report esecutivo, audit chain SHA-256, export certificato.'
|
||
]
|
||
},
|
||
{
|
||
heading: 'Come Leggere il Percorso',
|
||
items: [
|
||
'<span style="color:var(--secondary)"><strong>Completato</strong></span> - la fase ha raggiunto gli obiettivi minimi di compliance.',
|
||
'<span style="color:var(--warning)"><strong>In corso</strong></span> - la fase e\' stata avviata ma non ancora completata.',
|
||
'<span style="color:var(--primary)"><strong>Attivo</strong></span> - fase di monitoraggio continuo, sempre attiva una volta avviata.',
|
||
'<span style="color:var(--gray-400)"><strong>Da iniziare</strong></span> - fase non ancora avviata.',
|
||
'La <strong>percentuale</strong> su ogni fase mostra il livello di completamento basato sui dati reali della piattaforma.'
|
||
]
|
||
},
|
||
{
|
||
heading: 'Prossima Azione Consigliata',
|
||
items: [
|
||
'Il <strong>banner blu</strong> in cima alla pagina indica sempre la prossima azione piu\' urgente da completare.',
|
||
'Il suggerimento si aggiorna automaticamente in base allo stato reale dei moduli.',
|
||
'Clicca sul link nel banner per navigare direttamente al modulo corrispondente.'
|
||
]
|
||
},
|
||
{
|
||
heading: 'Card di Dettaglio Fase',
|
||
items: [
|
||
'Clicca su una <strong>fase nella roadmap</strong> per espandere il dettaglio degli step.',
|
||
'Ogni card mostra: stato badge (Completato/In corso/Da iniziare), metrica numerica reale, link diretto al modulo.',
|
||
'Le metriche sono calcolate in tempo reale interrogando tutti i moduli della piattaforma.',
|
||
'Clicca direttamente sulla card per accedere al modulo corrispondente.'
|
||
]
|
||
},
|
||
{
|
||
heading: 'Differenza con la Dashboard',
|
||
items: [
|
||
'La <strong>Dashboard</strong> mostra KPI numerici e attivita\' recenti — risponde a "come sto?".',
|
||
'Il <strong>Compliance Journey</strong> mostra il processo sequenziale — risponde a "dove sono nel percorso?" e "cosa devo fare dopo?".',
|
||
'Usa il Journey per pianificare le priorita\' di intervento e comunicare lo stato al board.'
|
||
]
|
||
}
|
||
],
|
||
references: [
|
||
'Art. 24 D.Lgs. 138/2024 - Misure di gestione dei rischi di cibersicurezza (10 categorie) (recepisce l\'art. 21 della Direttiva (UE) 2022/2555)',
|
||
'Art. 23 D.Lgs. 138/2024 - Governance e responsabilita\' degli organi di gestione (recepisce l\'art. 20 della Direttiva (UE) 2022/2555)',
|
||
'Art. 25 D.Lgs. 138/2024 - Obblighi di segnalazione degli incidenti significativi (recepisce l\'art. 23 della Direttiva (UE) 2022/2555)',
|
||
'D.Lgs. 138/2024 - Recepimento NIS2 in Italia',
|
||
'ACN - Linee guida attuative per i soggetti NIS2'
|
||
]
|
||
},
|
||
|
||
// ─── Segnalazioni (Feedback) ─────────────────────────────────
|
||
'feedback': {
|
||
title: 'Guida - Segnalazioni & Feedback',
|
||
intro: 'Il sistema di segnalazioni ti permette di comunicare direttamente con il team tecnico di NIS2 Agile. Puoi segnalare bug, proporre miglioramenti, fare domande o richiedere nuove funzionalita\'. L\'intelligenza artificiale analizza ogni segnalazione in tempo reale e tenta la risoluzione autonoma.',
|
||
sections: [
|
||
{
|
||
heading: 'Come aprire una segnalazione',
|
||
items: [
|
||
'Clicca il <strong>pulsante rosso</strong> in basso a destra — visibile su tutte le pagine quando sei autenticato.',
|
||
'Scegli il <strong>tipo</strong>: Bug/Errore, Miglioramento interfaccia, Nuova funzionalita\', Domanda o Altro.',
|
||
'Indica la <strong>priorita\' percepita</strong>: Alta (blocca il lavoro), Media (workaround disponibile) o Bassa (miglioria).',
|
||
'Descrivi il problema in modo dettagliato: cosa hai fatto, cosa ti aspettavi, cosa e\' successo invece.',
|
||
'Puoi allegare uno <strong>screenshot</strong> trascinandolo nell\'area dedicata (max 1.5 MB).',
|
||
'L\'URL della pagina viene catturato automaticamente — non devi copiarlo.'
|
||
]
|
||
},
|
||
{
|
||
heading: 'Risposta AI immediata',
|
||
items: [
|
||
'Dopo l\'invio, l\'<strong>AI analizza la segnalazione</strong> entro pochi secondi e mostra una risposta personalizzata.',
|
||
'La risposta AI include suggerimenti su come procedere o conferma che il problema e\' stato registrato.',
|
||
'L\'AI assegna automaticamente la categoria (es. rischi, incidenti, interfaccia) e la priorita\' tecnica.',
|
||
'Se il suggerimento AI ha gia\' risolto il tuo problema, puoi confermarlo con <strong>"Si\', problema risolto"</strong>.'
|
||
]
|
||
},
|
||
{
|
||
heading: 'Conferma risoluzione (Password Gate)',
|
||
items: [
|
||
'Quando clicchi <strong>"Si\', problema risolto"</strong> viene richiesta una <strong>password di conferma</strong>.',
|
||
'La password previene chiusure accidentali dei ticket — assicurandosi che la risoluzione sia intenzionale.',
|
||
'Se la segnalazione non e\' risolta, scegli <strong>"No, il problema persiste"</strong>: il ticket rimane aperto e il team lo prende in carico.',
|
||
'Puoi monitorare lo stato nella tab <strong>"Le mie segnalazioni"</strong>.'
|
||
]
|
||
},
|
||
{
|
||
heading: 'Le mie segnalazioni',
|
||
items: [
|
||
'La tab <strong>"Le mie segnalazioni"</strong> mostra le ultime 20 segnalazioni inviate per questa organizzazione.',
|
||
'I badge colorati indicano lo stato: <span style="color:#64748b">Aperto</span>, <span style="color:#f59e0b">In lavorazione</span>, <span style="color:#22c55e">Risolto</span>, <span style="color:#3b82f6">Chiuso</span>.',
|
||
'La risposta AI e\' sempre visibile sotto ogni segnalazione.'
|
||
]
|
||
},
|
||
{
|
||
heading: 'Risoluzione autonoma AI (Worker)',
|
||
items: [
|
||
'I ticket marcati <strong>"In lavorazione"</strong> vengono processati automaticamente ogni 30 minuti da un worker AI.',
|
||
'Il worker utilizza <strong>Claude Code CLI</strong> per analizzare il codice e applicare correzioni in autonomia.',
|
||
'Se la correzione ha successo, il ticket viene marcato come <strong>Risolto</strong> e tutti i membri dell\'organizzazione ricevono una notifica email.',
|
||
'I ticket non risolvibili automaticamente rimangono in lavorazione per l\'intervento manuale del team.'
|
||
]
|
||
},
|
||
{
|
||
heading: 'Consigli per segnalazioni efficaci',
|
||
items: [
|
||
'<strong>Sii specifico</strong>: "Il bottone Salva nella pagina Rischi non risponde" e\' meglio di "qualcosa non funziona".',
|
||
'<strong>Includi i passi</strong>: "1. Apro la pagina Rischi, 2. Clicco Nuovo Rischio, 3. Compilo il modulo, 4. Il salvataggio da\' errore 500".',
|
||
'<strong>Allega screenshot</strong> quando possibile: accelera enormemente la diagnosi.',
|
||
'Usa il tipo <strong>Domanda</strong> per richieste di chiarimento sull\'utilizzo della piattaforma.'
|
||
]
|
||
}
|
||
],
|
||
references: [
|
||
'Sistema ispirato a alltax.it/docs/sistema-segnalazioni-standard.html',
|
||
'Risoluzione autonoma tramite Anthropic Claude Code CLI'
|
||
]
|
||
},
|
||
|
||
// ─── Whistleblowing (segnalazioni interne) ───────────────────
|
||
'whistleblowing': {
|
||
title: 'Guida - Segnalazioni (Whistleblowing)',
|
||
intro: 'Il modulo Whistleblowing gestisce le segnalazioni interne in forma riservata o anonima, in coerenza con la cultura di sicurezza richiesta dalla NIS2 e con la disciplina italiana del whistleblowing (D.Lgs. 24/2023).',
|
||
sections: [
|
||
{
|
||
heading: 'Invio di una segnalazione',
|
||
items: [
|
||
'Compila <strong>categoria</strong> e <strong>descrizione</strong> del problema o dell\'illecito che vuoi segnalare.',
|
||
'Puoi inviare la segnalazione in modo <strong>anonimo</strong>: in tal caso ricevi un <strong>codice di tracciamento</strong> da conservare per seguirne lo stato.',
|
||
'Le segnalazioni sono trattate con riservatezza: l\'identità del segnalante (se fornita) è protetta.'
|
||
]
|
||
},
|
||
{
|
||
heading: 'Tracciamento e gestione',
|
||
items: [
|
||
'Con il <strong>codice di tracciamento</strong> puoi verificare lo stato della tua segnalazione anonima senza autenticarti.',
|
||
'Gli incaricati assegnano e lavorano le segnalazioni: stati <strong>Aperta</strong>, <strong>In gestione</strong>, <strong>Chiusa</strong>.',
|
||
'La piattaforma tiene traccia della cronologia (timeline) di ogni segnalazione a fini di audit.'
|
||
]
|
||
},
|
||
{
|
||
heading: 'Nota interpretativa',
|
||
items: [
|
||
'Il canale di whistleblowing interno e la divulgazione coordinata delle vulnerabilità (NIS2) sono ambiti distinti: questo modulo copre le segnalazioni di illeciti/problemi, non la notifica incidenti Art.23.',
|
||
'L\'attivazione e le modalità del canale vanno definite dall\'organizzazione secondo il D.Lgs. 24/2023; lo strumento supporta il processo ma non sostituisce le procedure aziendali né un parere legale.'
|
||
]
|
||
}
|
||
],
|
||
references: [
|
||
'D.Lgs. 10 marzo 2023, n. 24 - Protezione delle persone che segnalano violazioni (whistleblowing)',
|
||
'Direttiva (UE) 2022/2555 - cultura della sicurezza e segnalazione interna'
|
||
]
|
||
},
|
||
|
||
// ─── Aggiornamenti Normativi ─────────────────────────────────
|
||
'normative': {
|
||
title: 'Guida - Aggiornamenti Normativi',
|
||
intro: 'Il modulo Aggiornamenti Normativi raccoglie le novità su NIS2, ACN e normativa collegata, con tracciamento della presa visione (acknowledgement) per dimostrare il monitoraggio continuo del quadro normativo.',
|
||
sections: [
|
||
{
|
||
heading: 'Consultazione',
|
||
items: [
|
||
'Visualizzi gli aggiornamenti normativi pubblicati, con <strong>fonte</strong> e <strong>data</strong>.',
|
||
'Gli aggiornamenti <strong>da prendere in carico</strong> sono evidenziati: richiedono una presa visione esplicita.'
|
||
]
|
||
},
|
||
{
|
||
heading: 'Presa visione (ACK)',
|
||
items: [
|
||
'Clicca <strong>"Presa visione"</strong> per registrare che hai letto e valutato l\'aggiornamento: viene tracciata data e utente.',
|
||
'La presa visione costituisce evidenza, in sede di audit, del monitoraggio continuo degli obblighi (governance NIS2).'
|
||
]
|
||
}
|
||
],
|
||
references: [
|
||
'Art. 23-24 D.Lgs. 138/2024 - governance e monitoraggio del rischio (recepiscono gli artt. 20-21 della Direttiva (UE) 2022/2555)',
|
||
'Determinazioni ACN (aggiornamenti tecnico-operativi)'
|
||
]
|
||
},
|
||
|
||
// ─── Knowledge Base ──────────────────────────────────────────
|
||
'kb': {
|
||
title: 'Guida - Knowledge Base',
|
||
intro: 'La Knowledge Base è il repository documentale che alimenta l\'assistente AI: i documenti caricati vengono indicizzati e usati per fornire risposte ancorate alle fonti (RAG), con visibilità a più livelli.',
|
||
sections: [
|
||
{
|
||
heading: 'Caricamento documenti',
|
||
items: [
|
||
'Carichi un documento indicando <strong>titolo</strong>, <strong>tipo</strong> e <strong>contenuto</strong>.',
|
||
'Scegli la <strong>visibilità</strong>: Sistema (tutti), Studio/Firm (collaboratori dello studio + organizzazioni condivise) o solo l\'organizzazione corrente.',
|
||
'Il documento viene suddiviso in parti e indicizzato vettorialmente per la ricerca semantica.'
|
||
]
|
||
},
|
||
{
|
||
heading: 'Ricerca e uso da parte dell\'AI',
|
||
items: [
|
||
'La <strong>ricerca semantica</strong> trova i passaggi più pertinenti a una domanda, anche senza parole esatte.',
|
||
'L\'assistente AI (ARIA) usa questi documenti come contesto per rispondere citando le fonti, senza inventare riferimenti.',
|
||
'L\'isolamento per visibilità garantisce che i documenti di un\'organizzazione non siano accessibili ad altre.'
|
||
]
|
||
}
|
||
],
|
||
references: [
|
||
'Pattern RAG (Retrieval-Augmented Generation) con embeddings e database vettoriale',
|
||
'Visibilità multi-livello SYSTEM / FIRM / ORG'
|
||
]
|
||
},
|
||
|
||
// ─── Aziende (consulente) ────────────────────────────────────
|
||
'companies': {
|
||
title: 'Guida - Cruscotto Studio',
|
||
intro: 'Il Cruscotto Studio è la dashboard dedicata a consulenti e studi: in un\'unica pagina raccoglie tutte le aziende clienti che gestisci con il loro stato di compliance, i rischi e gli incidenti aperti, e l\'elenco aggregato di tutte le scadenze in arrivo o in ritardo.',
|
||
sections: [
|
||
{
|
||
heading: 'Panoramica dello studio',
|
||
items: [
|
||
'La <strong>barra KPI</strong> in alto riepiloga il portafoglio: numero di aziende, compliance media, scadenze in ritardo (in rosso) e scadenze in arrivo.',
|
||
'Ogni <strong>scheda azienda</strong> mostra settore, classificazione NIS2 (essenziale/importante/volontaria), barra di compliance, rischi e incidenti aperti e un badge rosso se ci sono scadenze scadute.',
|
||
'Il <strong>clic su una scheda</strong> imposta l\'organizzazione attiva e apre la sua dashboard: tutti i moduli (rischi, incidenti, policy, fornitori...) mostrano poi i dati di quell\'azienda.'
|
||
]
|
||
},
|
||
{
|
||
heading: 'Scadenze generali (tutte le aziende)',
|
||
items: [
|
||
'La sezione in fondo elenca <strong>tutte le scadenze</strong> del portafoglio ordinate per data: per ciascuna vedi azienda, tipo di adempimento (Early Warning, Notifica CSIRT, Report finale, Revisione policy, Trattamento rischio, Formazione), data e stato.',
|
||
'Le scadenze <strong>scadute</strong> sono evidenziate in rosso; le altre indicano tra quanti giorni cadono.'
|
||
]
|
||
},
|
||
{
|
||
heading: 'Separazione dei dati',
|
||
items: [
|
||
'Ogni azienda è un\'organizzazione isolata: i dati non si mescolano mai tra clienti diversi (multi-tenancy).',
|
||
'Il cambio di contesto (ingresso in un\'azienda) è tracciato a fini di audit.'
|
||
]
|
||
}
|
||
],
|
||
references: [
|
||
'Architettura multi-tenant: ogni organizzazione ha dati isolati',
|
||
'Ruolo consulente/super admin con accesso a più organizzazioni'
|
||
]
|
||
},
|
||
|
||
// ─── AI Cross-Analysis (portfolio consulente) ────────────────
|
||
'cross-analysis': {
|
||
title: 'Guida - AI Cross-Analysis Portfolio',
|
||
intro: 'La Cross-Analysis è uno strumento riservato a Consulenti e Super Admin: aggrega in forma anonimizzata i dati di compliance di tutte le organizzazioni del portfolio per individuare pattern comuni, gap ricorrenti e benchmark. Serve a orientare le priorità di intervento, NON sostituisce l\'analisi puntuale di ciascuna organizzazione né costituisce parere legale.',
|
||
sections: [
|
||
{
|
||
heading: 'A chi è riservata',
|
||
items: [
|
||
'L\'accesso richiede il ruolo <strong>Consultant</strong> oppure <strong>Super Admin</strong>: gli altri utenti vedono un messaggio di accesso negato.',
|
||
'I dati delle organizzazioni vengono mostrati in forma <strong>aggregata e anonimizzata</strong>, coerentemente con il principio di minimizzazione del trattamento.'
|
||
]
|
||
},
|
||
{
|
||
heading: 'Metriche di portfolio',
|
||
items: [
|
||
'<strong>Compliance medio</strong>, <strong>Rischi aperti</strong>, <strong>Formazione media</strong> e numero di <strong>Organizzazioni</strong>: una sintesi quantitativa del portfolio gestito.',
|
||
'<strong>Distribuzione settoriale</strong> e <strong>distribuzione degli score di compliance</strong>: aiutano a capire dove si concentra il lavoro.',
|
||
'Lo <strong>Score medio per categoria NIS2</strong> (dal più basso) evidenzia le famiglie di misure dell\'art. 24 D.Lgs. 138/2024 (art. 21, par. 2, Direttiva) più deboli trasversalmente ai clienti.'
|
||
]
|
||
},
|
||
{
|
||
heading: 'Analisi AI del portfolio',
|
||
items: [
|
||
'L\'<strong>analisi AI</strong> elabora i dati aggregati per indicare i <strong>gap più frequenti</strong>, il livello di rischio medio, le categorie NIS2 deboli e dove serve un <strong>intervento urgente</strong>.',
|
||
'Il <strong>benchmark NIS2</strong> confronta le organizzazioni tra loro su base anonimizzata, per posizionare ciascun cliente rispetto al portfolio.',
|
||
'Le analisi precedenti sono consultabili nello storico, così da osservare l\'evoluzione nel tempo.',
|
||
'<em>Nota interpretativa:</em> i suggerimenti AI sono un supporto decisionale; la valutazione di conformità e le scelte di perimetro restano responsabilità documentata del consulente e dell\'organizzazione.'
|
||
]
|
||
}
|
||
],
|
||
references: [
|
||
'Art. 24 D.Lgs. 138/2024 - le 10 famiglie di misure usate come dimensioni di benchmark (recepisce l\'art. 21, par. 2, lett. a-j, della Direttiva (UE) 2022/2555)',
|
||
'Art. 23 D.Lgs. 138/2024 - governance: la vista di portfolio supporta il monitoraggio del consulente (recepisce l\'art. 20 della Direttiva (UE) 2022/2555)',
|
||
'D.Lgs. 4 settembre 2024, n. 138 - recepimento NIS2 in Italia',
|
||
'Architettura multi-tenant: aggregazione anonimizzata, dati delle singole organizzazioni mai mescolati',
|
||
'Lo strumento è di supporto e benchmark, non sostituisce l\'autovalutazione ACN né un parere legale.'
|
||
]
|
||
},
|
||
|
||
// ─── Standard Continuità di Servizio (operativo) ─────────────
|
||
'service-continuity': {
|
||
title: 'Guida - Standard di Continuità del Servizio',
|
||
intro: 'Questa pagina documenta lo standard operativo con cui la piattaforma NIS2 Agile garantisce la continuità del proprio servizio (architettura, healthcheck, ripristino, manutenzione, rate limiting). È una pagina tecnico-informativa sull\'affidabilità del prodotto SaaS; NON descrive gli obblighi di continuità operativa della TUA organizzazione, che si gestiscono nei moduli Rischi, Inventario e nel Modello Organizzativo SGSI.',
|
||
sections: [
|
||
{
|
||
heading: 'Architettura e healthcheck',
|
||
items: [
|
||
'I servizi (applicazione PHP+MySQL+Qdrant, database, vector DB) espongono endpoint di <strong>healthcheck</strong> monitorati: un\'anomalia genera un alert prima che l\'utente la percepisca.',
|
||
'Il <strong>deploy a caldo</strong> applica gli aggiornamenti senza interruzione percepibile del servizio.'
|
||
]
|
||
},
|
||
{
|
||
heading: 'Resilienza e degradazione graceful',
|
||
items: [
|
||
'Le chiamate critiche adottano <strong>retry con backoff esponenziale</strong> e riconnessione automatica per assorbire indisponibilità transitorie.',
|
||
'In caso di componente non disponibile, la piattaforma applica una <strong>degradazione graceful</strong>: il frontend mostra un fallback invece di bloccarsi.',
|
||
'Sono definiti tempi di recovery attesi per ciascun servizio.'
|
||
]
|
||
},
|
||
{
|
||
heading: 'Manutenzione automatica',
|
||
items: [
|
||
'Job pianificati garantiscono igiene operativa: <strong>monitoraggio disco</strong> (alert se > 85%), <strong>cleanup</strong> periodico, <strong>rinnovo automatico dei certificati SSL</strong> (Let\'s Encrypt).',
|
||
'Il <strong>rate limiting</strong> (per IP, per chiave/utente, per email, sui webhook) protegge la disponibilità del servizio da abusi e picchi.'
|
||
]
|
||
},
|
||
{
|
||
heading: 'Relazione con la TUA continuità operativa',
|
||
items: [
|
||
'Questa pagina riguarda l\'affidabilità del fornitore (NIS2 Agile). I tuoi obblighi di <strong>continuità operativa e gestione dei backup</strong> ai sensi della NIS2 vanno valutati e documentati nei tuoi moduli (Rischi, Inventario, Audit & Report, SGSI).',
|
||
'Puoi usare le informazioni qui presenti come elemento nella valutazione del rischio del fornitore (supply chain) NIS2 Agile.'
|
||
]
|
||
}
|
||
],
|
||
references: [
|
||
'Art. 24 D.Lgs. 138/2024 - continuità operativa, gestione dei backup, ripristino in caso di disastro e gestione delle crisi (recepisce l\'art. 21, par. 2, lett. c, della Direttiva (UE) 2022/2555)',
|
||
'Art. 24 D.Lgs. 138/2024 - sicurezza della catena di approvvigionamento - valutazione del fornitore SaaS (recepisce l\'art. 21, par. 2, lett. d, della Direttiva (UE) 2022/2555)',
|
||
'D.Lgs. 4 settembre 2024, n. 138 - Art. 24 - misure di gestione del rischio',
|
||
'Determinazione ACN n. 164179 del 14/04/2025 - requisiti funzione Ripristino (RC) [da verificare il mapping puntuale con gli SLA del fornitore]',
|
||
'NOTA: pagina informativa sull\'affidabilità del prodotto; gli obblighi NIS2 di continuità restano in capo all\'organizzazione utente.'
|
||
]
|
||
}
|
||
};
|
||
|
||
// ── Mappa tra filename nell'URL e chiave di help ─────────────────
|
||
|
||
var _pageMap = {
|
||
'dashboard.html': 'dashboard',
|
||
'dashboard': 'dashboard',
|
||
'assessment.html': 'assessment',
|
||
'assessment': 'assessment',
|
||
'isms.html': 'isms',
|
||
'isms': 'isms',
|
||
'organigramma.html': 'org',
|
||
'organigramma': 'org',
|
||
'competenze.html': 'competences',
|
||
'competenze': 'competences',
|
||
'raci.html': 'raci',
|
||
'raci': 'raci',
|
||
'review-schedule.html': 'review-schedule',
|
||
'review-schedule': 'review-schedule',
|
||
'misure-requisiti.html': 'misure-requisiti',
|
||
'misure-requisiti': 'misure-requisiti',
|
||
'stakeholders.html': 'stakeholders',
|
||
'stakeholders': 'stakeholders',
|
||
'stakeholder-activities.html': 'stakeholder-activities',
|
||
'internal-audits.html': 'internal-audits',
|
||
'internal-audits': 'internal-audits',
|
||
'management-review.html': 'management-review',
|
||
'management-review': 'management-review',
|
||
'calendario.html': 'calendario',
|
||
'calendario': 'calendario',
|
||
'controlli-periodici.html': 'controlli-periodici',
|
||
'controlli-periodici': 'controlli-periodici',
|
||
'stakeholder-activities': 'stakeholder-activities',
|
||
'risks.html': 'risks',
|
||
'risks': 'risks',
|
||
'incidents.html': 'incidents',
|
||
'incidents': 'incidents',
|
||
'policies.html': 'policies',
|
||
'policies': 'policies',
|
||
'supply-chain.html': 'supply-chain',
|
||
'supply-chain': 'supply-chain',
|
||
'training.html': 'training',
|
||
'training': 'training',
|
||
'assets.html': 'assets',
|
||
'assets': 'assets',
|
||
'connettori-discovery.html': 'connettori-discovery',
|
||
'connettori-discovery': 'connettori-discovery',
|
||
'reports.html': 'reports',
|
||
'audit.html': 'reports',
|
||
'reports': 'reports',
|
||
'audit': 'reports',
|
||
'settings.html': 'settings',
|
||
'settings': 'settings',
|
||
'workflow.html': 'workflow',
|
||
'workflow': 'workflow',
|
||
'feedback': 'feedback',
|
||
'whistleblowing.html': 'whistleblowing',
|
||
'whistleblowing': 'whistleblowing',
|
||
'normative.html': 'normative',
|
||
'normative': 'normative',
|
||
'kb.html': 'kb',
|
||
'kb': 'kb',
|
||
'companies.html': 'companies',
|
||
'companies': 'companies',
|
||
'cross-analysis.html': 'cross-analysis',
|
||
'cross-analysis': 'cross-analysis',
|
||
'service-continuity.html': 'service-continuity',
|
||
'service-continuity': 'service-continuity'
|
||
};
|
||
|
||
// ── Stili CSS (iniettati una sola volta) ─────────────────────────
|
||
|
||
var _stylesInjected = false;
|
||
|
||
function _injectStyles() {
|
||
if (_stylesInjected) return;
|
||
_stylesInjected = true;
|
||
|
||
var style = document.createElement('style');
|
||
style.textContent = [
|
||
/* Pulsante help nell'header */
|
||
'.help-btn {',
|
||
' display: inline-flex;',
|
||
' align-items: center;',
|
||
' justify-content: center;',
|
||
' width: 36px;',
|
||
' height: 36px;',
|
||
' padding: 0;',
|
||
' background: var(--gray-100);',
|
||
' border: 1px solid var(--gray-300);',
|
||
' border-radius: 50%;',
|
||
' cursor: pointer;',
|
||
' color: var(--gray-500);',
|
||
' transition: all var(--transition-fast);',
|
||
'}',
|
||
'.help-btn:hover {',
|
||
' background: var(--primary-bg);',
|
||
' border-color: var(--primary);',
|
||
' color: var(--primary);',
|
||
'}',
|
||
'.help-btn:focus-visible {',
|
||
' box-shadow: 0 0 0 3px rgba(26, 115, 232, 0.3);',
|
||
' outline: none;',
|
||
'}',
|
||
'.help-btn svg {',
|
||
' width: 18px;',
|
||
' height: 18px;',
|
||
'}',
|
||
|
||
/* Contenuto del modale help */
|
||
'.help-content {',
|
||
' font-size: 0.875rem;',
|
||
' color: var(--gray-700);',
|
||
' line-height: 1.7;',
|
||
'}',
|
||
'.help-content .help-intro {',
|
||
' margin-bottom: 20px;',
|
||
' padding: 14px 18px;',
|
||
' background: var(--primary-bg);',
|
||
' border-radius: var(--border-radius);',
|
||
' border-left: 4px solid var(--primary);',
|
||
' color: var(--gray-700);',
|
||
'}',
|
||
'.help-content h4 {',
|
||
' font-size: 0.9375rem;',
|
||
' font-weight: 700;',
|
||
' color: var(--gray-900);',
|
||
' margin: 20px 0 10px 0;',
|
||
' padding-bottom: 6px;',
|
||
' border-bottom: 1px solid var(--gray-100);',
|
||
'}',
|
||
'.help-content h4:first-of-type {',
|
||
' margin-top: 0;',
|
||
'}',
|
||
'.help-content ul {',
|
||
' list-style: none;',
|
||
' padding: 0;',
|
||
' margin: 0 0 8px 0;',
|
||
'}',
|
||
'.help-content ul li {',
|
||
' position: relative;',
|
||
' padding: 5px 0 5px 20px;',
|
||
' line-height: 1.6;',
|
||
'}',
|
||
'.help-content ul li::before {',
|
||
' content: "";',
|
||
' position: absolute;',
|
||
' left: 0;',
|
||
' top: 13px;',
|
||
' width: 6px;',
|
||
' height: 6px;',
|
||
' background: var(--primary);',
|
||
' border-radius: 50%;',
|
||
'}',
|
||
'.help-content .help-references {',
|
||
' margin-top: 24px;',
|
||
' padding: 14px 18px;',
|
||
' background: var(--gray-50);',
|
||
' border-radius: var(--border-radius);',
|
||
' border: 1px solid var(--gray-200);',
|
||
'}',
|
||
'.help-content .help-references h4 {',
|
||
' font-size: 0.8125rem;',
|
||
' color: var(--gray-600);',
|
||
' text-transform: uppercase;',
|
||
' letter-spacing: 0.04em;',
|
||
' margin: 0 0 10px 0;',
|
||
' padding-bottom: 6px;',
|
||
' border-bottom: 1px solid var(--gray-200);',
|
||
'}',
|
||
'.help-content .help-references ul li {',
|
||
' font-size: 0.8125rem;',
|
||
' color: var(--gray-600);',
|
||
' padding: 3px 0 3px 20px;',
|
||
'}',
|
||
'.help-content .help-references ul li::before {',
|
||
' width: 5px;',
|
||
' height: 5px;',
|
||
' background: var(--gray-400);',
|
||
' top: 11px;',
|
||
'}',
|
||
|
||
/* Inline help tooltip */
|
||
'.inline-help {',
|
||
' display: inline-flex;',
|
||
' align-items: center;',
|
||
' justify-content: center;',
|
||
' width: 16px;',
|
||
' height: 16px;',
|
||
' margin-left: 4px;',
|
||
' vertical-align: middle;',
|
||
' color: var(--gray-400);',
|
||
' cursor: help;',
|
||
' position: relative;',
|
||
'}',
|
||
'.inline-help:hover {',
|
||
' color: var(--primary);',
|
||
'}',
|
||
'.inline-help .inline-help-text {',
|
||
' position: absolute;',
|
||
' bottom: calc(100% + 8px);',
|
||
' left: 50%;',
|
||
' transform: translateX(-50%) scale(0.95);',
|
||
' background: var(--gray-800);',
|
||
' color: #fff;',
|
||
' padding: 8px 12px;',
|
||
' border-radius: var(--border-radius-sm);',
|
||
' font-size: 0.75rem;',
|
||
' font-weight: 500;',
|
||
' line-height: 1.5;',
|
||
' white-space: normal;',
|
||
' width: max-content;',
|
||
' max-width: 260px;',
|
||
' pointer-events: none;',
|
||
' opacity: 0;',
|
||
' transition: opacity var(--transition-fast), transform var(--transition-fast);',
|
||
' z-index: 60;',
|
||
' box-shadow: 0 4px 12px rgba(0, 0, 0, 0.2);',
|
||
'}',
|
||
'.inline-help .inline-help-text::after {',
|
||
' content: "";',
|
||
' position: absolute;',
|
||
' top: 100%;',
|
||
' left: 50%;',
|
||
' transform: translateX(-50%);',
|
||
' border: 5px solid transparent;',
|
||
' border-top-color: var(--gray-800);',
|
||
'}',
|
||
'.inline-help:hover .inline-help-text {',
|
||
' opacity: 1;',
|
||
' transform: translateX(-50%) scale(1);',
|
||
'}'
|
||
].join('\n');
|
||
|
||
document.head.appendChild(style);
|
||
}
|
||
|
||
// ── Rilevamento pagina corrente dall'URL ─────────────────────────
|
||
|
||
function _detectPage() {
|
||
var pathname = window.location.pathname;
|
||
var filename = pathname.split('/').pop() || '';
|
||
// Rimuovi eventuale query string
|
||
filename = filename.split('?')[0];
|
||
// Rimuovi eventuale hash
|
||
filename = filename.split('#')[0];
|
||
|
||
// Prova match diretto
|
||
if (_pageMap[filename]) {
|
||
return _pageMap[filename];
|
||
}
|
||
|
||
// Prova senza estensione
|
||
var withoutExt = filename.replace(/\.html?$/, '');
|
||
if (_pageMap[withoutExt]) {
|
||
return _pageMap[withoutExt];
|
||
}
|
||
|
||
// Fallback: prova a cercare nel pathname
|
||
var segments = pathname.replace(/\.html?$/, '').split('/').filter(Boolean);
|
||
for (var i = segments.length - 1; i >= 0; i--) {
|
||
if (_pageMap[segments[i]]) {
|
||
return _pageMap[segments[i]];
|
||
}
|
||
}
|
||
|
||
return null;
|
||
}
|
||
|
||
// ── Rendering del contenuto HTML di help ─────────────────────────
|
||
|
||
// Mapping pageId -> ancora capitolo nella Guida completa (guida.html)
|
||
var _guideAnchor = {
|
||
'dashboard': 'cap-4',
|
||
'assessment': 'cap-5',
|
||
'risks': 'cap-6',
|
||
'incidents': 'cap-7',
|
||
'policies': 'cap-8',
|
||
'supply-chain': 'cap-9',
|
||
'training': 'cap-10',
|
||
'assets': 'cap-11',
|
||
'reports': 'cap-12',
|
||
'feedback': 'cap-13',
|
||
'workflow': 'cap-4',
|
||
'settings': 'cap-3'
|
||
};
|
||
|
||
function _renderHelpContent(pageId) {
|
||
var data = _helpContent[pageId];
|
||
if (!data) return null;
|
||
|
||
var html = '<div class="help-content">';
|
||
|
||
// Intro
|
||
html += '<div class="help-intro">' + data.intro + '</div>';
|
||
|
||
// Sezioni
|
||
for (var i = 0; i < data.sections.length; i++) {
|
||
var section = data.sections[i];
|
||
html += '<h4>' + section.heading + '</h4>';
|
||
html += '<ul>';
|
||
for (var j = 0; j < section.items.length; j++) {
|
||
html += '<li>' + section.items[j] + '</li>';
|
||
}
|
||
html += '</ul>';
|
||
}
|
||
|
||
// Riferimenti NIS2
|
||
if (data.references && data.references.length > 0) {
|
||
html += '<div class="help-references">';
|
||
html += '<h4>Riferimenti NIS2</h4>';
|
||
html += '<ul>';
|
||
for (var k = 0; k < data.references.length; k++) {
|
||
html += '<li>' + data.references[k] + '</li>';
|
||
}
|
||
html += '</ul>';
|
||
html += '</div>';
|
||
}
|
||
|
||
// Link alla guida completa (per utenti che vogliono approfondire)
|
||
var anchor = _guideAnchor[pageId] || '';
|
||
var guideHref = 'guida.html' + (anchor ? '#' + anchor : '');
|
||
html += '<div style="margin-top:20px;padding:14px 18px;background:#eff6ff;border-left:4px solid #1e40af;border-radius:6px;">';
|
||
html += '<strong style="color:#1e40af;">Sei nuovo?</strong> ';
|
||
html += 'Apri la <a href="' + guideHref + '" style="color:#1e40af;font-weight:600;">Guida all\'uso completa</a> ';
|
||
html += 'con spiegazioni in parole semplici, esempi pratici e cosa dice la norma.';
|
||
html += '</div>';
|
||
|
||
html += '</div>';
|
||
|
||
return { title: data.title, content: html };
|
||
}
|
||
|
||
// ── API Pubblica ─────────────────────────────────────────────────
|
||
|
||
/**
|
||
* Mostra il modale di help per una pagina specifica.
|
||
* Se pageId non e' fornito, rileva automaticamente la pagina corrente.
|
||
* @param {string} [pageId] - Identificativo della pagina (es. 'dashboard', 'risks')
|
||
*/
|
||
function showHelp(pageId) {
|
||
_injectStyles();
|
||
|
||
if (!pageId) {
|
||
pageId = _detectPage();
|
||
}
|
||
|
||
if (!pageId || !_helpContent[pageId]) {
|
||
if (typeof showNotification === 'function') {
|
||
showNotification('Nessuna guida disponibile per questa pagina.', 'info');
|
||
}
|
||
return;
|
||
}
|
||
|
||
var rendered = _renderHelpContent(pageId);
|
||
if (!rendered) return;
|
||
|
||
var footer = '<button class="btn btn-primary" onclick="closeModal()">Ho capito</button>';
|
||
|
||
showModal(rendered.title, rendered.content, {
|
||
footer: footer,
|
||
size: 'lg'
|
||
});
|
||
}
|
||
|
||
/**
|
||
* Inietta un pulsante "?" nell'header della pagina (.content-header-actions).
|
||
* Se l'header non esiste o il pulsante e' gia' presente, non fa nulla.
|
||
*/
|
||
function addHelpButton() {
|
||
_injectStyles();
|
||
|
||
var pageId = _detectPage();
|
||
if (!pageId || !_helpContent[pageId]) return;
|
||
|
||
var container = document.querySelector('.content-header-actions');
|
||
if (!container) return;
|
||
|
||
// Evita duplicati
|
||
if (container.querySelector('.help-btn')) return;
|
||
|
||
var btn = document.createElement('button');
|
||
btn.className = 'help-btn';
|
||
btn.setAttribute('type', 'button');
|
||
btn.setAttribute('aria-label', 'Apri guida contestuale');
|
||
btn.setAttribute('title', 'Guida');
|
||
btn.innerHTML = HELP_ICON;
|
||
|
||
btn.addEventListener('click', function () {
|
||
showHelp(pageId);
|
||
});
|
||
|
||
container.appendChild(btn);
|
||
}
|
||
|
||
/**
|
||
* Restituisce una stringa HTML per un'icona "?" con tooltip inline.
|
||
* Puo' essere inserita accanto a qualsiasi elemento.
|
||
* @param {string} text - Testo del tooltip
|
||
* @returns {string} HTML string
|
||
*/
|
||
function inlineHelp(text) {
|
||
_injectStyles();
|
||
|
||
// Escape delle virgolette nel testo per sicurezza nell'attributo
|
||
var safeText = text
|
||
.replace(/&/g, '&')
|
||
.replace(/</g, '<')
|
||
.replace(/>/g, '>');
|
||
|
||
return '<span class="inline-help" tabindex="0" role="button" aria-label="Informazione">' +
|
||
HELP_ICON_SMALL +
|
||
'<span class="inline-help-text">' + safeText + '</span>' +
|
||
'</span>';
|
||
}
|
||
|
||
/**
|
||
* Versione testo-piano del contenuto di help della pagina (per ARIA).
|
||
* Stessa fonte del pannello "?" → l'AI resta ALLINEATA all'help mostrato all'utente.
|
||
* @param {string} [pageId] - se assente, rileva la pagina corrente.
|
||
* @param {number} [maxLen] - cap caratteri (default 2200).
|
||
* @returns {string} testo piano, '' se la pagina non ha help.
|
||
*/
|
||
function _stripHtml(s) {
|
||
return String(s || '')
|
||
.replace(/<[^>]+>/g, '')
|
||
.replace(/</g, '<').replace(/>/g, '>').replace(/&/g, '&')
|
||
.replace(/≥/g, '≥').replace(/≤/g, '≤').replace(/ /g, ' ')
|
||
.replace(/\s+/g, ' ').trim();
|
||
}
|
||
function getContextText(pageId, maxLen) {
|
||
if (!pageId) pageId = _detectPage();
|
||
var d = pageId && _helpContent[pageId];
|
||
if (!d) return '';
|
||
var out = [];
|
||
if (d.title) out.push(_stripHtml(d.title).replace(/^Guida\s*-\s*/i, '').trim());
|
||
if (d.intro) out.push(_stripHtml(d.intro));
|
||
(d.sections || []).forEach(function (s) {
|
||
var items = (s.items || []).map(_stripHtml).join(' ');
|
||
out.push(('• ' + (s.heading || '') + ': ' + items).trim());
|
||
});
|
||
if (d.references && d.references.length) {
|
||
out.push('Riferimenti: ' + d.references.map(_stripHtml).join('; '));
|
||
}
|
||
var txt = out.join('\n');
|
||
maxLen = maxLen || 2200;
|
||
if (txt.length > maxLen) txt = txt.slice(0, maxLen) + '…';
|
||
return txt;
|
||
}
|
||
/** pageId canonico della pagina corrente (o '' se non mappata). */
|
||
function detectPageId() { return _detectPage() || ''; }
|
||
|
||
/**
|
||
* Inizializza il sistema di help: inietta gli stili e aggiunge il pulsante help
|
||
* nell'header della pagina corrente (se applicabile).
|
||
*/
|
||
function init() {
|
||
_injectStyles();
|
||
addHelpButton();
|
||
}
|
||
|
||
/**
|
||
* Restituisce la lista degli ID di pagina supportati dal sistema di help.
|
||
* @returns {string[]}
|
||
*/
|
||
function getAvailablePages() {
|
||
return Object.keys(_helpContent);
|
||
}
|
||
|
||
// ── Esposizione API ──────────────────────────────────────────────
|
||
|
||
return {
|
||
init: init,
|
||
showHelp: showHelp,
|
||
addHelpButton: addHelpButton,
|
||
inlineHelp: inlineHelp,
|
||
getAvailablePages: getAvailablePages,
|
||
getContextText: getContextText, // testo help della pagina per ARIA (allineamento)
|
||
detectPageId: detectPageId // pageId canonico corrente
|
||
};
|
||
|
||
})();
|