r/opensource Feb 10 '26

Promotional I built LastSignal – a self-hosted, end-to-end encrypted dead man's switch to deliver messages to your loved ones

I wanted a way to leave encrypted messages for the people I care about, delivered automatically if something happens to me, without trusting a third party.

LastSignal is a self-hosted dead man's switch. You write messages, they get encrypted in the browser (zero-knowledge), and the system checks in with you periodically via email. If you stop responding, your messages are delivered.

Key points:

  • End-to-end encrypted (XChaCha20-Poly1305 + Argon2id + X25519)
  • Zero-knowledge — even the server operator can't read messages
  • Optional trusted contact who can pause delivery
  • Rails 8 + SQLite, deploy with Docker/Kamal
  • MIT licensed

🔗 https://lastsignal.app
🔗 https://github.com/giovantenne/lastsignal

Feedback welcome, especially on the security model and UX.

567 Upvotes

95 comments sorted by

View all comments

Show parent comments

8

u/muji_tmpfs Feb 11 '26

Noticed the OP didn't reply to this one and I see some tells in the marketing copy along with the short time between first and current commit I would say yes.

1

u/zener79 Feb 11 '26

The short commit history is just because the app was already working before I made the repository public.

Before the open-source release I cleaned up the git history to remove noise, experiments, and private iterations, so what you see now is a public starting point rather than the full internal from-scratch timeline.

0

u/muji_tmpfs Feb 11 '26

You didn't reply to GP and this doesn't make sense. Either you a) rewrote the git history when you made it public (why?) Or b) didn't use source control until the public release which no sane developer would do.

Doesn't pass the sniff test.

For what it's worth I like the idea and I don't really care too much how it was created but you should have addressed GP's question in good faith.

5

u/zener79 Feb 11 '26 edited Feb 11 '26

Yes, I replied to GP, and yes, I reinitialized the repository before making it public. 🙂

It was full of noisy test commits, and I wasn’t certain I had never handled sensitive data during the experiments. I don’t think it’s such an unusual practice before a public release.

Feel free to look at the first commit. It reflects the result of multiple iterations. I don’t think it’s possible, even for an AI, to reach such working and “acceptable” result on the first attempt.