Privacy Policy
Effective date: 17 May 2026 · Last updated: 17 May 2026
TL;DR
- The app works without an account. No email, phone, name, or password required.
- The only persistent identifier is the per-install
identifierForVendor— it resets if you delete the app. - We log taps, saves, likes, and skips so the For You feed can learn your taste. We never sell this data or share it with advertisers.
- Every film comes from the Internet Archive public-domain collection.
- Delete every byte of your data via Settings → Account → Delete account.
1. Data we collect
We collect the minimum needed to make the recommendation engine personal.
| Category | Examples | Purpose | Tied to identity? |
|---|---|---|---|
| Device identifier | identifierForVendor (Apple-issued per-install UUID) | Identify your account on the backend; resume watch position; keep your watchlist | Yes — resets when you delete the app |
| Product interactions | Films watched, completed, skipped, saved, hid, shared, liked | Train the For You recommendation algorithm | Yes |
| Preferences | Onboarding genres, session length, playback toggles | Personalisation | Yes |
| Crash diagnostics | Stack traces, device model, iOS version | Fix bugs | No (aggregated only) |
We do not collect:
- Your name, email address, phone number, or any contact info.
- Your location, contacts, photo library, microphone, camera, calendar, or health data.
- The IDFA (advertising identifier).
- Browsing history outside the app.
- Anything from third-party tracking SDKs — there are none.
2. Where the data lives
- Backend: Our API runs on Fly.io. User events, saves, and the films catalog live in a managed Postgres database in the same region as the API machine.
- Video & images: Films stream directly from
archive.org. Posters and backdrops are fetched from TMDB's CDN. We do not proxy or copy these assets. - On your device: Your settings, last watched position per film, and a small offline cache of poster images.
We do not transfer your data outside the regions above.
3. Sharing
We do not share your data with third parties for advertising, analytics, or any commercial purpose.
We may share aggregated, de-identified statistics publicly (e.g., "the average user watches 4 films per session") — these contain no identifiers.
The only third parties we touch directly are:
- Apple — for Sign in with Apple (opt-in), App Store crash reports, and push notifications.
- TMDB and OMDB — at content-pipeline time only, never with your data.
- Internet Archive — your device streams video directly from
archive.org. Your IP address is visible to them.
We do not use Google Analytics, Facebook SDK, Firebase Analytics, Mixpanel, Amplitude, or any similar service.
4. Your rights & choices
| Action | Where in the app |
|---|---|
| See your genre profile | Profile → Library counters |
| Reset watch history | Settings → Preferences → Reset watch history |
| Restart onboarding | Settings → Preferences → Restart onboarding |
| Delete your account and all data | Settings → Account → Delete account |
You can also email privacy@oddflick.com with "data deletion request" and your Diagnostic ID (Settings → About). We respond within 7 business days.
5. Children
The app is rated 12+ because the public-domain catalog includes classic horror and noir. We do not knowingly collect data from children under 13. Contact privacy@oddflick.com if you believe a child under 13 has used the app.
6. Security
- All traffic to our API is HTTPS (TLS 1.3).
- The database is encrypted at rest by Fly.io's managed Postgres.
- No password column exists — Sign in with Apple uses Apple's token system end-to-end.
- Crash reports are sanitised on-device before upload.
7. Changes to this policy
If we materially change what we collect or how we use it, we will:
- Update this page and bump the "Last updated" date.
- Show an in-app banner summarising the change.
- Let you delete your account before continuing if you disagree.
8. Contact
privacy@oddflick.com
This privacy policy is offered in plain English on purpose. If anything here is unclear, that's a bug — please tell us.