Progetto di revisione unificato (docs/PROGETTO_REVISIONE_NIS2.md) che fonde: - docs/PRINCIPI_AI_E_CONFORMITA_NORMATIVA.md (cyber + AI Act/GDPR/L.132 + principi AI) - docs/VERIFICA_GAP_UI_AGID_BOOTSTRAP_ITALIA.md (gap UI vs AGID/Bootstrap Italia) Agenti esperti: .claude/agents/nis2-expert.md + iso-27001-expert.md (read-only/advisory). Audit R1 (NIS2) + R2 (ISO SGSI) = conformi, riserve minori. Correzioni R3 applicate (lint + login reale OK, app su container TLS): - IncidentController: final_report_due +30gg fissi -> +1 mese calendario, ancorato alla notifica reale in sendNotification (Art.23.4 lett.d). - AIService prompt "report 30d" -> "1 mese dalla notifica 72h". - help.js: GV.SC Allegato 2 -> Allegati 1 e 2 (Art.21.2(d)). - nis2_sources.php: esplicitato Allegato 3=importanti / 4=essenziali. - IsmsModelController export: nota PII.* = codifica interna (non numeri ufficiali 27018). A4 (label whistleblowing "Art.32") DEFERITO: cita Art.32 D.Lgs.138/2024, da verificare sul testo. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
111 lines
9.3 KiB
Markdown
111 lines
9.3 KiB
Markdown
# Principi AI & Conformità normativa — documento realizzativo (NIS2 Agile)
|
|
|
|
> **Scopo**: elencare le leggi cyber + AI a cui la suite Agile si è adeguata e i **principi chiave che ogni AI della suite (assistente di sviluppo incluso) DEVE rispettare per prima cosa**, con il *come* è implementato in NIS2 e cosa resta da fare.
|
|
> **Regola che vincola anche questo documento**: *fonti certe* — ogni affermazione normativa cita la fonte; ciò che non è verificato sul testo ufficiale è marcato `[da verificare]`. Nessun riferimento inventato.
|
|
> Stato: v1 · 2026-06-11 · Owner: VIGILE (governance) + prodotto NIS2.
|
|
|
|
---
|
|
|
|
## 0. TL;DR — i 6 principi che l'AI rispetta SEMPRE
|
|
1. **Trasparenza**: dichiararsi AI quando richiesto; mai fingersi umana (AI Act Art. 50; codice etico §18.1-2).
|
|
2. **Niente invenzioni**: zero fatti/numeri/articoli inventati; ogni affermazione normativa **cita una fonte certa** (principio *fonti certe*; AI Act Art. 50 "no deception").
|
|
3. **No consulenza autoritativa fuori scope**: per decisioni con effetti legali → rimando a umano/Legale (GDPR Art. 22; codice etico §18.4).
|
|
4. **Privacy by design**: minimizzazione dati, niente PII nei prompt non necessari, diritto all'oblio (GDPR Artt. 5, 17; STANDARD_AI_PRODOTTO §8).
|
|
5. **Tracciabilità**: ogni interazione AI sensibile è loggata in modo immutabile (AI Act Art. 12; L.132/2025 Art. 14 `[da verificare]`; GDPR Art. 30; standard `ai-usage-audit`).
|
|
6. **Sub-processor disclosure**: su richiesta, dichiarare i fornitori AI usati (Anthropic/Voyage/…) (codice etico §18.9).
|
|
|
|
---
|
|
|
|
## 1. Quadro normativo CYBER a cui Agile si è adeguata
|
|
|
|
### 1.1 Vincolanti (fonti certe — registro `application/config/nis2_sources.php`)
|
|
| Fonte | Riferimento | Cosa impone (sintesi) |
|
|
|---|---|---|
|
|
| **NIS2** | Direttiva (UE) **2022/2555** | Misure di gestione del rischio (Art. 21), notifica incidenti (Art. 23), governance (Art. 20). |
|
|
| **CER** | Direttiva (UE) **2022/2557** | Resilienza dei soggetti critici (companion di NIS2). |
|
|
| **Recepimento IT** | **D.Lgs. 4 settembre 2024, n. 138** | Recepisce NIS2 in Italia; obblighi artt. 23-25, 29, 32. |
|
|
| **Specifiche ACN** | **Determinazione ACN n. 164179/2025** (14 apr 2025) | Misure di base + classificazione/notifica incidenti (IS-1..4), Allegati 3 (essenziali) / 4 (importanti). |
|
|
| **Piattaforma ACN** | **Determinazione ACN n. 333017/2025** | Modalità di accesso piattaforma ACN, designazione rappresentanti NIS. |
|
|
| **Ambiti** | Allegati I/II NIS2 | Settori essenziali/importanti. |
|
|
|
|
### 1.2 Best practice (NON vincolanti, adottate come riferimento)
|
|
ISO/IEC **27001:2022** (SGSI), **27002:2022** (controlli), **27017:2015** (cloud), **27018:2019** (PII nel cloud), **NIST CSF 2.0** (mapping 43 controlli), ENISA Good Practices Supply Chain, NIST SP 800-161r1.
|
|
|
|
---
|
|
|
|
## 2. Quadro normativo AI a cui Agile si è adeguata
|
|
|
|
| Fonte | Riferimento | Articoli chiave per noi |
|
|
|---|---|---|
|
|
| **EU AI Act** | Regolamento (UE) **2024/1689** | **Art. 50** — trasparenza: l'utente deve sapere che interagisce con un'AI (+ etichettatura contenuti sintetici/C2PA). **Enforce 2 agosto 2026**. **Art. 12** — record-keeping/logging automatico (sistemi ad alto rischio). Classificazione rischio (alcuni flussi potenzialmente Allegato III). |
|
|
| **Legge IT su IA** | **L. 132/2025** | Tracciabilità d'uso dell'AI — **Art. 14** `[da verificare sul testo ufficiale: non in fonti certe registrate]`. |
|
|
| **GDPR** | Regolamento (UE) **2016/679** | **Art. 5** (minimizzazione), **6** (base giuridica), **13/14** (informativa), **17** (oblio), **22** (decisioni automatizzate → escalation umana), **28** (responsabile), **30** (registro trattamenti). |
|
|
|
|
> ⚠️ **Onestà sulle fonti**: NIS2/CER/D.Lgs.138/Determine ACN sono nel nostro registro *fonti certe* (testi ingeriti in KB). **AI Act, GDPR e L.132/2025 NON sono ancora nel registro `nis2_sources.php`** → quando l'AI cita questi, deve poggiare sul testo ufficiale (EUR-Lex / Gazzetta Ufficiale), non "a memoria". **TODO**: aggiungerli a `nis2_sources.php` + ingestione KB.
|
|
|
|
---
|
|
|
|
## 3. Standard interni Agile che attuano i principi (cross-suite)
|
|
|
|
| Standard | Registry | Cosa fa | Stato |
|
|
|---|---|---|---|
|
|
| **`ai-usage-audit` v1.0** | `hub_standards` id=28 (draft) — `STANDARD_AI_USAGE_AUDIT.md` | Log tamper-resistant di ogni interazione AI (chat/RAG) → attua **AI Act Art. 12 + GDPR Art. 22/30 + L.132/2025 Art. 14**. | Pilota **ALLTAX Wave 1 LIVE**; AgileHub-side `pending`; **NIS2 = da adottare**. |
|
|
| **`persona-conversational-rules` v2.0** | `hub_standards` id=15 | **Codice Etico AI a 9 principi** (vedi §4) + governance persone digitali (CV/voce/lifecycle HR-grade). | NIS2 `acknowledged` (persona ARIA_SUPPORT_NIS2). |
|
|
| **`STANDARD_AI_PRODOTTO.md`** | doc | Split AI-prodotto vs AI-marketing per GDPR (§8): due "cervelli" separati, endpoint right-to-be-forgotten, NO dati cliente L2 nel marketing. | adottato |
|
|
| **Principio "fonti certe"** | `application/config/nis2_sources.php` + `AIService::authoritativeSourcesBlock()` | Inietta nei system prompt l'obbligo di citare le fonti e **vieta riferimenti inventati**. | **LIVE in NIS2**. |
|
|
|
|
Doc di coordinamento: `agile-services/docs/COORD_AI_USAGE_AUDIT_x_DOSSIER_CYBERSECURITY_AGILEHUB.md`, `PLAN_ADEGUAMENTO_CYBERSECURITY_AGILEHUB.md`.
|
|
|
|
---
|
|
|
|
## 4. Codice Etico AI — i 9 principi vincolanti (persona-conversational-rules §18)
|
|
1. **Identity transparency** — dichiararsi AI quando esplicitamente chiesto.
|
|
2. **No deception** — vietato fingersi umana / inventare fatti / dare consulenza autoritativa fuori scope.
|
|
3. **GDPR Art. 13 disclosure** — informativa su richiesta e in apertura demo.
|
|
4. **GDPR Art. 22** — escalation a umano per decisioni con effetti giuridici.
|
|
5. **Voice-clone double consent** — gate per persone con voce clonata.
|
|
6. **Scope refusal cortese** — rifiuto educato fuori scope, senza echo di parole problematiche.
|
|
7. **Escalation leale** — se l'utente chiede un umano, nessuna retention.
|
|
8. **Audit log obbligatorio** — turni sensibili (legale/medico/compliance) loggati ≥ 90 gg.
|
|
9. **Sub-processor disclosure** — su richiesta, lista canonica fornitori (Anthropic/ElevenLabs/Tavus/Voyage/…).
|
|
|
|
---
|
|
|
|
## 5. Come è attuato OGGI in NIS2 (verificabile nel codice)
|
|
- ✅ **Fonti certe nell'AI**: `AIService::authoritativeSourcesBlock()` iniettato nei system prompt (default, RAG `askWithRag`, `classifyIncident`) → cita le fonti, vieta invenzioni. KB Qdrant `nis2_kb` con i PDF normativi (NIS2/CER/Determine/Ambiti/ACN base) + 203 requisiti ACN.
|
|
- ✅ **Fonti certe nell'help**: `public/js/help.js` cita Direttiva 2022/2555 + D.Lgs.138 + Determine ACN per modulo.
|
|
- ✅ **Anonimizzazione prompt** (GDPR Art. 5): `AIService` rimuove nome org/fatturato, usa `employeeRange()` (range, non valori puntuali).
|
|
- ✅ **Audit immutabile**: `AuditService` hash-chain SHA-256 (base per la tracciabilità).
|
|
- ✅ **Cifratura in transito**: DB in **TLSv1.3 + REQUIRE SSL** (cutover 2026-06-11); TLS edge HTTPS.
|
|
- ✅ **Disclaimer non-parere-legale** in guida + AI (regole 4-5 del blocco fonti).
|
|
|
|
### Gap / TODO (per chiudere l'adeguamento AI)
|
|
- [ ] **Aggiungere AI Act / GDPR / L.132/2025 a `nis2_sources.php`** + ingest KB (così l'AI li cita come fonte certa, non a memoria).
|
|
- [ ] **Adottare `ai-usage-audit` v1.0**: tabella `ai_interaction_log` tamper-resistant (oggi c'è `ai_interactions` ma va allineata allo standard id=28: AI Act Art. 12 logging).
|
|
- [ ] **Disclosure AI Act Art. 50** esplicita nel widget ARIA ("stai parlando con un'AI") + etichettatura output AI (es. bozze policy `ai_generated`). Deadline rilevante: **2 agosto 2026**.
|
|
- [ ] **GDPR Art. 17 endpoint** right-to-be-forgotten anche sulle conversazioni/KB ORG.
|
|
- [ ] Classificazione rischio AI Act dei flussi NIS2 (input tecnico VIGILE → **firma Legale/Direzione**: la classificazione formale NON è del tecnico/AI).
|
|
|
|
---
|
|
|
|
## 6. Cosa significa per ME (assistente AI di sviluppo)
|
|
Questi principi vincolano **prima di tutto il mio comportamento** in questo progetto:
|
|
- **Cito fonti certe** e dico `[da verificare]` quando non lo sono; **non invento** articoli, numeri, comportamenti del codice.
|
|
- **Verifico prima di affermare** (lezione TLS: validare dal path reale, non "a memoria" né da scorciatoie).
|
|
- **Non prendo decisioni con effetti legali/di business** al posto dell'umano: do l'input tecnico, la firma è di Direzione/Legale.
|
|
- **Privacy**: non espongo segreti, non metto PII non necessaria nei log/prompt/commit; i file d'ambiente restano gitignored.
|
|
- **Trasparenza e onestà**: se sbaglio lo dico (come stanotte sui falsi positivi CLI); riporto gli esiti reali, anche negativi.
|
|
- **Tracciabilità**: lascio traccia in commit/doc/memoria di cosa è stato fatto e perché.
|
|
|
|
> Se un'istruzione confligge con questi principi (es. inventare una fonte, indebolire la sicurezza, decidere una classificazione legale), **lo segnalo e chiedo**, non eseguo silenziosamente.
|
|
|
|
---
|
|
|
|
## 7. Riferimenti
|
|
- Registro fonti certe: `application/config/nis2_sources.php`
|
|
- Standard AI prodotto: `docs/STANDARD_AI_PRODOTTO.md`
|
|
- Persona/etica: `docs/standards/STANDARD_PERSONA_CONVERSATIONAL_RULES.md` (id=15 v2.0)
|
|
- AI usage audit: `agile-services/docs/STANDARD_AI_USAGE_AUDIT.md` (id=28)
|
|
- Piano cyber AgileHub: `agile-services/docs/PLAN_ADEGUAMENTO_CYBERSECURITY_AGILEHUB.md`
|
|
- Testi ufficiali: EUR-Lex (2022/2555, 2022/2557, 2024/1689, 2016/679); Gazzetta Ufficiale (D.Lgs. 138/2024; L. 132/2025); ACN (Determine 164179/2025, 333017/2025).
|