Summary
Add an allowTo configuration option for messaging channels (Signal, Telegram, WhatsApp, etc.) to restrict which targets the agent can send outbound messages to.
Current Behavior
Channels support allowFrom to restrict inbound messages, but there's no corresponding control for outbound messages. The agent can technically send to any valid target if prompted.
Proposed Behavior
Add an allowTo array (similar to allowFrom) that restricts outbound message delivery:
{
"channels": {
"signal": {
"enabled": true,
"dmPolicy": "allowlist",
"allowFrom": ["+15551234567"],
"allowTo": ["+15551234567"]
}
}
}
When allowTo is set:
- Outbound messages to targets not in the list should be blocked
- The agent should receive an error indicating the target is not allowed
- This provides defense-in-depth even if the agent is somehow prompted to message unintended recipients
Use Case
Security hardening for personal assistant setups. Even with inbound allowlists, an outbound allowlist ensures the agent can only communicate with explicitly approved contacts.
Alternatives Considered
sendPolicy exists but filters by session type/channel, not by target number
- Internal hooks could validate targets, but a first-class config option is cleaner
Filed via OpenClaw agent
Summary
Add an
allowToconfiguration option for messaging channels (Signal, Telegram, WhatsApp, etc.) to restrict which targets the agent can send outbound messages to.Current Behavior
Channels support
allowFromto restrict inbound messages, but there's no corresponding control for outbound messages. The agent can technically send to any valid target if prompted.Proposed Behavior
Add an
allowToarray (similar toallowFrom) that restricts outbound message delivery:{ "channels": { "signal": { "enabled": true, "dmPolicy": "allowlist", "allowFrom": ["+15551234567"], "allowTo": ["+15551234567"] } } }When
allowTois set:Use Case
Security hardening for personal assistant setups. Even with inbound allowlists, an outbound allowlist ensures the agent can only communicate with explicitly approved contacts.
Alternatives Considered
sendPolicyexists but filters by session type/channel, not by target numberFiled via OpenClaw agent