Prerequisites
- Docker and Docker Compose (Curia’s
docker-compose.ymlincludes thesignal-clicontainer) - A phone number to register with Signal — this will be the number you message from to reach Curia, and the number Curia’s Signal identity is registered under
Step 1 — Bootstrap signal-cli
Before Curia can use Signal, you need to register a phone number withsignal-cli and seed the signal-data Docker volume with the resulting credentials.
Register your phone number
Run the registration command inside the Signal will send a verification code to your phone via SMS or voice call.
signal-cli container. Replace +12223334444 with your number in E.164 format:Verify the code
Once you receive the code, submit it:On success,
signal-cli writes account credentials to the volume.Step 2 — Seed the phone number into the vault
Set the number transiently and run the seed script. Use the same E.164 number you registered in Step 1:signal_phone_number.
Step 3 — Apply the change
Recreate the Curia container so it picks up the new secret:signal_phone_number is in the vault and the signal-data volume is populated. docker compose logs curia will show the Signal adapter initializing.
Sending your first message
Open Signal on your phone and send a message to the number you registered. Curia will respond via the same Signal conversation. Because Signal carrieshigh trust, you can use it to:
- Approve sensitive or financial actions that email cannot authorize
- Get urgent notifications when Curia flags something in your inbox
- Send instructions to Curia securely when away from your desk
Trust levels determine which actions Curia can take on a sender’s behalf. Signal’s
high trust level is equivalent to CLI access — Curia treats Signal messages with the same confidence it treats local terminal sessions.Troubleshooting
Signal adapter not starting
Signal adapter not starting
Check that:
signal_phone_numberis in the vault (re-seed withpnpm run seed-vaultif unsure)- The
signal-dataDocker volume is populated (see Step 1, Step 3 above) - The
signal-clicontainer is running:docker compose ps
Messages not delivered
Messages not delivered
Confirm the If you see connection errors, the Signal registration may have expired or the credentials in the volume may be stale. Re-run the bootstrap steps to re-register.
signal-cli container is healthy and connected to Signal’s infrastructure:Curia doesn't recognize me as a trusted sender
Curia doesn't recognize me as a trusted sender
The Signal adapter assigns Curia will confirm your number as a verified identity and grant appropriate access.
high trust to all messages by phone number. However, Curia also checks whether you’re a known contact. If your number hasn’t been confirmed as the CEO’s number, your messages may be held for review.From the CLI, tell Curia who you are: