Как передать важные данные близким, если вас не станет
Задумывались ли вы когда-нибудь, что произойдет с вашими паролями, доступами к криптокошелькам или просто важными письмами, если вы внезапно перестанете выходить на связь? Обычно об этом не хочется думать, пока не прижмет. В юридическом мире есть завещания, но в цифровом — все гораздо сложнее. Можно, конечно, оставить бумажку в сейфе, но она может потеряться или устареть.
Проект LastSignal предлагает техническое решение этой деликатной проблемы. Это self-hosted «переключатель мертвеца» (dead man's switch), который отправит зашифрованные сообщения вашим доверенным лицам, если вы перестанете отвечать на контрольные письма системы.
Что это такое и зачем оно нужно
Идея проста: система периодически присылает вам письмо с вопросом «Ты тут?». Если вы нажимаете на кнопку в письме, таймер сбрасывается. Если же вы игнорируете несколько напоминаний подряд, LastSignal делает вывод, что случилось что-то серьезное, и рассылает заранее подготовленные сообщения адресатам.
Главная фишка здесь в приватности. Автор сразу заявляет: никакого SaaS, никакой облачной подписки. Вы устанавливаете это на свой сервер, и только вы контролируете данные. Это критично, потому что доверять «посмертные» сообщения стороннему сервису, который может закрыться через год, — затея сомнительная.
Как работает схема проверки
Процесс доставки сообщения разбит на несколько этапов, чтобы исключить случайную отправку из-за того, что вы просто уехали в отпуск без интернета.
- Контрольный интервал. По умолчанию это 30 дней. Раз в месяц вам приходит письмо.
- Серия напоминаний. Если вы пропустили первое письмо, система пришлет еще три напоминания с интервалом в неделю.
- Пинг доверенного лица. На последнем этапе система может связаться с кем-то, кому вы очень доверяете, чтобы тот подтвердил: «Да, он действительно недоступен». Это дает еще 15 дней форы.
- Финальная доставка. Если тишина продолжается, адресаты получают ссылки на зашифрованные сообщения.
Интересно, что для каждого получателя можно настроить дополнительную задержку. Например, чтобы одно письмо ушло сразу, а другое — только через месяц после «часа X».
Безопасность и шифрование
Разработчик выбрал модель Zero-knowledge. Это значит, что даже если кто-то взломает ваш сервер и украдет базу данных SQLite, он не сможет прочитать тексты сообщений.
Для криптографии используются серьезные инструменты: Argon2id для хеширования, XChaCha20-Poly1305 для шифрования и X25519 для обмена ключами. Сообщения шифруются на стороне клиента (в браузере) с использованием парольной фразы, которую знает только получатель. Сервер видит только зашифрованный «шум».
Однако есть нюанс, о котором автор честно предупреждает в README. Соль для генерации ключей хранится в базе рядом с публичными ключами. Если злоумышленник получит доступ к БД, он сможет запустить оффлайн брутфорс парольных фраз. Поэтому крайне важно использовать длинные и сложные пароли, а не «123456».
Технический стек
Проект написан на Ruby 3.4 и Rails 8. В качестве базы данных используется SQLite, что для такого небольшого сервиса — идеальный выбор. Деплоится все это добро через Kamal, что сейчас становится стандартом в мире Rails.
Для тех, кто хочет просто потыкать проект локально, есть готовый Docker Compose. В нем даже настроен Mailhog — это такой «фейковый» почтовый сервер, который перехватывает все исходящие письма и показывает их в удобном веб-интерфейсе. Можно запустить систему и за пять минут прогнать весь цикл от создания сообщения до его «посмертной» доставки, используя специальные демо-команды в консоли.
Пример того, как выглядит запуск в Docker для тестов:
docker compose -f docker-compose.dev.yaml up --build
После этого можно зайти на localhost:3000, создать получателя и через rails demo:checkins:advance имитировать пропуск проверок.
Кому стоит это попробовать
В первую очередь — тем, у кого есть цифровые активы, доступ к которым нельзя терять. Это могут быть сид-фразы от кошельков, мастер-пароли от менеджеров паролей или инструкции по управлению серверами для коллег.
Конечно, есть риски. Почтовые провайдеры могут отправить контрольное письмо в спам, или ваш сервер может упасть именно тогда, когда он больше всего нужен. Поэтому автор добавил чеклист по настройке SPF, DKIM и DMARC — без правильной настройки почты такие системы превращаются в тыкву.
LastSignal — это не замена завещанию, но отличный инструмент для тех, кто хочет подстраховаться в цифровом пространстве. Проект открытый, код понятный, а возможность захостить его самостоятельно снимает большинство вопросов к безопасности.
Если решите ставить в продакшн, не забудьте про бэкапы базы данных. В README есть готовая команда для упаковки тома с данными в архив — лучше настроить это в cron сразу после установки.
