Privacy Policy
keep. is a place to write down what you are about to do, focus on it, and then reflect on how it went. What you write in it is the most personal thing this app touches, so this page says plainly what is stored, where it lives, who can reach it, and how to take it back or leave.
The short version
- Your Keeps, reflections, moods, check-ins and notes are stored so they can sync between your own devices. Nobody else can read them, and they are never used to train anything.
- No advertising, no ad identifiers, no data brokers. Nothing you write is sold or shared for marketing.
- Usage analytics are off until you turn them on, and can never carry what you wrote. Crash reports are on, can be turned off, and never carry what you wrote either.
- You can export everything as JSON and CSV, or delete your account, from Settings.
Who is responsible for your data
keep. is made by Pawan Kumar (Keep Dev), an individual developer in India (“I”, “me”). I am the data fiduciary for your personal data under India’s Digital Personal Data Protection Act, 2023, and the controller under the EU and UK GDPR where those apply to you.
For any question, request or complaint about your data, write to support@keepomo.com. I aim to reply within 30 days, and usually much sooner.
What keep. stores
Everything below is something you typed, something needed to keep your account working, or something needed to sync your writing between your own devices.
Your account
You sign in with a one-time email link, with Apple, or with Google. The sign-in service keeps the email address for your account, which provider you used, and when you signed in, along with the IP address and device type of each sign-in, for security. If you use Apple’s Hide My Email, only the relay address is ever received. If you sign in with Google, or share your name with Apple, the name (and for Google, a link to your profile picture) that the provider passes along is kept with your sign-in record; keep. itself does not show or use them. There are no passwords.
Your profile
A display name (it starts as “Friend”), the illustrated avatar you pick, your language, and your time zone. The time zone is taken from your phone when you join. If you later travel, keep. notices and asks before moving your day boundary; you can also change it in Settings → Timezone. It decides which day a Keep belongs to (days turn over at 4 a.m.), which is what makes streaks and day summaries correct.
What you write
- The task on each Keep (up to 500 characters), how long you planned to focus, which Promise it belongs to, and any Tags you put on it.
- Your reflection after a session: what you got done and what remains (up to 4,000 characters each), the mood you picked, and, if you stopped early, the reason you chose.
- Your daily check-in: the mood you picked and an optional note (up to 2,000 characters).
- The names of your Promises and Tags, and which Promises you pinned.
- The four notes on your Horizon (long term, this month, this week, today; up to 280 characters each), with when each was last updated.
Moods and check-ins can say something about how you are doing. They are used for one thing only: showing you your own patterns, in the app, to you. Nothing you write is read by anyone, analysed to build a profile of you, or used to train any model. There are no AI features in keep.; if that ever changes, it will be a separate choice that names the provider and stays off until you turn it on.
Facts about each session
When a focus session started and ended, how many minutes you actually focused, which day it counts for, and whether it was completed, stopped early, or stored without a reflection.
Feedback you send
If you use Send feedback (in Settings, or at the end of Grow), your note is stored with your account together with the kind you chose (an idea, something’s off, kind words, other), whether you are happy to get a reply, and your app and iOS version. It is emailed to me so I can read it, and if you said a reply is welcome, the email lets me answer you at your account address. Nothing else from your account is attached. Please don’t put anything in a note you would rather keep private.
Your devices
When a phone first syncs, it is registered with a random identifier made on that phone and its platform (iOS), so your Keeps can be kept in order across devices, along with when it last synced. No phone number, IMEI, advertising identifier or push token is stored.
Your choices
Each time you turn usage analytics on or off, an entry is added to an append-only record: which choice, on or off, the version of this policy in force, and when. The same record notes that your writing is stored in the cloud, which is part of having an account. It is included in your export.
Your subscription
If you subscribe to keep.+, your account stores whether it is active, in a free trial, in a billing grace period, expired or refunded, which store it came from, and when the current period ends, so keep.+ follows you to your other devices. Payment happens through Apple; your card details never reach keep.
On your phone
Everything above is also kept in a database on your phone, so keep. works fully offline. Sign-in tokens are held in the phone’s secure keychain. A few preferences (theme, haptics, reminder time, bullet style, the crash-report switch) are stored only on the phone.
Usage analytics — only if you turn them on
Analytics are off by default, everywhere. If you switch them on in Settings → Privacy → Usage analytics, keep. sends short events about how the app is used: that the app was opened, a check-in or reflection was saved, a Keep was created or given to Panda, a focus session finished or stopped early, the keep.+ screen was opened, a subscription started, an export or deletion was requested, a feedback note was sent, or a sync hit a problem. Some events carry small facts: the mood you picked, the minutes you planned or focused, whether a Keep had a Promise, how many Tags it had, the rough length of a note (for example “50–199 characters”), or which plan you chose.
They can never carry what you wrote. The analytics code blocks task text, reflections, notes, names and email addresses by name, and drops any value longer than 64 characters. Events go to PostHog, stored in the European Union, under a random identifier made on your phone for this install — not your account id and not your email — and configured not to keep your IP address. Because they are not tied to your account, they cannot be picked out and deleted with it; PostHog keeps them for no longer than its retention period (currently one year). Turning analytics off stops sending immediately.
Crash reports
If the app crashes or hits an unexpected error, a report goes to Sentry, stored in the European Union, so the problem can be found and fixed. A report says where the app broke: the error and the line of code, the app version, the phone model and iOS version, and a short trail of the app’s own steps before it (for example “opened the focus screen”).
Before anything leaves your phone, the report is stripped of your account, your device’s name, console logs and the labels of what you tapped; error messages are cut short; there are no screenshots and no screen recording. Sentry is configured not to keep your IP address. Crash reports are on by default because a crash nobody reports is a crash nobody fixes. You can turn them off in Settings → Privacy → Crash reports; once off, the reporting tool does not start at all.
What keep. never collects
- Your location, contacts, photos, camera, microphone, calendar, or Health data. The app never asks for them.
- Advertising identifiers (such as the IDFA), or any ad, attribution or tracking SDK. keep. does not track you across other apps or websites.
- Push tokens. Timer alerts and the optional daily reminder are scheduled on your phone; remote push is switched off in the app, so keep. cannot send you a notification from a server.
- Anything about other people. There are no social features and no contact upload.
Why it is processed
- To provide keep. — storing and syncing your writing, your account and your subscription. This is necessary to give you the app you signed up for.
- With your consent — usage analytics, only while switched on.
- To keep the app working and secure — crash reports and sign-in security records. You can turn crash reports off.
- Because the law requires it — for example, keeping a record that a deletion was carried out.
Where it lives
The hosted copy of your data is in Supabase, on Amazon Web Services in Mumbai, India (ap-south-1), whatever country you are in. Every connection is encrypted in transit, and row-level security in the database itself means one account cannot read another’s rows, even if the app’s code asked. Some of the services below are in the EU or the US; where your data leaves your country, it goes only to the service that needs it, for the purpose described.
Who else handles it
Each of these receives only what it needs for its job, and none may use it for its own purposes.
| Service | What it does | When |
|---|---|---|
| Supabase (Mumbai, India) | Database, sign-in, and the server functions behind sync, export and deletion | Always |
| Resend (US) | Sends your email sign-in link, and delivers feedback notes to me | If you sign in by email, or send feedback |
| Apple | Sign in with Apple; takes payment for keep.+ and handles renewals and refunds | If you sign in with Apple or subscribe |
| Sign in with Google | If you sign in with Google | |
| RevenueCat (US) | Checks your App Store subscription and tells keep. whether keep.+ is active. Receives your account id and purchase history, never what you wrote | If you subscribe or restore a purchase |
| PostHog (EU) | Usage analytics, under a random per-install id | Only if you turn analytics on |
| Sentry (EU) | Crash reports, scrubbed as described above | When the app crashes, unless you turn it off |
| Expo (US) | Delivers small app updates; checking for one reveals your IP address, platform and app version to Expo | When the app starts |
Your data is never sold, rented, or handed to advertisers or data brokers. It may be disclosed only if the law genuinely requires it — a valid court order, for instance — and where it is lawful to tell you, you will be told.
How long it is kept
Your writing stays for as long as your account exists, because a record of your own work that quietly expires would defeat the point. Housekeeping records of how your phone synced are cleared automatically after 7 to 90 days. Export files are removed when your account is deleted, and each download link stops working after 72 hours.
When you delete your account (Settings → Your data → Delete account), deletion is scheduled with a 7-day grace period. If you sign back in within it, keep. asks whether you want to keep your account instead — choose Keep my account and nothing is deleted. After that it runs automatically and is permanent: your sign-in, profile, Keeps, reflections, check-ins, Promises, Tags, Horizon, feedback notes, devices, subscription record and choices are erased, your export files are removed, and your customer record at RevenueCat is deleted. What remains is one line recording that an account id was deleted and when, kept as proof the deletion happened, with nothing else attached. If database backups exist, deleted data ages out of them within 30 days. Apple keeps its own records of any purchase, under Apple’s policy.
Your rights
Wherever you live, you can do the following. Most are buttons in the app rather than requests you have to make.
- Get a copy of everything. Settings → Your data → Export your data produces a complete archive: your profile and Horizon, every Keep, reflection and check-in, your Promises, Tags and pins, day summaries, feedback you sent, your consent history and subscription state, as JSON, plus a spreadsheet (CSV) of your Keeps joined to their reflections. The link is valid for 72 hours.
- Correct it. Almost everything is editable in the app; write to me for anything that isn’t.
- Delete it. As described above.
- Withdraw consent. Switch analytics or crash reports off in Settings → Privacy at any time. Cloud storage is part of having an account, so withdrawing it means deleting the account.
- Object or restrict. Write to me and I will stop the processing you object to unless the law requires otherwise.
- Nominate someone to exercise these rights for you if you die or become unable to, as India’s DPDP Act provides.
- Complain. Please write to me first — it is one person and you will get a real answer. You can also approach the Data Protection Board of India, or your local data protection authority if you are in the EEA or UK.
Security
Sign-in tokens live in your phone’s secure keychain. Every database query is limited by row-level security to your own user id, connections are encrypted, and the server-side secrets that could bypass that are never shipped in the app. No system is perfect, and it would be dishonest to promise otherwise. If a breach affects your data, you will be told, and so will the relevant authority, within the time the law requires.
Children
keep. is for people aged 18 and over, and accounts should not be created by or for anyone younger. India’s DPDP Act treats everyone under 18 as a child whose data may only be processed with a parent’s verifiable consent, and keep. does not collect that consent — so rather than pretend otherwise, it is not offered to children. If you believe a child has an account, write to the address above and it will be deleted.
Changes to this policy
When this policy changes, the version and date at the top change with it. If a change materially affects how your data is used, you will be told in the app or by email before it takes effect. The choices you have made are recorded against the version that was in force at the time.
Contact
Pawan Kumar (Keep Dev)
support@keepomo.com
India