Privacy engineering · PoC sintetico
Data Governance & Masking
Classificazione PII e pseudonimizzazione coerente su dati relazionali sintetici.
Esplora l’architetturaContesto
Il tirocinio presso Spindox ha riguardato Data Governance e Data Masking. Il caso tecnico qui documentato è un proof of concept personale su dati sintetici: i risultati non descrivono sistemi o attività interne a Spindox.
Problema
Mascherare identificativi sensibili campo per campo può interrompere join, vincoli e corrispondenze tra sistemi. Copiare dati non protetti in ambienti di sviluppo o analisi aumenta invece l’esposizione delle persone.
Obiettivo
Inventariare e classificare le colonne PII, applicare pseudonimi coerenti a dati relazionali collegati e verificare che il dataset protetto conservi le proprietà tecniche previste.
Responsabilità personali
Ho sviluppato e documentato il repository del proof of concept: flusso CLI, regole di classificazione e mascheramento, controlli sul database protetto e test automatici. Non descrivo qui responsabilità o deliverable interni all’azienda.
Architettura
Processo del PoC sintetico
- 01Generazione
- 02Inventario
- 03Profiling
- 04Classificazione
- 05Mascheramento
- 06Validazione
Implementazione documentata
Il flusso locale genera dati sintetici, inventaria schemi e relazioni, profila e classifica i campi, applica le regole di pseudonimizzazione e valida gli schemi protetti. Le policy sono versionate in YAML; le mappature dei valori restano in memoria durante il batch.
Decisioni e compromessi
Coerenza tra tabelle
Gli pseudonimi deterministici usano una chiave esterna, normalizzazione e namespace. Le chiavi tecniche autorizzate restano stabili per preservare le relazioni. Questo mantiene una possibilità di collegamento: si tratta di pseudonimizzazione, non di anonimizzazione.
Revisione delle ambiguità
Una classificazione ambigua non viene mascherata con una regola indovinata: l’esecuzione richiede una scelta esplicita. Il controllo manuale aumenta il lavoro operativo, ma rende la decisione tracciabile.
Controlli e verifiche
Il repository documenta test su conteggi, vincoli, relazioni tra tabelle, gruppi di coerenza, drift dello schema e idempotenza deterministica sul carico sintetico.
Evidenze e risultati documentati
- Inventario sintetico
20 tabelle sorgente e 20 protette; 109 colonne inventariate e classificate nel carico di riferimento.
- Controlli documentati
La suite del repository verifica relazioni, vincoli, assenza di drift dello schema e idempotenza deterministica sul dataset sintetico.
Limiti e miglioramenti
La verifica riguarda solo dati sintetici. Non dimostra accuratezza su dati reali, prestazioni aziendali o conformità normativa. Autenticazione, gestione operativa dei segreti e osservabilità di produzione richiedono lavoro ulteriore.
Tecnologie
- Python 3.12
- PostgreSQL 16
- YAML
- pytest
Fonti e perimetro
Le quantità e i controlli derivano dal repository personale del proof of concept. Non sono misure del tirocinio Spindox; codice, documenti e dati aziendali non sono inclusi.
Il repository non è attualmente accessibile pubblicamente; il collegamento al codice sarà aggiunto solo quando sarà pubblicabile.