Pratica di preparazione sicura dei dati per il vibe coding e per il lavoro con agenti di IA nel cloud.
L’idea dell’approccio: i dati di lavoro restano all’interno del perimetro aziendale. All’ambiente di IA esterno viene trasmessa solo una copia anonimizzata o un documento già mascherato. Il ripristino dei valori personali avviene in locale.
L’uso pratico dell’intelligenza artificiale nella salute e sicurezza sul lavoro si scontra molto presto con la questione dei dati di partenza. Le tabelle di lavoro e i materiali degli infortuni possono contenere nomi completi, matricole, nomi di imprese appaltatrici, contatti, importi e altri dati che non si possono semplicemente caricare su un servizio esterno senza una valutazione dei rischi.
Allo stesso tempo è proprio la struttura reale dei dati a servire per costruire uno strumento utile. Una dashboard deve capire i campi e le relazioni reali della tabella, e un agente per l’analisi degli infortuni deve capire la struttura delle dichiarazioni, delle prime segnalazioni e degli altri materiali. Per questo abbiamo separato i dati dallo strumento.
Di conseguenza il mascheratore offline è diventato l’elemento di base per due direzioni insieme: preparare modelli Excel anonimizzati per il successivo vibe coding e preparare documenti Word per l’analisi dei materiali di un infortunio con agenti di IA nel cloud.

Per un principiante è tutto più semplice di quanto sembri: il Prompt 1 della sezione «Prompt pronti» (in fondo all’articolo) non va incollato in un editor di codice particolare. Si inserisce come testo normale in un servizio di IA capace di creare e modificare applicazioni o codice. Il procedimento è sempre lo stesso: aprire la modalità di sviluppo, incollare per intero il Prompt 1, ottenere la prima versione, verificarla e poi, nello stesso dialogo, dare in sequenza il Prompt 2, il Prompt 3 e il Prompt 4.
In pratica funzionano diverse opzioni. In ChatGPT — la modalità «Lavoro» o Codex, se disponibili nel tuo account; in Claude — Artifacts; in Gemini — Canvas; in Perplexity — la modalità Create files and apps, se disponibile nel tuo piano; in Replit — Agent. Per esempio, in ChatGPT basta aprire «Lavoro» o Codex, creare una nuova attività e incollare il testo del Prompt 1 nel campo del messaggio. In Gemini: «Aggiungi file» → Canvas → incollare il Prompt. In Perplexity: scegliere Create files and apps e incollare il Prompt nella riga della richiesta. In Replit: aprire Agent, se serve attivare prima Plan, incollare il Prompt e verificare il risultato in Preview dopo la build.
I nomi delle modalità sono aggiornati al momento della pubblicazione; le interfacce e la disponibilità delle funzioni di questi servizi possono cambiare nel tempo.
Per la prima esperienza consiglierei di iniziare con ChatGPT, Claude o Gemini: lì è più facile lavorare con un linguaggio comune e precisare i requisiti passo dopo passo. Se il programma esiste già e serve un lavoro più profondo sul codice, sono comodi Replit, Codex e altri strumenti di sviluppo specializzati.
Importante:qualunque sia la piattaforma scelta, all’inizio della richiesta va fissato a parte un requisito: «il risultato è un unico file HTML autonomo, senza API esterne, CDN e dipendenze di rete, in grado di funzionare con internet spento». E un’altra regola: in un servizio di vibe coding non si caricano file Excel/Word reali con dati personali. Per lo sviluppo si usa solo una copia anonimizzata verificata o un file di prova.
Per l’analisi di grandi volumi di dati ci è importante conservare la struttura della tabella: nomi dei fogli e delle colonne, tipi di dati, date, categorie, la gerarchia «stabilimento — reparto — area», i processi e altri attributi. I cognomi e gli identificativi reali non servono per sviluppare l’involucro del programma.
Perciò la tabella Excel di lavoro viene caricata nel mascheratore HTML locale. Il programma, sul computer dell’utente, trova i valori potenzialmente sensibili, li mostra prima della sostituzione e permette di correggere le regole a mano. Per esempio: «Ivan Ivanovič Ivanov → Dipendente_001», «Appaltatore S.r.l. → Organizzazione_001», «matricola → ID_001».
In uscita si ottiene una copia anonimizzata che conserva la logica della tabella originale. Già con essa si può lavorare con l’IA per costruire il programma: filtri, KPI, grafici interattivi, ricerca e dettaglio fino al singolo record. Il file Excel originale, intanto, resta dentro l’azienda.
Terminato lo sviluppo, la base reale non deve trovarsi affatto dentro l’HTML che si crea. Nel programma finito è previsto un pulsante per il caricamento locale dell’Excel di origine: il file viene letto dal browser sul computer dell’utente e la dashboard ricalcola gli indicatori all’interno della sessione locale. Questa sarà la seconda tappa della serie.
L’impostazione di base del compito per creare questa modalità è riportata nel Prompt 1 e nel Prompt 2 (vedi «Prompt pronti» in fondo all’articolo).




Il secondo impiego del mascheratore è preparare i documenti di un infortunio per la successiva analisi in una IA nel cloud. Nella fase iniziale possono essere la prima segnalazione, le dichiarazioni, le spiegazioni dei lavoratori e altri materiali in Word.
Il mascheratore crea una copia anonimizzata del Word: i nomi completi e gli altri valori scelti vengono sostituiti da etichette convenzionali stabili. È importante che la stessa persona mantenga la stessa etichetta in tutto il fascicolo, altrimenti l’agente perde i legami tra dichiarazioni ed eventi.
Contemporaneamente viene generata in locale una chiave di ripristino cifrata separata. La chiave contiene le corrispondenze tra le etichette convenzionali e i valori originali. Per essa si imposta una password, che non viene trasmessa insieme ai documenti e non viene conservata nell’agente cloud.
Dopodiché all’IA viene passato solo il Word mascherato. L’agente può analizzare la cronologia, confrontare le spiegazioni, individuare contraddizioni, formulare domande di chiarimento, cercare nessi causali e preparare una bozza dei materiali analitici dell’indagine. L’indagine formale e le decisioni finali, ovviamente, restano alla commissione e agli specialisti responsabili.
Quando il documento mascherato rielaborato torna dall’ambiente cloud, il ripristino avviene di nuovo in locale. Nel mascheratore offline si caricano tre elementi: il Word ricevuto, il file di chiave corrispondente e la password. Il programma riporta le etichette convenzionali ai valori originali là dove queste etichette si sono conservate nel testo.
In questo modo l’agente cloud lavora con la logica dell’evento, ma non riceve i nomi completi originali né gli altri valori mascherati. La chiave di ripristino e la password non vengono trasmesse all’ambiente cloud.
L’architettura del lavoro bidirezionale con Word è descritta nel Prompt 3 (vedi «Prompt pronti» in fondo all’articolo).



Anche il mascheratore è stato creato con il vibe coding. Qui è importante non intendere questo approccio come il comando «fammi un programma» aspettandosi un risultato perfetto. Lo schema di lavoro era un altro: formulare una funzione, verificarla, registrare il difetto o il nuovo requisito e solo dopo passare alla versione successiva.
Il primo requisito era un unico file HTML autonomo senza installazione. Poi si sono aggiunti la verifica manuale delle sostituzioni, l’elenco «Sostituire inoltre», l’elenco «Non modificare», la cancellazione della sessione corrente, il lavoro con Word, la creazione di una chiave cifrata separata e il ripristino locale del documento.
Una tappa a parte è stata l’autoverifica tecnica. Questa volta l’IA ha ricevuto non il ruolo di sviluppatore, ma quello di revisore del proprio codice: controllare fetch, XMLHttpRequest, WebSocket, librerie esterne, CDN, API, iframe, archivi locali e altri meccanismi attraverso i quali i dati potrebbero uscire dal computer o restare dopo la fine del lavoro. Una verifica del genere non sostituisce il controllo dei servizi IT e di sicurezza delle informazioni, ma permette di rimuovere i rischi evidenti già in fase di prototipo.
La richiesta di verifica è riportata nel Prompt 4 (vedi «Prompt pronti» in fondo all’articolo).

Un solo strumento locale copre due compiti diversi. Per Excel permette di preparare un modello sicuro e, su quella base, di creare con l’IA un’analisi offline di grandi volumi di dati. Per Word permette di trasmettere a una IA nel cloud i materiali di un infortunio senza divulgare i valori personali mascherati e poi di ripristinare il documento in locale dopo l’analisi.
Il principio chiave resta lo stesso: prima escludere dal perimetro esterno ciò che l’IA non deve sapere per risolvere il compito, e solo dopo sfruttare le sue possibilità.
Nelle prossime pubblicazioni mostrerò separatamente entrambi i seguiti di questo schema: come dal modello Excel anonimizzato nasce una dashboard HSE autonoma con caricamento locale della base reale e come un agente di IA viene usato per analizzare i materiali dell’indagine sugli infortuni.
Le formulazioni sono pensate per uno sviluppo per fasi e per l’adattamento a uno scenario aziendale concreto.
Crea un’applicazione locale autonoma per mascherare i dati in Excel (.xlsx) e Word (.docx).
Formato dell’applicazione: un unico file HTML che si apre in un browser normale e funziona senza installare software aggiuntivo.
Requisiti critici:
1. Dopo l’apertura l’applicazione non deve accedere a internet.
2. Non usare API esterne, telemetria, elaborazione nel cloud e trasferimento automatico dei file dell’utente.
3. Tutte le librerie necessarie devono essere incorporate localmente nell’HTML.
4. L’utente deve poter caricare uno o più file Excel/Word dal computer.
5. Non modificare i file di origine. Salvare il risultato in una copia separata.
6. Eseguire tutte le operazioni nella memoria della scheda corrente del browser.
7. Aggiungere un pulsante che cancelli completamente la sessione corrente.
Funzioni di mascheramento:
- cercare nomi completi, cognomi con iniziali e altri valori personali selezionati;
- cercare organizzazioni e altri valori indicati manualmente;
- se necessario, mascherare numeri, contatti e importi;
- lo stesso valore di origine deve ricevere la stessa etichetta convenzionale all’interno di una sessione;
- prima del salvataggio, mostrare all’utente l’elenco delle sostituzioni nel formato «posizione / prima / dopo»;
- consentire di disattivare o modificare a mano qualsiasi sostituzione;
- aggiungere un campo «Sostituire inoltre»;
- aggiungere un campo «Mantenere invariato», con priorità sulle sostituzioni.
Per Excel conservare la struttura delle tabelle e i campi necessari all’analisi successiva. Per Word conservare la struttura del documento per quanto possibile.
Dopo la prima versione elenca separatamente i limiti del riconoscimento automatico e i punti che l’utente deve verificare a mano.Migliora il mascheratore HTML locale per preparare in sicurezza un modello Excel che possa poi essere usato nello sviluppo di un programma analitico con l’IA.
Obiettivo: l’IA deve vedere la struttura della tabella di lavoro, ma non i valori personali reali né gli altri valori sensibili selezionati.
Requisiti:
1. Conserva i nomi dei fogli, le intestazioni delle colonne, i tipi di dati, le date, le categorie e gli attributi gerarchici, se l’utente non li ha indicati per la sostituzione.
2. Sostituisci i nomi completi con etichette stabili del tipo Dipendente_001, Dipendente_002 e così via.
3. Sostituisci le organizzazioni con etichette Organizzazione_001, Organizzazione_002 e così via.
4. Sostituisci identificativi e matricole, se sono stati selezionati per il mascheramento, con etichette ID_001, ID_002 e così via.
5. Lo stesso valore di origine deve ricevere la stessa sostituzione in tutti i file Excel della sessione corrente.
6. Mostra un elenco preliminare di tutte le sostituzioni e consenti all’utente di correggerlo a mano.
7. Non eliminare righe e colonne solo perché il programma non le usa.
8. Non modificare il file di origine.
9. Dopo l’elaborazione consenti di scaricare una copia anonimizzata separata.
10. Aggiungi un avviso ben visibile: prima di trasmettere il risultato a un’IA esterna, l’utente deve verificare a mano il file anonimizzato.
Importante: il ripristino inverso di Excel non è necessario. La base di lavoro reale resta all’interno del perimetro aziendale; la copia anonimizzata serve solo a progettare la logica e l’interfaccia della futura dashboard HTML.Migliora il mascheratore HTML autonomo per il lavoro bidirezionale con Word (.docx).
Scenario:
1. L’utente carica i documenti Word originali relativi all’infortunio.
2. Il programma sostituisce in locale nomi completi, organizzazioni e altri valori selezionati con etichette convenzionali stabili.
3. L’utente verifica e conferma l’elenco delle sostituzioni.
4. Il programma crea:
a) un documento Word mascherato;
b) un file di chiave cifrato separato, contenente le corrispondenze esatte «etichetta convenzionale ↔ valore di origine».
5. Per il file di chiave l’utente imposta una password di almeno 10 caratteri. Non conservare la password nell’applicazione e non scriverla in chiaro dentro la chiave.
6. Il Word mascherato può poi essere trasmesso a un agente di IA esterno per l’analisi del contenuto.
7. Ricevuto il Word rielaborato, l’utente torna nell’applicazione locale.
8. Per il ripristino carica:
- il Word mascherato rielaborato;
- il file di chiave corrispondente;
- e inserisce la password.
9. Il programma riporta in locale le etichette convenzionali conservate ai valori originali e crea un Word ripristinato separato.
Requisiti di sicurezza:
- la chiave di ripristino e la password non devono mai essere trasmesse automaticamente in rete;
- conserva la chiave separatamente dal documento mascherato;
- usa una cifratura moderna della chiave (per esempio AES-256-GCM tramite la Web Crypto API);
- con una password errata non rivelare il contenuto della chiave;
- al termine del lavoro offri la possibilità di cancellare completamente la sessione corrente;
- mostra un avviso: le etichette convenzionali eliminate o modificate in modo sostanziale dall’IA esterna non possono essere ripristinate automaticamente;
- non riconoscere automaticamente il testo dentro le immagini e avverti esplicitamente l’utente della necessità di verificare visivamente immagini e loghi.
Conserva la struttura del Word: paragrafi, tabelle, stili, intestazioni e piè di pagina e immagini, per quanto tecnicamente possibile. Non modificare il file di origine.Esegui un audit tecnico dell’applicazione HTML creata come strumento locale offline per il lavoro con dati sensibili.
Controlla tutto il codice ed elenca tutti i meccanismi individuati che potrebbero generare scambio di rete o conservazione prolungata del contenuto dei file dell’utente.
Controlla separatamente:
- fetch;
- XMLHttpRequest;
- WebSocket;
- EventSource;
- navigator.sendBeacon;
- script src esterni;
- CSS e font esterni;
- CDN;
- API esterne;
- iframe;
- invio automatico di moduli HTML;
- Service Worker;
- localStorage;
- sessionStorage;
- IndexedDB;
- cookie;
- URL esterni nelle librerie e nel codice;
- telemetria, analitica e crash-reporting.
Risultato richiesto:
1. Il programma deve funzionare pienamente con internet spento.
2. I file Excel/Word dell’utente non devono essere trasmessi in rete.
3. Le chiavi di ripristino e le password non devono essere inviate o conservate automaticamente dall’applicazione.
4. Se si usano archivi locali del browser, spiega perché; per i dati di origine, le chiavi e le password escludine l’uso.
5. Aggiungi una Content-Security-Policy rigorosa che vieti le connessioni di rete e l’incorporazione di contenuti esterni, per quanto compatibile con il funzionamento dell’applicazione.
6. Dopo il comando «Cancella tutto» elimina i dati della sessione corrente dallo stato dell’applicazione.
7. Dopo le correzioni ricontrolla il codice e produci un breve rapporto: quali canali potenziali sono stati trovati, che cosa è stato rimosso, che cosa è rimasto e perché.
Importante: indica che una simile autoverifica del codice non sostituisce il controllo aziendale IT/sicurezza delle informazioni né la valutazione legale dell’ammissibilità dello scenario d’uso concreto.Regola pratica: all’ambiente di IA esterno va trasmessa solo una copia anonimizzata verificata. Il file della chiave di ripristino e la password devono restare nel perimetro locale e non vanno allegati alla richiesta inviata all’agente.