/**
* 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 = '';
var HELP_ICON_SMALL = '';
// ── 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 gauge circolare mostra il punteggio complessivo di conformita\' NIS2 (0-100%), calcolato sulla base dell\'ultimo assessment completato.',
'I colori indicano il livello: rosso (critico, <20%), arancione (basso, 20-39%), giallo (medio, 40-59%), verde chiaro (buono, 60-79%), verde (eccellente, ≥80%).',
'Il punteggio si aggiorna automaticamente ad ogni nuovo assessment.'
]
},
{
heading: 'Statistiche Principali',
items: [
'Rischi Aperti - numero di rischi attivi nel registro dei rischi.',
'Incidenti Attivi - incidenti di sicurezza attualmente in gestione.',
'Scadenze Superate - 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 feed Attivita\' Recente mostra le ultime operazioni effettuate sulla piattaforma (assessment, rischi, incidenti, policy).',
'Le Prossime Scadenze elencano i task e le attivita\' in scadenza, evidenziando in rosso quelle urgenti.',
'La Mappa Rischi visualizza la distribuzione dei rischi per livello di gravita\'.'
]
},
{
heading: 'Azioni Rapide',
items: [
'Utilizza le Azioni Rapide per avviare operazioni comuni senza navigare nel menu.',
'La funzione Genera Policy con AI 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.'
]
}
],
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 10 categorie 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: [
'Non Implementato (0%) - la misura non e\' presente.',
'Parzialmente Implementato (50%) - la misura e\' presente ma incompleta o non formalizzata.',
'Implementato (100%) - la misura e\' completamente implementata e documentata.',
'Non Applicabile - la misura non si applica al contesto dell\'organizzazione.'
]
},
{
heading: 'Analisi AI',
items: [
'Al completamento dell\'assessment, puoi richiedere un\'analisi basata su AI 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 generare automaticamente NCR (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: [
'1. Contesto e Ambito (cl. 4): definisci lo scope del SGSI, contesto interno/esterno, parti interessate, confini ed esclusioni motivate. Qui attivi anche le estensioni cloud.',
'2. Leadership (cl. 5): ruoli e responsabilita del SGSI con matrice RACI (Responsible, Accountable, Consulted, Informed).',
'3. Risk (cl. 6): dichiari la metodologia di risk assessment (es. ISO 27005) e gli obiettivi. Il registro dei rischi resta nel modulo Rischi.',
'4. Statement of Applicability: i 93 controlli Annex A con applicabilita, stato e motivazione.',
'5. Documented Information (cl. 7-8): policy e procedure, con bozze generabili dall\'AI (revisione umana obbligatoria).',
'6. Monitoraggio e Miglioramento (cl. 9-10): 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 ciclo di vita: Bozza → In revisione → Approvato → Pubblicato → Archiviato, mostrato con un badge colorato nel passo 5 (Documenti).',
'Transizioni: "Invia in revisione", "Approva" / "Rimanda in bozza", "Pubblica" (mette il documento in vigore), "Archivia" (lo ritira), "Nuova versione" (riapre una bozza con numero di versione incrementato).',
'Ad ogni pubblicazione viene salvato uno snapshot di versione: il pulsante "Storico" mostra tutte le versioni con autore, data e nota. Alla pubblicazione vengono impostate la data di entrata in vigore e la prossima data di riesame (a 1 anno).',
'Scarica Word: il pulsante "Word" esporta il singolo documento in formato .doc modificabile (mantiene titoli, elenchi e tabelle); "Apri" lo mostra in una nuova scheda. Il pulsante "Scarica tutto (Word)" esporta l\'intero set documentale in un unico file (copertina + indice).',
'Modifica in-app: per le bozze e i documenti in revisione 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 informazioni documentate richiesta dalla ISO/IEC 27001 cl. 7.5: 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 pre-compilato a partire dalle tue risposte NIS2 (badge "da NIS2").',
'Lo stato derivato e una proposta da confermare: 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 ISO/IEC 27017:2015: aggiunge 7 controlli cloud (CLD.*) al SoA.',
'Se tratti dati personali (PII) in cloud pubblico come responsabile, attiva ISO/IEC 27018:2019: 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: [
'Ruolo: una posizione organizzativa (es. CISO, Responsabile IT, DPO). Puo avere un titolare (un utente dell\'organizzazione) oppure restare vacante.',
'Gerarchia: ogni ruolo puo avere un ruolo "padre" (a chi riporta). I ruoli senza padre sono i nodi radice dell\'organigramma.',
'Responsabilita e poteri: 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 organo di governance il ruolo che rappresenta gli organi di amministrazione e direttivi: l\'art. 23 del D.Lgs. 138/2024 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 formazione specifica in materia di sicurezza informatica (gestita nel modulo Formazione).'
]
},
{
heading: 'Come si usa',
items: [
'Nuovo ruolo: 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: [
'Catalogo competenze: 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.',
'Requisiti per ruolo: per ogni ruolo dell\'organigramma indichi quali competenze servono e a quale livello (scala 1-5).',
'Competenze persone: registri le competenze possedute da ciascun membro, con il livello, l\'eventuale corso che le ha fornite e un\'evidenza.',
'Gap & azioni: 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.',
'Assegna corso: assegna al titolare uno dei corsi mappati alla competenza (gestito nel modulo Formazione).',
'Apri non conformità: 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: [
'PR.AT-01: formazione e consapevolezza per tutto il personale (vale per tutti i soggetti).',
'PR.AT-02: formazione mirata per i ruoli a maggior rischio (richiesto in particolare ai soggetti essenziali).',
'GV.RR-04: 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 ruolo × oggetto assegni una lettera: Responsible (esegue), Accountable (risponde del risultato, di norma uno solo), Consulted (consultato prima), Informed (informato dopo).',
'Gli oggetti collegabili sono: Inventario (gli asset), Procedure (le policy), Rischi (il registro rischi) e Fornitori (la supply chain).',
'Lasciando vuota una cella, il ruolo non ha responsabilità formalizzate su quell\'oggetto.'
]
},
{
heading: 'I collegamenti (link)',
items: [
'Procedura ↔ Inventario: quali asset sono coperti/governati da una procedura.',
'Procedura ↔ Rischio: quali rischi una procedura contribuisce a trattare.',
'Inventario ↔ Rischio: quali rischi insistono su un determinato asset.',
'Rischio ↔ Misura: a quali misure ACN (per codice, es. GV.OC-04) un rischio è ricondotto.'
]
},
{
heading: 'Riferimenti normativi',
items: [
'GV.RR-02: ruoli, responsabilità e poteri per la cybersicurezza sono stabiliti e comunicati (base della RACI).',
'Inventario: famiglia ID.AM (asset management) — censimento e responsabilità sugli asset.',
'Procedure: GV.PO (policy/governance) — le procedure attuano le politiche.',
'Rischi: art. 24 D.Lgs. 138/2024 e famiglia ID.RA (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: [
'OK (verde): la prossima revisione è oltre i 30 giorni.',
'In scadenza (arancione): la prossima revisione cade entro 30 giorni.',
'Scaduto (rosso): 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: [
'Nuova scadenza: crei una voce indicando titolo, tipo di entità, ruolo responsabile, frequenza (in mesi) e data della prossima revisione.',
'Segna revisionato: registra la revisione di oggi; se è impostata una frequenza, la prossima data avanza automaticamente.',
'Sincronizza scadenze esistenti: 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: [
'GV.PO-02: le politiche di cybersicurezza sono riviste periodicamente e aggiornate.',
'GV.SC-07: i rischi e i rapporti con i fornitori sono monitorati e rivisti nel tempo.',
'PR.AT: la formazione e consapevolezza è mantenuta e ripetuta nel tempo.',
'DE.CM: il monitoraggio continuo presuppone controlli rivisti con regolarità.',
'In Italia gli obblighi fanno capo al D.Lgs. 138/2024 (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 misure sono 43 in totale; ogni misura è descritta da uno o più requisiti (i singoli punti/commi).',
'A ogni requisito è abbinata una policy di default (che lo risolve) e un rischio di default: queste alimentano, come contenuto iniziale modificabile, i moduli Policy e Rischi.',
'La valutazione del rischio 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 soggetti essenziali: per un soggetto importante quelle righe si "spengono" (appaiono in grigio).',
'Soggetti importanti: 37 misure / 92 requisiti. Soggetti essenziali: 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 Stato / Valutazione: ci clicchi sopra per registrare lo stato (da valutare, non applicabile, non conforme, parziale, conforme) e la valutazione del rischio (che parte vuota).',
'È da questa valutazione, requisito per requisito, e dall\'analisi degli stakeholder che emerge lo stato di conformità 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 policy di default associate ai requisiti vengono caricate automaticamente, al primo accesso, nel modulo Policy, dove puoi personalizzarle o eliminarle.'
]
},
{
heading: 'Riferimenti normativi',
items: [
'Misure di base: Determinazione ACN n. 164179 del 14 aprile 2025 (Allegato 1 = importanti, Allegato 2 = essenziali).',
'Gli obblighi di gestione del rischio fanno capo all\'art. 24 del D.Lgs. 138/2024; la governance all\'art. 23.',
'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: [
'Interni (Stak.01–06): dipendenti, management, azionisti, collaboratori, sindacalisti, volontari/associati. Si collegano a un nodo dell\'organigramma.',
'Esterni (Stak.07–30): clienti, fornitori, partner, autorità, banche, assicurazioni, comunità, media… Possono essere collegati a un fornitore già censito in Supply Chain (nessuna duplicazione del dato).',
'Puoi aggiungere nuovi tipi: 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 potere (capacità di influenzare l\'azienda) e interesse (quanto è coinvolto) con valori da 0 a 5.',
'La matrice di Mendelow (x = interesse, y = potere) colloca lo stakeholder in un quadrante: Q1 Tenere soddisfatti, Q2 Gestire attivamente, Q3 Tenere informati, Q4 Monitorare.',
'La matrice è una buona prassi di gestione degli stakeholder, non un obbligo NIS2. Gli stakeholder non ancora valutati restano elencati a parte, da completare.'
]
},
{
heading: 'Riferimenti normativi',
items: [
'GV.SC-02 (obbligo): ruoli e responsabilità per la sicurezza sono stabiliti e comunicati verso fornitori, clienti e partner.',
'GV.OC: comprensione del contesto organizzativo e delle parti interessate.',
'GV.SC-04/05/07: 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 controllo con titolo, categoria, responsabile (ruolo dell\'organigramma), frequenza (giornaliera, settimanale, mensile, trimestrale, semestrale, annuale o personalizzata) e metodo di verifica. Riceve un codice CTL-NNN.',
'Puoi collegarlo a un controllo del SoA/NIS2 (campo "Controllo collegato", es. A.8.13): così il controllo periodico diventa l\'evidenza operativa che quel controllo tecnico funziona.',
'La prossima scadenza compare nel Calendario con stato in ritardo / in scadenza / pianificato.'
]
},
{
heading: 'Registrare le esecuzioni (evidenza)',
items: [
'Dal dettaglio, Registra esecuzione: indichi data, esito (conforme, parziale, non conforme, non applicabile) e note/evidenze. La scadenza avanza automaticamente secondo la frequenza.',
'Lo storico delle esecuzioni è la prova, all\'auditor, che il controllo è eseguito periodicamente.',
'Il pulsante Report genera la scheda del controllo con lo storico, stampabile.'
]
},
{
heading: 'Generazione NC / azioni correttive',
items: [
'Su esito non conforme o parziale puoi generare una non conformità (NC) oppure NC + azione correttiva (AC): confluiscono nel modulo NCR/CAPA, dove gestisci root cause e azioni.',
'Riferimenti: ISO/IEC 27001 §10.2 (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 audit 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 codice progressivo (AUD-001, AUD-002, …) per organizzazione.',
'La data pianificata compare automaticamente nel calendario NIS2 (Scadenziario).'
]
},
{
heading: 'Checklist di conduzione',
items: [
'Alla creazione la checklist viene pre-popolata: le clausole 4-10 della ISO 27001 e i controlli Annex A marcati come applicabili nel tuo SoA (Modello SGSI). Parti già con la checklist, non da foglio bianco.',
'Per ogni voce scegli l\'esito (Da verificare, Conforme, Non conforme, Osservazione, Opportunità, Non applicabile) e annoti note/evidenze; il salvataggio è immediato.',
'Puoi aggiungere voci custom non previste dalle clausole o dall\'Annex A.'
]
},
{
heading: 'Non conformità e report',
items: [
'Sulle voci marcate Non conforme puoi premere Apri NC: il sistema crea una non conformità collegata (sorgente "audit") che confluisce nel modulo NCR/CAPA, dove ne gestisci root cause e azioni correttive.',
'Il pulsante Report apre un verbale di audit stampabile (HTML) con metadati, sintesi degli esiti, checklist completa e conclusioni: usa "Stampa / Salva PDF" del browser.'
]
},
{
heading: 'Riferimenti normativi',
items: [
'ISO/IEC 27001:2022 §9.2: l\'organizzazione conduce audit interni a intervalli pianificati per verificare che il SGSI sia conforme ai requisiti e attuato efficacemente.',
'NIST CSF 2.0 / GV.PO-02: la politica di sicurezza e i programmi di gestione sono rivisti e migliorati nel tempo (buona prassi anche per NIS2).',
'Le azioni 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: [
'1. Crea il riesame: indica data, periodo di riferimento (es. "2026 H1"), presidente e partecipanti. Il codice RD-AAAA-NN viene generato automaticamente.',
'2. Aggrega i dati: 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).',
'3. Rivedi e completa: gli input aggregati sono una proposta da rivedere; aggiungi le conclusioni della direzione.',
'4. Registra le decisioni: 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.',
'5. Approva e congela: 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: [
'Griglia mensile: 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.',
'Lista: tutte le scadenze ordinate per data, con quelle in ritardo in cima. Clic sul nome apre l\'elemento sorgente (incidente, policy, rischio, ...).'
]
},
{
heading: 'Stato delle scadenze',
items: [
'In ritardo (rosso): la data e\' gia\' passata e la scadenza non risulta assolta.',
'In scadenza (arancione): mancano 14 giorni o meno.',
'Futura (blu): oltre 14 giorni.',
'Assolta (verde): la scadenza e\' stata chiusa/completata nel modulo di origine.'
]
},
{
heading: 'Filtri',
items: [
'Puoi filtrare per tipo (incidenti, policy, rischi, controlli, NC/CAPA, formazione, stakeholder, revisioni, audit interni, riesame) e per stato, 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 questionario tipo è un modello riutilizzabile: scegli se è un questionario da compilare (con domande) o una richiesta di firma di avvenuta lettura (un testo da leggere e confermare).',
'Puoi collegare il questionario tipo alle procedure e alle misure/requisiti del framework (collegamento molti-a-molti), per documentare a cosa si riferisce.'
]
},
{
heading: 'Attività e assegnazione',
items: [
'Crea un\'attività basata (o no) su un questionario tipo e assegnala per codice stakeholder (tutti quelli di quel tipo) oppure a stakeholder singoli selezionati.',
'Indica una data pianificata e una scadenza: la scadenza compare automaticamente nel calendario NIS2 (Scadenziario).',
'Con Invia il sistema genera un magic-link 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: [
'GV.SC-02: ruoli e responsabilità verso fornitori, clienti e partner.',
'GV.SC-05 / GV.SC-07: requisiti di sicurezza negli accordi e monitoraggio/revisione delle terze parti nel tempo.',
'Le azioni 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: 'Il modulo di Gestione Rischi consente di identificare, valutare e trattare i rischi di sicurezza informatica in conformita\' con l\'art. 24 del D.Lgs. 138/2024 (che recepisce l\'art. 21 della Direttiva (UE) 2022/2555). Include una matrice di rischio interattiva e strumenti per il monitoraggio continuo.',
sections: [
{
heading: 'Matrice di Rischio',
items: [
'La matrice Probabilita\' x Impatto (5x5) classifica automaticamente i rischi in base alla loro gravita\'.',
'I livelli di probabilita\' vanno da Molto Bassa a Molto Alta.',
'I livelli di impatto vanno da Trascurabile a Critico.',
'Il punteggio di rischio risultante determina il colore e la priorita\' del rischio.'
]
},
{
heading: 'Livelli di Gravita\'',
items: [
'Basso - rischio accettabile, monitoraggio periodico.',
'Medio - richiede attenzione, pianificare azioni di mitigazione.',
'Alto - richiede intervento prioritario.',
'Critico - richiede intervento immediato, escalation al management.'
]
},
{
heading: 'Opzioni di Trattamento',
items: [
'Mitigare - implementare controlli per ridurre probabilita\' o impatto.',
'Accettare - accettare consapevolmente il rischio (documentando la decisione).',
'Trasferire - trasferire il rischio a terzi (es. assicurazione, outsourcing).',
'Evitare - 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 Matrice Rischi si aggiorna in tempo reale: eliminando un rischio dalla vista dettaglio, la matrice si ricalcola automaticamente senza richiedere un refresh manuale.'
]
},
{
heading: 'Analisi Quantitativa FAIR (vista "Quantitativo")',
items: [
'Affianca alla matrice qualitativa la stima economica della Perdita Annua Attesa (ALE) in EUR.',
'Inserisci la frequenza eventi minaccia (TEF min/probabile/max), la vulnerabilita\' (0-1) e la magnitudo di perdita (min/probabile/max).',
'Il motore esegue una simulazione Monte Carlo e restituisce i percentili P10/P50/P90 + l\'istogramma della distribuzione delle perdite.',
'Il Registro Quantitativo aggrega l\'ALE di portafoglio per prioritizzare gli investimenti di sicurezza sul ritorno economico.'
]
},
{
heading: 'Key Risk Indicators - KRI (vista "KRI")',
items: [
'Definisci indicatori misurabili (es. % endpoint senza MFA, n. vulnerabilita\' critiche aperte) con soglie di warning e critica.',
'Lo stato semaforo (verde/ambra/rosso) e\' calcolato automaticamente confrontando il valore corrente con le soglie e la direzione (valori alti o bassi = peggio).',
'La dashboard KRI offre alla Direzione una vista sintetica dell\'esposizione al rischio in tempo reale.'
]
}
],
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)',
'FAIR (Factor Analysis of Information Risk) - The Open Group, standard O-RA per il rischio quantitativo',
'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: [
'Early Warning (24 ore) - 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).',
'Notifica (72 ore) - notifica completa entro 72 ore con valutazione iniziale, gravita\', impatto e indicatori di compromissione.',
'Report Finale (un mese) - 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: [
'Bassa - impatto limitato, nessuna interruzione di servizio significativa.',
'Media - impatto moderato su operazioni o dati, richiede intervento pianificato.',
'Alta - impatto significativo su servizi essenziali o dati sensibili.',
'Critica - interruzione grave di servizi essenziali, compromissione massiva di dati, impatto transfrontaliero.'
]
},
{
heading: 'Ciclo di Vita dell\'Incidente',
items: [
'Rilevazione - identificazione e registrazione iniziale dell\'incidente.',
'Analisi - valutazione di gravita\', impatto e perimetro.',
'Contenimento - azioni immediate per limitare il danno.',
'Risoluzione - eliminazione della causa e ripristino dei servizi.',
'Chiusura - 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: [
'Bozza - la policy e\' in fase di stesura, modificabile liberamente.',
'In Revisione - la policy e\' stata sottoposta a revisione da parte dei responsabili.',
'Approvata - la policy e\' stata approvata dal management.',
'Pubblicata - la policy e\' attiva e comunicata a tutto il personale.'
]
},
{
heading: 'Generazione con AI',
items: [
'La funzione Genera con AI 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 banner arancione di avviso 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 Matrice RACI collega i ruoli dell\'organigramma alla policy: R (Responsible, chi la esegue), A (Accountable, chi la approva e ne risponde), C (Consulted, chi va consultato), I (Informed, chi va informato).',
'In stato Bozza l\'assegnazione e\' libera. Per approvare la policy sono richiesti almeno un ruolo R e un ruolo A: 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\'Organigramma; 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 Policy: i due archivi sono stati unificati in un unico elenco.',
'Nella colonna Requisito NIS2 dell\'elenco policy trovi i requisiti collegati a ciascuna policy; il link apre la pagina Misure e Requisiti 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 registro fornitori 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 valutazione del rischio strutturata.',
'La valutazione copre: sicurezza informatica, continuita\' operativa, conformita\' normativa e dipendenza.',
'Il punteggio di rischio 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 Panoramica Rischi 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 importazione CSV (pulsante "Importa") o tramite API key dell\'azienda per l\'integrazione con gestionali/ERP.',
'Colonne CSV riconosciute: name (obbligatoria), vat_number, contact_email, contact_name, service_type, criticality, category_slug, external_ref.',
'I record con lo stesso external_ref vengono aggiornati (upsert): puoi reimportare senza creare duplicati.'
]
},
{
heading: 'Categorie e questionari configurabili',
items: [
'I fornitori possono essere classificati per categoria (set predefinito personalizzabile: Cloud, MSSP, Telco, Data center, Software/TIC, ecc.).',
'Il template "NIS2 base" 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 versionabili e le domande estensibili, anche per esigenze di procedure interne (privacy, 231, ESG, qualita\').',
'Nota interpretativa: 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 membri degli organi di gestione 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 corsi di formazione 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 scadenze personalizzate.',
'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 due sole voci principali: ID.AM-01 Hardware (apparati fisici: dispositivi IT, IoT, OT e mobili) e ID.AM-02 Software, servizi e sistemi (applicazioni commerciali/open-source/custom, servizi, sistemi, API).',
'Il dettaglio si esprime con le sottoclassi: alcune di default (es. Server, Dispositivi di rete, Applicazioni software, Basi dati e archivi) e altre che puoi aggiungere tu 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 livello di criticita\' 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 Valuta Rilevanza NIS2 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 rilevante NIS2 quando il punteggio ≥ 40. 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 Sistemi Rilevanti.',
'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 Mappa Dipendenze visualizza le relazioni tra i beni (quali beni dipendono da quali).',
'Per popolarla, in modifica del bene usa il campo Dipendenze 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 rimuovere un bene non piu\' pertinente usa il pulsante Elimina (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 CSV o da un export CMDB/cloud, invece di inserirli manualmente.',
'Colonne riconosciute: name, asset_type, criticality, data_classification, internet_facing, dependencies_count, regulated, external_ref, vendor, location.',
'Lo scoring di rilevanza NIS2 (GV.OC-04) viene calcolato automaticamente per ogni bene importato, classificandolo critico/alto/medio/basso.',
'Il campo external_ref abilita la deduplica: re-importare lo stesso ID aggiorna il bene invece di duplicarlo.',
'Gli stessi dati possono arrivare via connettore automatico (API POST /api/services/assets-ingest, scope ingest:assets).'
]
},
{
heading: 'Esporta (pulsante "Esporta")',
items: [
'Scarica l\'intero inventario in un file CSV con le stesse colonne dell\'importazione, così puoi salvarne una copia, modificarlo fuori e re-importarlo senza riformattare nulla.',
'Il file usa le colonne riconosciute dall\'import; re-importandolo lo scoring di rilevanza NIS2 viene ricalcolato e i beni con lo stesso external_ref 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 click su un\'intestazione di colonna (Nome, Tipo, Categoria, Criticità, Rilevanza NIS2, Owner, Stato) per ordinare l\'inventario in base a quella colonna.',
'Un secondo click sulla stessa colonna inverte l\'ordine (crescente ⇄ decrescente); la freccia ▲/▼ indica la direzione attiva.',
'Criticità e Rilevanza NIS2 si ordinano per valore reale (es. Critico prima di Basso, punteggio alto prima di basso), non in ordine alfabetico.',
'L\'ordinamento agisce su tutto l\'inventario caricato 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 più connettori per la stessa organizzazione, uno per ciascuna sorgente (es. "Rete sede Roma", "Rete sede Modena", "AWS prod").',
'Ogni connettore ha un tipo (rete, AWS, Azure, GCP, CMDB, agente, custom) e una propria chiave API.',
'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 chiave API mostrata una sola volta (copiala subito).',
'Esegui l\'agente di discovery (scripts/discovery-agent.mjs) dentro la rete da mappare con quella chiave: scansiona gli host e invia gli asset a NIS2.',
'NIS2 fa dedup per indirizzo, calcola il punteggio di rilevanza NIS2 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 solo lo scope ingest:assets: può aggiungere asset/flussi solo alla tua organizzazione, non leggere altri dati.',
'Se una chiave è compromessa usa Rigenera chiave: la vecchia smette di funzionare.',
'La gestione dei connettori è riservata agli amministratori dell\'organizzazione.'
]
}
],
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: Conforme, Parzialmente Conforme, Non Conforme, Non Valutato.',
'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 evidenze (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 log di audit 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 freschezza di ogni controllo alimentato dalle evidenze raccolte automaticamente dai connettori (Evidence Automation).',
'Semafori: Sano (evidenza valida), Attenzione, Evidenza scaduta (oltre la soglia di freschezza), Non conforme (ultimo check fallito), Non monitorato.',
'La copertura indica la quota di controlli alimentati da evidenze automatiche: avvicina il modello alla compliance continua (vs assessment puntuale).',
'Le evidenze arrivano via API POST /api/services/evidence-ingest (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 Permessi documentali definisci, con una matrice Ruolo x Azione, 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 è visibile a tutti i membri (trasparenza), ma solo Amministratore e Direzione 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\'autovalutazione preliminare non vincolante: la qualifica formale e la registrazione spettano all\'ACN (Determinazione ACN 333017/2025, dichiarazione ex DPR 445/2000, finestra 1 gennaio - 28 febbraio).',
'Soggetto Essenziale - settore ad alta criticità (Allegato I) + grande impresa (≥250 dip. o >50M€ fatturato o >43M€ bilancio). Vigilanza proattiva.',
'Soggetto Importante - media impresa in Allegato I, oppure soggetto medio/grande in Allegato II. Vigilanza reattiva.',
'A prescindere dalla dimensione (art. 3, comma 5, D.Lgs. 138/2024): fornitori DNS, registri TLD, servizi fiduciari, reti/servizi di comunicazione elettronica pubblici, registrar di domini, PA.',
'Sotto-soglia: 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.',
'Non Applicabile / Adesione Volontaria - fuori dall\'ambito obbligatorio; puoi comunque aderire volontariamente adottando il framework NIS2.'
]
},
{
heading: 'Gestione Team',
items: [
'Aggiungi e gestisci i membri del team 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 timeout di sessione automatico 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 Sessioni Attive 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 Preferenze puoi personalizzare la tua esperienza individuale (non condivisa con altri membri dell\'organizzazione).',
'Lingua: italiano, inglese, francese o tedesco — applicata a tutti i menu e messaggi.',
'Tema: chiaro, scuro o automatico (segue le impostazioni del sistema operativo).',
'Timezone: usata per visualizzare date e ore. Default Europe/Rome (CET/CEST). Cambia se lavori da un altro fuso.',
'Notifiche email: ricevi via email gli avvisi per incidenti, scadenze e training.',
'Notifiche in-app: mostra badge contatori nella sidebar per 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 30 minuti.',
'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 sidebar appare un dropdown azienda in alto.',
'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 context_switch.'
]
},
{
heading: 'Branding white-label (solo consulenti / super admin)',
items: [
'Il tab Branding consente a uno studio di consulenza di personalizzare l\'interfaccia che vedranno i suoi clienti.',
'Nome prodotto custom: sostituisce "NIS2 Agile" con il branding dello studio (es. "Studio Rossi NIS2 Suite").',
'URL Logo: link assoluto al logo dello studio (es. https://www.tuosito.it/logo.svg). Verra\' mostrato nella sidebar e nelle pagine di login.',
'Colori: 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: [
'Fase 1 - Preparazione: onboarding, configurazione organizzazione, definizione team e ruoli.',
'Fase 2 - Valutazione: gap assessment Art.21 (80 domande), inventario dei beni, valutazione supply chain.',
'Fase 3 - Rischi: risk register, piano di trattamento, suggerimenti AI per settore.',
'Fase 4 - Implementazione: policy approvate, formazione completata, controlli ISO 27001 implementati.',
'Fase 5 - Monitoraggio: gestione incidenti Art.23, NCR/CAPA, aggiornamenti normativi, whistleblowing.',
'Fase 6 - Reportistica: report esecutivo, audit chain SHA-256, export certificato.'
]
},
{
heading: 'Come Leggere il Percorso',
items: [
'Completato - la fase ha raggiunto gli obiettivi minimi di compliance.',
'In corso - la fase e\' stata avviata ma non ancora completata.',
'Attivo - fase di monitoraggio continuo, sempre attiva una volta avviata.',
'Da iniziare - fase non ancora avviata.',
'La percentuale su ogni fase mostra il livello di completamento basato sui dati reali della piattaforma.'
]
},
{
heading: 'Prossima Azione Consigliata',
items: [
'Il banner blu 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 fase nella roadmap 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 Dashboard mostra KPI numerici e attivita\' recenti — risponde a "come sto?".',
'Il Compliance Journey 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 pulsante rosso in basso a destra — visibile su tutte le pagine quando sei autenticato.',
'Scegli il tipo: Bug/Errore, Miglioramento interfaccia, Nuova funzionalita\', Domanda o Altro.',
'Indica la priorita\' percepita: 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 screenshot 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\'AI analizza la segnalazione 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 "Si\', problema risolto".'
]
},
{
heading: 'Conferma risoluzione (Password Gate)',
items: [
'Quando clicchi "Si\', problema risolto" viene richiesta una password di conferma.',
'La password previene chiusure accidentali dei ticket — assicurandosi che la risoluzione sia intenzionale.',
'Se la segnalazione non e\' risolta, scegli "No, il problema persiste": il ticket rimane aperto e il team lo prende in carico.',
'Puoi monitorare lo stato nella tab "Le mie segnalazioni".'
]
},
{
heading: 'Le mie segnalazioni',
items: [
'La tab "Le mie segnalazioni" mostra le ultime 20 segnalazioni inviate per questa organizzazione.',
'I badge colorati indicano lo stato: Aperto, In lavorazione, Risolto, Chiuso.',
'La risposta AI e\' sempre visibile sotto ogni segnalazione.'
]
},
{
heading: 'Risoluzione autonoma AI (Worker)',
items: [
'I ticket marcati "In lavorazione" vengono processati automaticamente ogni 30 minuti da un worker AI.',
'Il worker utilizza Claude Code CLI per analizzare il codice e applicare correzioni in autonomia.',
'Se la correzione ha successo, il ticket viene marcato come Risolto 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: [
'Sii specifico: "Il bottone Salva nella pagina Rischi non risponde" e\' meglio di "qualcosa non funziona".',
'Includi i passi: "1. Apro la pagina Rischi, 2. Clicco Nuovo Rischio, 3. Compilo il modulo, 4. Il salvataggio da\' errore 500".',
'Allega screenshot quando possibile: accelera enormemente la diagnosi.',
'Usa il tipo Domanda 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 categoria e descrizione del problema o dell\'illecito che vuoi segnalare.',
'Puoi inviare la segnalazione in modo anonimo: in tal caso ricevi un codice di tracciamento 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 codice di tracciamento puoi verificare lo stato della tua segnalazione anonima senza autenticarti.',
'Gli incaricati assegnano e lavorano le segnalazioni: stati Aperta, In gestione, Chiusa.',
'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 fonte e data.',
'Gli aggiornamenti da prendere in carico sono evidenziati: richiedono una presa visione esplicita.'
]
},
{
heading: 'Presa visione (ACK)',
items: [
'Clicca "Presa visione" 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 titolo, tipo e contenuto.',
'Scegli la visibilità: 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 ricerca semantica 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 - Aziende Gestite',
intro: 'Il modulo Aziende è dedicato a consulenti e studi: permette di gestire più organizzazioni clienti e passare rapidamente dall\'una all\'altra mantenendo i dati separati.',
sections: [
{
heading: 'Gestione del portafoglio clienti',
items: [
'Visualizzi l\'elenco delle aziende che gestisci con il relativo livello di compliance.',
'Puoi aggiungere una nuova azienda cliente e accedere ai suoi moduli.',
'Il pulsante "Entra" imposta l\'organizzazione attiva: tutti i moduli (rischi, incidenti, policy, fornitori...) mostrano i dati di quell\'azienda.'
]
},
{
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 è tracciato a fini di audit.'
]
}
],
references: [
'Architettura multi-tenant: ogni organizzazione ha dati isolati',
'Ruolo consulente 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 Consultant oppure Super Admin: gli altri utenti vedono un messaggio di accesso negato.',
'I dati delle organizzazioni vengono mostrati in forma aggregata e anonimizzata, coerentemente con il principio di minimizzazione del trattamento.'
]
},
{
heading: 'Metriche di portfolio',
items: [
'Compliance medio, Rischi aperti, Formazione media e numero di Organizzazioni: una sintesi quantitativa del portfolio gestito.',
'Distribuzione settoriale e distribuzione degli score di compliance: aiutano a capire dove si concentra il lavoro.',
'Lo Score medio per categoria NIS2 (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\'analisi AI elabora i dati aggregati per indicare i gap più frequenti, il livello di rischio medio, le categorie NIS2 deboli e dove serve un intervento urgente.',
'Il benchmark NIS2 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.',
'Nota interpretativa: 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 healthcheck monitorati: un\'anomalia genera un alert prima che l\'utente la percepisca.',
'Il deploy a caldo applica gli aggiornamenti senza interruzione percepibile del servizio.'
]
},
{
heading: 'Resilienza e degradazione graceful',
items: [
'Le chiamate critiche adottano retry con backoff esponenziale e riconnessione automatica per assorbire indisponibilità transitorie.',
'In caso di componente non disponibile, la piattaforma applica una degradazione graceful: 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: monitoraggio disco (alert se > 85%), cleanup periodico, rinnovo automatico dei certificati SSL (Let\'s Encrypt).',
'Il rate limiting (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 continuità operativa e gestione dei backup 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 = '