Subprocessors and Data Details
Effective Date: July 31, 2026
This page provides the detailed layer of the BabelBot privacy notice. It lists the external providers we use and gives more information about data categories and retention. A provider can act as our processor or as an independent controller, depending on its service and legal duties. Read the Privacy Policy.
For data-processing agreement requests, transfer questions, or provider concerns, contact [email protected].
Current Providers
- Discord
- PurposeDiscord platform, bot gateway, OAuth login, server membership checks, messages, reactions, attachments, and account information required to operate BabelBot.Data ProcessedDiscord account IDs, server IDs, channel IDs, message content processed in real time, attachment URLs, OAuth profile data, and permission information.Processing LocationUnited States and other regions where Discord operates.
- OpenRouter
- PurposeAI model routing for translation, language detection, image or media text extraction, and speech-to-text transcription.Data ProcessedMessage text, selected attachment content, voice transcription payloads, target language settings, and request metadata needed to return translations.Processing LocationUnited States and other regions used by OpenRouter or its routed model providers.
- Polar.sh
- PurposeCheckout, subscription management, customer portal access, invoices, tax handling, payment records, and billing webhooks.Data ProcessedBilling identifiers, customer records, subscription status, payment metadata, invoice data, tax records, and customer portal events.Processing LocationEuropean Union and other regions used for payment processing.
- Vercel
- PurposeMarketing website hosting, edge delivery, deployment infrastructure, logs, and security controls.Data ProcessedMarketing website request metadata, IP-derived operational data, headers, URLs, user agent strings, and deployment logs.Processing LocationUnited States, European Union, and other Vercel infrastructure regions.
- Railway
- PurposeDiscord bot and dashboard hosting, managed Redis and PostgreSQL storage, private object-storage backups, application logs, deployment infrastructure, and internal networking.Data ProcessedDiscord message content processed by the bot, recent context, Discord and dashboard identifiers, server configuration, bridge records, billing state, authentication data, operational logs, and Redis recovery backups.Processing LocationUnited States for the bot, dashboard, Redis, and PostgreSQL services, and the Netherlands for the backup bucket.
- PostHog
- PurposeCookieless analytics for aggregate marketing-site and dashboard usage measurement.Data ProcessedPage views, referrer data, device/browser category, approximate location, interaction events, and performance metrics without cross-site advertising cookies.Processing LocationEuropean Union, where the PostHog project is hosted.
- Resend
- PurposeTransactional billing and lifecycle emails for dashboard users and customers.Data ProcessedEmail addresses, email delivery metadata, and the transactional email content needed for billing or account communication.Processing LocationUnited States and other regions used for email delivery.
| Provider | Purpose | Data Processed | Processing Location |
|---|---|---|---|
| Discord | Discord platform, bot gateway, OAuth login, server membership checks, messages, reactions, attachments, and account information required to operate BabelBot. | Discord account IDs, server IDs, channel IDs, message content processed in real time, attachment URLs, OAuth profile data, and permission information. | United States and other regions where Discord operates. |
| OpenRouter | AI model routing for translation, language detection, image or media text extraction, and speech-to-text transcription. | Message text, selected attachment content, voice transcription payloads, target language settings, and request metadata needed to return translations. | United States and other regions used by OpenRouter or its routed model providers. |
| Polar.sh | Checkout, subscription management, customer portal access, invoices, tax handling, payment records, and billing webhooks. | Billing identifiers, customer records, subscription status, payment metadata, invoice data, tax records, and customer portal events. | European Union and other regions used for payment processing. |
| Vercel | Marketing website hosting, edge delivery, deployment infrastructure, logs, and security controls. | Marketing website request metadata, IP-derived operational data, headers, URLs, user agent strings, and deployment logs. | United States, European Union, and other Vercel infrastructure regions. |
| Railway | Discord bot and dashboard hosting, managed Redis and PostgreSQL storage, private object-storage backups, application logs, deployment infrastructure, and internal networking. | Discord message content processed by the bot, recent context, Discord and dashboard identifiers, server configuration, bridge records, billing state, authentication data, operational logs, and Redis recovery backups. | United States for the bot, dashboard, Redis, and PostgreSQL services, and the Netherlands for the backup bucket. |
| PostHog | Cookieless analytics for aggregate marketing-site and dashboard usage measurement. | Page views, referrer data, device/browser category, approximate location, interaction events, and performance metrics without cross-site advertising cookies. | European Union, where the PostHog project is hosted. |
| Resend | Transactional billing and lifecycle emails for dashboard users and customers. | Email addresses, email delivery metadata, and the transactional email content needed for billing or account communication. | United States and other regions used for email delivery. |
Data Details
These descriptions explain the main technical data groups. They support the summary in the Privacy Policy without listing internal database fields or infrastructure keys.
- Messages and recent context
- BabelBot can temporarily keep the current message and up to five earlier eligible messages from the same channel or thread. Context records can include limited message text, message and author IDs, and timestamps. They expire after up to 15 minutes or when newer messages replace them.
- Attachments and media
- BabelBot receives attachment URLs, file metadata, embeds, stickers, and other Discord media needed for enabled translation features. Relevant content can be sent to an AI provider. BabelBot does not keep attachment files in its primary application storage.
- Server settings and opt-outs
- BabelBot stores server and channel IDs, language settings, enabled features, ignored user IDs, bridge settings, webhook configuration, and other settings selected by server administrators. BabelBot keeps these records while it remains in the server. They expire 180 days after BabelBot leaves. If BabelBot rejoins during that period, BabelBot keeps them while it remains in the server.
- Dashboard accounts
- Dashboard records can include Discord account details, email address, profile image, OAuth tokens, sessions, IP address, user agent, roles, access restrictions, and account-administration metadata.
- Usage and billing
- BabelBot stores translation totals, quota records, plan status, customer and subscription identifiers, billing events, and support records. Usage counters do not contain message text.
- Bridges and diagnostics
- Bridge records connect source messages to translated copies so BabelBot can synchronize edits, deletions, replies, and reactions. Diagnostic records can include Discord, provider, model, outcome, timing, and error identifiers. Authorized diagnostic exports can contain current Discord message content, author data, attachment URLs, and related metadata.
- Analytics and local storage
- BabelBot uses cookieless analytics and performance measurement for the website and dashboard. Data can include page views, interactions, referrers, browser or device category, approximate location, and performance information. Cookies and browser storage support authentication, locale, interface preferences, and onboarding state. BabelBot does not use advertising cookies.
- Install and lifecycle measurement
- BabelBot records install source, server joins, setup milestones, first translation, first payment, active-server events, and removal times. It briefly uses an IP-derived rate-limit key to prevent automated install-link abuse.
- Recovery backups and logs
- Recovery backups can contain server settings, billing state, bridge records, recent context, traces, and cached dashboard authentication data. Operational logs can contain request metadata, Discord identifiers, provider results, and error information.
Retention Details
| Data group | Current retention |
|---|---|
| Recent message context | Up to 15 minutes. |
| Bridge synchronization records | 30 days after the mirror record is created. |
| Recent translation records | A 48-hour history. The records expire after 72 hours without new activity. |
| Daily usage aggregates | 180 days after the last update. |
| Install and lifecycle measurement | Eligible for deletion after 13 calendar months. |
| Accounting records | At least seven years where Dutch tax law requires it. |
| Monthly usage totals | 13 calendar months after the recorded month ends. |
| Saved target language | 180 days after the member last sets or uses it. |
| Server setup and billing records | Kept while BabelBot remains in the server. They expire 180 days after BabelBot leaves. Rejoining during that period removes this expiry. |
| Email limits and cancellation feedback | Email event and cancellation feedback records expire after 400 days. Monthly abandoned-checkout email limits expire 62 days after the recorded month ends. |
| Sign-in storage | BabelBot uses the expiry supplied by the sign-in service. If that expiry is missing or invalid, the record expires after 30 days. |
| Removal tasks | Records used to finish removing deleted channels and webhooks expire after 30 days. Translation thread deletion records expire 365 days after the scheduled deletion time. |
| Admin-requested troubleshooting files | BabelBot keeps them until its team deletes them. |
| Recovery backups | BabelBot creates a Redis backup every 15 minutes. It keeps every backup for 2 days. It then keeps one backup per hour through day 14, one per day through day 90, and one per month through day 365. Backups expire after 365 days. Deleting data from the live service does not delete the same data from existing backups. That data remains until each backup expires. BabelBot uses backups only to restore the service. |
| Dashboard accounts and sessions | Kept while the account remains active or while needed for security, fraud prevention, recovery, support, billing, and legal duties. Expired sessions can be removed earlier. |
| Operational logs | Retention depends on the current hosting and monitoring configuration. Logs remain only while available under those configured limits. |
Updates and Objections
BabelBot may update this page when subprocessors change. Where required by law or a signed data-processing agreement, BabelBot will provide notice before adding a new subprocessor and will consider timely objections related to data-protection risk.