GlobaLeaks è l'applicazione open-source più diffusa per il whistleblowing e permette a chiunque di segnalare comportamenti scorretti o illeciti all'interno di un'organizzazione. Ma cosa c'è dietro questa tecnologia che promette di garantire sicurezza e anonimato? Vediamo quali sono l'architettura e i linguaggi di programmazione che lo fanno funzionare.

Partiamo dal fatto che GlobaLeaks va installato su un server Linux dedicato, perché è praticamente impossibile farlo convivere con altre applicazioni. Utilizza un'architettura molto flessibile che divide l'applicazione in moduli indipendenti, ognuno dei quali gestisce una funzione specifica, come l'autenticazione, la gestione dei report, la crittografia e la comunicazione sicura.

Il frontend è sviluppato in Angular, il framework JavaScript popolare per la costruzione di interfacce utente dinamiche e reattive. Grazie ad Angular, gli utenti possono interagire con l'app in modo fluido e intuitivo, beneficiando di un'esperienza utente ottimale .

Il backend è il cuore pulsante dell'applicazione, dove avviene tutta la business logic. GlobaLeaks utilizza Python per il suo backend, grazie alla sua capacità di gestire un elevato numero di richieste simultanee con prestazioni eccellenti. Python, con il framework Twisted, facilita l'integrazione con altre componenti e permette un flusso di lavoro più coerente.

Per la gestione dei dati, GlobaLeaks si affida a un database NoSQL, come CouchDB. La scelta di CouchDB è dovuta alla sua capacità di gestire grandi volumi di dati non strutturati e alla sua flessibilità nello schema dei dati. Questo è particolarmente utile per un'applicazione che deve adattarsi a diversi tipi di segnalazioni e informazioni .

La sicurezza è ovviamente una priorità assoluta per il whistleblowing. GlobaLeaks utilizza la crittografia end-to-end (E2EE) per garantire che le comunicazioni tra il whistleblower e i destinatari siano completamente sicure e inaccessibili a terzi. Per implementare questo tipo di crittografia, vengono sfruttate librerie come OpenSSL e tecnologie come il protocollo TLS .

Inoltre, per garantire l'anonimato degli utenti, l'app utilizza la rete Tor, che offre un ulteriore livello di protezione mascherando l'identità e la posizione degli utenti .

Anche se Python è il linguaggio di sviluppo predominante in GlobaLeaks, l'applicazione fa uso anche di altri linguaggi che vengono sfruttati per specifiche esigenze.

  • JavaScript: Utilizzato per il frontend (Angular) e per alcuni script di automazione.
  • Go: Scelto per alcuni microservizi che richiedono alte prestazioni e concorrenza, grazie alla sua efficienza e al suo modello di concorrenza basato sulle goroutine .

GlobaLeaks è un esempio eccellente di come un'applicazione ben congegnata possa combinare diverse tecnologie per creare una soluzione robusta e sicura. Grazie all'architettura modulare, all'uso di più linguaggi di programmazione avanzati e al focus sulla sicurezza e l'anonimato, GlobaLeaks riesce a offrire un servizio affidabile per il whistleblowing, proteggendo effettivamente in maniera efficace e sicura l’identità del whistleblower.


Fonti:

  1. GlobaLeaks - Introduzione Tecnica
  2. Documentazione ufficiale di Angular
  3. Twisted Network Programming Essentials
  4. CouchDB: The Definitive Guide
  5. OpenSSL Documentation
  6. Transport Layer Security (TLS)
  7. Tor Project
  8. Go Programming Language
Condividi questo post