bGuru Sub-Processor List
Version 0.1.0-draftdraft
bGuru Sub-Processor List
This is the public list of all third-party sub-processors that bGuru engages to provide the Service. We update this list when a sub-processor is added, removed, or replaced — see the Changelog at the bottom of this page.
For the legal framework that governs these relationships, see:
- Privacy Policy §5 (Sub-processors)
- GDPR Art. 28 (Processor obligations) — applies for users in the EU/EEA
- UK GDPR Art. 28 — applies for users in the UK
- Israeli Privacy Protection Law 5741-1981 + Amendment 13 — applies for users in Israel
- Comparable obligations under CCPA / CPRA / VCDPA / CPA / etc. for US users; under APPI / PIPA / PDPA / POPIA / etc. for users in other jurisdictions
If you have a question about any sub-processor, contact legal@bguru.app. We commit to responding within one month per GDPR Art. 12(3) and equivalent obligations.
Active sub-processors (MVP)
1. Supabase, Inc. — backend platform
- Purpose: Postgres database, authentication, storage, edge functions, real-time subscriptions.
- Data categories processed: account data (email, hashed password, OAuth identifier, display name), prediction data (picks, scores, conviction values), social data (groups, follows, comments, reactions), session tokens (JWT).
- Data residency: Frankfurt, Germany (
eu-central-1). bGuru migrated to Frankfurt on 2026-05-29 specifically to maintain EU data residency. - Sub-processor of Supabase: AWS (infrastructure layer; AWS Frankfurt).
- Legal basis for transfer to Supabase: For EU/UK users: data stays in Frankfurt (no international transfer). For US/Israel/rest-of-world users: contractual processor relationship under each jurisdiction's local law.
- DPA: Supabase's standard DPA (GDPR Art. 28 + UK Addendum); see https://supabase.com/legal/dpa.
- Privacy Policy of provider: https://supabase.com/privacy
2. OneSignal, Inc. — push notification delivery
- Purpose: Delivery of push notifications to user devices (iOS APNs + Android FCM).
- Data categories processed: OneSignal player_id (a unique device identifier issued by OneSignal), push token (issued by Apple APNs or Google FCM), notification preferences (opt-in/opt-out, topic subscriptions), notification delivery telemetry (sent / received / clicked).
- Data residency: United States (primary); EU mirroring optional.
- Legal basis for transfer to OneSignal: For EU/UK users: International Data Transfer Agreement (IDTA) / EU Standard Contractual Clauses (SCCs) Annex I-III per Implementing Decision (EU) 2021/914, supplemented by OneSignal's EU-US Data Privacy Framework certification. For Israeli users: PPL Regulations (Transfer of Data Abroad) 2001 with DPA-equivalent contractual protections.
- DPA: OneSignal's standard DPA; see https://onesignal.com/dpa.
- Privacy Policy of provider: https://onesignal.com/privacy_policy
3. Functional Software, Inc. (dba Sentry) — crash reporting + performance monitoring
- Purpose: Application error tracking, crash reporting, performance monitoring.
- Data categories processed: device model, operating system + version, app version, anonymised user identifier, error stack traces, network request metadata (URL only, no body), performance metrics (route render times, etc.). No email, no display name, no prediction content — explicitly scrubbed in
bGuruApp/src/lib/sentry.tsbeforeSendcallback. - Data residency: EU region (
sentry.io/eu). Specifically chosen to maintain bGuru's EU data residency posture (matches Supabase Frankfurt). - Sample rates at MVP: errors 100% (capture all), performance 10%, session replay 0% (off).
- Retention: 30 days (Sentry's default; matches the free Developer tier).
- Legal basis for transfer to Sentry: For EU/UK users: data stays in EU (no international transfer). For Israeli users: PPL adequate-country list (EU = adequate). For US users: standard processor relationship under CCPA Art. 1798.140(o).
- DPA: Sentry's standard DPA (GDPR Art. 28); see https://sentry.io/legal/dpa/.
- Privacy Policy of provider: https://sentry.io/privacy/
4. API-Football (API-Sports) — sports data feed
- Purpose: Sports fixtures, results, statistics, team data, league data.
- Data categories processed: None of bGuru's user personal data is transmitted to API-Football. This is a one-way ingest from API-Football to bGuru's servers (Supabase Frankfurt). API-Football has no view of bGuru's users.
- Data residency: France (API-Football's servers).
- Why on the sub-processor list: For transparency. API-Football is technically not a personal-data sub-processor (no personal data flows), but listing here makes the data-flow architecture fully visible.
- DPA: Not required (no personal data processed by API-Football on bGuru's behalf).
- Privacy Policy of provider: https://www.api-football.com/privacy
5. Apple, Inc. — App Store distribution + platform services
- Purpose: iOS app distribution, App Store / TestFlight, push notification routing (APNs), platform-level telemetry (crash reports via Apple's built-in mechanism, install metrics, etc.).
- Data categories processed: Apple ID (account-creation identity), device identifiers (vendor identifier per IDFV, NOT IDFA — bGuru does not request IDFA per Q6.3), platform crash logs (Apple's built-in mechanism, in addition to Sentry).
- Data residency: Worldwide (Apple's infrastructure).
- Legal basis for transfer to Apple: Standard platform-tier processor relationship. Apple's data handling is governed by Apple's own Privacy Policy.
- DPA: Apple's developer terms include data-processing provisions.
- Privacy Policy of provider: https://www.apple.com/legal/privacy/
6. Google LLC — Play Store distribution + platform services
- Purpose: Android app distribution, Play Store, Google Play services (push notification routing via FCM, Play Integrity, etc.).
- Data categories processed: Google account (account-creation identity), Android advertising identifier (GAID, NOT read by bGuru — per Q6.3), platform crash logs (Play Console Vitals, in addition to Sentry).
- Data residency: Worldwide (Google's infrastructure).
- Legal basis for transfer to Google: Standard platform-tier processor relationship.
- DPA: Google Play's developer terms include data-processing provisions.
- Privacy Policy of provider: https://policies.google.com/privacy
7. Cloudflare, Inc. — mini-site CDN + DDoS protection
- Purpose: Hosting of the public mini-site (
bguru.app) including the Terms of Service, Privacy Policy, Cookie Policy, Community Guidelines, sub-processor list page, and (later) share-link SSR pages. CDN, DNS, DDoS mitigation, Web Application Firewall. - Data categories processed: IP address (transient, for routing + bot-detection), browser User-Agent string (transient), Cloudflare's bot-detection cookie (essential function only, not behavioural).
- Data residency: Worldwide (Cloudflare's edge CDN); EU edge nodes serve EU visitors per Cloudflare's data residency commitments.
- Legal basis for transfer to Cloudflare: For EU/UK users: EU SCCs + Data Privacy Framework. For Israeli users: PPL DPA-equivalent contractual protections.
- DPA: Cloudflare's standard DPA; see https://www.cloudflare.com/cloudflare-customer-dpa/.
- Privacy Policy of provider: https://www.cloudflare.com/privacypolicy/
Sub-processors used by sub-processors (transitively disclosed)
For transparency, bGuru's primary sub-processors above themselves rely on the following infrastructure-tier providers:
- AWS (Amazon Web Services) — used by Supabase for Frankfurt-region database + storage hosting.
- Apple APNs / Google FCM — used by OneSignal for the actual push delivery transport.
- Stripe — NOT currently used (no payment processing at MVP). Will be added in a future version if/when paid tiers ship (per ToS §8 + decisions-log.md "Tipster fairness" entry).
Inactive / not-yet-used sub-processors (for transparency)
- Stripe / Paddle / other payment processor — NOT used at MVP. Will be added when paid Premium Tipster tier ships (MVP+2 per decisions-log).
- AdMob / other advertising network — NOT used at MVP per Q6.1. Will be added when next version activates advertising (per T9.6 trigger).
- k-ID / PRIVO / SuperAwesome KWS / Yoti (parental-consent providers) — NOT used at MVP. Will be added when Brazil / India / Canada / Quebec / Belgium markets are opened in v1.1 (per Q10 + Q12 deferred-markets entry).
- Translation services — NOT used at MVP. Will be added when French / Dutch / German translations are commissioned for v1.1 Canada / France / Belgium re-opening.
How we choose sub-processors
For every prospective sub-processor, bGuru evaluates:
- Data minimisation — the sub-processor must process only the data necessary to perform its function.
- Data residency — preference for EU-region providers where available (matches our Frankfurt Supabase posture).
- Contractual protections — GDPR Art. 28-compliant DPA, UK GDPR equivalent, PPL-equivalent contractual protections, equivalent obligations under all other applicable laws.
- Sub-processor transparency — the sub-processor must publish its own sub-processor list and notify of changes.
- Security posture — current SOC 2 Type II report, ISO 27001 certification, or equivalent.
How to be notified of changes
We update this page when sub-processors change. For users who want active notification of changes:
- EU / UK / Israel users — material additions of sub-processors (a category-of-data change, a data-residency change) are subject to the standard ToS §15 30-day material-change notice flow (in-app banner + email if you've provided one).
- Other users — same notification mechanism applies.
- Continuous monitoring — you may also subscribe to this page directly via the bGuru changelog feed (planned for v1.1).
Changelog
| Date | Change |
|---|---|
| 2026-05-31 | Initial v0.1.0-draft. Active sub-processors: Supabase, OneSignal, Sentry (EU), API-Football, Apple, Google, Cloudflare. Companion to Privacy Policy v0.1.0-draft. |