# Signal Gateway Setup

Armorer supports Signal through `signal-cli-rest-api`.

## 1) Start Signal API service

```bash
armorer gateway signal setup
```

This starts Docker container `armorer-signal-api` and persists state at:

- `~/.armorer/signal`

## 2) Register your Signal number

```bash
armorer gateway signal register --number +15551234567
```

Use `--voice` if SMS is unavailable.

## 3) Verify with the received code

```bash
armorer gateway signal verify --code 123456
```

If registration lock is enabled, pass `--pin <PIN>`.

## 4) Run Signal gateway

```bash
armorer gateway signal run
```

This polls Signal messages and routes them through Armorer Core.

## Config keys

- `SIGNAL_ENDPOINT` (default `http://127.0.0.1:8085`)
- `SIGNAL_ACCOUNT` (your Signal number)
- `ARMORER_GATEWAY_SIGNAL_ENABLED`
- `ARMORER_TASK_SIGNING_KEY` (recommended; signs gateway tasks for core verification)

For global gateway security controls (admin allowlist, rate limits, confirmations, audit log), see `docs/security_baseline.md`.
