Repolode
giovantenne

giovantenne/lastsignal

Um dead man's switch self-hosted e baseado em e-mail que entrega mensagens com criptografia ponta a ponta a pessoas queridas caso você pare de confirmar que está bem.

Estrelas
756
Forks
28
Issues abertas
6
Último commit
há 23 horas

O que é?

LastSignal é um dead man's switch self-hosted. Você escreve mensagens criptografadas para as pessoas que são importantes para você, e o sistema envia e-mails periódicos para confirmar que está tudo bem. Se você não responder, ele envia lembretes em intervalos definidos, pode avisar um contato de confiança e, por fim, entrega as mensagens por e-mail aos destinatários.

As mensagens são criptografadas de ponta a ponta com uma chave derivada de uma passphrase (Argon2id, XChaCha20-Poly1305, X25519), então o servidor não tem acesso ao texto puro. O projeto é feito com Ruby on Rails 8 e SQLite, e pode ser implantado com Kamal ou docker-compose. Cada usuário pode configurar opções de tempo, como o intervalo entre confirmações, a quantidade de lembretes e a pausa para avisar um contato de confiança; também é possível definir um atraso específico por destinatário para postergar o momento em que ele poderá descriptografar a mensagem.

O projeto documenta uma concessão conhecida: como o salt de KDF gerado pelo servidor fica armazenado junto às chaves públicas dos destinatários, um invasor com acesso ao banco de dados pode tentar um ataque de força bruta offline contra passphrases fracas. Por isso, é necessário usar passphrases fortes.

Recursos principais

  • 01Confirmações periódicas por e-mail acionam lembretes e, se não houver resposta, a entrega das mensagens.
  • 02As mensagens são criptografadas de ponta a ponta, então o servidor nunca tem acesso ao texto puro.
  • 03Opção de avisar um contato de confiança antes da entrega.
  • 04Atraso individual por destinatário antes da descriptografia.
  • 05Configuração de tempos, quantidade de lembretes e intervalos por usuário.
  • 06Pode ser implantado com Kamal ou docker-compose, com webhook opcional para manter o serviço ativo.

Casos de uso

  • Enviar instruções finais ou senhas à família caso você não consiga mais responder.
  • Programar mensagens com atraso para que os destinatários as leiam em uma data futura.
  • Executar um dead man's switch privado no seu próprio servidor, em vez de usar um serviço hospedado.

Início rápido

  1. 1

    Clone o repositório

    git clone https://github.com/giovantenne/lastsignal.git
  2. 2

    Acesse a pasta do projeto e instale as gems do Ruby

    cd lastsignal && bundle install
  3. 3

    Copie o modelo .env.example para .env e execute setup

    bin/setup
  4. 4

    Inicie o ambiente de desenvolvimento local e abra http://localhost:3000

    bin/dev

Antes de usar

  • Os autores não oferecem um serviço hospedado, então você precisa executar e manter seu próprio servidor.
  • Para garantir uma entrega confiável, você precisa de um provedor SMTP próprio e configurar corretamente os registros SPF, DKIM e DMARC.
  • O salt KDF gerado pelo servidor permite que um invasor que obtenha o banco de dados tente adivinhar offline, por força bruta, as frases-senha dos destinatários. Portanto, elas precisam ser muito fortes.

Tópicos

Perguntas frequentes

O que é lastsignal?
Um dead man's switch self-hosted e baseado em e-mail que entrega mensagens com criptografia ponta a ponta a pessoas queridas caso você pare de confirmar que está bem. LastSignal é um dead man's switch self-hosted. Você escreve mensagens criptografadas para as pessoas que são importantes para você, e o sistema envia e-mails periódicos para confirmar que está tudo bem. Se você não responder, ele envia lembretes em intervalos definidos, pode avisar um contato de confiança e, por fim, entrega as mensagens por e-mail aos destinatários.
lastsignal é gratuito? Qual é a licença?
lastsignal é open source sob a licença MIT. Confira os termos da licença antes de usá-lo em produtos comerciais.
lastsignal ainda é mantido?
Manutenção ativa. O último commit de lastsignal foi em 19 de out. de 2026.
Para que posso usar lastsignal?
Enviar instruções finais ou senhas à família caso você não consiga mais responder. Programar mensagens com atraso para que os destinatários as leiam em uma data futura. Executar um dead man's switch privado no seu próprio servidor, em vez de usar um serviço hospedado.
Como instalar lastsignal?
Clone o repositório: git clone https://github.com/giovantenne/lastsignal.git Acesse a pasta do projeto e instale as gems do Ruby: cd lastsignal && bundle install Copie o modelo .env.example para .env e execute setup: bin/setup Inicie o ambiente de desenvolvimento local e abra http://localhost:3000: bin/dev
Onde consigo lastsignal?
O código-fonte e as instruções de instalação estão no GitHub: https://github.com/giovantenne/lastsignal

Resumo gerado por IA a partir do README do projeto. As estatísticas do GitHub são atualizadas diariamente.

Projetos relacionados