
Aplicación de escritorio para registrar una cuenta de Signal y vincular Signal Desktop sin necesidad de un teléfono inteligente, utilizando los protocolos criptográficos de Signal para el aprovisionamiento seguro del dispositivo.
Una aplicación de escritorio para registrar una cuenta con Signal y vincularla con Signal Desktop, todo sin necesidad de un smartphone.

Esta utilidad evita la necesidad de un smartphone, pero seguirá requiriendo una forma de recibir mensajes SMS durante la fase de configuración. Signal introdujo recientemente cuentas sin número, pero eso todavía requiere Android y los servicios de Google Play. Es muy probable que ofrezcan opciones de pago alternativas en el futuro.
¡Consigue la última versión!
Hay múltiples razones por las que esta herramienta podría interesarte:
La seguridad de tus conversaciones de Signal es tan baja como la seguridad de los dispositivos en los que está instalada:
Si tu dispositivo se pierde o te lo roban cuando no está bloqueado con tu código de acceso, por supuesto que alguien podría leer los mensajes que contiene. Del mismo modo, se sabe que las fuerzas del orden utilizan herramientas forenses para acceder a dispositivos incautados, lo que hace posible leer cualquier cosa en el dispositivo, incluidos tus mensajes.
— Seguridad en grupos de Signal, Freedom of the Press Foundation
Algunas personas no tienen un smartphone, y deberían poder usar Signal :-)
A día de hoy, Signal Desktop requiere un número de teléfono y un smartphone para configurar una cuenta. Esto podría cambiar en el futuro pero hasta entonces, puedes usar esto.
"Asumo que tu pregunta se refiere a algo así como el registro con número de teléfono que existe en Signal hoy en día. Estamos considerando la posibilidad, con suerte para más adelante este año, de añadir una forma de registrarse sin números de teléfono. [...]"
— Ehren Kret, CTO de Signal, 20 de julio de 2026
Descarga el archivo para tu sistema desde la página de versiones:
.dmg y arrastra Signal Setup a Aplicaciones.AppImage: Hazlo ejecutable (chmod +x Signal_Setup-*.AppImage) y ejecútalo. También se publica un binario simple signal-setup-linux-* si lo prefieres.Las versiones no están firmadas con un certificado de desarrollador de pago (99 USD al año para macOS, aún más para Windows), y como resultado el sistema te advierte después de la instalación:
macOS muestra "no se puede abrir porque proviene de un desarrollador no
identificado". Haz clic derecho en la aplicación y elige Abrir, luego confirma. Solo
necesitas hacer esto una vez. Si informa que la aplicación está "dañada", elimina la marca de
cuarentena de descarga: xattr -dr com.apple.quarantine "/Applications/Signal Setup.app".
Windows SmartScreen muestra "Windows protegió tu PC". Haz clic en Más información, luego en Ejecutar de todas formas.
cargo build --release
./target/release/signal-setup
El proyecto es un workspace de Cargo con dos crates: signal-setup-core (la
lógica de registro de Signal y vinculación de dispositivos) y signal-setup (la
GUI de escritorio que depende de él). Compilar el workspace produce el binario signal-setup
mencionado anteriormente.
Solo en Linux, algunas bibliotecas del sistema son útiles para GPU/pantalla:
# Ubuntu / Debian
sudo apt install libxcb-render0-dev libxcb-shape0-dev libxcb-xfixes0-dev \
libxkbcommon-dev libssl-dev protobuf-compiler
# Fedora
sudo dnf install libxcb-devel libxkbcommon-devel openssl-devel protobuf-compiler
# Arch
sudo pacman -S libxcb libxkbcommon openssl protobuf
Puedes ejecutar la herramienta contra el entorno de staging de Signal en lugar de producción, lo cual es útil para desarrollo y pruebas sin arriesgar tu cuenta real:
./target/release/signal-setup --staging
Para completar el paso de vinculación de dispositivos, necesitarás una instancia de Signal Desktop también conectada al servidor de staging. Compilar Signal Desktop desde el código fuente hace esto por defecto:
git clone https://github.com/signalapp/Signal-Desktop.git
cd Signal-Desktop
pnpm install
pnpm start
También hay disponible un flag --demo para pruebas totalmente sin conexión con datos falsos (no
se necesita servidor).
Existen otras herramientas capaces de hacer esto, como la increíble signal-cli de AsamK, pero desafortunadamente no proporcionan una interfaz gráfica de usuario. Una versión anterior de esta herramienta la usaba bajo el capó, pero requería que los usuarios tuvieran una JVM instalada para poder ejecutar las cosas.
En su lugar — y porque pensé que sería más fácil — aproveché la ocasión para sumergirme a fondo en la criptografía de Signal.
Aquí hay un resumen de alto nivel de cómo funcionan las cosas (esta aplicación se registra como el dispositivo principal de Signal, y luego vincula Signal Desktop como dispositivo secundario).
Aquí está el flujo:
%%{init: {'theme':'default', 'themeVariables': {'background':'#ffffff'}}}%%
sequenceDiagram
actor User
participant App as App
participant Server as Signal Server
participant Desktop as Signal Desktop
participant Store as Disk + Keyring
Note over App: Step 0: Welcome (if saved accounts)
rect rgb(235,245,255)
Note over User,Server: Phase 1: Request verification code
User->>App: Step 1: enter phone (+1234567890)
App->>Server: POST /v1/verification/session
Server-->>App: session.id (+ captcha_required?)
alt Captcha required
Note over App: Step 2 shown
User->>App: solve captcha, paste it
App->>Server: POST .../session/{id}/code (sms)
else No captcha
App->>Server: POST .../session/{id}/code (sms)
end
Server-->>User: SMS verification code
end
rect rgb(235,255,235)
Note over User,Server: Phase 2: Verify & register account
User->>App: Step 3: enter 6-digit code
App->>Server: PUT .../session/{id}/code {code}
Note over App: Generate keys: ACI/PNI identity,<br/>signed pre-keys, Kyber PQ keys,<br/>master/profile keys, password
App->>Server: POST /v1/registration (account attrs + keys)
alt 409 Device transfer available
Server-->>App: 409 / DeviceTransferAvailable
Note over App: warn, retry skipping device transfer
else Success
Server-->>App: registered
App->>Store: save metadata (disk) + secrets (keyring)
end
end