Last updated: April 21, 2026
Shopforge B.V. ("we", "us", "our"), trading as Contrarian Analysis, operates the Contrarian Analysis mobile application and web app (the "Service"). This policy explains what personal data we process, why, on what lawful basis, who we share it with, and the rights you can exercise. It is written to meet the standard set by the EU General Data Protection Regulation (GDPR) and the UK GDPR. If you are an EU or UK resident, this policy forms part of your data-processing contract with us.
Data controller: Shopforge B.V., trading as Contrarian Analysis, Oosteinde 6, 1474 MB Oosthuizen, The Netherlands. KvK (Netherlands Chamber of Commerce) 42027447 · VAT NL00541246B85. Reachable at privacy@contrariananalysis.app. A formal data-protection officer has not been appointed; the email address above is monitored for all privacy-related correspondence.
We categorise data by source and purpose.
When you subscribe, Stripe (web) or RevenueCat + Apple/Google (mobile) collects and stores your card or in-app-purchase details directly. We only store the resulting subscription ID, tier, and renewal date — never your card number, CVV, or billing address.
Each processing activity uses the lawful basis below. You can withdraw consent at any time; where the basis is "contract", withdrawing means terminating the Service.
| Processing | Lawful basis |
|---|---|
| Creating and maintaining your account | Art. 6(1)(b) — contract |
| Delivering AI analyses, watchlist, alerts, portfolio | Art. 6(1)(b) — contract |
| Community features (leaderboard, chat, comments, follows) | Art. 6(1)(b) — contract |
| Push notifications (price alerts, copytrade, digest) | Art. 6(1)(a) — consent (per-device opt-in) |
| Rate-limiting and abuse prevention | Art. 6(1)(f) — legitimate interest (platform integrity) |
| Crash reporting and error logs | Art. 6(1)(f) — legitimate interest (quality and security) |
| Billing and subscription management | Art. 6(1)(b) — contract |
| Responding to legal requests | Art. 6(1)(c) — legal obligation |
Your data is stored in Google Cloud Firestore in the us-central1 region (Iowa, USA). We rely on the European Commission-approved Standard Contractual Clauses (SCCs) incorporated into Google's Cloud Data Processing Addendum as the transfer mechanism for data exported from the EEA / UK. A copy of the applicable DPA is available on request.
Access is governed by Firebase Security Rules: your private subcollection (email, subscription, watchlist, tracked picks, FCM token) is readable only by you and by our Cloud Functions running as Firebase Admin. Public profile data is readable by other signed-in users.
The providers below process data strictly to deliver the Service. We have executed a Data Processing Addendum with each, either directly or via the parent platform's standard DPA.
| Sub-processor | Purpose | Data shared |
|---|---|---|
| Google Firebase | Authentication, database, hosting, Cloud Functions, Cloud Messaging, Crashlytics, reCAPTCHA Enterprise | All account and usage data |
| Anthropic (Claude API) | Generates AI analyses | Ticker, company name, your free-form thesis text; no account identifiers |
| Stripe | Web subscription payments | Email, Stripe customer ID, your UID for webhook reconciliation |
| RevenueCat | Mobile subscription entitlement management | App user ID (your UID), purchase receipts forwarded from Apple/Google |
| Apple App Store / Google Play | Mobile in-app purchases | Handled by the platform — we receive only the validated receipt via RevenueCat |
| Financial Modeling Prep (FMP) | Stock fundamentals and price data | Ticker symbols only; no user data |
| Finnhub | Alternative price provider | Ticker symbols only; no user data |
| Twelve Data | Alternative price provider | Ticker symbols only; no user data |
| Tiingo | Alternative price provider | Ticker symbols only; no user data |
| Alpha Vantage | Alternative price provider | Ticker symbols only; no user data |
| Yahoo Finance (via public endpoints) | Fallback price and quote data | Ticker symbols only; no user data |
| Clearbit | Public company-logo fetch | Company domain names only; no user data |
We do not sell or trade your data. No advertising networks, analytics brokers, or data-broker services are used.
The web Service uses:
The web Service does not use advertising cookies, analytics-broker pixels, or cross-site trackers. No ePrivacy consent banner is therefore shown for non-essential trackers because none are loaded — a one-time pre-signup banner still informs you of the essential / security cookies above.
You must confirm you are at least 18 years old before creating an account. We do not knowingly process data from anyone under 16 without verifiable parental consent. If you believe a minor has created an account, email us and we will verify and delete it.
If we become aware of a personal-data breach that is likely to result in a risk to you, we will notify the relevant supervisory authority within 72 hours and, where required by law, inform affected users without undue delay.
When we change this policy materially, we will surface a notice in the app the next time you sign in. The "Last updated" date at the top is authoritative.
Privacy enquiries, erasure requests, or complaints: privacy@contrariananalysis.app.
© 2026 Contrarian Analysis. All rights reserved.