Roo Protector ROO PROTECTORSECURITY CONTROL CENTER
Features ◈ Login with Discord
ROO PROTECTOR

Privacy & data

What Roo Protector stores, why it is used, and how cross-server sharing works.

Last updated: November 2, 2026

1. Server configuration and operation

Roo Protector stores Discord server IDs and names, selected channel and role IDs, enabled protection settings, configured trusted users/roles, and setup state so the bot can provide the requested services.

2. Moderation and audit records

Moderation cases may contain the target user ID, moderator user ID, action, reason, duration, case ID, and timestamps. Reason edits retain the prior and new reason with the editor and edit time. Security incidents and audit records retain event metadata and relevant details for the server.

3. Verification

Verification questions are displayed in a Discord modal and processed by the bot in the server interaction. Answers are not sent by DM and are not saved as message content. Roo Protector stores the guild ID, user ID, and completion timestamp to record that verification was completed.

4. Message logging

Message-content logging is disabled by default. A server administrator can explicitly enable message audit logging. When enabled, message edit/delete events may be delivered to the server's configured log channel, where Discord channel retention and access controls apply.

5. Cross-server ban intelligence

Cross-server sharing is off by default. A server must apply, receive platform approval, and then explicitly enable sharing. Shared records contain the banned Discord user ID, source server ID and name, ban reason, an optional source case ID, and a ban observation time when Discord provides one. Reason corrections retain the previous and new text, the editor's Discord user ID, and the edit time. When the original time cannot be verified, Roo Protector labels it unavailable rather than inventing a date.

Only approved and enabled participating servers can publish records or receive matching history. A match is a community-provided risk signal and is not proof of misconduct. Shared reasons can be updated with a retained edit history. A source server can disable sharing or remove its published records; unbanning a member retracts that source's active matching record. Disabling sharing pauses visibility but does not itself erase existing records.

6. Log webhooks and dashboard sessions

When an administrator runs /setup and grants Manage Webhooks, Roo Protector creates log webhooks for configured destinations. Webhook tokens are encrypted at rest using an application key derived from SESSION_SECRET. Rotating that secret requires running /setup again to recreate webhook credentials. Dashboard login uses Discord OAuth2; session data is stored in PostgreSQL and expires after the configured seven-day rolling session period.

7. Controls and removal

Server administrators control local logging, settings, and whether their server participates in shared-ban intelligence. The /sharing remove command removes records published by that source server from the shared-ban table. It does not delete local moderation cases or messages already delivered to Discord log channels. Discord permissions and the server's own retention settings govern those messages.

8. Contact

For support or privacy questions, use the Roo Protector support community configured by its operator.