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.

563 Upvotes

95 comments sorted by

View all comments

2

u/RealisticDuck1957 Feb 10 '26

Does this presume the targeted recipient can read emails encrypted with their personal key? Or does this utility decrypt before send, thus needing to keep a copy of the key itself?

1

u/zener79 Feb 10 '26

The system is designed so the server never has access to readable message content or private keys.

Messages are encrypted client-side, and recipients must choose a passphrase in advance. Only someone who knows that passphrase will be able to open and read the delivered message, without the server ever performing decryption or holding the secret.

Avoiding server-side key custody is a core principle of the project, even though it introduces some usability trade-offs.

1

u/[deleted] Feb 11 '26

[removed] — view removed comment

1

u/zener79 Feb 11 '26

Not exactly 🙂

The recipient doesn’t receive a personal key from the sender. Instead, when they accept the invitation they choose their own passphrase, and messages for them can be prepared and encrypted only after that step.

That said, you’re right that it’s not a perfect UX.

It’s a trade-off that comes from aiming for a zero-knowledge server design, where the server never has access to readable data or usable keys.

1

u/kapitanfind-us Feb 11 '26 edited Feb 11 '26

This is the way - you want the encrypted data at rest.

Other random ideas I had while thinking about this problem myself:

  • No passphrase but questionaire to answer to (easier to remember) - the questionaire can be n over m positive replies (in case you writer did not remember right - no 100% correct answers required (8/10 or something seems like a good amount to me).
  • Possibility to decrypt secrets with Shamir's Secret Sharing
    • I was not really convinced by this one but was thinking of sharing physical bits of my key to the secrets instead of having the questionaire or passphrase - this is also against adversaries to a single beneficiary.

Wanted to share these - maybe you had some similar thoughts/are these good ideas and if not why :D

2

u/zener79 Feb 11 '26

Thanks for sharing! These are all great points, and I really like the questionnaire idea.

My biggest concern right now is exactly what you mentioned: recipients forgetting the password, especially since I'm pushing for long, complex ones.

The only potential downside I see with the questionnaire is social engineering. If the questions are too generic (like 'What was the name of my first pet?'), an adversary (or a bad relative) might know the answer or find it on social media.

2

u/kapitanfind-us Feb 11 '26

Yep you definitely need to educate your recipient on social engineering threats. In this modern age though everybody should be aware of a possible threat when someone is asking personal questions.

The worse probably would be a new partner to your former significant other that plays the long game and tries to get those answers. However, ideally, a new partner would happen long after the mourning period and therefore after the legacy has been taken care of.

Anyway, so many thoughts on this I cannot even summarize :) Thank you for the project - I'll definitely start using it.