Commit Graph

13 Commits

Author SHA1 Message Date
DevEnv nis2-agile
60793111a2 [FIX] Coerenza normativa AI/help: Allegato 3/4 invertiti + decorrenza relazione finale + disclaimer non-parere-legale
Review coerenza multi-agente tra AI/help/guida (forte adesione normativa):

CONTRADDIZIONE B (la piu' rischiosa) — inversione Allegato 3/4 incidenti.
Verificato sulla fonte certa (docs/nis2/allegati_acn/Allegato3.txt e 4.txt):
  Allegato 3 = soggetti IMPORTANTI, Allegato 4 = soggetti ESSENZIALI.
AIService::classifyIncident e help.js dicevano l'inverso -> CORRETTI.
(La guida era gia' corretta.) Cambiava quali obblighi si applicano a chi.

CONTRADDIZIONE A — decorrenza relazione finale.
AIService diceva generico "30 giorni"; ora esplicito "entro 1 mese DALLA NOTIFICA
delle 72h (non dalla data dell'incidente)", allineato all'Art.23 e alla guida.

DISCLAIMER non-parere-legale (gap: la guida ce l'ha, l'AI no).
authoritativeSourcesText: +regola 4 (orientamento NON vincolante, valutazioni da
confermare con compliance/legale, art.22 GDPR) e +regola 5 (ENISA/NIST/ISO = best
practice non vincolanti; obblighi da Dir.2022/2555 + D.Lgs.138/2024 + Determine ACN).
Iniettato in tutti i prompt che usano il blocco fonti certe.

php -l OK, help.js node --check OK.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-05-31 11:24:07 +02:00
DevEnv nis2-agile
6a573117f7 [DOCS] Help supply-chain: aggiunte sezioni Import + Categorie/template GV.SC (edit prima fallito)
Le due sezioni help non erano entrate nel commit precedente (edit string-not-found).
Ora presenti: 'Importazione fornitori (CSV/API)' e 'Categorie e questionari
configurabili' con nota interpretativa esplicita (perimetro fornitori = scelta
documentata, non parere legale).

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-05-31 11:10:02 +02:00
DevEnv nis2-agile
0f92d5a1ef [DOCS] Help supply-chain: sezioni import + categorie/template GV.SC + ref ACN Allegato 2
Sezioni help contestuali 'Importazione fornitori (CSV/API)' e 'Categorie e
questionari configurabili' con nota interpretativa sul perimetro fornitori critici
(scelta documentata dell'organizzazione, non obbligo automatico). Aggiunto
riferimento Determinazione ACN 164179/2025 Allegato 2 (GV.SC-01/02/04/05/07).

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-05-31 11:09:10 +02:00
DevEnv nis2-agile
02227f7763 [FIX] help.js: aggiunte sezioni guida FAIR + KRI nella guida Rischi (Edit precedente fallito su ancora errata)
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-05-30 10:08:53 +02:00
DevEnv nis2-agile
dbc1784955 [FIX] Completamento UI: metodo controlsMonitoring, OpenAPI ingest endpoints, i18n format, help monitoraggio
Il commit 372ccb5 aveva incluso versioni con Edit falliti (ancore errate):
- AuditController::controlsMonitoring ora effettivamente presente (era 501 in prod)
- ServicesController::openapi ora espone incidents-ingest/evidence-ingest/assets-ingest/controls-monitoring
- i18n.js: chiavi nel formato corretto {it,en} (risks.fair_tab/kri_tab, assets.import_btn, audit.monitoring_tab)
- help.js: sezione Monitoraggio Continuo in reports
Verificato in prod: openapi 4/4, controlsMonitoring/fairRegister/kri tutti 200.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-05-30 10:02:47 +02:00
DevEnv nis2-agile
372ccb5ec1 [FEAT] UI frontend gap competitivi + help/i18n + OpenAPI + scorecard EVIX
UI delle 4 feature backend (ora usabili dagli utenti, non solo via API):
- risks.html: vista 'Quantitativo (FAIR)' con form + istogramma distribuzione ALE + registro portafoglio; vista 'KRI' con dashboard semafori green/amber/red + CRUD
- reports.html: tab 'Monitoraggio Continuo' con semafori freschezza controlli (healthy/warning/stale/failing) + copertura
- assets.html: bottone 'Importa' CSV/CMDB con parsing client + anteprima + scoring auto GV.OC-04
- api.js: metodi computeFair/getFairRegister/listKri/createKri/updateKri/importAssets/getControlsMonitoring

Trasversale:
- help.js: sezioni guida FAIR+KRI (risks), import CMDB (assets), monitoraggio continuo (reports)
- i18n.js: chiavi IT/EN (risks.fair_tab, risks.kri_tab, assets.import_btn, audit.monitoring_tab)
- ServicesController::openapi esteso con incidents-ingest/evidence-ingest/assets-ingest/controls-monitoring + securityScheme ApiKeyAuth
- AuditController::controlsMonitoring (versione JWT per la UI) + route audit/controlsMonitoring
- EVIX scorecard: gap P1/P2 marcati chiusi (backend), roadmap aggiornata

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-05-30 09:52:21 +02:00
DevEnv nis2-agile
5c545ea3d0 [FEAT] Integrazione analisi docs/nis2 v1.7.0 — scoring asset, tassonomia incidenti, PIR, NIST CSF, fonti certe
Fase 1 - Asset Relevance Scoring NIS2 (GV.OC-04): metodologia 0-100 a 6 criteri,
  AssetScoringService + endpoint scoringGrid/score/relevantSystems + UI assets.html + registro stampabile.
Fase 2 - Tassonomia incidenti Determina ACN 164179/2025: IS-1..4 + regime essenziale/importante (Allegati 3/4).
Fase 3 - Post-Incident Review (5-Whys) + metriche TTD/TTC/TTR + timestamp di fase.
Fase 4 - Mapping NIST CSF 2.0 (43 controlli) reference-only.
Fonti certe: registry config/nis2_sources.php + grounding AI (vieta riferimenti inventati) +
  citazioni help.js + ingest PDF normativi nella KB RAG (scripts/ingest-nis2-sources.php).
Migrazioni 020/021/022 (additive idempotenti). Fix VectorService IP Qdrant (drift .5->.3).
Analisi concorrenza Evix (docs/EVIX_ANALISI_CONCORRENZA.html, gap-driven).

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-05-29 17:15:13 +02:00
DevEnv nis2-agile
1d934e4e63 [FEAT] UI: guida online, landing EN, mobile-conversion, ai-assistant, bug-reporter + help/i18n
- public/guida.html, index-en.html, service-continuity.html
- public/js/ai-assistant.js, bug-reporter.js (FAB supporto)
- public/mobile-conversion.css/js
- index.html, common.js, help.js, risks.html: aggiornamenti UI/help

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-05-29 15:42:00 +02:00
DevEnv nis2-agile
4a85abeb3b [DOCS] Help online + i18n IT/EN + product_knowledge AI per Fasi 2-5 (v1.6.1)
Aggiornamento documentazione obbligatorio post-feature (CLAUDE.md agent workflow):

- public/js/help.js: estesa sezione 'settings' con 5 nuovi heading:
  Sessioni Attive (Fase 2), Preferenze utente (Fase 4), Password dimenticata
  (Fase 3), Cambio organizzazione multi-tenant (Fase 3), Branding white-label
  (Fase 5, solo super_admin/consulente). Riscrittura Sicurezza Account con
  dettaglio sessions UI.

- public/js/i18n.js: aggiunte 60+ chiavi IT/EN per sessions.*, pwreset.*,
  tenant.*, preferences.*, impersonate.*, branding.*, settings.* (preferences
  + branding).

- AgileHub product_knowledge: PUT /ai/products/NIS2/card (id=914) con
  description + 11 scope tag + target_buyer + free_markdown completo
  (target, moduli, auth/security Fasi 1-5, servizi B2B, AI/RAG, stack,
  multi-tenancy, GDPR). Sostituisce card vuota precedente.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-29 13:50:06 +02:00
DevEnv nis2-agile
c52766953d [FEAT] Help online feedback, traduzioni IT/EN, AI system prompt aggiornato
- help.js: nuova sezione 'feedback' con 6 sotto-sezioni (come usare FAB,
  risposta AI, password gate, le mie segnalazioni, worker autonomo, consigli)
- i18n.js: 30 chiavi IT/EN per tutto il sistema feedback
- AIService::callAPI: system prompt esteso con lista completa moduli NIS2 Agile
- AIService::classifyFeedback: system prompt NIS2-aware

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-10 09:05:12 +01:00
DevEnv nis2-agile
89fd201bc2 [AI+HELP+I18N] Help workflow, traduzioni IT/EN, schema 5 livelli AI
- help.js: aggiunta sezione workflow (Compliance Journey) + pageMap entry
- i18n.js: 16 chiavi IT/EN per workflow (fasi, stati, etichette)
- docs/AI_LEVELS_SCHEMA.md: schema architettura 5 livelli AI con privacy matrix
  L1 Guida (safe), L2 Operativo, L3 Aziendale (anonimizzato), L4 Cross-Org (k-anonymity), L5 Normativo

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-09 08:05:36 +01:00
DevEnv nis2-agile
1bfca3fbe3 [DOCS+I18N] Guida aggiornata, i18n idle timeout, 3 documenti commerciali
- help.js: aggiornate sezioni per idle timeout, banner AI dismissible, matrice rischi real-time
- i18n.js: aggiunte 5 chiavi session.* per idle timeout (IT/EN)
- common.js: _showIdleWarning() usa I18n.t() per testi IT/EN
- docs/commercial/scheda-commerciale.html: scheda A4 stampabile (problema/soluzione, moduli, AI, target)
- docs/commercial/scheda-tecnica.html: specifiche stack, architettura, API, DB, sicurezza, deploy
- docs/commercial/presentazione.html: presentazione 10 slide completa (contesto, moduli, AI, compliance, ROI, roadmap)

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-02-20 12:43:17 +01:00
52fd45fac9 [FEAT] i18n IT/EN, Help Online contestuale, pagina Architettura
- i18n.js: sistema traduzioni IT/EN con ~150 chiavi, localStorage, data-i18n
- help.js: help contestuale per 10 pagine con riferimenti NIS2
- architecture.html: descrizione architettura sistema completa
- common.js: language toggle sidebar (IT/EN), link Architettura, icone
- Integrato i18n + help in tutte le 14 pagine app + 3 admin

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-18 08:34:37 +01:00