Privacy is the default, not the upsell.
Plain-English summary: we collect your sign-in email and what you save in the app. We never sell or share your data. You can delete your account from inside the app and your data is gone immediately. The rest of this page is the detail.
1. Who runs 2UP
2UP is operated by Flipside, an independent studio (the "data controller" for the personal information described below). Postal address available on request via support@flipside.life or through Apple Developer's records. We have not appointed a Data Protection Officer because we are not required to under Article 37 GDPR.
2. Age requirement
You must be at least 13 years old to use 2UP. We do not knowingly collect personal information from children under 13. If you believe a child has provided us with data, email us and we will delete the account. We comply with the U.S. Children's Online Privacy Protection Act (COPPA) and similar international rules.
3. What we collect
We only collect what's needed to run the app. Specifically:
- Account information - your email address and a display name. Provided directly by you or by your sign-in provider (Apple, Google, Discord, Twitch). Stored in our database and linked to a user ID. Email/password sign-in stores a salted, one-way password hash; we never see your password in plaintext. Legal basis: contract performance (GDPR Art. 6(1)(b)).
- Linked sign-in methods - when you connect additional providers (e.g. signing up with Discord, then adding Google), we store the link between your account and each provider's user identifier so that signing in with any of them lands you on the same account. Legal basis: contract performance.
- App content you create - saved servers, character entries, lore journals, LFG posts, community contributions. Stored against your user ID. Legal basis: contract performance.
- Notification preferences and device tokens - which streamers or servers you've asked to be alerted about, plus a per-device push token issued by Apple. Legal basis: consent (you grant the notification permission), GDPR Art. 6(1)(a). You can withdraw at any time in iOS Settings.
- Region preference - used to default the server-list locale filter. Stored on your device using Apple's SwiftData framework. Never leaves the device.
- Crash & error reports - when an error occurs we may capture a stack trace and the iOS version via a crash reporting service. Reports are not linked to your name or email. Legal basis: legitimate interests (GDPR Art. 6(1)(f)) in maintaining app stability.
Categories under U.S. state laws (e.g. CCPA/CPRA)
For California residents and similar jurisdictions, the categories we collect are: Identifiers (email, name, user ID, device token); Internet or other electronic network activity (saved items, in-app content you create); Inferences (none - we do not profile). Sources: you, your sign-in provider, and Apple (for the device token). Business purpose for each category: providing the app's functionality. We retain them for the lifetime of your account.
4. What we don't collect
- We do not track you across other apps or websites.
- We do not sell or share personal information as those terms are defined under the California Consumer Privacy Act (Cal. Civ. Code §1798.140). We have not sold or shared personal information in the preceding 12 months and do not knowingly sell or share the personal information of consumers under 16.
- We do not use third-party analytics or advertising SDKs.
- We do not use automated decision-making or profiling within the meaning of GDPR Art. 22.
- We do not store the contents of private chats. 2UP is read-only against Twitch, Kick and FiveM/Cfx.re public APIs and does not connect to game voice or chat.
5. Third-party processors
To deliver the app we send data to a small set of service providers, each acting as a processor on our behalf under a written agreement:
- Database hosting - stores your account, saved items, characters and community content. US-based.
- API hosting - runs our backend and serves this website. US-based.
- Sign-in providers - Apple, Google, Discord or Twitch, only when you choose to sign in with one of them. The provider tells us your email and name so we can create your 2UP account. Each provider has its own privacy policy.
- Push notification delivery - Apple's push notification service delivers alerts to your device.
- In-app purchases - Apple's StoreKit processes Crew subscriptions and tips. We receive a transaction ID and entitlement state; we never see your payment details.
- Crash reporting - anonymous stack traces, only when this is enabled in your version of the app. No personal identifiers attached.
We also read from public Twitch, Kick and FiveM/Cfx.re APIs on your behalf. Those services see our backend's IP address, not yours.
International transfers
Some processors are based in the United States. Where personal data of EU/UK residents is transferred outside the EEA/UK, transfers rely on the European Commission's Standard Contractual Clauses (Decision 2021/914) and, where applicable, the EU-US Data Privacy Framework.
6. How long we keep data
- Account data - for as long as your account exists. Deleted within 7 days of account deletion (cascade through related tables).
- Crash reports - up to 90 days, then purged automatically.
- Cached server & stream data - up to 24 hours, refreshed continuously.
- Backups - encrypted, up to 30 days, then purged.
7. Security
All traffic between the app and our servers is encrypted in transit using TLS 1.2 or higher. Data at rest is encrypted using AES-256 at the database hosting provider. Passwords are hashed using a modern, salted, one-way function before storage. Push notification permission is opt-in: iOS asks you for permission, and you can revoke it at any time in Settings → Notifications → 2UP.
8. Your rights
You have the following rights over your personal data:
- Access & export - email us and we will send a JSON dump of your data within 30 days.
- Correction - most of it you can edit in the app; for anything else contact us.
- Deletion - in the iOS app, go to Settings → Delete Account. This removes your auth record and cascades through all data linked to it. The operation is permanent and takes effect immediately.
- Restriction of processing - you can ask us to stop processing your data while a dispute is being resolved.
- Objection - where we rely on legitimate interests, you can object and we will stop unless we can demonstrate overriding grounds.
- Withdraw consent at any time (e.g. by turning off notifications in iOS Settings). Withdrawal doesn't affect prior processing.
- Portability - the JSON export above covers this.
- Complain - you can lodge a complaint with your local data protection authority. In Australia, that's the Office of the Australian Information Commissioner (OAIC). In the EU, your national DPA. In the UK, the ICO.
9. Changes
If we change this policy materially we'll surface the update in-app and update the effective date at the top of this page. Continued use after the update means you accept the new terms.
10. Contact
Questions, deletion requests, data exports, security reports - support@flipside.life.