Security
Tokens and credentials
Prefer environment variables. Never log, publish or paste bot tokens, webhook URLs, database passwords or Redis credentials. Reset a token immediately after exposure.
Discord role hierarchy
The bot can only modify roles and members below its highest role. Grant only the permissions required by enabled modules.
Remote console
Remote console is disabled by default. A private channel, role restriction, allowlist, rate limits, audit records and deny patterns are mandatory controls. FULL mode still presents substantial risk.
Linking
Use expiring single-use codes. Enable additional membership, account-age, role or IP limits where abuse is likely. Do not run first-link rewards without persistent claim protection.
Webhooks and message input
Keep bot/webhook loop prevention and mass-mention blocking enabled. Treat Discord message text, attachment names and workflow variables as untrusted input.
Python and workflows
Python scripts run with the permissions you give them; they are not sandboxed. Leave console actions off unless you have reviewed a small, explicit allowlist.
Backups
Back up YAML and the SQLite database before upgrades. Keep migration snapshots until the new release completes a clean restart and functional checks.