Tesi Magistrale - Privacy Dashboard

27/03/2026

ReactFlaskPostgreSQLDockerGitLab CI/CDGDPRSmart HomeSmartotumProxmoxNginx

Per la mia tesi magistrale in Ingegneria Informatica al Politecnico di Torino ho lavorato a una Privacy Dashboard per ambienti smart home.

L’obiettivo del progetto era rendere più concreta la gestione della privacy per chi usa dispositivi IoT in casa. Una smart home può includere telecamere, sensori, luci, allarmi e molti altri dispositivi che raccolgono dati personali su abitudini, presenza, preferenze e routine quotidiane.

Il progetto è stato inquadrato nel contesto del GDPR. Nella dashboard, il Data Subject è la persona che possiede o utilizza la smart home e vuole gestire la propria privacy. Il Data Controller è responsabile di un’applicazione che tratta dati personali, mentre il DPO può supportare la conformità al GDPR. La piattaforma collega questi ruoli in un unico punto, permettendo di gestire consensi, documenti privacy, richieste sui diritti e comunicazioni legate alla privacy.

In questo contesto, un’applicazione è un software installato nella smart home dell’utente che può processare dati personali. Ad esempio, un camera manager può richiedere il consenso per registrare video all’interno dell’abitazione.

Il mio lavoro si è concentrato sul rendere la dashboard utilizzabile in uno scenario smart home reale. Ho integrato la piattaforma con Smartotum, un sistema di home automation orientato alla privacy. Questo ha permesso alla dashboard di recuperare case, stanze, applicazioni installate, dispositivi e regole privacy dall’ambiente smart home.

Una delle funzionalità principali che ho implementato riguarda il collegamento tra consenso dell’utente, flussi GDPR e comportamento dei dispositivi. Ad esempio, se un utente revoca il consenso alla registrazione video da parte dell’applicazione camera manager, la dashboard può creare la regola necessaria per disabilitare la registrazione sulle telecamere collegate. Se il consenso viene dato di nuovo, la regola viene rimossa. In questo modo la gestione del consenso non rimane solo un’azione di interfaccia o un record legale, ma può influenzare il comportamento reale della smart home.

Ho lavorato anche sull’architettura frontend in React, progettando la struttura di stato condiviso usata per mantenere coerenti autenticazione, case selezionate, applicazioni, consensi e ruoli utente tra le diverse pagine. L’interfaccia doveva supportare tipologie di utenti diverse, come data subject, data controller e DPO, ognuna con permessi e azioni differenti.

Un’altra parte del mio lavoro è stata una proof of concept per l’integrazione con un marketplace. L’idea era permettere a un marketplace esterno di registrare applicazioni nella Privacy Dashboard, assegnarle a un data controller e lasciare alla dashboard la gestione delle informazioni privacy collegate.

Ho progettato anche il workflow CI/CD usato per buildare, testare, pubblicare e distribuire l’applicazione. La pipeline era organizzata in quattro fasi principali: build dell’immagine Docker, esecuzione dei test automatici, pubblicazione dell’immagine validata e deploy nell’ambiente demo.

Il deploy demo era basato su una piccola infrastruttura completa. Ho usato Proxmox per gestire una macchina virtuale Linux dedicata al progetto, isolando la Privacy Dashboard dal sistema host. All’interno della VM, lo stack applicativo era gestito con Docker: dashboard e PostgreSQL giravano in container separati, collegati da una rete interna e con dati persistenti mantenuti fuori dal container applicativo. Nginx esponeva il servizio tramite un endpoint HTTPS pubblico.

Un GitLab Runner eseguiva i job della pipeline sull’infrastruttura, collegando codice sorgente, validazione automatica, pubblicazione dell’immagine e deploy. Ho lavorato anche su test end-to-end per i flussi più importanti, inclusi cambi di consenso e relative regole smart home.

Questa tesi mi ha permesso di consolidare competenze full-stack in un sistema reale, dove requisiti di privacy, esperienza utente, logica backend, deploy e comportamento dei dispositivi dovevano funzionare insieme.

Il progetto mi ha portato a progettare software che collega parti diverse di un sistema, non solo funzionalità isolate. Ho lavorato su stato condiviso in React, interfacce basate sui ruoli, integrazione con un servizio esterno tramite autenticazione e sincronizzazione, e coerenza dei dati tra database locale e sistema smart home.

Essendo parte di un progetto più ampio, mi ha aiutato anche a migliorare il lavoro in team: discutere requisiti, allineare interfacce, documentare decisioni e rendere le mie modifiche semplici da integrare con il resto del sistema.

Nel complesso, il progetto mostra la mia capacità di lavorare lungo tutto lo stack: comprendere requisiti, implementare logica frontend e backend, validare il comportamento con test e distribuire il risultato su un’infrastruttura reale.

Repo: https://git-softeng.polito.it/d023270/privacy-dashboard/-/tree/frontend • Live: https://privacydashboard.albertohugonin.it • Tesi: /media/projects/privacy-dashboard/PrivacyDashboard_AlbertoHugonin.pdf