
Seal v0.2.3
Chat peer-to-peer crittografata end-to-end. Niente casella di posta. Nessun account da recuperare. Nessuno ascolta — nemmeno noi.
Seal
Chat peer-to-peer, cifrata end-to-end.
Niente inbox. Nessun account da recuperare. Nessuno ascolta — nemmeno noi.
I messaggi viaggiano direttamente tra i peer tramite libp2p e vengono cifrati con i protocolli Olm/Megolm in stile Signal (via vodozemac) prima ancora di lasciare il tuo dispositivo. L'unico server coinvolto è una piccola directory che aiuta i peer a trovare l'indirizzo attuale degli altri. Non vede mai il contenuto dei messaggi e può essere eliminata con un solo comando.
Consulta docs/THREAT_MODEL.md e docs/SECURITY.md per sapere cosa è realmente protetto e come.
Contenuti
- Schermate
- Funzionalità
- Come funziona
- Struttura del progetto
- 1. Prerequisiti
- 2. Compilazione
- 3. Esecuzione in modalità di sviluppo
- 4. Test
- 5. Configurazione del backend (directory server)
- 6. Utilizzo dell'app
Schermate
Prima esecuzione — scegli un nome; non c'è altro da configurare.
Conversazioni — la barra dei gruppi, l'elenco dei contatti e un pannello di chat cifrata end-to-end.
Impostazioni — sensibilità del microfono, push-to-talk, avvio al login, raggiungibilità di rete.
Funzionalità
- Cifratura end-to-end, sempre — ogni messaggio viene sigillato con Olm (1:1) o Megolm (gruppi) prima ancora di lasciare il tuo dispositivo, usando lo schema in stile Double Ratchet di vodozemac: ogni messaggio ha la propria chiave.
- Niente inbox, mai — i messaggi viaggiano su una connessione peer-to-peer diretta (libp2p: QUIC/TCP + Noise, con relay e hole-punching per i NAT). Se il destinatario è offline, il messaggio resta in attesa in locale e riprova: non viene mai accodato sull'infrastruttura di altri.
- Una directory, non un database — l'unico server coinvolto (
crates/directory-server) associa un ID utente a un indirizzo di rete corrente e nient'altro. È strutturalmente incapace di leggere il contenuto dei messaggi: il suoCargo.tomlnon dipende nemmeno dai crate che saprebbero come farlo. - Più account, un solo dispositivo — identità completamente separate (chiavi, contatti, messaggi) tra cui puoi passare senza riavviare.
- Gruppi con modifiche reali dei membri — canali di testo e voce per gruppo; rimuovere qualcuno ruota la chiave del gruppo così non può leggere nulla inviato in seguito.
- Voce integrata — push-to-talk con una scorciatoia di sistema (funziona da qualsiasi app, non solo da Seal), sensibilità del microfono regolabile e un voice changer opzionale.
- Allegati senza metadati — i dati EXIF (posizione GPS, informazioni su fotocamera/dispositivo) vengono rimossi dalle immagini prima dell'invio, attivo per impostazione predefinita.
- Un vero pulsante di emergenza — Impostazioni → Dati e privacy elimina istantaneamente e irreversibilmente ogni chiave, contatto e messaggio su questo dispositivo, senza alcun effetto su chiunque tu abbia contattato.
- Avvio al login, se lo desideri — attivo per impostazione predefinita, a un interruttore di distanza nelle Impostazioni.
- Un'unica codebase, tre piattaforme — finestre native su macOS, Windows e Linux, tramite Tauri.
Come funziona
In questa app esistono due tipi di identità, e sono tenuti volutamente separati: