Documentation Index
Fetch the complete documentation index at: https://mintlify.com/asundar43/simpleclaw/llms.txt
Use this file to discover all available pages before exploring further.
Allowlist Configuration
Allowlists control who is authorized to send messages to your SimpleClaw assistant on each messaging channel. SimpleClaw supports both configuration-based and dynamic pairing-based allowlists.Allowlist Types
1. Configuration Allowlists
Static allowlists defined in youropenclaw.json or openclaw.yaml configuration:
2. Dynamic Allowlists (Pairing Store)
Automatically maintained when you approve pairing requests:- Stored in
~/.simpleclaw/credentials/<channel>-allowFrom.json - Updated when you run
simpleclaw pairing approve <channel> <code> - Persists across SimpleClaw restarts
3. Combined Allowlists
SimpleClaw merges both sources:dmPolicy: "allowlist", only configuration allowlists are used (pairing store is ignored).
Configuration Syntax
Basic Allowlist
Allow specific users by ID:Wildcard (Allow All)
Allow all senders:Channel-Specific Prefixes
You can use channel-specific ID formats:Telegram
Discord
Slack
Signal
Group Access Control
Separate controls for group messages vs. direct messages:Group Policies
open (Default)
Allow all group messages, only enforce mention-gating:
allowlist
Only allow group messages from senders in groupAllowFrom (or allowFrom if not set):
disabled
Block all group messages:
Group Allowlist Inheritance
IfgroupAllowFrom is not specified:
groupAllowFrom.
Account-Scoped Allowlists
For channels with multiple accounts (e.g., WhatsApp with multiple phone numbers):Configuration
Storage
Account-scoped pairing stores:- Format:
<channel>-<accountId>-allowFrom.json - Example:
whatsapp-15551234567-allowFrom.json
Backward Compatibility
Legacy channel-level allowlists are still honored:Mutable Allowlist Detection
SimpleClaw warns about allowlist entries that may change over time.Discord Mutable Entries
Mutable (may change):discord:prefix without IDuser:prefix without ID- Bare usernames or display names
- Numeric user IDs:
123456789012345678 - Mention format:
<@123456789012345678> - PluralKit system IDs:
pk:abcdef(if ID is included)
Slack Mutable Entries
Mutable:slack:oruser:prefix without ID- Bare usernames or display names
- User IDs:
U1234567890 - Mention format:
<@U1234567890>
Google Chat Mutable Entries
Mutable:- Email addresses (e.g.,
user@example.com) - Display names
- User resource names:
users/123456789012345678 - With prefix:
googlechat:users/123456789012345678
MS Teams Mutable Entries
Mutable:- Email addresses
- Display names with spaces
- Object IDs (GUIDs)
- Azure AD user IDs
Mattermost Mutable Entries
Mutable:- Usernames (can be changed)
- 26-character user IDs:
abcdefghijklmnopqrstuvwxyz
IRC Mutable Entries
Mutable:- Bare nicknames (can change)
- NickServ account format:
nickname!user@host
CLI Management
View Current Allowlist
Read from pairing store:Add to Allowlist
Approve a pending pairing request:Remove from Allowlist
Currently, removal requires manual editing:- Edit
~/.simpleclaw/credentials/<channel>-allowFrom.json - Remove the sender ID from the
allowFromarray - Restart SimpleClaw or reload configuration
openclaw.json/openclaw.yaml.
Security Audit Integration
Thesimpleclaw security audit command checks allowlist configurations:
Detected Issues
- Wildcard allowlists: Warns if
allowFrom: ["*"]is used - Mutable entries: Warns if allowlist contains unstable identifiers
- Multi-user DM setups: Flags configurations with multiple allowed senders
- Empty allowlists with
dmPolicy: allowlist: Critical finding
Example Audit Output
Normalization
SimpleClaw normalizes allowlist entries for matching:Telegram
- Strips
telegram:anduser:prefixes - Converts to string
- Trims whitespace
Discord
- Strips
discord:,user:,pk:prefixes - Extracts ID from mention format
<@123>or<@!123> - Trims whitespace
WhatsApp/Signal
- Normalizes to E.164 format (
+15551234567) - Adds
+prefix if missing - Validates phone number format
Slack
- Strips
slack:anduser:prefixes - Extracts ID from mention format
<@U123> - Trims whitespace
- Converts to uppercase for Slack IDs
Best Practices
1. Use Stable Identifiers
Prefer user IDs over usernames/display names:2. Avoid Wildcards in Production
Only use["*"] for testing or fully trusted environments: