Repolode
giovantenne

giovantenne/lastsignal

Un dead man's switch autohospedado y centrado en el correo electrónico que envía mensajes cifrados de extremo a extremo a tus seres queridos si dejas de confirmar que estás bien.

Estrellas
756
Forks
28
Issues abiertos
6
Último commit
hace 23 horas

¿Qué es?

LastSignal es un dead man's switch autohospedado. Escribes mensajes cifrados para las personas que te importan y el sistema envía correos periódicos para confirmar que estás bien. Si no respondes, envía recordatorios en intervalos establecidos, puede avisar a un contacto de confianza y, finalmente, entrega los mensajes por correo electrónico a sus destinatarios.

Los mensajes se cifran de extremo a extremo con una clave derivada de una frase de contraseña (Argon2id, XChaCha20-Poly1305, X25519), por lo que el servidor no puede ver el texto sin cifrar. El proyecto está desarrollado con Ruby on Rails 8 y SQLite, y se despliega con Kamal o docker-compose. Cada usuario puede configurar opciones de tiempo como el intervalo de confirmación, la cantidad de recordatorios y la pausa para contactar al contacto de confianza. Además, se puede establecer un retraso específico para cada destinatario antes de que pueda descifrar un mensaje.

El proyecto documenta una limitación conocida: como la sal de KDF generada por el servidor se almacena junto con las claves públicas de los destinatarios, un atacante con acceso a la base de datos podría intentar un ataque de fuerza bruta sin conexión contra frases de contraseña débiles. Por eso, es necesario usar frases de contraseña seguras.

Funciones clave

  • 01Los correos periódicos para confirmar que estás bien activan recordatorios y, si no hay respuesta, el envío de los mensajes.
  • 02Los mensajes se cifran de extremo a extremo, por lo que el servidor nunca puede ver el texto sin cifrar.
  • 03Aviso opcional a un contacto de confianza antes del envío.
  • 04Retraso configurable para cada destinatario antes de que pueda descifrar el mensaje.
  • 05Configuración por usuario de los tiempos, la cantidad de recordatorios y sus intervalos.
  • 06Se puede desplegar con Kamal o docker-compose, e incluye un webhook opcional para mantener el servicio activo.

Casos de uso

  • Enviar instrucciones finales o contraseñas a tu familia si ya no puedes responder.
  • Programar mensajes con retraso para que los destinatarios los lean más adelante.
  • Ejecutar un dead man's switch privado en tu propio servidor en lugar de usar un servicio alojado.

Inicio rápido

  1. 1

    Clona el repositorio

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

    Entra en la carpeta del proyecto e instala las gemas de Ruby

    cd lastsignal && bundle install
  3. 3

    Copia la plantilla .env.example en .env y ejecuta setup

    bin/setup
  4. 4

    Inicia el entorno de desarrollo local y abre http://localhost:3000

    bin/dev

Antes de usarlo

  • Los autores no ofrecen un servicio alojado, así que tendrás que ejecutar y mantener tu propio servidor.
  • Para garantizar una entrega fiable, necesitas tu propio proveedor SMTP y configurar correctamente los registros SPF, DKIM y DMARC.
  • La sal KDF generada por el servidor permite que un atacante que obtenga la base de datos pruebe sin conexión y por fuerza bruta las frases de contraseña de los destinatarios, por lo que estas deben ser muy robustas.

Temas

Preguntas frecuentes

¿Qué es lastsignal?
Un dead man's switch autohospedado y centrado en el correo electrónico que envía mensajes cifrados de extremo a extremo a tus seres queridos si dejas de confirmar que estás bien. LastSignal es un dead man's switch autohospedado. Escribes mensajes cifrados para las personas que te importan y el sistema envía correos periódicos para confirmar que estás bien. Si no respondes, envía recordatorios en intervalos establecidos, puede avisar a un contacto de confianza y, finalmente, entrega los mensajes por correo electrónico a sus destinatarios.
¿lastsignal es gratuito? ¿Qué licencia tiene?
lastsignal es open source bajo la licencia MIT. Revisa los términos de la licencia antes de usarlo en productos comerciales.
¿lastsignal sigue mantenido?
Mantenimiento activo. El último commit de lastsignal fue el 19 oct 2026.
¿Para qué puedo usar lastsignal?
Enviar instrucciones finales o contraseñas a tu familia si ya no puedes responder. Programar mensajes con retraso para que los destinatarios los lean más adelante. Ejecutar un dead man's switch privado en tu propio servidor en lugar de usar un servicio alojado.
¿Cómo se instala lastsignal?
Clona el repositorio: git clone https://github.com/giovantenne/lastsignal.git Entra en la carpeta del proyecto e instala las gemas de Ruby: cd lastsignal && bundle install Copia la plantilla .env.example en .env y ejecuta setup: bin/setup Inicia el entorno de desarrollo local y abre http://localhost:3000: bin/dev
¿Dónde consigo lastsignal?
El código fuente y las instrucciones de instalación están en GitHub: https://github.com/giovantenne/lastsignal

Resumen generado por IA a partir del README del proyecto. Las estadísticas de GitHub se actualizan a diario.

Proyectos relacionados