Legal
Twist Privacy Policy
This Privacy Policy explains how Twist — an iPhone and iPad app operated by Banana Apps LLC ("Banana Apps," "we," "us," or "our") — handles information. The getbananaapps.com website has separate practices described in the Website Privacy Policy and Cookie Policy.
Who we are and scope
Banana Apps LLC operates Twist, a short-form vertical-drama iOS and iPadOS app. This policy covers the Twist app. It does not cover the getbananaapps.com website, which is described in the Website Privacy Policy and Cookie Policy.
Privacy requests and privacy questions: [email protected]. Legal and business questions: [email protected].
Mailing address: [BUSINESS MAILING ADDRESS].
Quick summary
- Twist does not ask you for your name, email address, phone number, password, age, physical address, payment details, or a social account.
- Twist has no advertising, no App Tracking Transparency prompt, and no cross-app tracking.
- When Twist begins synchronizing viewer state, the Supabase Swift SDK automatically creates an anonymous guest service account so protected media and viewer-state syncing can work.
- Saves and watch progress may synchronize to that guest account. Likes, selected genres, and preferences currently stay on the device.
- Twist does not yet provide verified full deletion of that guest account. See Delete Account.
Data stored on the device
Twist stores the following on your device using Apple's UserDefaults and the iOS Keychain (used by the Supabase Swift SDK to hold its Auth session):
- Saved show identifiers and order (UserDefaults)
- Watch history: show, latest episode, progress, and timestamp (UserDefaults)
- Liked episode identifiers (UserDefaults)
- Onboarding completion (UserDefaults)
- Selected genres — used for recommendations, kept on the device (UserDefaults)
- Autoplay preference (UserDefaults)
- A dormant Wi-Fi-only compatibility preference; offline episode downloads do not exist in the current app
- Pending viewer-state synchronization operations, cached catalog metadata, and a local backup copy of viewer state
- Opaque legacy compatibility fields (currency, unlock, transaction, streak, reward, task) retained only so older installs upgrade cleanly — not surfaced in the UI
- A synthetic local profile record used internally; not entered by you
- Supabase Auth session material in the iOS Keychain (managed by the Supabase Swift SDK)
Search text is transient and is not persisted. AVPlayer may use normal transient operating-system media buffering during playback; Twist does not provide offline episode downloads.
Uninstalling Twist removes the active app container from that device but is not guaranteed to remove the Keychain session or the server-side guest account. Apple may retain copies of app data in device or iCloud backups you have configured; those copies are controlled by Apple and your Apple settings.
Data processed by the content service
When Twist synchronizes with the content service (Supabase), the following is processed on the backend:
- A random anonymous Supabase Auth user ID and session metadata
- A default service profile row (display name "Viewer" and timestamps)
- A legacy starter-ledger row linked to the anonymous Auth user (dormant compatibility economy; not exposed or mutated by the current app)
- Saved-show state (which shows you saved)
- Current episode, playback progress, last-watched timestamp, and update timestamp
- Catalog and episode identifiers sent in API requests
- Protected-media authorization (server-side gating for released episodes)
- Private-storage signed media URLs with a five-minute expiration
The current app does not expose or mutate the legacy compatibility economy (currency, entitlements, rewards, comments, reports, blocks, push-device registrations). Those tables still exist in the backend for compatibility with older installs; the current app does not submit records to them. Do not read this policy as promising those systems are absent from the backend — only that the shipped client does not use them.
The default profile row and the legacy starter-ledger row are active backend side effects of automatic guest account creation and are disclosed here until engineering removes or changes them.
Data not collected by current app features
The current Twist app does not request, collect, or transmit: your name, email, phone number, password, age, physical address, payment card, contacts, photos or camera content, microphone audio, precise location, HealthKit data, Bluetooth or local-network device data, notification permission, advertising or attribution identifiers, App Tracking Transparency data, or generative-AI prompts or output.
Supabase and infrastructure providers may still receive normal request metadata (for example IP address, user agent, and timestamps) when your device connects to the content service. We do not make an absolute claim that infrastructure request logs contain no IP information.
How data is used
- Provide and secure the Twist service.
- Load the show catalog and stream released episodes.
- Authenticate the anonymous guest session used for protected-media authorization and viewer-state syncing.
- Save shows to My List and record and resume playback progress.
- Respond to support or privacy requests you choose to send.
- Diagnose security or delivery problems where verified logs exist.
Twist does not use viewer data for marketing, advertising, cross-app tracking, or personalization beyond honoring the explicit genres you selected during onboarding. Selecting explicit genres shapes recommendations but does not create an advertising profile or behavioral tracking profile.
Service providers
- Supabase — Authentication (automatic anonymous guest session), Postgres database (viewer state and dormant compatibility rows), Edge Functions (protected-media authorization), and private Storage (short-lived signed media URLs).
- Apple — iOS/iPadOS platform, Keychain (Supabase Auth session storage), AVPlayer (transient media buffering), and the system share sheet used for sharing plain text.
- Email providers — if you email Banana Apps, your message is stored by our email provider.
Cloudflare, Google Fonts, and the first-party site analytics system apply to visits to the getbananaapps.com website — they are not part of the Twist iOS app. See the Website Privacy Policy. The confirmed website analytics operator: [WEBSITE ANALYTICS PROVIDER AND CONTRACT STATUS].
Advertising, tracking, sale, and sharing
The Twist iOS app contains no advertising SDK, does not request App Tracking Transparency, does not use IDFA, and does not perform cross-app tracking.
Banana Apps does not use Twist data for targeted advertising based on the current implementation. We are not stating a legal conclusion that no statutory "sale" or "sharing" of personal information occurs. Statutory terminology depends on vendor contracts and applicable jurisdictions and will be confirmed after review. we do not sell or share personal information as those terms are defined under U.S. state privacy laws
Retention
| Category | Where | Retention |
|---|---|---|
| Local viewer data (saves, history, likes, preferences, onboarding) | Your device (UserDefaults) | Until you use Clear History, Reset Viewing Data, or uninstall Twist. |
| Keychain session (Supabase Auth) | iOS Keychain | Managed by iOS and the Supabase Swift SDK; not guaranteed to be removed by uninstall. |
| Anonymous Auth account | Supabase Auth | [AUTH ACCOUNT RETENTION] |
| Synchronized viewer state (saves and progress) | Supabase database | [VIEWING STATE RETENTION] |
| Default profile row and legacy starter-ledger row | Supabase database | Persist until removed by engineering; not currently exposed or mutated by the app. |
| Provider request and security logs | Supabase / infrastructure providers | [SUPABASE LOG RETENTION] |
| Backups | Supabase / infrastructure providers | [BACKUP RETENTION] |
| Support emails | Our email provider | [SUPPORT EMAIL RETENTION] |
| Website analytics (getbananaapps.com only) | Analytics processor | [SITE ANALYTICS RETENTION] |
Lawful retention exceptions (for example ongoing security investigations, disputes, or legal obligations): [LAWFUL RETENTION EXCEPTIONS].
Reset, account deletion, and other choices
Clear History (in My List) removes local watch history on this device and requests removal of your synchronized watch history, while preserving your saved shows.
Reset Viewing Data (in Profile) removes local saves, likes, watch history, onboarding, preferences, pending viewer mutations, and legacy compatibility state on this device, and requests deletion of your synchronized saved-show and watch-progress rows for the current guest session. If the synchronized reset fails, the request is queued and retried. Reset Viewing Data is not full account deletion — see Delete Account.
We do not currently offer automated data export, access, or correction. Privacy requests are handled through [email protected]; identity verification for an anonymous session is difficult and must be handled through a verified process. See Privacy Choices.
Security
Twist uses HTTPS for network requests, short-lived (about five-minute) signed URLs for protected media, private Supabase Storage, and row-level security on viewer-state tables. Credentials used by the app to reach Supabase are protected in the client. No system is perfectly secure, and we do not promise perfect security or certifications we have not obtained.
International processing
Production Supabase region: [PRODUCTION SUPABASE REGION]. Launch countries and regions: [LAUNCH COUNTRIES AND REGIONS]. Cross-border transfer language and any required transfer mechanisms will be added after counsel review.
Children and age
Minimum age to use Twist: [MINIMUM USER AGE]. Child-directed status: [CHILD-DIRECTED STATUS]. Content themes and storefront age rating require separate human review. This section does not adopt earlier unverified age statements automatically.
Regional rights
Depending on where you live, you may have rights concerning your personal information — for example access, correction, deletion, restriction, objection, portability, and appeal. Where those rights apply, we will use a single global contact process at [email protected].
Because Twist uses an automatically created anonymous guest account without your name, email, or payment identifier, we cannot reliably verify who is behind a particular guest session from an email alone. Any privacy request that requires linking a request to a specific guest account will be handled through a verified process that respects your rights and does not expose someone else's data. We do not claim Banana Apps is subject to every privacy law in every jurisdiction.
Changes and contact
Effective July 24, 2026 · Last updated July 24, 2026. Material changes may be described through the updated page or, where appropriate, an App Store update. Twist does not currently include an in-app policy-change notice mechanism, so we do not promise one here.
Privacy contact: [email protected]. Legal and business contact: [email protected]. Banana Apps LLC · Florida, United States.