Lemmy

Nel nostro Digital Notepad sono già presenti alcuni contributi su sistemi federati.

Recentemente abbiamo pubblicato un contributo ad hoc sul fediverso dal titolo “Il «fediverso»: un universo federato nella rete Internet”.

Inoltre, abbiamo già descritto Matrix nell’articolo dal titolo “Matrix: il protocollo per la comunicazione sicura che rispetta la privacy”, XMPP in quello dal titolo “XMPP: il protocollo per la comunicazione sicura che rispetta la privacy”, e Mastodon nell’articolo dal titolo “Il «fediverso». Mastodon: social network open-source”.

Oggi presentiamo Lemmy.

Cos’è Lemmy?

La risposta la troviamo sulla pagina ufficiale, ove leggiamo

Lemmy is a selfhosted social link aggregation and discussion platform. It is completely free and open, and not controlled by any company. This means that there is no advertising, tracking, or secret algorithms. Content is organized into communities, so it is easy to subscribe to topics that you are interested in, and ignore others. Voting is used to bring the most interesting items to the top. (Lemmy è una piattaforma di aggregazione e discussione di link sociali autogestita. È completamente libera e aperta e non è controllata da alcuna azienda. Ciò significa che non ci sono pubblicità, tracciamenti o algoritmi segreti. I contenuti sono organizzati in comunità, per cui è facile iscriversi agli argomenti che interessano e ignorare gli altri. Le votazioni vengono utilizzate per portare in cima gli articoli più interessanti.)

Lemmy è stato scritto da @dessalines@lemmy.ml e @nutomic@lemmy.ml con il linguaggio di programmazione Rust, usando il framework web per Rust ACTIX e ovviamente il protocollo ActivityPub.

Il progetto è disponibile su GitHub - LemmyNet e si articola nelle seguenti componenti:

  • lemmy” che riguarda la costruzione di un aggregatore di link federato in rust;
  • lemmy-ui” che è la web app ufficiale per lemmy;
  • lemmy-js-client” che è un client http e websocket in javascript;
  • lemmy-ansible” che è la soluzione per il deploy del docker per ansible;
  • lemmy-docs” che è la parte documentale;
  • lemmy-translations” che è lo store per le traduzioni di lemmy nel formato i18n json.

Per essere presenti su Lemmy, è possibile registrarsi scegliendo un’istanza (un server) già esistente, oppure crearla sul proprio server in modalità self-hosting.

«Privacy Community»: la nostra istanza Lemmy

Abbiamo deciso di installare Lemmy sul nostro server (modalità self-hosted) creando l’istanza che si chiama NicFab Community, raggiungibile a questo URL https://community.nicfab.it.

Le istruzioni per l’installazione sono presenti nella documentazione ufficiale di Lemmy.

Abbiamo scelto di procedere con l’installazione mediante Ansible, così come suggertito.

L’installazione mediante Ansible si articola in due fasi:

  1. configurazione del sistema in locale e cioè su un PC o Mac dal quale si lancia il comando per l’installazione dei componenti sul server;
  2. l’applicativo accede al server via SSH (così come configurato) e procede all’installazione dei componenti automaticamente.

Indubbiamente, l’installazione mediante Ansible risulta molto comoda.

Al termine dell’installazione viene creata la community principale di default (main).

Abbiamo deciso di attribuire il nome “Meta” alla community principale (al momento priva di contenuti perché la consideriamo di sistema).

Quindi, abbiamo creato la “Privacy Community” che è sostanzialmente uno spazio comune per progetti e utenti interessati alla privacy, alla protezione dei dati, alla cybersecurity e alle soluzioni più innovative.

Privacy Community” è fondamentalmente un globale canale di informazione worldwide dove pubblichiamo link alle risorse presenti in rete afferenti ai temi della community (e quindi privacy, protezione dei dati, cybersecurity e soluzioni più innovative).

È disponibile un feed RSS mediante il quale si può restare aggiornati sui contenuti non appena pubblicati.

Chiunque può registrarsi e quindi scrivere post, commentare e interagire con altre community già esistenti.

Come iniziare: registrarsi alla community

Una volta raggiunta la pagina https://community.nicfab.it in alto a destra l’utente che intende registrarsi dovrà cliccare su “Sign Up”, come evidenziamo nell’immagine che segue


signup1


Quindi l’utente dovrà compilare i campi come da immagine che segue



L’utente, quindi, dovrà indicare:

  • uno username;
  • un indirizzo email;
  • una password, da confermare nel box successivo; e poi
  • qualche brevissima informazione in modo che la piattaforma verifichi che non si tratti di bot (per evitare richieste indiscriminate).

In ultimo, l’utente deve scegliere se spuntare o non la casella con la scritta “Show NSFW content”. L’acronimo NSFW sta per “not safe for work”, ossia contenuti inappropriati. Pertanto, l’utente, dovrà scegliere se spuntare la casella per abilitare il proprio profilo a visualizzare contenuti inappropriati che fossero eventualmente pubblicati.

Una volta che l’utente avrà compilato i campi e cliccato sul pulsante Sign Up che si trova alla fine in basso a sinistra, la piattaforma invierà allo stesso utente una email con un link che dovrà essere cliccato a conferma della sua intenzione di registrarsi.

Dopo aver cliccato sul link contenuto nella email, l’amministratore dell’istanza di Lemmy provvederà ad approvare la richiesta o a rigettarla.

Come interagire: scrivere post e commentare

L’utente, una volta registrato, è abilitato a creare post e/o commentare i post esistenti e dovrà farlo tenendo ben presente il codice di condotta che abbiamo indicato nel box a destra.

Ciascun utente è responsabile di ogni attività lo stesso compia sulla piattaforma, inclusi i post o commenti ai post che decide di pubblicare.

In conclusione, Lemmy è una bella risorsa.

Kudos agli sviluppatori.

Le nostre considerazioni sulla privacy

Dopo una breve analisi relativa al progetto Lemmy e al possibile impatto sui dati personali degli utenti, siamo pervenuti alla conclusione che non deriva alcun conflitto con la normativa vigente per lo Spazio Economico Europeo (SEE) in materia di protezione dei dati personali. La nostra analisi è focalizzata sulla legislazione in materia di protezione delle persone fisiche con riguardo al trattamento dei dati personali vigente in Europa (Regolamento UE 2016/679 - GDPR) e, in particolare, in Italia (D.Lgs. 196/2003, così come modificato dal D.Lgs. 101/2018 - codice privacy).

Le nostre valutazioni hanno preso in considerazione ogni processo, dalla creazione dell’account alle attività di ciascun utente sulla piattaforma.

Procediamo per gradi.

L’informativa ex art. 13 GDPR

Va subito precisato che l’amministratore di un’istanza di Lemmy è tenuto, nella qualità di titolare del trattamento, a fornire all’interessato l’informativa ex art. 13 del GDPR.

Tuttavia, riteniamo utile effettuare un’analisi completa, in modo da avere un quadro chiaro.

Titolare del trattamento

Il titolare del trattamento è certamente l’amministratore del server (dell’istanza di Lemmy).

Quali dati si raccolgono

Riguardo a questo punto, bisogna distinguere due fasi.

a) Registrazione sulla community: username, password e email;

b) Accesso alla community e attività compiute dagli utenti: indirizzo IP, oltre a username, password e email.

a) Registrazione sulla community

Il processo di creazione dell’account può essere schematizzato in tre fasi.

  1. Primo step - Quando un utente crea il proprio account deve scegliere un nickname e indicare un indirizzo email. Questi sono gli unici dati forniti volontariamente dallo stesso utente. Il nickname scelto dall’utente non dovrebbe essere il nome e cognome dello stesso, ma un nome abbreviato, un soprannome o uno pseudonimo. In questo caso, non sarà possibile associare lo username alla identità dell’utente che risulterebbe, pertanto, non identificato e neppure identificabile. Potrebbe capitare, però, che l’utente, al momento della registrazione, utilizzi uno username già ampiamente noto sulla rete, tanto da renderlo identificabile. Stesso ragionamento vale anche per l’indirizzo email, qualora l’utente ne utilizzi uno c.d. “non parlante” e cioè che non consente l’identificazione di quella persona. In ogni caso, lo username e l’indirizzo email, singolarmente o congiuntamente, costituiscono dati personali. Completata la procedura di registrazione, il sistema invia una email all’utente che ha chieso la registrazione, con invito a confermare la richiesta cliccando su un link.

  2. Secondo step - Eseguite le procedure descritte al punto precedente, l’utente resta in attesa della convalida della richiesta di registrazione da parte dell’amministratore dell’istanza (cioè del server).

  3. Terzo step - Il sistema, mediante l’interfaccia web della piattaforma, notifica all’amministratore dell’istanza di Lemmy che è stata effettuata una richiesta di registrazione e presenta unicamente lo username e non anche l’indirizzo email. L’amministratore può approvare o non approvare la richiesta di registrazione. Se la richiesta dell’utente viene approvata dall’amministratore, i dati dell’utente (username e email) vengono registrati nel database sul server.

I dati relativi agli utenti (username, password e email) sono registrati nel database e specificamente le password sono “hashed” (cioè trasformate in stringhe alfanumeriche mediante la funzione di hash).

Accesso alla community e attività compiute dagli utenti

Completato il processo di creazione dell’account, l’utente può accedere (Login) alla community mediante il browser e quindi è acquisito l’indirizzo IP.

Ciascun utente è responsabile dei contenuti che intende pubblicare sulla community di Lemmy.

In questa fase, i dati personali degli utenti che vengono raccolti sono lo username, la password, l’indirizzo email e l’indirizzo IP.

Chi può accedere ai dati e per quali attività

L’amministratore del server (istanza) è l’unico che può leggere i dati delle attività compiute sulla community registrati sul server e, precisamente, nel database o nei file di log (username, email, indirizzo IP, indirizzo web della community, tipo di attività - tecnicamente GET o POST).

L’unico motivo per il quale l’amministratore accede ai dati personali degli utenti è per ragioni di natura strettamente tecnica (analisi del sistema, aggiornamento dei pacchetti degli applicativi, esigenze di manutenzione).

È bene precisare che l’accesso ai dati personali degli utenti, sia nel database sia nei log, è attività specifica che normalmente non viene eseguita, se non per risolvere conflitti o errori specifici.

Le finalità del trattamento

Le finalità sono quelle relative alla manutenzione del server e agli interventi di aggiornamento del sistema e degli applicativi.

Gli unici cookie presenti sono quelli funzionali e, quindi, nessuna attività di profilazione o tracking.

Trasferimento dei dati in paesi extra UE

Il titolare del trattamento - e cioè l’amministratore dell’istanza di Lemmy - non effettua trasferimento di dati al di fuori dello Spazio Economico Europeo (SEE), qualora il server ove è installato Lemmy si trovi all’interno dello stesso SEE.

Riteniamo opportuno chiarire meglio questo aspetto.

Gli utenti registrati su un’istanza sono sempre unicamente responsabili delle attività che svolgono, sia creando community, sia pubblicando post o commenti.

Non c’è alcun trasferimento al di fuori dello SEE quando gli utenti, registrati su un’istanza che si trova all’interno dello stesso SEE, eseguono attività sul medesimo server (istanza). Per esempio, la nostra istanza (https://community.nicfab.it) si trova in Italia, e quindi all’interno dello SEE. Se gli utenti registrati sulla nostra istanza eseguono attività sul nostro server non sussiste alcun trasferimento di dati al di fuori dello SEE. Allo stesso modo, non si effettua alcun trasferimento di dati al di fuori dello SEE anche se gli utenti registrati sulla nostra istanza, sottoscrivono, pubblicano post o commenti su altre istanza - ad esempio - ubicate al di fuori dello SEE. Infatti, in quest’ultimo caso gli unici dati visibili dall’amministratore della nostra istanza sono unicamente il dominio (e quindi neppure l’URL completo della community sulla quale sono eseguite attività) e il relativo indirizzo IP; nessun ulteriore dato dell’utente è trasferito al di fuori dello SEE dall’amministratore o automaticamente dalla piattaforma Lemmy. L’utente dovrà essere consapevole che il proprio username nella forma “@username@dominiodellacommunity” (ad esempio, nel nostro caso @username@community.nicfab.it) sarà visibile sulla communiti sulla quale è intervenuto (ad esempio per pubblicare post o commenti).

Non ci sarà alcun trasferimento di dati al di fuori dello SEE anche, infine, qualora l’utente intenderà creare una community sull’istanza di Lemmy esistente all’interno dello stesso SEE.

Tutto ciò in funzione del sistema proprio del fediverso e del protocollo ActivityPub utilizzato da Lemmy.

Adozione delle misure tecniche e organizzative

Resta comunque l’obbligo per ogni amministratore di adottare misure di sicurezza adeguate per il proprio server (istanza).


Stay tuned!