diff --git a/docs/SISTEMA_TRITTICI_AGENTI.md b/docs/SISTEMA_TRITTICI_AGENTI.md new file mode 100644 index 0000000..f1e3bd0 --- /dev/null +++ b/docs/SISTEMA_TRITTICI_AGENTI.md @@ -0,0 +1,147 @@ +# Sistema a Trittici di Agenti (Esecutore → Revisore → Controllore) — NIS2 Agile + +> **Obiettivo**: eseguire lavori a rischio (es. rollout UI Bootstrap Italia, correzioni di conformità) con **qualità garantita da una catena a 3 agenti** per ogni unità di lavoro: **uno fa, uno controlla, uno ricontrolla** in modo avversariale. Almeno **5 trittici** (qui 6). +> **Principi del progetto incorporati**: *fonti certe* (niente invenzioni, tutto citato/verificato), **verifica sul path reale** (login/render vero, mai CLI/"a memoria"), **zero backend** per la UI, **produzione intatta** (worktree / pagine `-bi`), **incrementale** (un'ondata per volta). +> Tipo: design realizzativo · v1 · 2026-06-11. + +--- + +## 1. Il protocollo "trittico" (3 agenti per unità di lavoro) + +``` + ┌─────────────┐ artefatti ┌─────────────┐ difetti? ┌──────────────┐ + IN ──▶│ A1 ESECUTORE│ ─────────────────▶ │ A2 REVISORE │ ──── sì ───────▶│ (rework A1) │ + │ "fa" │ │ "controlla" │ ──── no ───┐ └──────────────┘ + └─────────────┘ └─────────────┘ ▼ + ┌──────────────────────┐ PASS/FAIL + │ A3 CONTROLLORE │ ───────────▶ GATE + │ "ricontrolla" (avvers)│ + └──────────────────────┘ +``` + +| Ruolo | Cosa fa | Mentalità | Output | +|---|---|---|---| +| **A1 — Esecutore** | Implementa l'unità (es. converte N pagine a BI), self-host asset, scrive gli artefatti | costruttiva, segue gli acceptance criteria | file modificati + self-report (cosa, dove, come verificato) | +| **A2 — Revisore** | Verifica l'output di A1 contro i **criteri di accettazione** (conformità BI, WCAG, parità funzionale, zero backend) | critica ma collaborativa | verdetto + **lista difetti** (file:riga, severità) | +| **A3 — Controllore** | Re-review **indipendente e avversariale**: cerca ciò che A2 ha mancato, **verifica sul path reale** (la pagina si serve/renderizza? login funziona? niente regressioni?), conferma che i difetti siano reali e chiusi | "rompila": prova a smontare il lavoro | **GATE PASS/FAIL** + motivazione | + +**Regole della catena** +- A2 e A3 sono **read-only** (non modificano): producono rilievi. Il rework lo fa A1 (loop A1↔A2 fino a "0 difetti bloccanti"), poi A3 dà il sigillo. +- **A3 ≠ A2**: lente diversa e adversariale, deve esercitare il *path reale* (curl della pagina servita via bind-mount, login vero), non test sintetici (lezione delle 3 nottate DB). +- **Gate FAIL** → l'unità torna ad A1 con i rilievi di A3; non si procede all'ondata successiva. +- **Fonti certe**: A1/A2/A3 citano sempre la fonte (BI docs, WCAG, file:riga); marcano `[da verificare]` ciò che non confermano. + +--- + +## 2. Criteri di accettazione comuni (Definition of Done per ogni trittico UI) +1. **Conformità BI**: usa Bootstrap Italia v2.18.1 **self-hostato** (`public/vendor/bootstrap-italia/`), componenti/markup ufficiali, Blu Italia #0066CC, Titillium. +2. **Accessibilità WCAG 2.1 AA**: contrasti ≥ soglie, label associate, focus visibile, `aria-*`/alt, navigazione tastiera. +3. **Parità funzionale**: stessa logica (`api.js`/`common.js`), stessi `id`/flussi → **zero modifiche backend**; la pagina fa esattamente quel che faceva prima. +4. **Nessuna regressione**: la pagina si serve **200**, JS senza errori console, login/azioni reali OK (verifica sul path fpm reale). +5. **Produzione intatta** fino al gate: lavoro su pagine `-bi` / worktree; swap solo dopo PASS. + +--- + +## 3. I 6 trittici (unità di lavoro — rollout Opzione B) + +| # | Trittico | A1 Esecutore produce | A2/A3 verificano | +|---|---|---|---| +| **T1** | **Base & self-host** | `public/vendor/bootstrap-italia/` (CSS/JS/font self-hostati v2.18.1) + token AGID confermati (da AgileHub V2 o BI ufficiale) + pagina di smoke | asset serviti 200, font caricati, `loadFonts` ok, nessun riferimento CDN residuo | +| **T2** | **Pagine pubbliche** | login, register, onboarding, forgot/reset, landing → BI (riusando il pilota `login-bi.html`) | render BI, WCAG, login reale 200, redirect corretti | +| **T3** | **Sidebar/Topbar (componente)** | `common.js` `loadSidebar()`/topbar come componenti BI (header slim+main, sidebar) | si propaga a tutte le app-page senza romperle; voci/permessi intatti | +| **T4** | **App-pages onda A** | dashboard, assessment, risks, incidents, policies → BI | parità funzionale (grafici/form/azioni), WCAG, nessuna regressione | +| **T5** | **App-pages onda B** | supply-chain, training, assets, reports, settings, acn-gap, normative, whistleblowing, kb, companies, cross-analysis | idem T4 | +| **T6** | **WCAG & cross-check finale** | report contrasti/accessibilità su tutte le pagine + fix residui + rimozione pagine `-bi`/CDN | audit AA completo, 0 hardcoded color fuori token, suite verde end-to-end | + +> ≥5 trittici richiesti → qui **6**. (Lo stesso schema è riusabile per l'**Asse A conformità**: es. T-AI = AI Act/GDPR nel registro; vedi `PROGETTO_REVISIONE_NIS2.md`.) + +--- + +## 4. Orchestrazione "in background" + +**Esecuzione**: i trittici girano **in pipeline** (un'unità entra in A1 mentre la precedente è già ad A2/A3 — niente barriere inutili), con **concorrenza limitata** e **gate** tra ondate dove serve l'ordine (T1 prima di tutto; T3 prima di T4/T5). + +Due modalità: +- **(a) Workflow deterministico** (consigliato): un unico script orchestratore (`Workflow`) che fa `pipeline(unità, A1, A2, A3)` con i gate. Vedi skeleton §6. È ripetibile, journaled, con resume. +- **(b) Agenti in background manuali**: lanciare i 3 agenti per trittico via `Agent(run_in_background:true)`, leggere i report, gateare a mano. Più controllo, meno automazione. + +**Stato condiviso & isolamento** +- Lavoro in **worktree isolato** (es. `/tmp/nis2-ui-bi`, branch `ui-bi`) → produzione `main` intatta. +- Ogni trittico scrive un **report** in `docs/revisione/Tn-report.md` (artefatti + verdetti A2/A3) → tracciabilità e input per il trittico successivo. +- I **token AGID** (output di T1) sono la single-source-of-truth per T2–T6. + +**Sequenza dei gate** +``` +T1 ─PASS─▶ T2 ─┐ + ├─PASS─▶ T3 ─PASS─▶ T4 ─┐ + │ ├─PASS─▶ T6 (finale) + └────────────────▶ T5 ──┘ +``` +(T2 e T5 possono partire in parallelo dopo T1; T4 richiede T3 per la sidebar.) + +--- + +## 5. Ruoli ↔ agenti specializzati +- A2/A3 dei trittici UI usano lente **UI/accessibilità**; per i contenuti normativi si innestano gli agenti già creati **`nis2-expert`** e **`iso-27001-expert`** (`.claude/agents/`) come A2/A3 dell'Asse A. +- Finché il harness non carica gli agenti nativi nella sessione, si usano agenti `general-purpose` con le istruzioni-persona iniettate (come fatto in R1/R2). + +--- + +## 6. Skeleton orchestratore (Workflow) — pronto da adattare +```js +export const meta = { + name: 'trittici-ui-bi', + description: 'Rollout Bootstrap Italia a trittici Esecutore→Revisore→Controllore', + phases: [{title:'T1 Base'},{title:'T2 Pubbliche'},{title:'T3 Sidebar'}, + {title:'T4 App-A'},{title:'T5 App-B'},{title:'T6 WCAG'}], +} +const VERDICT = { type:'object', properties:{ pass:{type:'boolean'}, difetti:{type:'array', items:{type:'string'}}, note:{type:'string'} }, required:['pass','difetti'] } + +async function trittico(unit, phase) { + // A1 fa + const fatto = await agent(`ESECUTORE ${unit.titolo}: ${unit.task}. Zero backend; pagine -bi; report cosa/dove/come verificato.`, {phase, label:`A1:${unit.id}`}) + // A2 controlla + let rev = await agent(`REVISORE ${unit.titolo}: verifica contro i criteri (BI self-host, WCAG AA, parità funzionale, no backend). Output difetti. Contesto:\n${fatto}`, {phase, label:`A2:${unit.id}`, schema:VERDICT}) + // loop rework finché 0 difetti bloccanti (max 2 giri) + let giro=0 + while(rev && !rev.pass && giro++<2){ + await agent(`ESECUTORE ${unit.titolo}: correggi questi difetti:\n${(rev.difetti||[]).join('\n')}`, {phase, label:`A1-fix${giro}:${unit.id}`}) + rev = await agent(`REVISORE ${unit.titolo}: ri-verifica.`, {phase, label:`A2-r${giro}:${unit.id}`, schema:VERDICT}) + } + // A3 ricontrolla (avversariale, sul path reale) + const gate = await agent(`CONTROLLORE AVVERSARIALE ${unit.titolo}: re-review indipendente. ESERCITA IL PATH REALE (curl della pagina servita, login vero, niente test sintetici). Conferma 0 regressioni e difetti chiusi. PASS solo se tutto verde.`, {phase, label:`A3:${unit.id}`, schema:VERDICT}) + return { unit:unit.id, rev, gate } +} + +phase('T1 Base') +const t1 = await trittico({id:'T1', titolo:'Base & self-host BI', task:'self-host bootstrap-italia 2.18.1 + token AGID + smoke'}, 'T1 Base') +if(!t1.gate?.pass){ log('T1 FAIL — stop'); return { stop:'T1', t1 } } + +// T2 e T5 in parallelo dopo T1; T3→T4 in sequenza +const UNITS = [ + {id:'T2', titolo:'Pagine pubbliche', task:'login/register/onboarding/forgot/reset/landing → BI', phase:'T2 Pubbliche'}, + {id:'T3', titolo:'Sidebar/Topbar', task:'common.js loadSidebar/topbar come componenti BI', phase:'T3 Sidebar'}, + {id:'T5', titolo:'App-pages onda B', task:'supply-chain/training/assets/reports/settings/... → BI', phase:'T5 App-B'}, +] +const par = await parallel(UNITS.map(u => () => trittico(u, u.phase))) +const t3 = par.find(x=>x?.unit==='T3') +const t4 = t3?.gate?.pass ? await trittico({id:'T4', titolo:'App-pages onda A', task:'dashboard/assessment/risks/incidents/policies → BI'}, 'T4 App-A') : null +phase('T6 WCAG') +const t6 = await trittico({id:'T6', titolo:'WCAG & cross-check', task:'audit AA completo + rimozione -bi/CDN + suite verde'}, 'T6 WCAG') +return { t1, par, t4, t6 } +``` + +--- + +## 7. Come si lancia (governance) +- **Costo**: ~3 agenti × 6 trittici (+ rework) = **~20–30 agenti**. È orchestrazione multi-agente esplicita → si lancia **solo su tua conferma** (`Workflow`), perché consuma molti token. +- **Avvio**: `Workflow({name:'trittici-ui-bi'})` dopo aver materializzato lo script da §6 (con i task reali) e creato il worktree. +- **Monitoraggio**: `/workflows` per la progress; ogni gate FAIL ferma l'ondata. +- **Reversibile**: tutto su worktree/pagine `-bi`; il `main` resta verde finché non approvi lo swap. + +--- + +## 8. Riferimenti +- Progetto di revisione: `docs/PROGETTO_REVISIONE_NIS2.md` · Gap UI: `docs/VERIFICA_GAP_UI_AGID_BOOTSTRAP_ITALIA.md` +- Agenti esperti: `.claude/agents/nis2-expert.md`, `.claude/agents/iso-27001-expert.md` +- Pilota: `public/login-bi.html` · Bootstrap Italia v2.18.1 (italia.github.io/bootstrap-italia) diff --git a/public/_app-bi-demo.html b/public/_app-bi-demo.html new file mode 100644 index 0000000..cc7d0eb --- /dev/null +++ b/public/_app-bi-demo.html @@ -0,0 +1,70 @@ + + + + + + Demo Sidebar BI - NIS2 Agile + + + + + + + + +
+ + + +
+
+

Demo Sidebar Bootstrap Italia

+

+ Questa pagina dimostra la sidebar generata da js/common-bi.js + (override di loadSidebar() con markup Bootstrap Italia, + voci/icone/permessi identici a common.js). Nessuna chiamata + backend: stessa logica JS, stessi id/elementi DOM. +

+
+ +

+ Le voci utente/azienda/versione nel footer della sidebar si popolano via + api.getMe() quando è presente una sessione autenticata; in questa + demo restano ai valori di default (parità funzionale, nessun errore). +

+
+
+ + + + + + + + + + + + diff --git a/public/_bi-smoke.html b/public/_bi-smoke.html new file mode 100644 index 0000000..db9d604 --- /dev/null +++ b/public/_bi-smoke.html @@ -0,0 +1,76 @@ + + + + + + Bootstrap Italia self-host — smoke test + + + + +
+

Bootstrap Italia — smoke test (self-host)

+

+ CSS, JS e font serviti localmente da /vendor/bootstrap-italia/. + Nessun riferimento a CDN. +

+ +
+ Verifica caricamento JS in corso... +
+ +
+

Form di prova

+
+
+ + + + Esempio di .form-control Bootstrap Italia. + +
+ + + +
+
+
+ + + + + + diff --git a/public/assessment-bi.html b/public/assessment-bi.html new file mode 100644 index 0000000..1afb100 --- /dev/null +++ b/public/assessment-bi.html @@ -0,0 +1,711 @@ + + + + + + Gap Analysis (BI) - NIS2 Agile + + + + + +
+ + + + +
+
+

Gap Analysis NIS2

+
+ +
+
+ +
+ +
+
+

Assessment di Conformita' NIS2

+

Valuta il livello di conformita' della tua organizzazione rispetto ai requisiti della direttiva NIS2.

+ + + + +
+
+ + + + + + +
+
+
+ + + + + + + + + + + + diff --git a/public/assets-bi.html b/public/assets-bi.html new file mode 100644 index 0000000..3ca84e3 --- /dev/null +++ b/public/assets-bi.html @@ -0,0 +1,943 @@ + + + + + + Inventario Asset (BI) - NIS2 Agile + + + + + + +
+ + +
+
+

Inventario Asset

+
+ Art. 21.2.i NIS2 + + +
+
+ +
+ +
+
+
+ +
+
+
--
+
Totale Asset
+
+
+
+
+ +
+
+
--
+
Tipologie
+
+
+
+
+
+ +
+
+
--
+
Asset Critici
+
+
+
+
+ +
+
+
--
+
Dismessi
+
+
+
+ + +
+ + + +
+ + +
+
+
+

Caricamento asset...

+
+
+
+
+
+ + + + + + + + + + + + diff --git a/public/dashboard-bi.html b/public/dashboard-bi.html new file mode 100644 index 0000000..cd27cac --- /dev/null +++ b/public/dashboard-bi.html @@ -0,0 +1,348 @@ + + + + + + Dashboard (BI) - NIS2 Agile + + + + + +
+ + + + +
+
+

Dashboard

+
+ +
+
+ +
+ +
+ +
+
+
+
+
+

Avanzamento implementazione misure Art.21 NIS2

+

Misura l'implementazione tecnica, non la conformita' legale

+
+
+ + +
+
+
+
+ +
+
+

Rischi Aperti

+
--
+
+
+
+
+ +
+
+

Incidenti Attivi

+
--
+
+
+
+
+ +
+
+

Policy Approvate

+
--
+
+
+
+
+ +
+
+

Formazione

+
--%
+
+
+
+
+
+ + +
+
+

Azioni Rapide

+
+
+
+ + + +
+
+
+ + +
+ +
+
+

Prossime Scadenze

+
+
+
+
+
+ + +
+
+

Attivita' Recenti

+
+
+
+
+
+
+
+
+
+ + + + + + + + + + + + diff --git a/public/forgot-password-bi.html b/public/forgot-password-bi.html new file mode 100644 index 0000000..62ebbcc --- /dev/null +++ b/public/forgot-password-bi.html @@ -0,0 +1,112 @@ + + + + + + Password dimenticata - NIS2 Agile + + + + + +
+
+
NIS2 Agile
+
Reimposta la tua password
+
+ +
+
+

Password dimenticata

+ + +
+ +

Inserisci l'indirizzo email associato al tuo account. Ti invieremo un link valido 30 minuti per impostare una nuova password.

+ +
+
+ + +
+ + +
+
+
+ +

+ + + Torna al login + +

+
+ + + + + + + + + diff --git a/public/incidents-bi.html b/public/incidents-bi.html new file mode 100644 index 0000000..b706818 --- /dev/null +++ b/public/incidents-bi.html @@ -0,0 +1,1233 @@ + + + + + + Gestione Incidenti (BI) - NIS2 Agile + + + + + + +
+ + +
+
+

Gestione Incidenti

+
+ +
+
+ +
+ +
+
+ + + +
+ +
+
+ + + + + + + + + + + + + + + + + + +
CodiceTitoloClassificazioneSeverita'StatoRilevatoNIS2 Art. 23Azioni
+
+
+
+
+
+ + + +
+
+
+ + + + + + + + + + + + diff --git a/public/index-bi.html b/public/index-bi.html new file mode 100644 index 0000000..fc41117 --- /dev/null +++ b/public/index-bi.html @@ -0,0 +1,557 @@ + + + + + + NIS2 Agile — Compliance NIS2 semplificata per aziende e consulenti + + + + + + + + + + +
+
+ +
+
+ + +
+
+
+
+
+ + D.Lgs. 138/2024 — In vigore dal 16 ottobre 2024 +
+

Compliance NIS2 semplificata

+

+ Piattaforma SaaS multi-tenant per la conformità alla Direttiva NIS2 (EU 2022/2555) e al D.Lgs. 138/2024. Doppia gap analysis — Art.21 e misure di base ACN (Determinazione 164179/2025) — risk management, incident response Art.23, supply chain e un'AI consulente addestrata sul corpus normativo italiano. Tutto integrato. +

+
+ + Accesso su invito — Richiedi il tuo codice per iniziare +
+ +
+
116
Requisiti ACN mappati
+
12
Moduli integrati
+
Art.23
Incident response 72h
+
RAG
AI su fonti certe
+
+
+
+
+
+ + + + nis2.agile.software/dashboard +
+
+
+ Compliance Score Art.21 + 73% +
+
+
+
Rischi attivi
3 HIGH
+
Incidenti aperti
1 Art.23
+
Policy approvate
8/12
+
Formazione
85%
+
+
+ Ransomware rilevato — Notifica ACN richiesta
+ Scadenza 72h: 14h rimanenti · Art. 23 NIS2 +
+
+
+
+
+
+
+ + +
+
+
+
La sfida normativa
+

L'obbligo NIS2 è già in vigore

+

Il D.Lgs. 138/2024 è operativo dal 16 ottobre 2024. Le organizzazioni nei settori regolati devono aver avviato la registrazione ACN e l'adeguamento alle misure Art.21.

+
+
+
+
+
+

Sanzioni fino a €10M

+

Entità essenziali: fino a €10M o 2% del fatturato globale annuo. Entità importanti: fino a €7M o 1,4%. L'ACN ha già avviato le prime verifiche.

+ Art. 34 NIS2 +
+
+
+
+
+

18 Settori regolati

+

11 settori ad alta criticità (energia, trasporti, bancario, infrastrutture digitali…) + 7 settori critici (gestione rifiuti, chimica, alimentare…). Oltre 10.000 aziende italiane interessate.

+ D.Lgs. 138/2024 +
+
+
+
+
+

Scadenze stringenti

+

Notifica incidenti significativi: early warning in 24h, notifica formale in 72h, report finale in 1 mese. Nessuna possibilità di deroga.

+ Art. 23 NIS2 +
+
+
+
+ La piattaforma NIS2 Agile è allineata al D.Lgs. 138/2024 (recepimento italiano della Direttiva UE 2022/2555), alle linee guida ACN e all'approccio risk-based ISO/IEC 27001. +
+
+
+ + +
+
+
+
Per chi è
+

Due target, un'unica piattaforma

+

NIS2 Agile serve sia l'azienda che gestisce la propria compliance, sia il consulente che segue un portfolio di clienti.

+
+
+
+
+
+

Azienda PMI / Enterprise

+

Settori essenziali e importanti — D.Lgs. 138/2024

+
    +
  • Valuta il livello di compliance con gap analysis guidata da AI
  • +
  • Gestisce rischi e misure di sicurezza Art.21 in un unico registro
  • +
  • Notifica gli incidenti entro le scadenze Art.23 senza errori
  • +
  • Genera policy di sicurezza personalizzate con AI in pochi minuti
  • +
  • Monitora la supply chain e la formazione del personale
  • +
  • Mantiene audit trail immutabile per le verifiche ACN
  • +
+
+
+
+
+
+

Consulente / CISO-as-a-Service

+

MSSP · Consulenti cybersecurity · CISO esterno

+
    +
  • Gestisce un portfolio di clienti da un unico pannello di controllo
  • +
  • Ogni cliente ha la propria dashboard dedicata e isolata
  • +
  • Attiva licenze per i clienti tramite invite token B2B
  • +
  • Monitora compliance score, rischi e incidenti di tutti i clienti
  • +
  • Produce report esecutivi personalizzati per ogni azienda
  • +
  • Accesso API e webhook per integrazioni con i propri sistemi SIEM
  • +
+
+
+
+
+ Il consulente attiva la licenza per il cliente tramite invite token — il cliente accede direttamente alla propria dashboard dedicata con visibilità completa sulla propria compliance. +
+
+
+ + +
+
+
+
I moduli
+

Tutto ciò che serve per la compliance NIS2

+

Dodici moduli integrati coprono l'intero perimetro dell'Art.21 e delle misure di base ACN, con un'AI (Claude) ancorata via RAG al corpus normativo italiano per analisi, suggerimenti e generazione documenti.

+
+
+
+
+

Gap Analysis ACN Distintivo

+

L'unico assessment che mappa i requisiti puntuali della Determinazione ACN 164179/2025: 37 misure / 87 requisiti per i soggetti importanti, 43 / 116 per gli essenziali. Perimetro filtrato per livello, scoring per funzione del Framework Nazionale (GV/ID/PR/DE/RS/RC), piano d'azione sui gap.

+
+
+
+

Gap Analysis Art.21

+

Questionario di 80 domande sui 10 ambiti dell'Art.21 per il primo orientamento. L'AI analizza le risposte, calcola lo score di maturità e produce raccomandazioni prioritizzate.

+
+
+
+

Risk Management

+

Registro rischi con matrice 5×5 ISO 27005, piani di trattamento, monitoraggio e suggerimenti AI contestuali al settore dell'azienda.

+
+
+
+

Incident Response Art.23

+

Workflow completo: early warning 24h, notifica 72h, report finale 30g. Timeline automatica, scadenze calcolate, email CSIRT integrate.

+
+
+
+

Policy Management

+

Generazione AI di policy di sicurezza personalizzate, workflow di approvazione, versioning e revisioni programmate con reminder automatici.

+
+
+
+

Supply Chain & Portale Fornitori

+

Registro fornitori critici con scoring rischio e clausole NIS2. Il portale fornitori consente al fornitore di compilare i questionari di sicurezza online con accesso passwordless (OTP / magic-link), campagne ricorrenti e solleciti automatici.

+
+
+
+

Formazione Art.20

+

Corsi obbligatori per ruolo, assegnazioni automatiche, tracking completamento e compliance formativa documentata per audit.

+
+
+
+

Asset & Dipendenze

+

Inventario asset critici con mappa delle dipendenze, classificazione per impatto NIS2 e integrazione con la valutazione dei rischi.

+
+
+
+

Audit & Report

+

Controlli ISO/IEC 27001, evidenze, audit trail immutabile (hash chain SHA-256), report esecutivo HTML e export CSV per organi di vigilanza.

+
+
+
+

Whistleblowing Art.32

+

Canale segnalazioni anomalie di sicurezza anonime o firmate. Assegnazione a team CISO, stati open/investigating/closed, storico completo.

+
+
+
+

AI Consulente (RAG)

+

Un assistente che risponde sul NIS2 ancorato a fonti certe: 203 requisiti ACN, Allegati 1-4 e testi normativi indicizzati in un vector database. Ogni affermazione cita la fonte e il sistema vieta riferimenti normativi inventati.

+
+
+
+

Knowledge Base multi-livello

+

Repository documentale con RAG a tre livelli di visibilità — vendor, studio di consulenza, singola organizzazione — con isolamento garantito tra clienti.

+
+
+
+
+ + +
+
+
+

Soggetto NIS2? Molto probabilmente sei soggetto anche al D.Lgs. 231/2001

+

Le aziende nei settori essenziali e importanti adottano quasi sempre anche il Modello Organizzativo ex 231. NIS2 Agile e 231 Agile si integrano nativamente: i dati di compliance NIS2 (rischi, incidenti, controlli, score) alimentano automaticamente le evidenze per l'OdV 231, eliminando la duplicazione di lavoro.

+
+ Rischi NIS2 → evidenze MOG 231 + Audit trail condiviso + OdV ha visibilità diretta sui controlli cyber +
+ + + Scopri 231 Agile + +
+
+
+ + +
+
+
+
Come funziona
+

Operativo in pochi minuti

+

Dall'onboarding al primo report di compliance, NIS2 Agile guida l'utente passo dopo passo.

+
+
+

1. Registrati

Crea il tuo account in 2 minuti. Scegli il ruolo (azienda o consulente) e configura la tua organizzazione.

+

2. Classifica l'azienda

Inserisci P.IVA e NIS2 Agile rileva automaticamente settore, dimensioni e classificazione (essenziale / importante).

+

3. Gap Analysis

Parti dall'Art.21 per l'orientamento, poi passa alle misure di base ACN. L'AI analizza le risposte e produce il tuo piano di rientro prioritizzato.

+

4. Monitora e mantieni

Dashboard in tempo reale, gestisci rischi, incidenti, policy e formazione con alert e scadenze automatiche.

+
+
+
+ + +
+
+
+
Richiedi accesso
+

Ottieni il tuo codice invito

+

La piattaforma è ad accesso controllato. Compila il form e ti invieremo il codice invito entro 24 ore.

+
+
+ +
+
+
+ + +
+
+ + +
+
+ + +
+
+ + +
+
+ + +
+
+ + +
+
+ + +
+
+ + +
+
+
+ + +
+ + + +

+ + Risposta entro 24h lavorative · Powered by AgileHub +

+
+
+ +

Richiesta inviata!

+

Ti contatteremo entro 24 ore all'indirizzo fornito con il tuo codice di accesso personalizzato.

+ Hai già ricevuto un codice?
+ Registrati ora con il tuo codice invito →

+
+
+

+ Hai già un account? Accedi alla dashboard → +

+
+
+ + +
+
+

La tua compliance NIS2 inizia con un codice

+

Richiedi l'accesso oggi. Piattaforma ad accesso controllato: operativo in pochi minuti dal ricevimento del codice invito.

+ +

Sei un consulente o MSSP? Il form di richiesta ti permette di attivare accesso per il tuo intero portfolio clienti.

+
+
+ + + + + + + + + + + diff --git a/public/js/common-bi.js b/public/js/common-bi.js new file mode 100644 index 0000000..2103464 --- /dev/null +++ b/public/js/common-bi.js @@ -0,0 +1,170 @@ +/* ═══════════════════════════════════════════════════════════════════ + * common-bi.js — Override Bootstrap Italia per la chrome (sidebar) + * ─────────────────────────────────────────────────────────────────── + * PILOTA "App-pages onda B" (T5). + * + * Regole rispettate: + * - ADDITIVO: NON sovrascrive common.js. Va caricato DOPO common.js e + * ridefinisce SOLO loadSidebar() con markup Bootstrap Italia. + * - ZERO backend: riusa tutti gli helper di common.js (_loadUserInfo, + * _setupMobileToggle, _loadVersionFooter, _loadFirmBranding, + * _renderImpersonateBanner, switchLang, _getSavedLang, icon*()). + * - Stessi ID DOM della sidebar originale (sidebar-user-name, + * sidebar-user-avatar, sidebar-user-role, sidebar-org-switcher, + * sidebar-version, .lang-btn) → gli helper esistenti funzionano + * invariati senza toccare api.js. + * - Accessibilità: