1. Overview
This Privacy Policy explains what information Snowball may collect, access, store, or share when you use the bot in Discord. Snowball includes weather tools, AI conversation features, moderation tools, support tickets, community features, music and radio playback, leveling and economy features, and optional integrations with external services. Because different servers may use different features, not every category below applies to every user at all times. This policy describes Snowball’s current implemented behavior based on the codebase as it exists today. Where the current code does not define a fixed automatic deletion schedule, this policy says so plainly rather than promising a purge timeline that is not yet implemented. Snowball is not intended to operate as a hidden surveillance tool. In general, Snowball processes Discord content when a user invokes a feature, when a server enables a feature that depends on Discord events, or when operators need records to run moderation, support, safety, or debugging workflows.2. Information Snowball collects or processes
A. Discord account and server information
A. Discord account and server information
- Discord user IDs, guild IDs, channel IDs, thread IDs, message IDs, role IDs, and event IDs
- Usernames, display names, global names, tags, avatars, banners, and role membership when needed for a feature
- Server membership, join and leave events, and voice-channel presence when needed for leveling, announcements, moderation, or playback features
B. Messages, replies, mentions, and AI conversation data
B. Messages, replies, mentions, and AI conversation data
- Message content used for prefix commands
- Message content when users mention or reply to Snowball for AI conversations
- Reply-chain context when a user replies to another message while invoking Snowball
- Limited recent channel context used to answer certain AI prompts
- Image attachments and image URLs included in AI requests
- AI conversation history, short thread summaries, personality settings, and reply-tracking preferences
- AI usage counters and limit-related records
- Interpret commands and AI requests
- Maintain short multi-turn conversation context
- Generate AI responses and conversation summaries
- Enforce daily or rolling AI usage limits
- Let users choose whether Snowball responds to them and which AI personality is used
C. Direct-message interaction data
C. Direct-message interaction data
- Ban appeal submissions
- Ticket close confirmations
- Ticket ratings
- Transcript requests
- Other button, select-menu, or modal responses sent through Snowball’s DM workflows
D. Moderation and safety records
D. Moderation and safety records
- Moderation case IDs
- Target user IDs and moderator IDs
- Moderation type, reason, timestamp, and mute expiry time
- Appeal text submitted through a ban appeal
- Moderation history displayed through moderation or user info features
- Log message URLs and related moderation metadata when used by the moderation system
E. Support tickets, transcripts, ratings, and review workflows
E. Support tickets, transcripts, ratings, and review workflows
- Ticket IDs, thread IDs, channel IDs, opener user IDs, assigned staff IDs, and status fields
- Ticket opening reason, escalation reason, close reason, close timestamps, and ratings
- Transcript content generated from ticket thread messages
- Spotter application status and reviewer IDs
- Level reward submission status, reviewer IDs, and uploaded file URLs
F. Community submissions and public reposting features
F. Community submissions and public reposting features
- Suggestions and bug reports
- Question of the Day submissions, submitter identity, approval status, and queue order
- Birthdays (month and day)
- Starboard data including original message ID, original channel ID, original author ID, starboard message ID, and reaction counts
- Reposted starboard message text, links, and public image attachments
G. Economy, progression, and activity data
G. Economy, progression, and activity data
- Economy balances, bank balances, cooldown timestamps, reminders, item ownership, roles, missions, and event participation
- Arena challenge records, ELO, pet or boar progression, and item usage
- Stock or portfolio holdings
- Server XP, levels, weekly XP, cooldown timers, and level reward status
- User IDs associated with message activity or voice presence used to award progression or economy benefits
- Aggregated message counts, daily active-user counts, join counts, leave counts, and trade volume used for economy calculations
H. Music, radio, media, and uploaded files
H. Music, radio, media, and uploaded files
- Voice-channel participation needed to join, play, pause, or stop audio
- User-supplied music search text
- Direct media URLs supplied by users
- Uploaded audio files
- Queue metadata such as track title, artist, thumbnail, and requester ID
- Temporary downloaded media files created during playback
I. Donations and payment-related information
I. Donations and payment-related information
J. Operational and error logging
J. Operational and error logging
- Error messages
- Stack traces
- Command or interaction context
- Identifiers included in error output
- Service or request failures
3. How Snowball uses information
Snowball uses information to:- Provide weather, AI, moderation, support, music, economy, and utility features
- Identify the right user, server, channel, or ticket for a request
- Respond to mentions, replies, commands, buttons, modals, and menus
- Maintain short-term conversational context for AI features
- Store moderation and support records
- Operate public server features such as starboard, birthdays, QOTD, and donation announcements
- Enforce cooldowns, limits, anti-duplication controls, and abuse-prevention rules
- Troubleshoot errors and keep the bot functioning
4. Retention and deletion
Below is Snowball’s current retention posture. Where a category below does not have a built-in automatic timer in the current codebase, that means Snowball does not yet enforce a fixed deletion deadline for that record type. In those cases, data may remain until it is manually deleted, deleted following a valid request, removed during maintenance, or no longer needed for the feature, safety, or legal purpose involved.A. AI and conversation data
A. AI and conversation data
| Record type | Retention |
|---|---|
| Conversation history | Latest 6 stored entries per user-plus-guild scope. Older entries are automatically removed on a rolling basis as new entries are saved. |
| Conversation thread entries | Up to 50 short message entries. A thread is marked expired after 15 minutes of inactivity. |
| Conversation summaries | Expired thread summaries may remain in the database after the thread expires. No general automatic purge is currently defined in code. |
| AI usage logs | Automatically purged after 48 hours. |
| AI limit-card markers | Date-scoped to the day they were created. No separate general cleanup job for historical marker rows is currently defined. |
| Reply tracking and personality preferences | Retained until changed, deleted, or removed following a valid request. No automatic purge is currently defined. |
| In-memory reply cache | Expires after 30 minutes. |
B. Tickets, moderation, and review workflows
B. Tickets, moderation, and review workflows
| Record type | Retention |
|---|---|
| Moderation cases | No general automatic purge is currently defined in code. Records are retained until deleted, replaced, or no longer needed for moderation, safety, legal, or operational reasons. |
| Ticket metadata | No general automatic purge is currently defined in code. |
| Ticket transcripts | Generated from Discord thread history when requested. No dedicated permanent transcript table is maintained, but Discord itself may retain the underlying thread messages until deleted from Discord. |
| Ticket ratings, escalation data, close reasons | No general automatic purge is currently defined in code. |
| Spotter applications and level reward submissions | No general automatic purge is currently defined in code. |
| Failed or removed ticket records | Some ticket rows are deleted automatically if ticket creation fails or if a tracked ticket thread is deleted. |
C. Community features
C. Community features
| Record type | Retention |
|---|---|
| Birthdays | Retained until the user removes the entry, the record is deleted on request, or it is otherwise no longer needed. A /birthday remove command is currently available. |
| QOTD submissions and approval records | No general automatic purge is currently defined in code. |
| Suggestions and bug reports | Currently forwarded to Discord channels rather than stored in a Snowball database table. Retention depends on Discord channel history unless those messages are deleted. |
| Starboard tracking data | Retained while the entry remains tracked. Starboard records may be deleted when the source entry is removed from tracking, but no full global purge schedule is defined for all starboard records. |
D. Economy, progression, and activity data
D. Economy, progression, and activity data
| Record type | Retention |
|---|---|
| Economy records, item records, arena records, role purchases, mission history, and progression data | No general automatic purge is currently defined in code. |
| Server levels and XP history fields | No general automatic purge is currently defined in code. |
| Aggregate message, join, leave, and activity data used for economy pricing | Stored as part of historical pricing records with no code-defined automatic purge. |
E. Donations and operational logs
E. Donations and operational logs
| Record type | Retention |
|---|---|
| Stripe processed event IDs | No general automatic purge is currently defined in code. |
| Donation-related server logs | No log-retention period is defined in current code. Retention depends on the hosting or logging environment in use. |
| Error logs forwarded to Discord or console | No global log-retention period is defined in current code. |
F. Pollers, caches, and temporary files
F. Pollers, caches, and temporary files
| Record type | Retention |
|---|---|
| Temporary in-memory feature caches (alert and story caches) | Expire after approximately 15 minutes. |
| Poller seen-state JSON files | Retain identifiers for roughly 24 to 48 hours depending on the poller TTL. |
| Temporary music or media files | Generally deleted after playback or when cleanup runs. |
Deletion requests
You may request deletion of stored Snowball data by contacting [email protected] or using the available support workflow. We may deny or limit deletion where we need to keep information for:- Moderation and safety records
- Fraud prevention or abuse prevention
- Security investigations
- Payment, tax, accounting, or dispute-handling obligations
- Legal compliance
- Other users’ rights or safety
5. Sharing and external services
Snowball shares data only as needed to operate the bot, process payments, provide external data sources, support music or media features, or comply with law.A. Discord
A. Discord
B. AI provider
B. AI provider
- Anthropic: Snowball sends AI prompts, limited context, images, and some conversation-summary content to Anthropic in order to generate AI replies and summaries.
C. Payments
C. Payments
- Stripe: Processes donations and payment-related data and sends webhook events back to Snowball.
D. Weather, geocoding, monitoring, and alert data services
D. Weather, geocoding, monitoring, and alert data services
- OpenWeatherMap
- OpenStreetMap Nominatim
api.weather.gov- Iowa State Mesonet
- Storm Prediction Center (SPC)
- Weather Prediction Center (WPC)
- National Hurricane Center (NHC)
- Instatus
- Spotter Network
- ACRCloud
E. Media and music services
E. Media and music services
- Spotify
- Deezer
- SoundCloud
- Apple Music page endpoints
yt-dlpand source hosts connected to the media URL a user provides
F. Operator-controlled or sibling infrastructure
F. Operator-controlled or sibling infrastructure
- A banner service
- Secure weather and camera proxy services
xtremewx.comservice endpoints and related operator-controlled infrastructure where used by Snowball features
6. AI-specific disclosures
If you use Snowball’s AI features, please read this section carefully.- Snowball may store short AI conversation history and thread summaries tied to your user ID and, in servers, the relevant guild scope.
- Snowball may process reply context, recent nearby channel context, and images if those are needed to answer your prompt.
- Snowball may send AI request content to Anthropic to generate a response or a summary.
- Snowball supports personality modes. Some personality modes are intentionally more sarcastic, chaotic, or abrasive than others. That affects tone, but not the fact that your inputs may still be processed and stored as described here.
- Turning AI replies off through Snowball’s AI settings stops Snowball from responding to you in those AI flows, but it does not automatically delete previously stored AI records.
- Snowball’s AI responses can be wrong, incomplete, or inappropriate. Users should not rely on them as professional, legal, medical, or emergency advice.
7. Your choices and rights
Depending on your use of Snowball, you may have the following options:- Access: Request a copy or summary of the Snowball data associated with your Discord account.
- Export: Request an export of stored Snowball data where reasonably possible.
- Deletion: Request deletion of stored Snowball data, subject to the limitations described above.
- AI opt-out: Use Snowball’s AI controls to disable AI replies to you.
- Birthday removal: Use the current birthday removal command (
/birthday remove) to delete your birthday entry. - Avoid optional features: You may choose not to use optional features such as AI chat, music uploads, suggestions, QOTD submission, or donation-linked identification fields.
- Server-level choices: Server owners or administrators choose whether to invite and configure Snowball in a server, and some features are limited to specific servers, channels, or roles.
/data export or /data delete command. Requests are currently handled manually. Submit requests through [email protected] or the available support workflow.8. Security and incident handling
Snowball currently uses a mix of technical and operational controls visible in the codebase, including:- Database-backed storage for persistent bot records
- Discord permission-gated commands for moderation and staff-only actions
- Ephemeral Discord replies in some sensitive interaction flows
- Outbound URL restrictions and private-host blocking for HTTP fetches
- Stripe webhook signature verification
- Role-based access patterns for some moderation, support, and review features
9. Children’s privacy
Snowball is intended for use on Discord and is not directed to children under the minimum age permitted by Discord or applicable law. Snowball does not knowingly solicit or intentionally collect personal information from users who are below the minimum age allowed to use Discord or the applicable service.10. Changes to this policy
We may update this Privacy Policy from time to time to reflect feature changes, legal requirements, operational changes, or updated data practices. When we do, we will update the effective date and version at the top of this policy.11. Contact
For privacy questions, access requests, export requests, deletion requests, or other data concerns, contact: Xtreme Weather / BP TechnologiesEmail: [email protected]
