Dossier di conformità: Cybersicurezza, Audit Trail e Tracciabilità dell'uso dell'Intelligenza Artificiale
Documento tecnico che dimostra la conformità della piattaforma alle direttive governative italiane in materia di sicurezza ICT e ne descrive le scelte progettuali, inclusa la tracciabilità dell'uso dell'AI richiesta dalla L.132/2025 Art.14.
1Executive summary
La piattaforma adotta un modello di sicurezza a più livelli — isolamento multi-tenant verificato, cifratura dei dati a riposo, gestione centralizzata dei segreti, audit trail inalterabile e, da S132, la tracciabilità completa di ogni interazione con l'AI. Le vulnerabilità critiche e alte rilevate negli audit interni sono state risolte e sono in produzione.
2Quadro normativo di riferimento
La piattaforma serve la Pubblica Amministrazione (Comuni): il perimetro di conformità integra le direttive di sicurezza ICT, protezione dati e uso dell'AI nella PA.
3Esito degli audit di sicurezza & remediation
Due campagne di audit difensivo interno read-only (nessuna scrittura cross-tenant su dati reali, nessun uso di root, segreti citati come file:riga e mai come valore).
| Campagna | Esito | Stato remediation |
|---|---|---|
| Autoanalisi 2026-03-20 | 21 finding (5 CRITICAL, 8 HIGH, 8 MEDIUM) | ✅ risolto SQL injection→prepared statements, segreti rimossi dal codice, XSS, CORS ristretto, security headers, stack trace off, lockout brute-force |
| Pentest-prep 2026-06-05 (verifica adversariale) | 65 finding (6 CRITICAL, 10 HIGH, 23 MEDIUM, 16 LOW, 10 INFO) — 16 confermati reali | ✅ risolto privesc property-ms, IDOR feedback, escalation ruoli, stored XSS upload→attachment, DoS batch-emit cap, wizard fail-closed 403 |
php -l + smoke). I rimedi che richiedono infrastruttura (rate-limiting gateway, rotazione segreti storici, TLS DB) sono assegnati al gestore infrastruttura e tracciati separatamente.4Le scelte fatte — e perché
Le decisioni progettuali di sicurezza non sono casuali: ognuna risponde a un requisito normativo o a un rischio concreto della PA fiscale.
Audit su DB dedicato write-only
Un database separato (taxai_audit_db) con utente solo-INSERT: nessuno — nemmeno l'applicazione — può alterare o cancellare la storia. Perché: la conservazione fiscale (DPR 600/1973) e la non ripudiabilità richiedono un trail tamper-resistant.
Cifratura a livello di campo (AES-256-GCM)
I dati particolari (ISEE, disabilità) e gli identificativi sono cifrati in colonna; il codice fiscale usa un blind-index HMAC per la ricerca senza esporre il dato. Perché: GDPR Art. 9/32 — minimizzare l'impatto di un'eventuale esfiltrazione.
Segreti nel vault, non nel codice
Chiavi API e segreti vivono in un vault cifrato (AES-256-GCM), iniettati a runtime. Perché: un eventuale accesso al repository non deve concedere le chiavi di produzione.
Isolamento tenant a doppio livello
Vincoli a livello di base dati (tenant_id obbligatorio, chiavi naturali, foreign key) e controllo applicativo (JWT.tenant_id = X-API-Key). Perché: un Comune non deve mai vedere i dati di un altro, neppure per errore di codice.
AI advisory, mai decisionale
L'assistente AI suggerisce e informa; ogni atto fiscale resta avviato da un operatore umano e registrato. Perché: GDPR Art. 22 — nessuna decisione automatizzata con effetti giuridici sul cittadino.
Tracciabilità totale dell'AI
Ogni turno AI è loggato (chi/cosa/quando/modello/esito) con PII oscurata. Perché: L.132/2025 Art. 14 impone conoscibilità del funzionamento e tracciabilità dell'uso dell'AI nella PA.
5Isolamento multi-tenant ✅ verificato
L'isolamento è stato testato in profondità (campagne S91–S95) a livello SQL e API: regge. I due leak cross-tenant individuati sono stati chiusi e verificati (403 su accesso incrociato).
- Schema:
UNIQUEsu chiave naturale,FOREIGN KEYetenant_id NOT NULLapplicati a ~50 tabelle fiscali. - Runtime: dopo l'
apiKeyMiddlewareiljwtMiddlewareverifica cheJWT.tenant_idcoincida con il tenant della chiave API; il ruolosuper_adminè l'unica eccezione di servizio (con guardrail sugli atti fiscali). - Soft-delete & storno: distinzione tra cancellazione logica (
deleted_at) e storno fiscale legale (voided_at): per legge non si cancella, si storna.
6Cifratura dei dati & gestione dei segreti
Dati a riposo
- AES-256-GCM su dati particolari (ISEE, disabilità) e identificativi
- Codice fiscale: blind-index HMAC + cifratura (ricerca senza esposizione)
- Password: bcrypt cost 12
- Token & IP: hash/HMAC, mai in chiaro
Segreti & trasporto
- Chiavi esterne in vault cifrato, iniettate a runtime
- HTTPS pubblico, HSTS, CSP senza
unsafe-inline - Degrado graceful: assenza chiave → nessun crash, fallback sicuro
- ⏳ ops TLS DB-to-MS e TDE InnoDB a livello infrastruttura
7Audit trail fiscale tamper-resistant
Ogni modifica ai dati fiscali sensibili è registrata in taxai_audit_db.audit_log tramite l'helper centralizzato AuditLogger, in modalità best-effort (l'audit non blocca mai un'operazione valida).
| Caratteristica | Attuazione |
|---|---|
| DB dedicato | taxai_audit_db, separato dai dati operativi |
| Tamper-resistance | utente taxai_audit_writer solo-INSERT → UPDATE/DELETE rifiutati (ERROR 1142), verificato |
| Redazione | campi sensibili (CF/ISEE/email/telefono/token/IP) → ***REDACTED*** prima della scrittura |
| Tracciato | attore, ruolo, IP (HMAC), azione (CREATE/UPDATE/DELETE/VOID/RESTORE/AI_DECISION), tabella, record, diff, contesto, timestamp |
| Conservazione | 10 anni (DPR 600/1973) |
8Audit log dell'Intelligenza Artificiale (S132) LIVE
È il cuore della conformità alla L.132/2025 Art. 14 (conoscibilità del funzionamento + tracciabilità dell'utilizzo dell'AI nella PA) e all'AI Act Art. 12 (logging). Per ogni interazione con l'AI è ricostruibile l'intero percorso logico.
Cosa viene registrato — per ogni turno
CHI
utente, ruolo, tenant (Comune), IP in forma di hash HMAC
COSA
domanda (redatta), tool invocati, documenti RAG consultati (solo metadati), scope del profilo
QUANDO
timestamp, latenza della risposta
CON QUALE MODELLO
identificativo del modello (rilevato dalla risposta, non assunto) + token consumati
CON QUALE ESITO
sintesi della risposta (redatta) + hash di integrità di domanda e risposta
DECISIONE CON EFFETTI
i tool che producono un output fiscale generano un evento AI_DECISION collegato all'atto/dato (GDPR Art. 22)
Schema del registro ai_interaction_log
Privacy-by-design del registro
🛡️ Minimizzazione (GDPR Art. 5/30)
La funzione redactFreeText() oscura gli identificatori personali strutturati — codice fiscale, IBAN, email, cellulare, ISEE, partita IVA — direttamente nel testo libero, prima della scrittura. Del testo integrale restano solo l'hash (integrità) e una sintesi redatta.
🔒 Inalterabilità & accesso
Stesso DB tamper-resistant dell'audit fiscale: scrittura con utente solo-INSERT, lettura riservata a un utente reader dedicato. Best-effort: il logging non blocca mai la conversazione.
Esempio di riga registrata (redatta)
AI_DECISION) e verifica indipendente reader-side: righe presenti, identificatori strutturati oscurati, hash di integrità valorizzati, righe di test purgate.Sub-processor dell'AI (trasparenza — AI Act Art. 50)
9Matrice di conformità del software
Esito riferito alle misure tecniche-applicative, verificate nel codice e nei test.
| Direttiva | Esito | Evidenza |
|---|---|---|
| Misure Minime AgID / ABSC | ✅ CONFORME | configurazioni sicure, vuln handling, RBAC, protezione dati |
| NIS2 — misure tecniche art. 24 | ✅ CONFORME | gestione incidenti, supply chain, vuln handling, crittografia, audit |
| GDPR — misure tecniche | ✅ CONFORME | Art. 9/25/32/33, Art. 22 (no decisioni automatizzate) |
| L.132/2025 Art. 14 — uso AI | ✅ CONFORME | tracciabilità uso AI LIVE (ai_interaction_log, smoke 8/8) |
| AI Act — trasparenza + logging | ✅ CONFORME | Art. 50 trasparenza + Art. 12 logging attuato |
| Conservazione fiscale (DPR 600/1973) | ✅ CONFORME | audit trail 10 anni tamper-resistant |
| Accessibilità (WCAG 2.1 AA · L.4/2004) | ✅ CONFORME | V2 + Dichiarazione di accessibilità AgID |
| pagoPA | ✅ CONFORME | integrazione attiva, callback loggato |
10Ripartizione delle responsabilità
Coerentemente col modello SaaS, alcuni adempimenti non sono misure di software ma obblighi organizzativi, legali o infrastrutturali. La loro pendenza non incide sulla conformità tecnica del prodotto.
🏢 Titolare / DPO
DPIA (GDPR Art. 35), Registro dei trattamenti (Art. 30, incl. AI), valutazione minimizzazione nomi propri.
🏛️ Direzione / legale
Classificazione del soggetto e registrazione ACN (NIS2), approvazione politica di sicurezza, risk register, formazione, classificazione AI Act (Annex III, applicabile 12/2027).
🛠️ Gestore infrastruttura
Backup off-site cifrati, TLS DB-to-MS, TDE InnoDB, rate-limiting gateway, rotazione segreti storici, MFA TOTP (enhancement, baseline auth già conforme).
Dichiarazione
La piattaforma TaxAi / AllTax È CONFORME ai requisiti tecnici di cybersicurezza, audit trail, conservazione e tracciabilità dell'uso dell'Intelligenza Artificiale applicabili al software, secondo le direttive governative italiane di riferimento, come verificato nel codice e nei test descritti in questo dossier.
La presente è un'autodichiarazione tecnica prodotta da un agente AI sulla base dell'analisi diretta del codice e dei test. Richiede la controfirma umana e non sostituisce, ove richiesta, una certificazione di organismo accreditato né la DPIA del Titolare del trattamento.
firma e data
firma e data