Effective Date: May 13, 2026
This policy explains what information BotHaus collects when you interact with its applications on Discord, how that information is used, and how long it is kept. This policy applies uniformly across all seven BotHaus Discord applications: BratBot, CamiBot, ZenBot, MarthaBot, KitsuneBot, BonnieBot, and BotHaus.
The BotHaus applications collect the minimum information needed to operate. The table below lists every category of data, where it is stored, how long it is kept, and why.
| Data | Storage | Retention | Purpose |
|---|---|---|---|
| Discord User ID | Redis | Permanent | Key for storing your preferences (verbosity, pronouns, age verification) |
| Verbosity preference (1–3) | Redis | Permanent | Controls response length |
| Pronoun preference | Redis | Permanent | Used by the language model to address you correctly |
| Age verification flag | Redis | Permanent | Records that you accepted our Terms of Service |
| Channel ID | Redis | 60 seconds | Per-channel rate limiting |
| Guild ID | Redis | 5 seconds | Message deduplication on reconnect |
| Message content (in-flight) | In-memory only | Discarded after response | Sent to a locally-hosted language model to generate a reply; not written to disk |
| Recent conversation history | Redis (keyed by bot, channel, and user) | Rolling window (last ~10 exchanges per bot/channel) | Provides short-term context so the bot can follow a conversation. Older messages are evicted automatically as new ones arrive. Cleared on request via /forget (per bot) or /forgetall, or by deletion request (Section 5). |
| Message IDs | In-memory deque (max 1,000) | Session only | Prevents duplicate responses after Discord reconnections |
Permanent means no automatic expiry — data remains in Redis until you request deletion (see Section 5).
The full text of an in-flight message is held in memory only for the duration of generating a reply and is never written to disk.
To allow the bot to follow a conversation, a short rolling window of recent messages (yours and the bot’s) is stored in Redis, keyed by which bot you spoke to, the Discord channel, and your Discord User ID. The window is automatically trimmed as new messages arrive — older messages drop off. You can clear this history at any time using the /forget command (clears history for one bot in the current scope) or /forgetall (clears history for all bots), or by submitting a deletion request as described in Section 5.
Preference data and your Discord User ID are stored in Redis with no expiry and persist until you request deletion. Temporary rate-limiting and deduplication data expires automatically within seconds.
You have the right to access, correct, port, or delete the personal data we hold about you. The primary channel for exercising these rights is email; a GitHub issue is offered as a secondary, optional channel for users who prefer it.
Primary channel — email:
Secondary channel — GitHub (optional, public): You may instead open an issue at github.com/z0rd0n88/BratBot/issues, but note that GitHub issues are public and require a GitHub account. The email channel above is the recommended path for all data-rights requests.
You can also clear conversation history yourself at any time using the /forget or /forgetall commands — this does not require any request to us.
Expedited removal of non-consensual intimate content: If you believe content depicting you (or someone you legally represent) was generated without consent, do not use a public GitHub issue and do not use the general privacy@ address. Email [email protected] directly. We respond within 24 hours and act on valid requests within 48 hours. See our Terms of Service, Section 4 for the full process.
If you are in the European Economic Area (EEA), United Kingdom, or California, the rights described in this section apply to you under GDPR, UK GDPR, or CCPA/CPRA, and we will not require you to create a GitHub account or post in a public forum to exercise them. We do not discriminate against users who exercise their data-rights.
All Discord interaction webhooks are verified using Ed25519 signatures before processing. Message content is discarded immediately after a response is generated. Bot tokens and Redis credentials are stored as environment variables and are never logged or exposed.
BratBot, CamiBot, MarthaBot, KitsuneBot, BonnieBot, and BotHaus are not intended for users under the age of 18 and generate adult-themed content. ZenBot is safe-for-work and has no age restriction. We do not knowingly collect data from minors on the age-gated applications.
If we make material changes to this policy we will update the effective date at the top of this page. Continued use of the bot after changes constitutes acceptance of the updated policy.
For general questions about this policy and to exercise data rights (access, correction, portability, deletion), email [email protected]. See Section 5 for the full procedure and our 30-day response commitment.
For removal requests involving non-consensual intimate content (including AI-generated digital forgeries), email [email protected]. Do not use a public GitHub issue and do not use the general privacy@ address — the dedicated takedown channel is private and bound by a 24/48-hour response SLA.