Sub-processors
Last updated: May 18, 2026
To deliver SwiftIn we engage a small number of third-party services. The table below lists each provider, the category of work it performs, the data it receives from us, and the country in which that data is processed. This page is the canonical source for our sub-processor list and is referenced from our Privacy Policy and Data Processing Agreement.
We notify Team plan Controllers by email at least 30 days before adding or replacing a sub-processor, giving them a reasonable opportunity to object (see DPA §5). Material changes to this list are tracked through the "Last updated" date above and are independent of our Terms and Privacy versioning.
Supabase
Authentication & DatabasePurpose. Managed Postgres database and authentication.
Data shared. Account information (email, hashed password, display name), usage counters, and translation history (only when a Pro or Team user has opted in to server-side history).
Google AI (Gemini API)
AI TranslationPurpose. AI translation inference via Gemini models.
Data shared. Source text submitted for translation. Requests are sent to Google’s Generative Language API and governed by Google’s API Terms.
Google AI (Gemini TTS)
Text-to-SpeechPurpose. Audio synthesis for text-to-speech.
Data shared. Target text for audio generation. Same API and terms as the Gemini translation endpoint.
DeepSeek
AI TranslationPurpose. AI translation inference.
Data shared. Source text submitted for translation. Governed by DeepSeek’s API terms.
xAI (Grok)
AI TranslationPurpose. AI translation inference.
Data shared. Source text submitted for translation. Governed by xAI’s API terms.
Google Translate (public endpoint)
AI TranslationPurpose. Free translation engine for the Free plan and Lite-mode fallback when AI quota is exhausted.
Data shared. Source text submitted for translation. Called directly from your browser on every path; SwiftIn’s servers do not proxy or relay these requests.
Microsoft Bing Translator
AI TranslationPurpose. Free translation engine for the Free plan and Lite-mode fallback when AI quota is exhausted.
Data shared. Source text submitted for translation. Called directly from your browser; SwiftIn’s servers do not proxy these requests.
Paddle
Card PaymentsPurpose. Card payment processing as Merchant of Record (handles VAT and tax remittance).
Data shared. Email address, billing address, subscription metadata. Card data is collected by Paddle directly and never reaches SwiftIn.
NOWPayments
Cryptocurrency PaymentsPurpose. Cryptocurrency payment processing.
Data shared. Order amount, plan metadata, and the receiving crypto wallet address for the payment intent.
Resend
Transactional EmailPurpose. Transactional email delivery (account verification, password resets, team invitations, billing receipts).
Data shared. Recipient email address, email content, and delivery metadata (timestamps, delivery status). Resend does not use this data for its own purposes.
Cloudflare (Turnstile)
Bot ProtectionPurpose. Sign-up captcha to prevent automated abuse.
Data shared. Captcha challenge solution and standard browser metadata. No email or password is sent to Cloudflare via Turnstile.
Vercel
Web HostingPurpose. Hosting for the SwiftIn website and dashboard at swiftin.dev.
Data shared. Standard HTTP request metadata (IP address, User-Agent, URL) for serving the website.
Railway
Backend HostingPurpose. Hosting for the SwiftIn backend API at api.swiftin.dev.
Data shared. Standard HTTP request metadata (IP address, User-Agent, URL) for serving API requests. Backend operational logs are stored here.
Sentry
Error MonitoringPurpose. Crash and error tracking, used to detect and resolve service-reliability issues (legitimate interest, GDPR Art. 6(1)(f)).
Data shared. Backend (Node/Express) error tracking captures stack traces, error messages, request URL/method, browser/OS metadata, and IP address; request bodies are captured with field-name redaction (password, token, secret, apiKey are replaced with [REDACTED]) and sensitive headers (Authorization, Cookie, payment-webhook signatures) are stripped before transmission. Web (browser) error tracking strips Authorization/Cookie headers; request/response bodies are not captured. Session Replay is enabled on the web dashboard only, at a 10% session sample rate and 100% on errors, with text content masked (maskAllText: true), media blocked (blockAllMedia: true), Supabase auth URLs excluded from network capture, and request/response headers not captured. Replays are kept for 90 days then automatically deleted by Sentry.
PostHog
Product AnalyticsPurpose. Product analytics for understanding feature usage. Strictly consent-based: off by default until you accept the cookie banner.
Data shared. Anonymous usage events and page views — only after explicit consent. Individual-user identification is not enabled.
Transfers outside the EEA
Most user data (account information, opted-in translation history, backend application data) is hosted in the European Union. Some sub-processors are located outside the EEA; where this applies to EU/EEA, UK, or Swiss residents' personal data, transfers are covered by the Standard Contractual Clauses (SCCs) adopted by the European Commission (Decision 2021/914) or, where the recipient has self-certified, by the EU-US Data Privacy Framework. Free-engine translation requests (Google Translate, Microsoft Bing) are issued directly from the user's browser to the engine provider; SwiftIn's servers do not proxy or relay these requests.
You may request a summary of the transfer mechanism for any specific provider by contacting legal@swiftin.dev.