Privacy Policy
This Privacy Policy explains how DuskBook ("DuskBook," "we," "us," or "our") collects, uses, and protects your information when you use the DuskBook app (the "App"). We've written it in plain language because your privacy matters and you deserve to understand it.
1. Who we are
DuskBook is a personal planning app that helps you organize your tasks, habits, and daily reflections. If you have any questions about this policy or your data, contact us at:
2. Information we collect
We only collect what's needed to run the App:
- Account information. When you create an account, we collect your email address and a securely hashed password. We use these to sign you in and to keep your data associated with you.
- Content you create. The information you enter into the App, including your tasks, goals, time allocations, completed work, habits and habit check-ins, daily reflection entries, categories, reflection prompts, and related settings (such as your home time zone).
- Basic technical data. Our infrastructure provider automatically processes standard technical information (such as connection logs and timestamps) needed to operate and secure the service. This is used only to keep the App running reliably and securely.
- WHOOP health data, only if you connect WHOOP. If — and only if — you link a WHOOP account in Settings, we import the daily figures described in section 2a. Nothing is imported unless you connect it, and disconnecting deletes what was imported.
- Your daily step count, only if you allow it. If — and only if — you grant Motion & Fitness access on your iPhone, DuskBook stores one number per day: how many steps that phone counted. This is described in section 2b.
- A notification token, only if you turn push notifications on. If — and only if — you switch on one of the three notifications in Settings, we store a token that lets us send a notification to that copy of the App. This is described in section 2c.
Apart from WHOOP data you have explicitly connected and the daily step total described in section 2b, we do not collect your location, contacts, photos, camera, microphone, health data, or advertising identifiers. DuskBook contains no third-party advertising and no cross-app tracking.
2a. WHOOP (off unless you connect it)
DuskBook can import your daily WHOOP figures so that your recovery, sleep and strain appear at the top of each day, next to what you planned. This is off until you connect it yourself in Settings → WHOOP, and it stays off if you never do.
This is health data, and we treat it as the most sensitive information in your account.
What we import. For each WHOOP day (which WHOOP measures from waking to waking, not midnight to midnight):
- Recovery — your recovery score, heart-rate variability, resting heart rate, and, on hardware that measures them, blood-oxygen percentage and skin temperature.
- Sleep — when you fell asleep and woke, how long you were in bed and asleep, your time in light, deep and REM sleep, how often you were disturbed, your respiratory rate, and how the night compared with the amount of sleep WHOOP calculated you needed.
- Strain — your daily strain score, energy expended, and your average and maximum heart rate for the day.
- Which kinds of workout you did — the activity names only, such as "Weightlifting" or "Meditation", so that a habit you have linked can tick itself off. We do not import any workout's duration, distance, heart rate, strain, route or any other measurement of it — only that an activity of that name happened on that day.
- Your WHOOP user ID, so we can tell if a later reconnection belongs to a different WHOOP account.
What we do not import. We do not import your WHOOP journal entries, the details of your workouts (see above — we import the activity names and nothing more), your body measurements, your name or the email address on your WHOOP account, or any continuous heart-rate recording.
How the connection works. You approve access on WHOOP's own website; DuskBook never sees your WHOOP password. WHOOP gives us a token that lets us read the data listed above and nothing else. That token is stored on our server and is never sent to your phone. Access is read-only — DuskBook cannot write anything to, or change anything in, your WHOOP account.
Who sees it. Nobody but you. WHOOP data is stored in your DuskBook account under the same row-level protections as the rest of your data (section 4). It is never sent to any third party, and it is never sent to an AI model — the AI features in sections 6 and 6a do not receive it, whether or not you have turned them on.
Turning it off. Disconnecting in Settings → WHOOP revokes DuskBook's access at WHOOP and deletes every imported day from your account. Your data inside WHOOP itself is untouched, and you can also revoke DuskBook's access from the WHOOP app at any time.
2b. Step count (off unless you allow it)
If you allow it, DuskBook shows your step count for the day alongside your other numbers. This is off until you grant it — iOS asks the first time you open the day screen ("Motion & Fitness") — and it stays off if you decline.
What we store. One row per day, containing four things: the date, how many steps your phone counted that day, whether the count covers the whole day or stopped partway, and the time it was last updated. That is the entire record. We do not store where you walked, when during the day you walked, your route, your pace, your location, or anything else your phone's motion sensor can report. There is no other step data in your account.
Why it is stored at all, rather than just shown. Only an iPhone can count steps — a web browser has no motion sensor — so without a stored copy the number could never appear anywhere except on the phone itself. Storing it is what lets you see today's steps on the DuskBook web app or on a second device. Your phone also forgets its own step history after seven days, which is Apple's limit and not ours; past that point our stored copy is the only remaining record, which is why it is kept rather than expired.
How it gets there. Your phone reads its own sensor and writes the number directly to your account, roughly every ten minutes while the App is open in front of you. Nothing is read or sent while the App is in the background or closed. Because a stored count is only as fresh as the last time your phone looked, a count that does not yet cover the full day is shown with the time it was taken ("as of 2:15 pm") rather than presented as current.
Who sees it. Nobody but you. It is stored under the same row-level protections as the rest of your data (section 4). It is never sent to any third party, and it is never sent to an AI model — the AI features in sections 6 and 6a do not receive it, whether or not you have turned them on.
Turning it off. Revoke access at any time in iOS Settings → Privacy & Security → Motion & Fitness → DuskBook. Your phone stops counting for us immediately and no further days are stored. Steps already stored are removed when you delete your account (section 7); if you want them removed without deleting your account, email us at support@duskbook.app.
Where it does not come from. Steps are not WHOOP data — WHOOP's API does not provide a step count — so this is your phone's own tally, and it counts only what you did while carrying it.
2c. Push notifications (off unless you turn them on)
DuskBook can send you three kinds of notification: when an insight has finished being written, when a habit streak is about to break, and when you have not finished a day for a while. All three are off until you turn them on in Settings → Push notifications, and each is a separate switch.
These are different from the daily reminder (Settings → Daily reminder), which is scheduled by your own phone at a time you choose. That one involves no server and nothing here applies to it.
What we store. One row per installation of the App, containing three things: a notification token issued by Expo (our push provider) that identifies that install, whether it is an iPhone or an Android phone, and when it was last refreshed. The token identifies the App on that device. It is not your name, your email address, or an advertising identifier, and it cannot be used to track you across other apps or websites.
Why it has to exist. These three notifications are decided on our server, not on your phone — that is the whole reason they can be accurate. A notification your phone schedules in advance says whatever was true when it was scheduled, so "your streak is about to break" would still arrive after you had already finished the day on another device. Checking at the moment of sending is what makes them true, and reaching your phone from our server is what requires a token.
What is in a notification, and who sees it on the way. The notifications are short and deliberately unspecific. The streak one contains the length of your current streak (for example, "3 days, still going"). The other two name nothing about you at all. To reach your phone, the text passes through Expo's push service and then through Apple's (or Google's) notification service, which is how all push notifications on these platforms work. No diary text, no task names, no habit names, and no WHOOP or step data are ever put in a notification.
What we work out in order to send them. To decide whether to send, our server reads whether you have finished each day and, for the streak notification, how long your current run is. This is the same information the App shows you on its own screens; nothing new is collected to make these decisions.
Turning it off. Switch any of the three off in Settings → Push notifications, and that kind stops. Switch all three off and we stop sending entirely. You can also turn notifications off for DuskBook in your phone's own settings, which stops them regardless of what the App thinks. Signing out deletes that device's token immediately. Deleting your account deletes every token along with everything else (section 7).
3. How we use your information
We use your information solely to:
- Provide the App and its features (create your account, sign you in, and store and sync your tasks, habits, and reflections);
- Show you your own WHOOP figures alongside your plans, if you have connected WHOOP (section 2a);
- Show you your step count for the day on each of your devices, if you have allowed it (section 2b);
- Send you the notifications you have switched on, if you have switched any on (section 2c);
- Keep your data secure and available across your devices;
- Respond to your support requests;
- Maintain, troubleshoot, and improve the reliability of the service.
We do not use your information for advertising, profiling, or any purpose unrelated to providing the App to you.
4. How your information is stored and protected
Your data is stored using Supabase, our backend and database provider, on secure cloud infrastructure. We protect your information with measures including:
- Encryption in transit (all communication with our servers uses HTTPS/TLS);
- Row-Level Security, so every request is automatically scoped to your account — your data is not accessible to other users;
- Password hashing, so we never store your password in a readable form.
No method of transmission or storage is 100% secure, but we take reasonable steps to safeguard your information.
5. How we share your information
We do not sell, rent, or trade your personal information.
We share information only with:
- Service providers who help us operate the App and act on our instructions. Our primary provider is Supabase, which hosts our database and authentication. If — and only if — you turn on AI diary insights, we also use Anthropic to generate those insights; see section 6. If — and only if — you turn on push notifications, we use Expo to deliver them, which in turn hands them to Apple or Google to reach your phone; see section 2c. These providers are permitted to use your data only to provide services to us.
- Legal requirements, if we are required to disclose information by law, regulation, or valid legal process.
If you connect WHOOP, DuskBook reads from WHOOP on your behalf; we send them nothing about you beyond the access token that authorises that reading. WHOOP is a source, not a recipient — your DuskBook tasks, habits and diary are never shared with them.
6. AI diary insights (off unless you turn them on)
DuskBook can use an AI model to read your finalized diary entries and tag them with a mood and a few themes, so that past days are easier to find and revisit. Those tags and one-line summaries are then what the App's diary-based features are built from — the weekly and monthly write-ups, the look-backs, the suggestions for new diary questions, the questions you can ask about your own record, and the planning check-in, all described below.
This is off by default. No diary text is ever sent anywhere until you turn on Settings → Diary insights → Read my diary entries. If you never turn it on, nothing in this section applies to you.
Turning it on applies to entries you have already written, not only to new ones. Every day you have finalized becomes eligible, so switching it on begins sending your existing diary history — newest first, in batches, over the following runs. The Settings screen shows you how many days that is before you decide. Turning it back off stops the remaining entries being sent.
When it is on:
- What is sent for tagging. For each day you have finalized: the date, your diary questions, and the answers you wrote. That is all — for this step we do not send your name, email address, account identifier, tasks, habits, or any other part of your account. The features listed below send their own, separately described slices, and two of them (your chapters, and the two conversations) send more than this one does; nothing anywhere in this section sends your name, email address or account identifier.
- Your weekly and monthly chapters. Once a week the App writes a short narrative passage about the week you just finished, and keeps a running one for the month you are in. These send more than the tagging above: what is sent is that week's diary — the dates, your questions and the answers you wrote — together with your planned and completed hours, your hours broken down by category, the names of the tasks those hours went into, and which of your habits you held on the days you finalized, as a count of days. Task notes are never sent. The month's chapter is written from the week chapters already generated rather than from the month's diary a second time, so a month of entries is not re-sent. Like everything else in this section it needs the toggle above to be on.
- Suggesting new diary questions. If you ask the App to suggest diary questions (Settings → Dear diary questions), it sends the questions you currently have, how often you have answered each one, the themes from your tagged entries, and the one-line summaries stored against them. It does not send the answers you wrote — only the summaries already generated from them. Like everything else in this section it needs the toggle above to be on, and unlike the rest of this section it only runs when you tap for it.
- Asking questions about your own record. On the Insights screen you can ask the App a question in your own words — how many hours went into something, what you planned, what you were writing about in some stretch — and it looks the answer up rather than guessing. This one works differently from everything else in this policy, and the difference is worth reading. For every other feature here, the App decides in advance exactly which slice of your data is sent. Here your question decides: the App gives the model three fixed ways to look something up — your completed hours between two dates, what you planned for a period, and your tagged diary days between two dates — and the model chooses which of them to use and over what range, based on what you asked. What is sent: today's date, your category names, and the questions and answers in that conversation. What comes back to the model when it searches your diary: the same derived layer as above — the date, the mood, the themes, and the one-line summary of each day — and never the answers you wrote. Every lookup is restricted to your own account. The conversation is not stored: it lives on your device while the screen is open and is gone when you leave it. Like everything else in this section it needs the toggle above to be on, and it only ever runs when you ask it something.
- Talking through a plan. While you are planning a week, month or day you can talk to the App about it, and it can end by proposing what to put in that plan. It looks things up the same way and under the same limits as the feature above — your completed hours, what you planned before, and your tagged diary days, chosen by what you say rather than fixed in advance — which is why it sits in this section and needs the toggle on. What is sent: what you say, the names of the tasks on that planner and their category names, whether you marked each one high, medium or low priority and leverage, how much of each is left, how many days until anything with a deadline is due, how many hours you typically complete in a comparable period, and how much of the period is planned so far. No task notes. What it can do: propose hours against tasks already on that planner. It cannot save anything — a proposal fills in the planner in front of you, and nothing is written to your account until you press Done yourself. The conversation is not stored and is gone when you leave the screen.
- Who processes it. Anthropic, acting as our service provider, processes the text to produce the tags and returns them to us. We store the result (a mood score, up to five themes, and a one-line summary) in your account.
- It is not used to train models. Anthropic does not use text submitted through its API to train its models.
- Turning it off. You can turn the toggle off at any time. No further entries will be sent. Tags already generated stay in your account, and deleting your account deletes them along with everything else (see section 7).
6a. Writing help (no consent toggle, because it only runs when you ask)
Separately from the diary feature above, the App can help you fill something in. These are one-off actions you trigger yourself — there is no background processing, nothing is scheduled, and nothing runs unless you tap the button:
- Describe a task in plain words ("call the dentist, 30 min, this week") and have the fields filled in for you. What is sent: the sentence you typed, the names of your categories, and a list of candidate dates. Nothing else.
- Suggest steps for a task, which proposes a checklist. What is sent: that task's name, its category name, and the notes you wrote on it.
- Suggest a leverage level for a task. What is sent: the same three things — that task's name, its category name, and its notes.
- Find the to-dos in your notepad, which proposes checklist items from what you have written there. What is sent: the lines of the notepad's writing area, numbered. The checklist underneath it is not sent — the App works out on your device which suggestions you already have.
- Suggest a plan while you are planning a week, month or day. What is sent: the names of the tasks already on that planner's list, their category names, whether you marked each one high, medium or low priority and leverage, how much of each is left, how many days until anything with a deadline is due, and how many hours you typically complete in a comparable period. No task notes, and no diary. This is the one-tap version, which proposes immediately from what is on that screen and needs no toggle; the conversational check-in described in section 6 is a different feature and does need one.
- Set up your categories, habits and diary questions when you first sign up, from a line or two you write about your life. What is sent: what you wrote, and the generic suggestions already shown on that screen so the same ones are not proposed back to you. Nothing else exists to send at that point — the account is minutes old. This step is optional and skippable, and if it fails or you are offline the App simply uses its standard suggestions.
Three things worth stating plainly. Your task notes are sent for suggesting steps and suggesting a leverage level, and notes are free text you may have written for yourself rather than for a model — so those two features only ever run on the one task you are looking at, when you ask them to. Your notepad is sent when you ask it to find your to-dos, and it is the same kind of writing: yours, written for yourself. And nothing is saved from any of these: the suggestion is put into the form or the planner in front of you, you accept, edit or discard it, and no copy is stored on our side. Everything else in section 6 applies here too — Anthropic processes it as our service provider and does not use it to train models, and we never send your name, email address or account identifier.
Some other parts of the App generate observations for you on a schedule. Most of those are built only from numbers you can already see — how much you planned and completed — and involve no diary text at all. The ones that are built from your diary, such as the weekly and monthly write-ups and the look-backs, are covered by section 6 and do not run unless you have turned that toggle on.
7. Data retention and deletion
We keep your information for as long as your account is active.
You can permanently delete your account and all associated data at any time from within the App: go to Settings → Delete account. This immediately and irreversibly removes your account and all of your tasks, habits, reflections, imported WHOOP data, stored step counts, notification tokens, and related data from our systems. You can also request deletion by emailing us at support@duskbook.app.
Imported WHOOP data can also be deleted on its own, without deleting your account, by disconnecting in Settings → WHOOP (section 2a).
8. Your rights
Depending on where you live, you may have rights over your personal data, including the right to access, correct, export, or delete it, and to object to or restrict certain processing. Because your content lives in your account, you can view and edit most of it directly in the App, and you can delete all of it using the in-app account deletion described above. For any other request, contact us at support@duskbook.app and we will respond within a reasonable time.
9. Children's privacy
DuskBook is not directed to children under 13 (or the minimum age required in your country), and we do not knowingly collect personal information from them. If you believe a child has provided us with personal information, please contact us and we will delete it.
10. International users
Your information may be processed and stored on servers located in countries other than your own. By using the App, you understand that your information may be transferred to and processed in those locations, which may have different data protection laws than your country.
11. Changes to this policy
We may update this Privacy Policy from time to time. When we do, we will revise the "Last updated" date above. If we make material changes, we will take reasonable steps to notify you. Your continued use of the App after an update means you accept the revised policy.
12. Contact us
If you have any questions or requests regarding this Privacy Policy or your data, contact us at: