Access control
Every adapter accepts an exact-match allow policy. Denied messages are not acknowledged, queued,
or sent to Pi.
slack({
token,
appToken,
allow: {
dms: false,
channels: ["C0123456789"],
users: ["U0123456789"],
bots: [],
},
});Rules
Destination and user rules are intersected. Discord native threads inherit the parent channel's permission. Telegram forum topics inherit the containing group chat's permission.
Built-in adapters do not fetch organization groups. Slack user groups and Telegram group
memberships are therefore not valid groups values. Discord roles are used for approval decisions,
not general message access.
Allowlists are application policy, not platform authentication. Keep platform tokens scoped and protect webhook/admin HTTP surfaces separately.