DRAFT — NOT IN FORCE. NOT LEGAL ADVICE.
This document has not been reviewed by a qualified lawyer and has not been adopted. It does not govern anything, and no one should rely on it. It is working text kept in the open so the facts can be checked against the code before Krown ships.
Anything still unverified is marked [TO CONFIRM]. Those markers must be resolved — not deleted — before this page can be treated as a published policy.
Privacy Policy
Operator: Lee Jacob Yan Chak, an individual developer · Jurisdiction: Hong Kong SAR · Contact: support@krownapps.info
Draft written 27 July 2026, and last corrected against the shipping app and the running database on 6 August 2026. These dates record when the text was worked on; neither is an effective date, because the policy is not in force.
Krown is built and run by one person, not by a company. There is no corporate entity, no staff, and no legal department behind it.
What Krown collects
To create your account
- Phone number — used to sign you in by SMS code. It is passed to Twilio Verify, which generates the code, sends it to you and checks the one you type back. Other members of your group never see your number.
- Age check — you enter your date of birth once at sign-up. It is checked on your device, and the date itself is not sent to Krown or stored. What is stored is an age bracket (13-15, 16-17 or 18+) and the date you passed the check. The bracket is shown on your own profile screen. Other members of your group do not see it.
- Username and avatar photo — visible to people in your groups.
When you play
- Photos taken with the in-app camera, and the group and day they belong to.
- Reactions you give. These are anonymous to other members of your group. They are not anonymous to Krown itself — the account behind a reaction is stored so duplicate and abusive reacting can be prevented. Krown will not tell your group who reacted how.
- Group membership and invite links you create or use.
- Reports and blocks you submit. A report you file records which photo it was about, the reason you chose, any note you wrote, and — once someone has looked at it — whether it was upheld or dismissed and when. The person you reported is never told who reported them.
- Notification settings you choose in the app.
- A push token, if you turn notifications on. Your device registers a token with Expo’s push service and Krown stores it so notifications can reach you. The notifications waiting to be sent — their title and text — are stored until they are delivered.
- Invite activity — the invite code you joined through, and a log of invite codes that were tried, including whether each attempt succeeded.
- Your group’s timezone, read from your device when you create a group, so the 9pm reveal happens at the right local time.
- The date you accepted these terms and this policy.
- SMS records — where Krown sends you an SMS notification, a log row is kept holding the message text, its delivery status, and the carrier’s message id. If you reply STOP, that opt-out is recorded.
Permissions the app asks for
The app asks for camera access, for notifications if you choose to turn them on, and for contacts only if you choose to use “Find your friends” (described below). It does not ask for your microphone, and the three daily photos have no photo-library path; the optional profile photo may come from your library if you choose it.
Finding friends from contacts (optional)
Krown can show you which of your contacts already play, and let you text the rest an invite. This is off until you use it: the iOS contacts permission is requested only when you tap Find my friends, never at launch and never during sign-up, and you can choose full access, a limited selection, or nothing. You can revoke it at any time in iOS Settings.
How it works, precisely: your contacts’ names, numbers and emails never leave your phone. On your device, each phone number is converted into an irreversible scrambled code (a salted SHA-256 hash). Only those codes are sent to Krown’s server, which answers with the ones that belong to existing Krown accounts so the app can show you those friends. The codes are used to answer that question and are not kept as a copy of your address book; requests are rate-limited; and Krown cannot reconstruct a phone number from a code. Names stay on your phone for display only.
Inviting someone from that screen opens your own Messages app with a pre-written invite. You choose the recipient there and press send yourself — Krown never messages anyone on your behalf and never sends invitations automatically.
Who processes it
The services below were identified by reading the shipping code and inspecting the running system on 29 July 2026, not from memory or assumption. The storage region for Supabase was read from the live project. Where something is a hosted setting rather than code — the sign-in SMS provider is the one case — it is named as confirmed by the operator and marked as such. Each service still needs the operator to confirm the account and the contract before this page is published.
- Supabase — database, file storage for photos and avatars, and authentication. It is the app's only backend. Your data is held in Supabase's Sydney, Australia region.
- Expo — two separate things. Push delivery: when a notification is sent to you, your push token together with the notification's title and text is passed to Expo's push service to be delivered. App updates: released builds contact Expo's update service when the app starts.
- Twilio — two separate things. Sign-in codes: Supabase Auth is configured to use Twilio Verify, so your phone number is passed to Twilio, which generates the code, delivers it and checks the code you type back. Notifications: SMS notifications and STOP/START replies go through Twilio's messaging service, and the message log stores the Twilio message id.
- Apple — two separate things. Distribution: the app will be distributed through Apple — TestFlight first, then the App Store — under an individual Apple Developer membership held by the operator; it is available on neither yet. Push delivery: notifications are handed from Expo to Apple's Push Notification service, which delivers them to your device.
- Sentry — error monitoring on the server's scheduled jobs only. It is not used inside the app.
- Upstash — a Redis service used for rate limiting, to stop abuse of sign-in, invites, reactions and notifications.
PostHog is deliberately not in that list. An earlier version of this page named it. It belongs to an older web version of Krown and processes no data for app users. Krown has no analytics, advertising or tracking service of any kind in the app.
About push notifications. The parts that collect your data are live: the app registers a token, Krown stores it, and the server queues and sends notifications through Expo. The Apple push credential is now configured, but delivery to a real device has not yet been confirmed by testing on one. The honest position is that your token and the text of queued notifications are already being processed as described, whether or not the notification reaches your screen.
Who sends your sign-in code. The app asks Supabase Auth for a code; the provider behind it is a Supabase setting rather than something in Krown's code, so it cannot be read from the source. The operator has confirmed it is Twilio Verify. Because Verify generates and checks the code itself, your phone number is processed by Twilio for sign-in as well as for notifications.
No advertising network, no data broker, and no third-party moderation service is used. Nothing may be added to that list without checking the code first.
How long it is kept
Photo image files are deleted 30 days after they are taken. A job runs every hour and removes the image files from storage.
This was checked against the running database on 29 July 2026, and the check is recorded here because an earlier version of this page got it wrong. Being scheduled is not the same as working: until 28 July the job was scheduled and enabled but failed every time it ran — nine failures, no successes — so nothing was actually being deleted. The cause was fixed, and the job has since completed successfully on every run. That is the standard this page holds itself to: a retention promise counts only when the job is observed to succeed, not when it merely exists.
That job removes the image files. The record that a post existed, and the nightly result it counted towards, are not removed by it. Everything attached to your account is removed when you delete your account — see deleting your account.
[TO CONFIRM] — how long the remaining records are kept, where an account is never deleted, has not been decided. It is deliberately not guessed at here and must be settled before this page is published.
Deleting your data
You can delete your account from inside the app. See deleting your account.
Children
Krown is for people aged 13 and over. If the age check fails, sign-up stops and no account is created. That refusal is remembered on the device for a year; because it is stored on the device, it does not survive reinstalling the app. Krown is not designed for children.
Your choices
- Turn notifications off in Settings.
- Block anyone in your group, and unblock them again from your blocked list in Settings.
- Reply STOP to any SMS to stop SMS notifications.
- Leave a group at any time.
- Delete your account at any time.
Your rights
[TO CONFIRM] — the rights that apply, and how a request is handled, depend on the confirmed jurisdiction and must be reviewed by a qualified person. No response time is promised on this page, because none has been tested.
Contact
Email support@krownapps.info. This reaches one person, not a support team.