2026-11-12 - Lagrange 2: sincronizzazione cifrata end-to-end per lo small web
Introduzione
Il 6 novembre 2026 Jaakko Keränen, noto come skyjake, ha annunciato Lagrange 2, la nuova versione principale del suo client per il protocollo Gemini. Il progetto ha compiuto sei anni a settembre, e questa versione affronta il suo limite più concreto: finora ogni dispositivo aveva i propri segnalibri, le proprie identità e le proprie iscrizioni ai feed, e mantenerli allineati significava esportare e importare i dati a mano.
Lagrange 2 risolve il problema con la sincronizzazione dei dati utente tra dispositivi. Dal punto di vista della protezione dei dati, l’aspetto interessante non è la funzione in sé, che i browser web offrono da anni, ma il modo in cui è stata progettata: nessun account, nessuna password, nessun indirizzo email, e dati cifrati sul dispositivo prima di lasciarlo. La domanda che pone è nota: che cosa vede davvero chi gestisce il servizio?
Prima, però, una domanda che merita risposta: perché usare Gemini?
Perché Gemini: i vantaggi rispetto al web
Gemini è un protocollo internet leggero, nato nel 2019, che si colloca tra il vecchio Gopher e il web moderno. Non pretende di sostituire il web: offre un luogo diverso in cui pubblicare e leggere. La sua storia e le sue caratteristiche sono descritte in
; qui basta ricordare perché conta.
Limita per progettazione le forme più comuni di tracciamento del web. Una richiesta Gemini è una sola riga con l’indirizzo della pagina. Non ci sono intestazioni, quindi niente cookie, user agent o referrer; le pagine non possono eseguire codice nel client, e il protocollo non dà loro alcun modo di caricare da sole risorse di terzi, quindi niente pixel di tracciamento, font esterni o script di analytics. Questo non rende il lettore invisibile: un server può comunque registrare l’indirizzo IP e le pagine richieste, e riconoscere un certificato client riutilizzato. Ma gli strumenti su cui si regge gran parte del tracciamento sul web, semplicemente, non fanno parte del protocollo.
La cifratura è obbligatoria. Ogni connessione Gemini usa TLS. Non esiste una versione non cifrata a cui ripiegare.
L’identità appartiene all’utente. Quando un sito deve riconoscere un lettore, ad esempio per scrivere in un forum, il lettore presenta un certificato client creato sul proprio dispositivo. Nessun account su una piattaforma di terzi, nessuna password custodita da altri, nessun indirizzo email da consegnare, e un’identità diversa per ogni sito, se lo si desidera.
È il lettore a decidere la presentazione. Gemtext descrive solo la struttura di un testo; caratteri, colori e impaginazione li sceglie il client. Non ci sono pop-up, banner dei cookie né pubblicità, perché il formato non ha modo di esprimerli. Le pagine pesano pochi kilobyte e restano leggibili su hardware datato o in un terminale.
Gemini ha limiti reali, ed è giusto dirli con chiarezza: la comunità è piccola (a novembre 2026 il crawler Lupa contava circa 3.000 capsule raggiungibili di recente), serve un client dedicato, e il formato esclude per scelta immagini nel testo, tabelle e formattazione ricca. Non è un sostituto del web, ma un’alternativa per leggere e scrivere in uno spazio più tranquillo e rispettoso. È un buon client a rendere quello spazio utilizzabile ogni giorno, ed è qui che entra in gioco Lagrange.
Le novità di Lagrange 2
Lagrange funziona su macOS, Windows, Linux (anche in terminale), iOS, iPadOS e Android, e si può provare direttamente nel browser su
. Su iOS, l’App Store offre per ora la versione 1.21, mentre la 2.0 è disponibile tramite TestFlight.
Oltre alla sincronizzazione, la versione 2 introduce:
- una visualizzazione impaginata che si comporta come un e-reader, fino a quattro colonne sugli schermi ampi;
- una libreria per i libri Gempub, il formato di ebook basato su Gemtext, con le posizioni di lettura mantenute tra i dispositivi;
- l’iscrizione ai feed Tinylog, una forma minimale di microblogging su Gemini;
- una scheda di lettura dedicata alle voci dei feed;
- il supporto ai font di sistema e alle Emoji a colori, un’interfaccia rinnovata e un’impaginazione dei documenti più veloce;
- certificati client ECDSA ed Ed25519, con ECDSA come nuova impostazione predefinita.
Come funziona la sincronizzazione
Secondo l’annuncio della versione, il progetto si regge su quattro elementi.
La Sync Identity. Non c’è alcun account da creare. La sincronizzazione si basa su un certificato client Ed25519 autofirmato, la Sync Identity, che deve essere presente su ogni dispositivo che condivide gli stessi dati. Il server di sincronizzazione usa TLS 1.3, quindi anche il certificato viaggia cifrato.
Cifratura sul dispositivo. Dalla chiave privata della Sync Identity si ricava una chiave simmetrica, e i dati vengono cifrati localmente con AES-256-GCM prima di essere caricati. Il server riceve e conserva solo blob cifrati: non può leggerne il contenuto, né unirli o riorganizzarli. L’unione avviene su ciascun dispositivo, dopo la decifratura.
Cosa viene sincronizzato. Vengono caricati due tipi di dati cifrati: un’esportazione completa dei dati utente (segnalibri, identità, iscrizioni, impostazioni, libreria) ogni volta che qualcosa cambia, e un breve elenco delle pagine visitate negli ultimi giorni, che serve a tenere traccia delle voci dei feed già lette, caricato ogni pochi minuti. Gli altri dispositivi controllano il server a un intervallo configurabile.
Quale server. Per impostazione predefinita Lagrange usa il server pubblico gestito dal suo autore. In alternativa, il software del server, lgrsyncd, fa parte del codice sorgente di Lagrange e si può compilare e far funzionare su una propria macchina. Un server in self-hosting può essere configurato per accettare solo specifici certificati client.
Una lettura dal punto di vista della protezione dei dati
Quando una persona usa Lagrange per sincronizzare le proprie letture, il GDPR non si applica a quell’uso: rientra nell’esenzione per le attività a carattere esclusivamente personale o domestico (art. 2, par. 2, lett. c). La posizione di chi gestisce il server di sincronizzazione è un’altra questione, da valutare a parte, soprattutto per i metadati di connessione che tratta. Qui il GDPR serve ad altro: come chiave di lettura delle scelte progettuali, perché gli artt. 25 e 32 descrivono con notevole precisione ciò che Lagrange fa.
La minimizzazione comincia dall’iscrizione. Non c’è iscrizione. Nessun indirizzo email, nessun nome, nessuna password: il server conosce un certificato e alcuni blob cifrati. È questo, in concreto, la protezione dei dati fin dalla progettazione e per impostazione predefinita (art. 25): i dati che non vengono raccolti non possono essere persi, usati impropriamente o richiesti da nessuno.
La cifratura end-to-end come misura di sicurezza. Cifrare sul dispositivo con una chiave che non lascia mai i dispositivi dell’utente è il tipo di misura a cui pensa l’art. 32. Chi gestisce il server custodisce dati che non può leggere, e una violazione del server esporrebbe solo testo cifrato.
Ciò che la cifratura non nasconde. Il server vede comunque dei metadati: l’indirizzo IP di ogni connessione, l’orario di ogni sincronizzazione, la dimensione dei blob e il fatto che più dispositivi usino la stessa identità. Sono dati limitati, ma non sono nulla. Chi vuole eliminare del tutto il terzo può usare un proprio server.
Nessun recupero significa nessuna porta di servizio. Se si perde la chiave privata della Sync Identity, i dati sul server non sono più decifrabili, da nessuno. È il prezzo di una vera cifratura end-to-end e, a mio avviso, è quello giusto. Il rischio è attenuato dal fatto che ogni dispositivo conserva una copia locale completa, quindi si può creare una nuova identità e spostarvi tutti i dispositivi. La chiave, però, va trasferita tra i dispositivi con attenzione, ad esempio tramite un gestore di password o un file cifrato, mai in chiaro attraverso una comune app di messaggistica.
Limitazione della conservazione. Secondo l’annuncio, il server prima o poi elimina gli account a cui non si accede da molto tempo, così i blob cifrati inutilizzati non si accumulano all’infinito.
C’è poi una questione più teorica, che lascio aperta. Nella causa EDPS c. SRB (C-413/23 P, 4 settembre 2025), relativa alla pseudonimizzazione nel quadro del regolamento (UE) 2018/1725, la Corte di giustizia ha affermato che i dati pseudonimizzati non sono necessariamente dati personali per un destinatario che non dispone di mezzi ragionevoli per reidentificare le persone interessate. La sentenza riguarda la pseudonimizzazione, non la cifratura, e la sua trasposizione è tutt’altro che automatica. Pone però una domanda: per chi gestisce un server di sincronizzazione e non possiede mai la chiave, i blob cifrati sono ancora dati personali? La risposta conta per chiunque progetti servizi su questo modello, e merita un’analisi attenta e dedicata.
Come impostarlo, in breve
- Prima il backup. Prima di aggiornare dalla versione 1, esporta i dati utente dall’app; tornare indietro dopo l’aggiornamento è sconsigliato.
- Apri la pagina Sync delle preferenze, crea la Sync Identity e scegli il server: quello pubblico o il tuo.
- Trasferisci l’identità sugli altri dispositivi in modo sicuro, e seleziona lo stesso server su ciascuno.
- Controlla l’intervallo con cui ogni dispositivo cerca aggiornamenti.
Da quel momento, un segnalibro salvato sul telefono compare sul portatile, e una voce di un feed letta su un dispositivo risulta letta anche sugli altri.
Limiti
- Su iOS la versione 2 è ancora in TestFlight; la versione dell’App Store non include ancora la sincronizzazione.
- Con il server pubblico, i metadati di connessione restano visibili a chi lo gestisce.
- Lagrange è essenzialmente il lavoro di un solo sviluppatore: un punto di forza per la coerenza del progetto, un rischio per la continuità nel lungo periodo.
Conclusione
Lagrange 2 dimostra che la privacy by design non è un principio astratto riservato alle grandi organizzazioni con team dedicati. Permette di sincronizzare i segnalibri senza chiedere un indirizzo email né una password. Il server vede i metadati di connessione, mentre i contenuti sincronizzati sono cifrati sui dispositivi dell’utente. A mio avviso, molti prodotti commerciali che chiedono indirizzo email, numero di telefono e password per sincronizzare qualche segnalibro non hanno alcuna ragione tecnica per fare diversamente.
Per chi è curioso di Gemini, Lagrange 2 rende il protocollo comodo da usare ogni giorno, su ogni dispositivo. La mia capsula, specchio di questo blog in italiano e in inglese, è su gemini://nicfab.eu, e ogni articolo di questo sito rimanda alla sua versione Gemini.
Riferimenti e approfondimenti
Lagrange 2 - annuncio della versione, di skyjake (6 novembre 2026)
Lagrange v2.0.0 - note di rilascio
Lagrange - pagina del progetto
Lagrange - README e codice sorgente
Specifica del protocollo Gemini
GDPR - Regolamento (UE) 2016/679
Corte di giustizia, causa C-413/23 P, EDPS c. SRB
Protocollo Gemini: Un’Alternativa Human-Centric al Web Dominato dall’AI
- Lupa, statistiche su Geminispace (novembre 2026): gemini://gemini.bortzmeyer.org/software/lupa/stats.gmi
Nuovo su Gemini? Questa capsula si legge al meglio con un client Gemini, come Lagrange.