Torna al blog

ReMemory: come distribuire i tuoi segreti digitali tra le persone di cui ti fidi

Hai un file che non puoi permetterti di perdere (un testamento digitale, un seed crypto, credenziali di emergenza) ma non vuoi affidarlo a una sola persona, né a un servizio cloud. Vuoi che serva la collaborazione di più persone fidate per sbloccarlo.

ReMemory fa esattamente questo. E la parte migliore? Chi recupera i tuoi segreti non ha bisogno di installare nulla. Gli basta un browser.

Il problema dei segreti digitali

Ogni soluzione classica ha un tallone d'Achille:

  • Password manager → perdi la master password, perdi tutto
  • Chiavetta USB in cassaforte → chi la trova ha accesso completo
  • Servizio cloud → ti fidi di un'azienda terza, oggi e tra 20 anni

Il difetto è sempre lo stesso: basta che una sola cosa vada storta (una password dimenticata, una chiavetta persa, un servizio che chiude) e hai perso tutto. ReMemory risolve questo problema: invece di affidare il segreto a un unico posto, lo divide tra più persone.

L'idea: dividere il segreto

ReMemory usa un algoritmo crittografico chiamato Shamir's Secret Sharing (1979). Il concetto è semplice: prendi una chiave segreta e la spezzi in, ad esempio, 5 frammenti. Poi decidi una soglia: servono almeno 3 frammenti su 5 per ricostruirla.

La proprietà fondamentale: con meno frammenti della soglia, i file sono completamente inaccessibili. Non "difficili" da aprire, proprio impossibili. Chi ha 2 frammenti su 3 ha la stessa possibilità di decifrare i file di chi non ne ha nessuno: zero. Non è un'opinione, è una garanzia matematica. Lo stesso approccio è usato in produzione da HashiCorp Vault per proteggere segreti aziendali.

Come cifrare i tuoi file

Puoi usare la web UI (niente da installare) oppure il CLI.

Via browser

  1. Vai su eljojo.github.io/rememory/maker.html
  2. Seleziona i file da proteggere
  3. Scegli quanti amici coinvolgere (es. 5) e quanti ne servono per il recupero (es. 3)
  4. Inserisci nome e contatti di ogni amico
  5. Scarica i bundle ZIP, uno per ogni amico

Tutto avviene nel browser, nessun file viene inviato a nessun server.

Via CLI

go install github.com/eljojo/rememory/cmd/rememory@latest

Dietro le quinte, ReMemory genera una passphrase casuale da 256 bit, cifra i file con age (cifratura moderna, robusta), e divide la passphrase in frammenti con Shamir.

Cosa riceve ogni amico

Un file ZIP con dentro:

  • README.pdf: Istruzioni stampabili con il suo frammento e i contatti degli altri
  • MANIFEST.age: I file cifrati (uguale per tutti)
  • recover.html: Lo strumento di recupero, autocontenuto (~1.8 MB)

Il PDF stampabile è un dettaglio geniale: il tuo amico può metterlo in un cassetto. Niente app, niente account.

Come recuperare i file

Questa è la parte più elegante. Quando serve recuperare i segreti:

  1. Un amico apre il suo recover.html in un browser qualsiasi, il suo frammento è già pre-caricato
  2. Contatta gli altri amici e si fa inviare i loro frammenti (una stringa di testo)
  3. Li incolla nella pagina
  4. Raggiunta la soglia, i file vengono decifrati automaticamente e diventano scaricabili

Il tutto funziona completamente offline. Il file recover.html contiene tutto il necessario: la crittografia age compilata in WebAssembly, l'algoritmo di Shamir, l'interfaccia. Zero dipendenze esterne, zero connessione internet.

"Recovery works in any browser, fully offline, without ReMemory or the internet."

Questo è il punto chiave del design: stai proteggendo segreti che potrebbero dover essere recuperati tra 10 o 20 anni. Nessun SaaS ti garantisce di esistere tra 20 anni. Un file HTML in un browser? Quello funzionerà sempre.

A chi serve?

  • Digital estate planning: i tuoi cari possono accedere ai tuoi account se ti succede qualcosa
  • Seed crypto: dividi la chiave del wallet tra familiari
  • Credenziali aziendali: il CTO è irreperibile, ma 3 colleghi su 5 possono sbloccare l'accesso di emergenza
  • Giornalismo e whistleblowing: distribuisci le chiavi con soglia di sicurezza

Perché mi ha colpito

Shamir's Secret Sharing esiste dal 1979, le implementazioni non mancano. Quello che rende ReMemory diverso è la cura per l'utente non tecnico: il PDF stampabile, il recupero offline via browser, nessun software da installare. Chi riceve il bundle potrebbe essere tuo padre o un collega non-dev, e funziona lo stesso.

Un progetto che risolve un problema reale in modo elegante, senza sovra-ingegnerizzare.


Link: github.com/eljojo/rememory. Licenza Apache 2.0, scritto in Go + TypeScript + WebAssembly