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.

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 groupCurrent retention
Recent message contextUp to 15 minutes.
Bridge synchronization records30 days after the mirror record is created.
Recent translation recordsA 48-hour history. The records expire after 72 hours without new activity.
Daily usage aggregates180 days after the last update.
Install and lifecycle measurementEligible for deletion after 13 calendar months.
Accounting recordsAt least seven years where Dutch tax law requires it.
Monthly usage totals13 calendar months after the recorded month ends.
Saved target language180 days after the member last sets or uses it.
Server setup and billing recordsKept while BabelBot remains in the server. They expire 180 days after BabelBot leaves. Rejoining during that period removes this expiry.
Email limits and cancellation feedbackEmail event and cancellation feedback records expire after 400 days. Monthly abandoned-checkout email limits expire 62 days after the recorded month ends.
Sign-in storageBabelBot uses the expiry supplied by the sign-in service. If that expiry is missing or invalid, the record expires after 30 days.
Removal tasksRecords 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 filesBabelBot keeps them until its team deletes them.
Recovery backupsBabelBot 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 sessionsKept 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 logsRetention 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.