
Seal v0.2.3
Chat peer-to-peer com criptografia de ponta a ponta. Sem caixa de entrada. Sem conta para recuperar. Ninguém está ouvindo — nem mesmo nós.
Seal
Chat peer-to-peer com criptografia de ponta a ponta.
Sem caixa de entrada. Sem conta para recuperar. Ninguém está ouvindo — nem nós.
As mensagens viajam diretamente entre pares pela libp2p e são criptografadas com os protocolos Olm/Megolm no estilo Signal (via vodozemac) antes de saírem do seu dispositivo. O único servidor envolvido é um pequeno diretório que ajuda os pares a encontrarem o endereço atual uns dos outros. Ele nunca vê o conteúdo das mensagens e pode ser apagado com um único comando.
Consulte docs/THREAT_MODEL.md e
docs/SECURITY.md para saber o que é realmente protegido
e como.
Conteúdo
- Capturas de tela
- Recursos
- Como funciona
- Estrutura do projeto
- 1. Pré-requisitos
- 2. Compilação
- 3. Executando em modo de desenvolvimento
- 4. Testes
- 5. Configuração do backend (servidor de diretório)
- 6. Usando o aplicativo
Capturas de tela
Primeira execução — escolha um nome; nada mais para configurar.
Conversas — a barra de grupos, a lista de contatos e um painel de chat com criptografia de ponta a ponta.
Configurações — sensibilidade do microfone, push-to-talk, iniciar no login, alcance de rede.
Recursos
- Criptografia de ponta a ponta, sempre — toda mensagem é lacrada com Olm (1:1) ou Megolm (grupos) antes de sair do seu dispositivo, usando o esquema estilo Double Ratchet do vodozemac: cada mensagem tem sua própria chave.
- Sem caixa de entrada, nunca — as mensagens viajam por uma conexão direta ponto a ponto (libp2p: QUIC/TCP + Noise, com relay e hole punching para NATs). Se o destinatário estiver offline, a mensagem aguarda localmente e tenta novamente — ela nunca é enfileirada na infraestrutura de terceiros.
- Um diretório, não um banco de dados — o único servidor envolvido
(
crates/directory-server) mapeia um ID de usuário para um endereço de rede atual e nada mais. Ele é estruturalmente incapaz de ler o conteúdo das mensagens: seuCargo.tomlnem sequer depende das crates que saberiam como fazer. - Várias contas, um dispositivo — identidades totalmente separadas (chaves, contatos, mensagens) entre as quais você pode alternar sem reiniciar.
- Grupos com mudanças reais de membros — canais de texto e voz por grupo; remover alguém rotaciona a chave do grupo para que essa pessoa não consiga ler nada enviado depois.
- Voz, integrada — push-to-talk com um atalho global do sistema (funciona em qualquer aplicativo, não apenas no Seal), sensibilidade de microfone ajustável e um alterador de voz opcional.
- Anexos sem os metadados — os dados EXIF (localização GPS, informações de câmera/dispositivo) são removidos das imagens antes de serem enviados, ativado por padrão.
- Um botão de pânico de verdade — Configurações → Dados e Privacidade exclui instantânea e irreversivelmente todas as chaves, contatos e mensagens deste dispositivo, com zero efeito sobre qualquer pessoa com quem você conversou.
- Iniciar no login, se você quiser — ativado por padrão, a um interruptor de distância nas Configurações.
- Uma base de código, três plataformas — janelas nativas em macOS, Windows e Linux, via Tauri.
Como funciona
Há dois tipos de identidade neste aplicativo, e eles são mantidos deliberadamente separados: