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
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 suo Cargo.toml non 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: