Come valutare se un software è rispettoso della privacy
Il software che usi è rispettoso della privacy? Prima d’iniziare a raccontare la mia esperienza sul mio esperimento personale circa l’abbandono di GAFAM e proporre alternative di software più rispettose della privacy, vorrei elencare le linee guida con le quali è possibile valutare se un software o una applicazione informatica sono rispettosi della privacy per ciò che riguarda la sicurezza strumentale con cui possiamo difendere i nostri dati. Ci sono 4 linee guida principali:
- Disponibilità del codice sorgente
- Sicurezza minima predefinita
- Architettura del software
- Modello di finanziamento
Disponibilità del codice sorgente
La disponibilità del codice sorgente è una questione essenziale per determinare la sicurezza dei software. Infatti l’unico modo possibile di sapere se quello che fa una certa applicazione informatica è veramente ciò che viene dichiarato dai suoi creatori è esaminare il suo codice sorgente. Se il codice sorgente non è disponibile (caso della stragrande maggioranza del software proprietario) l’utente non ha nessun modo di sapere quello che sta facendo l’applicazione a cui sta affidando i propri dati personali.
Per esempio: molte applicazioni come WhatsApp o Facebook cercano di tranquillizzare i propri utenti garantendo che i loro dati personali vengono irreversibilmente cancellati dai propri servers quando essi decidono di cancellare la propria iscrizione, però, senza analizzare il codice sorgente non è possibile avere la certezza che questo avvenga realmente o se i dati personali vengano semplicemente nascosti. Per fortuna, esiste da sempre un movimento di persone, organizzazioni ed aziende che sviluppano software open source, ovvero rendendone pubblico il codice sorgente. Oggigiorno la maggior parte dei software proprietari hanno un’alternativa open source o software libero. Anche se non sei in grado di leggere il codice sorgente, stai tranquillo perché nel mondo c’è sicuramente chi lo fa e, in caso di frode, denuncerà la cosa.
Sicurezza minima predefinita
La sicurezza minima predefinita include tutte le misure di sicurezza presenti nel software o nell’applicazione e attivate di default. Per “sicurezza” intendo tutte quelle misure tecniche che hanno come obbiettivo difendere l’accesso, il trasferimento e la conservazione dei dati di un utente. La sicurezza che dovremmo prendere in considerazione per valutare il software sarà sempre la sicurezza minima preimpostata. Con ciò voglio dire che è quasi inutile che un software abbia l’opzione di impostare livelli di sicurezza molto elevati se questi non sono abilitati di default, perché la maggior parte degli utenti utilizzerà la configurazione con cui il software è preimpostato.
La miglior prassi da seguire potrebbe essere farci sempre una serie di domande prima di usare il software: che dati personali dovrò rivelare al software per poterlo usare? (per esempio: nome, cognome, numero di telefono, indirizzo di posta elettronica, ubicazione, etc.) Chi avrà accesso a questi dati? Come e per quanto tempo saranno conservati questi dati? Di quali permessi speciali avrà bisogno il software per girare nel mio computer desktop/laptop o smartphone? Se il software serve per comunicare con altre persone, chi potrà accedere alle mie conversazioni? Per quanto tempo? Possono essere intercettate? Si utilizzano metodi crittografici per proteggere i miei dati personali, le mie conversazioni o altre attività sensibili che si effettuano con il software salvando queste informazioni su un dispositivo o trasferendole tra dispositivi differenti? Cercar di rispondere domande come queste ci darà una idea di qual è la sicurezza minima predefinita del software che vogliamo usare.
Architettura del software
La architettura del software invece definisce la struttura, il funzionamento e l’interazione tra le sue diverse parti. Per esempio un software di comunicazione può essere sviluppato con un’architettura client-server centralizzata, un’architettura federata o un’architettura peer-to-peer. Una architettura centralizzata con clients che interagiscono tra loro attraverso di un unico server, dà al fornitore del servizio (cioè il proprietario del server) un potere spropositato. Questo potere può essere usato per monitorare la nostra attività (per esempio la nostra attività di comunicazione con terzi) ma eventualmente perfino per bloccarla in maniera arbitraria e unilaterale. In compenso, anche se una architettura decentralizzata di per se non risolve il problema (per esempio molti utenti accedono attraverso pochi nodi) tende comunque a distribuire il potere in maniera più orizzontale.
Modello di finanziamento
Il modello di finanziamento della società o dell’organizzazione che fornisce un determinato software è un altro elemento molto importante da considerare quando valutiamo un programma o un’applicazione informatica. Viviamo nell’era dell’estrattivismo dei dati e se esistono aziende come Google che ci “regalano” i loro prodotti e servizi è solo in cambio degli enormi profitti che possono fare grazie ai nostri dati. In cambio, anche se di per se non è una garanzia, se una certa organizzazione vive tramite la vendita di un certo prodotto/servizio o tramite l’aiuto finanziario volontario dei propri utenti, è probabile che non abbia come primo obbiettivo quello di generare profitto attraverso lo sfruttamento dei nostri dati.
Mediante queste 4 linee guida è possibile farci una idea di quanto un certo software o servizio informatico è rispettoso della nostra privacy. Nei prossimi articoli cercherò di prendere in rassegna diversi software di differenti categorie e proporre software alternativi più rispettosi della privacy rispetto quelli offerti da GAFAM.