A private AI assistant on Signal — fully self-hosted
Signal is the most privacy-respecting mass-market messenger. Pair it with openclawOS for an AI agent that respects the same privacy posture, end to end.
- signal
- privacy
- tutorial
- self-hosted
If you’ve chosen Signal, you’ve chosen privacy on purpose. Adding an AI assistant to it shouldn’t compromise that choice. openclawOS pairs Signal cleanly — the bot’s keys live on your hardware, decrypted messages stay there, and only the relevant prompt goes to your chosen LLM.
What you need
- A computer to run openclawOS (Mac, Linux box, Raspberry Pi 4, a $5 VPS, anything).
- A phone number for the bot. Second SIM, Twilio, or Numero.
- An LLM key. We recommend Anthropic Claude Opus 4.6 if your threat model can include sending prompts to Anthropic. For full local: point at an Ollama endpoint.
Setup
openclaw apps install signal
openclawOS bundles signal-cli. The wizard:
- Asks for the phone number.
- Sends a verification SMS or voice call.
- Prompts for the six-digit code.
- Registers a Signal device under that number.
You can also link as a secondary device to an existing Signal account by scanning a QR (matches the “Linked Devices” flow on a Signal client).
How conversations flow
A message from a Signal contact arrives at the Gateway already decrypted (signal-cli handles that). It hits a binding, routes to Pi, and Pi generates a reply. The reply gets sent via signal-cli, encrypted to the recipient.
The decrypted content lives in the Gateway’s SQLite database (which you should encrypt with FileVault/LUKS). The LLM provider sees the active turn of the conversation; not the full thread, not the cryptographic identities.
Group chats
Pi works in Signal groups. Default: listens for an @-mention of its name. Sessions can scope per-user (each member’s questions stay isolated) or per-group (one shared session for the whole group).
Disappearing messages
Signal’s disappearing message timers are respected. If a chat has a 24-hour timer, Pi’s memory of that chat expires the same way. This matters for privacy hygiene — you don’t want a “forgetting” messenger paired with a “remembering” agent.
Why this is special
Signal users typically have a sharp privacy threat model. Pairing an AI assistant has historically meant compromising that — every “Signal AI bot” SaaS routes messages through an external server. openclawOS doesn’t. Your Signal stays Signal, your AI stays yours.
The “activist” stack
A common openclawOS-on-Signal setup:
- Raspberry Pi 4 at home, on Tailscale only (no public ports).
- Signal account on a Twilio number.
- Local Ollama running Llama 3.1 70B for full air-gapped inference.
- vector memory for long-term notes.
Nothing leaves the local network. The AI is helpful within a fully self-hosted privacy boundary. It’s a small win for a specific audience but a meaningful one.
Frequently asked
No. signal-cli registers a Signal account locally on your Gateway. Decryption happens inside your process. The LLM provider sees only what you choose to send — typically the latest message or two.
Related reading
The complete guide to self-hosted AI gateways in 2026
What a self-hosted AI gateway is, why it matters, how openclawOS implements one, and a practical setup walkthrough — from zero to multi-channel agent in an afternoon.
How multi-channel AI agents actually work under the hood
A deep dive into the openclawOS kernel: routing, sessions, identity, memory and the tricky parts of making one agent feel coherent across WhatsApp, Telegram, Discord and the rest.