Come usare l'AI in sicurezza con Shadow Shield

Negli ultimi anni, l'Intelligenza Artificiale generativa ha smesso di essere una curiosità per addetti ai lavori ed è diventata uno strumento quotidiano per sviluppatori, professionisti e creativi. Dalla scrittura di codice alla stesura di report, fino all'analisi di documenti complessi, i modelli in cloud come GPT-4 o Gemini hanno ridefinito la nostra produttività.

Tuttavia, questo enorme potere porta con sé un dilemma fondamentale: la sicurezza dei nostri dati.

Ogni volta che incolliamo un testo contenente nomi, indirizzi email, dati finanziari o informazioni aziendali riservate all'interno di un'interfaccia AI esterna, stiamo di fatto spedendo quel dato su server di terze parti. Per quanto le aziende promettano politiche di conservazione dei dati rigide, il rischio di data breach o di utilizzo dei dati per l'addestramento futuro dei modelli rimane concreto.

La risposta a questo problema non è rinunciare ai modelli più intelligenti sul mercato, ma cambiare approccio tecnico: anonimizzare le informazioni sensibili localmente prima ancora che lascino il nostro computer.

Come funziona

L'idea alla base di questa soluzione è l'adozione di un gateway di privacy locale (o middleware). Invece di far parlare l'utente direttamente con l'API in cloud, si inserisce nel mezzo un filtro intelligente che risiede sul computer dell'utente (o nella rete locale dell'azienda).

Questo sistema agisce come un traduttore in tempo reale:

  1. Riceve il prompt dell'utente contenente dati sensibili.

  2. Sostituisce questi dati con etichette generiche e anonime (ad esempio, "Mario Rossi" diventa <NAME_1>).

  3. Memorizza localmente l'associazione tra l'etichetta e il dato reale.

  4. Invia il prompt anonimo al modello in cloud.

  5. Riceve la risposta dall'AI (che contiene ancora le etichette) e sostituisce nuovamente le etichette con i dati reali prima di mostrare il risultato finale all'utente.

Questo approccio offre opportunità straordinarie:

  • Sovranità sui dati: Il cloud riceve solo concetti astratti ed etichette vuote. Non sa chi sei né di chi o cosa stai parlando.

  • Flessibilità totale: Puoi continuare a usare i modelli commerciali più potenti del pianeta (come Gemini o Claude) senza scendere a compromessi sulla sicurezza.

  • Integrazione trasparente: Per l'applicazione finale o per l'utente, l'esperienza d'uso non cambia.

Naturalmente, esistono anche dei limiti da tenere in considerazione:

  • Latenza: Effettuare due passaggi (uno locale per anonimizzare e uno cloud per rispondere) introduce inevitabilmente qualche frazione di secondo in più nei tempi di risposta.

  • Mantenimento del contesto: Se l'anonimizzazione è troppo aggressiva o imprecisa, rischia di rimuovere dettagli utili al modello cloud per comprendere appieno la domanda.

  • Complessità infrastrutturale: Molte delle soluzioni aziendali esistenti di questo tipo richiedono server dedicati, costosi modelli commerciali di classificazione e configurazioni complesse che le rendono inaccessibili per uso personale o per piccoli progetti.

La mia soluzione leggera: Shadow Shield

Proprio per superare il limite della complessità delle soluzioni enterprise, ho deciso di creare una versione "fatta in casa", snella ed elegante, di questo pattern di sicurezza: Shadow Shield.

Shadow Shield è un micro-servizio scritto in Python che chiunque può far girare sul proprio PC in pochi minuti. Invece di affidarsi a rigide e fallibili espressioni regolari (regex) per trovare nomi o email, utilizza un modello AI locale ultra-leggero ed efficiente (nel mio caso gemma4:e2b tramite Ollama).

Per implementarlo in modo pulito e modulare, ho strutturato l'applicazione sotto forma di grafo a stati utilizzando LangGraph. Il flusso di esecuzione si divide in tre fasi ben distinte:

Fase 1: L'anonimizzazione locale intelligente

Quando inserisci un testo, il primo nodo intercetta la richiesta e la passa a Ollama. Il modello locale analizza il testo non solo per parole chiave, ma comprendendone il contesto. Genera quindi una risposta strutturata in formato JSON contenente il testo ripulito e un dizionario (mapping) che associa ogni placeholder (es. <NAME_1>, <EMAIL_1>) al valore reale. Questa mappa rimane esclusivamente all'interno della memoria RAM del tuo computer.

Fase 2: L'elaborazione in Cloud

Il secondo nodo prende il testo anonimo e lo invia a OpenRouter (configurato di default con gemini-3.5-flash). Il modello cloud risponde alla domanda lavorando solo sulle etichette. Per il cloud, l'utente è un'entità astratta che sta facendo domande astratte.

Fase 3: Il ripristino istantaneo

Il terzo nodo prende la risposta ricevuta, confronta i placeholder con la mappa salvata in memoria nella prima fase, e sostituisce i dati reali al loro posto. Il testo finale viene restituito all'utente completo e pronto all'uso.

Ecco un esempio di come appare l'elaborazione dei nodi in tempo reale sul terminale:

Considerazioni finali

Shadow Shield è volutamente molto semplice, proprio per dimostrare che la sicurezza dei dati non deve essere necessariamente una prerogativa di grandi aziende con budget illimitati. Sfruttando la modularità di strumenti come LangGraph e la disponibilità di piccoli modelli open source da far girare in locale tramite Ollama, ogni sviluppatore può creare la propria barriera di sicurezza personale.

Se vuoi approfondire l'argomento, guardare l'architettura o testare Shadow Shield sul tuo computer per i tuoi progetti personali, il codice è disponibile su GitHub:

👉 GitHub - AndreaEmmi/shadow-shield

Trasforma le informazioni della tua azienda in strumenti intelligenti

Knowble è il servizio di sviluppo IA su misura che crea la tua intelligenza artificiale privata. Creo la soluzione ideale per il tuo business integrando chat personalizzate, quick actions automatiche e analisi approfondite dei dati.

Knowble Creator