Policies / Privacy Policy
Privacy Policy
Draft for legal review · updated 23 September 2026 · not yet effective
24 Frames is a video, music, short-clip ("Shorts") and live-streaming service run from Botswana by 24 Frames Pty Ltd. This policy explains what we collect when you use the 24 Frames app, the website at 24frames.co and the creator studio, why we collect it, who sees it, how long we keep it and what you can do about it. The short version: we collect what we need to sign you in, play you things, remember where you were and let you publish. We do not sell your information or use ad networks or analytics companies. If you want your account removed, request deletion in the app or email us. A request is not completed deletion.
1. Who we are
24 Frames is operated by 24 Frames Pty Ltd, registration number to be confirmed, contact address Plot 91, Unit 2, Gaborone International Commerce Park, Gaborone, Botswana. We are the "data controller": we decide what is collected and why, and we are responsible for looking after it.
- Privacy questions and data requests: info@24frames.co
- Data protection and regulatory registration details: to be confirmed before publication
- General help: info@24frames.co
We are reviewing our obligations under Botswana's Data Protection Act 2024 with counsel; this draft does not certify compliance. If you are outside Botswana, your country's laws may give you additional rights. International sign-up is technically available, while country-specific child safeguards still require review.
2. What this policy covers
The 24 Frames app, the website at 24frames.co including watch pages, the creator studio, and live streams and replays. It applies whether you watch, publish or just visit. It works alongside our Terms of Service, Community Guidelines, Creator Terms, Children and Age, Cookies and Device Identifiers, Data Retention Schedule, SMS Messaging Terms and Security.
3. What we collect, feature by feature
Signing in
You can sign in with a phone number or a verified email address and password. For phone sign-in, we record the number, its country or region, a hash of the one-time code, attempts and expiry. For email sign-up, linking and password recovery, we record your normalized email address, verification status, a hash of the email code, attempts and expiry. We store passwords as one-way hashes, not readable passwords. Email sign-in does not require a phone number. Older accounts may also retain a username. Expired verification records are removed by routine maintenance after one day.
Setting up your account
During onboarding the app asks for your full name, gender, an age range (including “under 18”) and optional interests. Account creation currently precedes this age step, and the range does not distinguish children under 13. Age is used by some catalogue and ad filters, but the full child-safety flow is not operational. See Children and Age.
Your profile
Your display name, a short bio and an avatar. Your display name appears on your profile and, if you are a creator, on your channel.
Watching
- Watch progress and history: where you are in each title and whether you finished it. You can clear this at any time.
- Library: the titles you like or save.
- Blocks: channels you have blocked. The current app does not offer following.
Recommendation events
The app sends playback and recommendation signals to our servers, including the title, event, actual playing time when available, source and session identifiers. Not every surface produces every signal. Signed-in events are tied to your account; eligible signed-out requests may carry an app-generated identifier (section 4). They power "Continue watching", "Up next" and your home screen rails.
Live viewing
While you watch a live stream, the app sends account-linked presence updates so the creator can see the current audience count. This is separate from recorded-video analytics. Live comments and reactions are not available in the current viewer app.
Historical reports and support concerns
The in-app reporting feature has been removed. Historical report records may include who reported what, the chosen reason, a note, reviewer and outcome. We do not collect new reports through an in-app reporting form. If you contact info@24frames.co, we may retain your message and related support or legal records under our retention policy.
Publishing (creators)
The media you upload, its title, description or caption, category, visibility, your four declarations ("made for kids", "adults only", synthetic media, paid promotion), any edit recipe and any voiceover audio. Live production may create a recording or replay, subject to event configuration and processing result.
Ads
Ads on 24 Frames are our own, served by our own servers. When one is shown we record the title it played against, the placement, the playback session, a short-lived ad session identifier and what happened (impression, how far it played, click, skip). Ads are decided only for signed-in viewers. Section 6 explains how.
Search
Your search words go to our servers to find results. The app keeps your last eight searches on your phone.
Sharing
Sharing a title creates a short link, and we count how often it is opened. The count is a number; it does not tell us who opened it.
Your devices and sessions
Each sign-in records your device's model name (the manufacturer's name, not the personal name you gave your phone), which app you used, a hashed sign-in token and when the session was last used. You can see and revoke sessions under "Your devices".
Update check
If you installed the app directly rather than from an app store, it checks our servers for newer versions, sending its build number and the usual identity headers.
What we do not collect
- We do not ask for your precise location. Our servers and delivery providers necessarily receive your IP address when handling requests, including for security and rate limiting. Provider and infrastructure logs may retain network metadata; their retention must be included in the final retention schedule.
- Precise location, contacts, payment details, government ID numbers or biometrics.
- Data from third-party advertising, attribution or analytics SDKs. We use our own playback, recommendation and advertising measurement described above, not a third-party analytics SDK.
- Your phone's advertising identifier. We never ask for it.
4. The anonymous device identifier
Some eligible signed-out browsing requests carry a random X-Viewer-Id created by the app. It is not your phone number, name or advertising identifier. It can help rank catalogue results before sign-in. Playback requires an account, so this identifier is not a basis for anonymous video plays. It remains on the device until app data is cleared or the app is uninstalled. Signed-in requests use your account instead.
5. Why we use your information, and on what basis
| What we do | What we use | Why we are allowed to |
|---|---|---|
| Sign you in and keep you signed in | Phone number, code hash, sessions | You asked us to provide the service |
| Play titles and remember your place | Watch progress, recommendation events | You asked us to provide the service |
| Personalise home and search | Interests, history, likes, dislikes, blocks, events, device identifier | Our legitimate interest in a service worth using; you can clear history and block channels |
| Show ads to keep the service free | Placement, content category, frequency caps, ad events | Our legitimate interest in funding the service; never your personal details |
| Let you like, dislike, save and share | The ids involved | You asked us to provide the service |
| Let creators publish and see performance | Uploads, declarations, aggregate counts | You asked us to; creators accept the Creator Terms |
| Keep the service safe and fair | Historical reports, support concerns, audit log, rate limits | Our legitimate interest in preventing abuse, and our legal duties |
| Send you one-time codes | Phone number, message text | You asked us to text you |
| Answer requests and complaints | Whatever you send us | Our legal duties and your rights |
"Legitimate interest" means we have a real reason, we have weighed it against your rights, and we have kept the effect on you as small as we can.
6. Advertising
- All ads are first-party: titles uploaded to our platform and marked as ad creatives by our staff. There is no ad network, ad exchange or tracking pixel.
- Ad eligibility can depend on placement, content category, campaign flight, caps and other configured campaign controls. We do not use your name, phone number or email address to select ads.
- We do not use your name, gender, phone number or interests to personalize advertising. Age range is used to withhold ads from under-18 accounts and accounts without a known adult age range. Account-linked delivery records enforce frequency and fatigue limits.
- Ads are not served on titles marked "made for kids".
- We record ad events so we can report campaign totals to advertisers. Advertisers see totals, never who you are.
- We do not sell your personal information, and we do not share it with advertisers or anyone else for their own marketing.
7. Who we share information with
A small number of companies and people help us run 24 Frames. Each receives only what its job needs.
| Who | What they receive | Why | Where |
|---|---|---|---|
| Bunny CDN (Bunny Net) | When your device fetches video, audio, artwork or an avatar, Bunny's edge servers see your IP address and the file path. The signed links we give your device are not tied to you. | Delivering media | Stored in Johannesburg, South Africa; served from Bunny's worldwide edge |
| Resend | Recipient email address, subject and message containing a verification or password-recovery code | Transactional account email; open and click tracking are disabled | Processing locations subject to Resend's service terms; to be confirmed in the final policy |
| Mobile network operators | Your phone number and the one-time code, as an ordinary SMS | Delivering sign-in codes | Botswana gateway SIMs (the current mobile operator should be confirmed before publication) |
| Our own gateway phones | Your number and the code while sending; the phone's journal keeps the job id, the number and a masked outcome | Sending codes from our own SIM cards | Held by our staff |
| Our own servers | Account and application data, media processing and live ingest | Running the service | Production region to be confirmed before publication |
| Backups | Database copies | Recovering from failure | Current location and retention require production verification |
| Apple and Google | Nothing from us; the stores process what they process for any app | Distribution | Not applicable |
We do not share your information with advertisers, data brokers, analytics companies or social networks. We will disclose information if the law requires it, for example under a court order or a lawful request from a Botswana authority, or where we reasonably believe it is needed to protect someone's safety or enforce our terms. We will tell you when we are allowed to.
8. International transfers
Our server's exact production hosting region and provider transfer terms require confirmation before publication. Bunny stores media in Johannesburg and may serve it from edges outside Botswana. Email verification and recovery are available for current email accounts through Resend, whose processing locations need confirmation. SMS delivery crosses the networks needed to reach the number you enter. We will document safeguards for these transfers before this policy takes effect.
9. How long we keep it
We keep information as long as we need it for the purpose we collected it, then delete or anonymise it. The current and intended retention status is at Data Retention Schedule. In short: your profile remains while the account is active; some verification and session records expire automatically; other analytics, report and media cleanup periods are not yet fully enforced. A deletion request is not erasure. The Data Retention Schedule distinguishes current behavior from intended periods.
10. Security
- Encryption in transit. Account requests and viewer media delivery use HTTPS. Multi-camera publishing uses RTMPS. Single-camera publishing currently uses RTMP; its TLS migration must be completed before store submission. The app also uses a device-local HTTP route to play encrypted cached files.
- Hashed credentials. Passwords are hashed with BCrypt. Authentication challenges and session tokens are stored as hashes. SMS and email delivery services must temporarily handle the readable one-time code to deliver it; we do not claim that delivery staff or providers can never access a message.
- Encrypted code messages. A sign-in SMS is encrypted while it waits to be sent and wiped once it has gone.
- Encrypted downloads and cache, playable only inside the app.
- Screen-capture blocking on Android; playback pauses if recording starts on iOS.
- Rate limits on sign-in, code requests and uploads.
- Short-lived access tokens: 15 minutes for viewers, 10 for staff.
- Audit logging for supported staff and authentication actions. Coverage must be verified before a blanket claim is made.
We do not currently encrypt our database, stored media or backups at rest; they sit on servers only staff who need them can reach. We say this plainly so you can judge for yourself.
No system is perfectly secure. If a breach creates notification duties, we will assess them under applicable law and use available contact channels. Found a security problem? Read Security.
11. Your choices and controls in the app
Without asking us, you can clear watch history; delete downloads and their keys; manage blocks; revoke devices under "Your devices"; edit your display name, bio and avatar; change likes and saves; change notification and autoplay settings; and sign out. Published-content removal uses a moderation request, not an immediate creator delete action.
12. Your rights and how to make a request
Under Botswana's Data Protection Act 2024 you have rights over your personal information, including to:
- access it: ask what we hold and get a copy;
- correct it if it is wrong or incomplete;
- delete it, subject to what we must keep by law;
- object to how we use it, including for personalisation;
- complain to the Information and Data Protection Commission if you think we have got it wrong.
The Commission can tell you exactly how each right works. Outside Botswana you may have similar or extra rights under your own laws, and you can use them with us the same way.
Settings includes an account-deletion request screen. It records a request and allows cancellation; submitting it is not confirmation that your data has been erased. Creator requests require a recorded staff review of the account and attached content before fulfillment. Review does not itself remove the account or uploaded media. The actual erasure process and lawful retention exceptions must be finalized before store submission. To request access or raise a privacy concern, contact info@24frames.co with the phone number or verified email address on your account. Never email your password or sign-in code. See Delete Your Account.
Once a verified deletion request is fulfilled, the process must address your profile, sign-in details, library, history and events linked to you, except for documented lawful retention. This is not yet automated or completed when a request is submitted. Backup and audit handling still needs validation against the Data Retention Schedule.
13. Children
The intended product includes separate under-13 accounts with guardian consent, but that flow is not implemented. The current age range cannot distinguish under-13 users, and account creation precedes age collection. We cannot claim verifiable parental consent or a child-safe service today. Parents or guardians can contact info@24frames.co. See Children and Age for the release requirements.
14. What stays on your phone after you sign out
Signing out removes your token, roles, name, cached library and ad session. It does not remove downloads and their keys, the encrypted streaming cache (up to 2 GiB), your last eight searches, publishing drafts and copies of media you picked to publish, or app settings. Delete downloads in the app before signing out to remove them. Uninstalling the app removes everything. If you are lending or selling your phone, uninstall first.
15. Creators
If you register a channel we hold your titles, declarations and share links, and show you analytics. Analytics are aggregates: distinct viewers a day, how much was watched, how often a link was opened. You never see who a viewer is; viewers never see your phone number. Your channel name, avatar and bio are public. Published-content removal is reviewed. A creator-account deletion request also requires staff review of the channel and uploaded content; a review is not itself removal.
16. Staff access
Our staff use role-based studio access to manage titles and campaigns and provide support. The in-app report queue has been removed. Some actions are audited; complete coverage has not been verified. Staff running our SMS gateway phones can see numbers and codes passing through while messages are sent. All staff are bound by confidentiality duties.
17. Changes to this policy
We update this policy when the service changes. After a final policy takes effect, we will update it when the service changes and provide notice of material changes as applicable law requires. Earlier versions are available from info@24frames.co.
18. Contact
- Privacy questions and requests: info@24frames.co
- Data protection contact and support: info@24frames.co
- Post: 24 Frames Pty Ltd, Plot 91, Unit 2, Gaborone International Commerce Park, Gaborone, Botswana
- Supervisory authority: the Information and Data Protection Commission of Botswana