WatchSignal: Sub-Processor List
Last updated: 28 September 2026 (rev. 2)
This page lists the sub-processors (third-party service providers that process personal data on WatchSignal's behalf) in accordance with our Privacy Policy and GDPR Art. 28(3)(d) requirements.
WatchSignal is designed to minimise data sharing. Most app functionality (AI inference, portfolio tracking, watchlist, alerts) runs entirely on-device. Only the limited categories described below involve third-party processors.
Active Sub-Processors
| Sub-Processor | Purpose | Data Categories Processed | Server Location | Transfer Mechanism | GDPR Legal Basis | DPA Status |
|---|---|---|---|---|---|---|
| PostHog, Inc. (PostHog EU Cloud) | Usage analytics, understanding feature adoption and app performance | WatchSignal account ID (random, not Apple ID, name or email), screen views, feature interactions (e.g. "chart opened", "alert created", "signal generated"), app version, device type, OS version. Not linked to portfolio, watchlist, name or email. | Germany (EEA), no transfer outside the EEA for analytics | Not applicable, data stays within the EEA | Consent (Art. 6(1)(a)); chosen during onboarding, withdrawable in Settings β Privacy & Data | In place |
| Functional Software, Inc. d/b/a Sentry | Crash reporting and performance monitoring | Device model, OS version, app version, crash stack traces, error messages, performance spans, breadcrumb events (URLs stripped), persistent anonymous UUID. No portfolio data, ticker symbols, watchlist entries, or IP address. | EU (Frankfurt region) for EEA users | EU SCCs (Commission Implementing Decision (EU) 2021/914) | Legitimate interests (Art. 6(1)(f)) | In place |
| RevenueCat, Inc. | Subscription management, verifying and managing in-app subscription entitlements | App User ID (WatchSignal user_id), subscription status, purchase history, App Store receipt data |
United States (AWS) | EU SCCs (Commission Implementing Decision (EU) 2021/914) | Contract performance (Art. 6(1)(b)) | In place |
| Cloudflare, Inc. (Cloudflare Workers and D1) | Backend infrastructure: account sync (watchlist, alerts, preferences), push device tokens, alert configurations, referral attribution | Apple sub, user_id, relay email, device ID, watchlist/alert/preference data, push device tokens, alert configurations, referral identifiers and click records |
Sync data: WEUR (Western Europe) via Cloudflare D1. Workers and push delivery: global edge (nearest point of presence to the user) | EU SCCs (Commission Implementing Decision (EU) 2021/914) | Consent (Art. 6(1)(a)) for account sync; contract performance (Art. 6(1)(b)) for alerts and push delivery | In place (Cloudflare Customer DPA, incorporated in the Self-Serve Subscription Agreement) |
Other recipients (not sub-processors)
The following services receive requests from your device (and, for Apple, from our server when it checks your sign-in or delivers a push notification). Like any web server, they see the IP address of the device that makes the request. They are not sub-processors because they do not process data on WatchSignal's instructions; each acts under its own privacy policy. WatchSignal sends no account identifier to any of them.
| Service | Data Sent by App | Why Not a Sub-Processor |
|---|---|---|
Yahoo Finance (query1.finance.yahoo.com, query2.finance.yahoo.com) |
Ticker symbol (e.g. "AAPL") | Ticker symbols are not personal data (GDPR Recital 26). No user identifiers transmitted. |
Reddit (www.reddit.com) |
Ticker symbol + subreddit name | Ticker symbols are not personal data. No user identifiers transmitted. |
| Apple Inc. (Sign in with Apple, App Store billing, Apple Push Notification service) | Apple ID token exchange, in-app purchase, push token registration | Independent controller under Apple's privacy policy and developer terms; WatchSignal never receives payment details |
| Hugging Face, Inc. (huggingface.co) and its content delivery network | HTTP request for the on-device model files at first launch and on model updates (IP address, app user agent) | Public file host; no account identifier is sent and nothing is processed on WatchSignal's behalf |
Transfer Safeguards
For transfers from the EEA to US-based sub-processors (Sentry, RevenueCat, Cloudflare), WatchSignal relies on the European Commission's Standard Contractual Clauses (Commission Implementing Decision (EU) 2021/914), supplemented by:
- Encryption in transit (TLS 1.2+) and at rest
- Data minimisation: only the minimum necessary data is shared with each processor
- Contractual restrictions on use for own purposes by the processor
PostHog is hosted on PostHog EU Cloud, in Germany, within the EEA. No transfer safeguard is needed for analytics data because it does not leave the EEA.
Users in Brazil (LGPD, Law No. 13.709/2018): the same legal bases apply under LGPD Art. 7: consent is Art. 7, I; legal obligation is Art. 7, II; contract performance is Art. 7, V; legitimate interests is Art. 7, IX. International transfers from Brazil are made under LGPD Art. 33.
DPA Status Summary
| Sub-Processor | DPA Required | Status |
|---|---|---|
| PostHog | Yes (personal data under Art. 28) | In place |
| Sentry | Yes (personal data under Art. 28) | In place |
| RevenueCat | Yes (personal data under Art. 28) | In place |
| Cloudflare | Yes (personal data under Art. 28) | In place (Cloudflare Customer DPA, incorporated in the Self-Serve Subscription Agreement) |
Sub-Processor Change Notification
We will update this list when we add, remove, or replace a sub-processor. For material changes, we will provide at least 30 days' advance notice via the in-app notification system or email (where an email address is held). You may object to a new sub-processor by contacting us at privacy@watchsignal.ai.
Change Log
| Revision | Date | Summary |
|---|---|---|
| rev. 2 | 28 September 2026 | Corrected PostHog: EU Cloud in Germany, events linked to the account ID, consent basis. Updated Sentry (EU Frankfurt region) and Cloudflare (Workers and D1 account sync, WEUR storage). Moved Apple and Hugging Face to the other-recipients table. Removed Polygon.io (requests go through WatchSignal's own proxy). Removed the UK transfer wording. Updated DPA status. Added the LGPD note. |
| rev. 1 | 10 May 2026 | Initial publication. |
Questions? Contact us at privacy@watchsignal.ai