Legal
Privacy Policy
Effective date: June 26, 2026
This Privacy Policy explains how GeneriQuote, a Discord application for generating quote images, collects, uses, stores, and deletes data. "GeneriQuote," "we," "us," and "our" refer to the operator of GeneriQuote: GenericGeorge. "You" and "your" refer to the person using GeneriQuote or the server, community, or organization using it.
1. What GeneriQuote Does
GeneriQuote turns Discord messages and user-provided preview content into styled PNG quote images. The app may use Discord message context menu commands, slash commands, quote history features, private downloads, regenerate controls, export/delete tools, server configuration, and a web preview endpoint.
GeneriQuote is not Discord. Discord controls Discord accounts, servers, messages, permissions, APIs, and client behavior. Your use of Discord remains governed by Discord's own terms and privacy policy.
2. Data We Collect or Process
Depending on how GeneriQuote is configured and which features you use, we may collect, store, or process the following data.
Discord account identifiers
We may store the Discord user ID of the person using GeneriQuote. We use this to identify the owner of saved quotes, load user settings, provide export and delete controls, apply rate limits, and keep private history attached to the correct Discord account.
Discord server and channel identifiers
When a quote is created in a Discord server or channel, we may store guild/server IDs and channel IDs. When the bot is installed in a server, we may also store the server name, whether the bot is currently a member, join/leave timestamps, and last-seen timestamps. We use these for quote records, server configuration, permission policy, render queue records, troubleshooting, future usage statistics, and server-level features.
Source message information
When you create or save a quote from a Discord message, we may store source message IDs, quoted message text, the source author's user ID, display name, and username when available. We use this to save quote history, show quote history or search results, regenerate quote images, and export quote records.
Reply and attachment information
If reply context or attachments are included in a quote, we may store reply text and attachment or render metadata. We use this to recreate the quote layout and preserve the saved quote record accurately.
Generated quote images
GeneriQuote may store generated PNG quote images in the configured storage location, along with asset metadata such as storage driver, storage key, content type, byte length, creation time, and optional expiry. We use this for download links, saved quote retrieval, regeneration, and quote history features.
Quote rendering settings
We may store render input, render configuration, render theme, layout, theme choice, avatar style, quote marks, accent bar, avatar frame, reply and attachment toggles, custom colors, and font choice. We use these settings to render quote images, regenerate saved quotes, and preserve user styling preferences.
User configuration
We may store per-user quote style settings and server quote feature preferences keyed by Discord user ID. If
no database is configured, this may be stored in data/user-configs.json. We use this to remember
each user's preferred quote style and to respect whether their eligible server-created quotes may be used by
future server quote features.
Server configuration
We may store per-server defaults and controls, including default theme, default layout, public posting setting, personal override setting, allowed channel ID, admin role ID, asset retention days, and metadata retention days. We use this for server-level GeneriQuote behavior, moderation controls, and configuration.
Download and regenerate action tokens
We may store temporary tokens linked to a quote ID, owner user ID, action type, creation time, and expiry time. We use these for short-lived download and regenerate buttons or links.
Render queue and job records
We may store render job records, including job ID, owner user ID, guild ID, channel ID, interaction ID, quote ID, job type, status, queue position, error message, and timestamps. We use these for queue status, render progress, failure reporting, and recent job history.
Rate limit data
We may process recent request timestamps keyed by user ID and guild ID in memory. If persistent rate-limit logging is enabled, we may store rate-limit bucket, subject ID, and timestamp. We use this to prevent spam, abuse, and excessive render load.
Logs and diagnostics
We may store timestamped operational events and errors. Depending on the event, logs may include interaction
IDs, quote IDs, user IDs, guild IDs, channel IDs, command names/options, quote generation events, deletion
events, short quote text or render metadata, error messages, and stack traces. We use logs for debugging,
reliability, command auditing, moderation review, abuse investigation, and service maintenance. File logging
may write to data/app.log when enabled.
Temporary preview input
When you use /quote-preview or the web preview endpoint, GeneriQuote may process preview quote
text, preview author or display name, username, avatar URL, image URL, reply text, and render settings. We use
this to generate temporary preview images. Preview input is not part of saved quote history unless a separate
save flow is used.
3. How We Use Data
We use the data described above to:
- Generate quote images and previews.
- Save, search, retrieve, export, delete, and regenerate quote history.
- Remember quote styling preferences.
- Apply server-level configuration and moderation controls.
- Track where the bot is installed for server statistics and future server features.
- Provide private download and regenerate actions.
- Run render queues and report render progress or failures.
- Prevent spam, abuse, and excessive load.
- Debug errors, maintain reliability, and secure GeneriQuote.
- Respond to user requests, reports, policy issues, or legal obligations.
We do not use Discord message content, quote history, generated quote images, or Discord API data obtained through GeneriQuote to train, fine-tune, or build machine learning models.
4. Legal Bases and Consent
Where privacy law requires a legal basis, we process data as needed to provide GeneriQuote, perform requested quote-generation features, maintain service security and reliability, comply with legal obligations, and pursue legitimate interests such as abuse prevention and debugging.
When you use GeneriQuote to quote another person's message, you are responsible for making sure your use of that content is permitted by Discord's rules, server rules, applicable law, and the expectations of the people involved.
5. Sharing and Disclosure
GeneriQuote does not sell personal data.
We may share or disclose data only when needed to:
- Operate hosting, database, storage, logging, or infrastructure services used by GeneriQuote.
- Provide generated quote images, downloads, exports, and other features you request.
- Investigate abuse, security issues, service misuse, or policy violations.
- Comply with law, legal process, or enforceable government requests.
- Protect the rights, safety, and security of users, communities, Discord, GeneriQuote, or others.
- Transfer operation of GeneriQuote as part of a merger, acquisition, reorganization, or similar change, subject to this policy or a replacement policy.
Generated images and download links may be shared by users outside GeneriQuote. Once you download or repost a generated image, that copy is controlled by you and by the platform where you share it.
6. Retention
We keep data only as long as reasonably needed for the purposes described in this policy, unless a longer period is required for security, abuse prevention, troubleshooting, backups, legal compliance, or dispute handling.
Saved quote history and generated PNG assets may remain until deleted by the user, expired by retention settings, removed by server or operator action, or no longer needed to provide the feature. When a quote is deleted, it may be hidden from normal in-app views immediately while remaining in backend storage for a limited moderation and abuse-review period before hard deletion. During that period, deleted quote records are not publicly visible through normal GeneriQuote features.
Download and regenerate tokens are intended to be temporary and expire after a limited period. Logs, backups, cached files, rate-limit data, and operational records may remain for a limited time after quote records are deleted where reasonably necessary for security, recovery, debugging, or compliance.
7. Your Controls
GeneriQuote currently provides these user-facing controls:
/quote exportexports saved quote metadata for the requesting user./quote deletesoft-deletes one saved quote owned by the requesting user./quote delete-allsoft-deletes all saved quotes owned by the requesting user./quote privacydisplays a short in-app summary of stored quote history fields./quote-config settings server_quote_features:falseopts your quotes out of future server quote features.
Deletion may be implemented as a soft delete in the database, meaning the record is no longer returned through normal user commands and is not publicly visible through GeneriQuote, but may remain in backend moderation records, backups, logs, caches, or operational records for a limited time.
To request help with privacy, deletion, access, or other data questions, contact us at contact@genericgeorge.com.
8. Server Administrator Controls
Server owners and administrators may be able to configure server-level GeneriQuote settings, including default themes, layouts, allowed channels, admin roles, public posting policy, personal override policy, and retention settings.
Server administrators are responsible for deciding whether GeneriQuote is appropriate for their community and for communicating server-specific rules to members.
9. Security
We use reasonable technical and organizational measures designed to protect GeneriQuote data from unauthorized access, loss, misuse, or alteration. No system is perfectly secure, and we cannot guarantee absolute security.
You should treat generated quote images and shared download links carefully. Anyone who receives a valid download link may be able to access the linked image until the link expires or is disabled.
10. Children
GeneriQuote is intended for users who are old enough to use Discord in their location. GeneriQuote is not directed to children under 13 or to anyone below the minimum age required by Discord and applicable law.
11. International Use
GeneriQuote may be operated from and store data in locations different from where you live. By using GeneriQuote, you understand that data may be processed in the places where GeneriQuote's operator and service providers maintain systems.
12. Changes to This Policy
We may update this Privacy Policy from time to time. The updated policy will be effective when posted or otherwise made available, unless a later effective date is stated.
If changes are material, we may provide additional notice where practical or required. Your continued use of GeneriQuote after an updated policy takes effect means you accept the updated policy.
13. Contact
Questions, requests, and privacy reports about GeneriQuote should be sent to:
GenericGeorge
contact@genericgeorge.com
genericgeorge.com