Privacy Policy
Effective October 22, 2026
Time-Block Planner (“the planner”, “we”) is a web app at timeblockplan.com for planning your day in time blocks. It is run by Josh Brake. This policy explains what data the planner handles, why, where it is kept, and how to delete it.
The short version
- Without an account, your planner stays in your browser. Nothing is sent to us.
- If you sign in with Google, we keep your name, email address and profile picture, and a copy of your planner so it syncs between your devices.
- If you connect Google Calendar, access is read-only. We use it only to show your meetings in your plan.
- If you connect Asana, we read the tasks assigned to you so you can plan time for them. We change a task in Asana only when you choose to complete it from the planner.
- If you connect an AI assistant such as Claude, it can read and edit your planner, only after you allow it, until you disconnect it.
- We email you about product updates only if you say yes, and you can stop them at any time from Account.
- We don’t sell your data, show ads, use analytics or tracking, or use your data to train AI models.
- You can delete your account and everything we keep for it from Account → Delete account.
Using the planner without an account
The planner works without signing in. Your blocks, tasks, notes, metrics and settings are saved in your browser’s storage (IndexedDB and localStorage) on your device. They are not sent to our servers. Clearing your browser’s data for the site deletes them.
Signing in with Google
Signing in is optional. It lets you use the same planner on several devices. When you sign in, Google shares the
following with us, using the openid, email and profile permissions:
- your Google account ID, which identifies your planner account,
- your email address, which we show in the app so you know which account you’re using (and, only if you opt in, use to send you product updates),
- your name and a link to your profile picture, which we show in the app’s header and Account dialog.
We also record when your account was created and when you last signed in. To keep you signed in, we set one cookie
(tbp_session). It is HttpOnly, lasts 30 days and renews while you use the app. We store only a hash
of it, not the cookie itself.
Product update emails
Once you’ve used the planner for a few days, it asks once whether you’d like occasional emails about new features and changes. The answer is off unless you choose Yes, email me. We record your answer and when you gave it, and you can change it at any time under Account → Email. If you opt in, we use your email address and name only to send you these updates. We don’t send other marketing, and we don’t share the list with anyone except an email delivery service that sends the messages for us, which we’ll name under “Service providers” below. Every update email includes a way to unsubscribe.
Your planner data
While you’re signed in, the planner syncs a copy of what you enter to our server so it is available on your other devices: your time blocks and re-plans, tasks, notes, daily metrics, shutdown status and settings (including any calendar filter words you add). Tasks you add from Asana also carry a link to the Asana task: its ID, web address, name, due date and whether it’s complete there. This data is used only to show your planner back to you, and to apps you connect yourself (see below).
Connected apps (AI assistants)
You can connect an AI assistant, such as Claude, to your planner (the planner is an MCP server). This is optional, and nothing is shared until you choose Allow on the planner’s connect page, signed in to your account. That page names the app and where it will send you back to.
- A connected app can read your planner (time blocks and re-plans, tasks, notes, metrics, weekly pages and the day-planning settings) and add to or change your tasks, time blocks, notes and weekly pages, when you ask it to. What it reads can include the titles and times of meetings you imported from Google Calendar, and the names, links and due dates of Asana tasks you planned, since those are part of your plan. It can’t reach your Google account, your calendar or your Asana account.
- What the app does with what it reads is governed by that app’s own terms and privacy policy, not this one. For example, an assistant may keep your conversation, including planner data it read, in its history.
- We keep a record of each connected app: its name and the addresses it may send you back to, when you allowed it, and when it last refreshed its access. Its access and refresh tokens are stored only as hashes. To know “today” and “now” for you, we also keep the time zone your browser reports when you open the planner.
- You can disconnect an app at any time under Account → Connected apps. Access also lapses after 90 days without use.
Google Calendar
Connecting Google Calendar is optional and separate from signing in. You can connect more than one Google account. When you connect one, Google asks you to allow these read-only permissions:
-
See the list of Google calendars you’re subscribed to
(
calendar.calendarlist.readonly). We use the calendars’ names and colours so you can tick which ones feed your plan. -
View events on all your calendars (
calendar.events.readonly). When you open or refresh a day, we read that day’s events from the calendars you ticked and show them as meeting blocks.
We also receive the connected account’s email address and Google account ID, to label it in the app.
How calendar data is used
- Event details (title, start and end time, status, whether you declined, and fields such as “free/busy” or the organizer) are fetched for the day you are viewing and used to decide which events to offer, for example to skip declined, all-day or Reclaim.ai events. These details are passed through to your browser and are not stored on our server.
- For each event you add to your plan, we save its title, start and end time, and an ID that links it back to the calendar event, as part of your planner data. We also remember the IDs of events you chose to skip, so we don’t offer them again.
- We never create, change or delete anything in your Google Calendar.
How calendar access is stored
So the planner can refresh your calendar on any of your devices without asking you again, our server keeps the long-lived access token (“refresh token”) that Google issues for each connected account, along with which calendars you ticked. Refresh tokens are encrypted (AES-256-GCM) before they are stored and are never sent to your browser. Short-lived access tokens are kept only in server memory.
You can disconnect an account at any time in Calendars → Remove. This revokes the planner’s access with Google and deletes the stored token. You can also revoke access from your Google account at myaccount.google.com/connections.
Google API Services User Data Policy
Time-Block Planner’s use and transfer to any other app of information received from Google APIs will adhere to the Google API Services User Data Policy, including the Limited Use requirements. In particular, for data we receive from Google:
- We use it only to provide and improve the planner’s user-facing features described above and, if you opt in, to email you product updates.
- We don’t transfer it to anyone else, except to an app you connect yourself and allow to read your planner (see “Connected apps”), as needed to run the planner (see “Service providers” below), to comply with the law, or as part of a merger or acquisition, and then only with your consent.
- We don’t use or transfer it for advertising, including personalised or retargeted ads.
- We don’t sell it, and don’t use it to determine creditworthiness or for lending.
- We don’t use it to develop, improve or train generalised AI or machine-learning models.
- No person reads it, unless you ask us to (for example, to help with a problem), it’s needed for security or to investigate abuse, or the law requires it.
Asana
Connecting Asana is optional, needs you to be signed in, and is separate from Google. You connect one Asana account, in Account → Integrations or from From Asana on your task list. Asana asks you to allow the planner to:
-
Read your workspaces (
workspaces:read), so you can choose the one you plan from. -
Read tasks and the projects they’re in (
tasks:read,projects:read), to list the open tasks assigned to you and to check on tasks you’ve planned. -
Update tasks (
tasks:write). The planner uses this for one thing only: marking a task complete when you choose Complete in Asana and confirm, from a task or from Shutdown.
We also receive your Asana user ID, name and email address, to show which account is connected.
How Asana data is used
- When you open From Asana, we fetch the open tasks assigned to you in your chosen workspace (name, due date, projects, link) and pass them to your browser. The list isn’t stored on our server.
- For each task you add to your plan, we save a link to the Asana task (its ID, web address, name, due date and whether it’s complete) as part of your planner data. The planner refreshes these details from Asana from time to time, and when you open From Asana or Shutdown, so it can tell you when a task is finished there.
- We never change a task’s name, due date, assignee or anything else in Asana, and never complete one unless you ask. Finishing a session in the planner doesn’t change Asana.
How Asana access is stored
Our server keeps the refresh token Asana issues for your account, encrypted (AES-256-GCM) with a key that isn’t stored in the database, and never sends it to your browser. Short-lived access tokens are kept only in server memory. Account → Integrations → Asana → Disconnect revokes the planner’s access with Asana and deletes the stored token. Tasks already in your plan keep their links. You can also remove the planner from Asana’s own list of apps you’ve authorized.
Service providers
We don’t sell or share your data. The planner relies on these providers to run:
- Cloudflare hosts the app and its database (Cloudflare Workers and D1), where your account, synced planner data and encrypted calendar and Asana tokens are stored. Cloudflare also keeps short-lived request and error logs, which can include your IP address, the page requested and the time.
- Google provides sign-in and the Calendar API. The app also loads Google’s sign-in script and its fonts from Google’s servers, which receive your IP address and browser details as part of those requests.
- Asana, if you connect it, provides your tasks. Its handling of your Asana data is governed by Asana’s own terms and privacy policy.
The planner has no ads, analytics or third-party tracking.
Security
All traffic is encrypted with HTTPS. Session cookies are HttpOnly and stored only as hashes, as are connected apps’ access and refresh tokens. Calendar and Asana refresh tokens are encrypted at rest with a key that isn’t stored in the database. Each account’s data is only available to that account’s sessions and the apps it has connected. No system is perfectly secure, but we work to protect your data and will tell affected users about a breach as the law requires.
Keeping and deleting your data
- We keep your account and synced planner data until you delete your account.
- Delete your account from Account → Delete account. This immediately deletes your account, sessions, synced planner data, connected calendar accounts, Asana connection and connected apps from our database, and revokes the planner’s calendar access with Google and its access to Asana. It also clears the account’s copy from that browser. To remove it from other browsers, sign out there or clear the site’s data.
- Removing a connected calendar account deletes its stored token straight away.
- Disconnecting Asana deletes its stored token straight away.
- Disconnecting an app ends its access and deletes its tokens straight away.
- Turning off product updates takes effect straight away. Deleting your account also removes you from the list.
- Signing out deletes the account’s copy of your planner from that browser; the synced copy stays in your account.
- Sessions expire after 30 days without use. Cloudflare’s logs are deleted automatically after a few days.
- To remove the planner’s sign-in access from your Google account too, use myaccount.google.com/connections.
You can download everything in your planner yourself, under Settings → Export. You can also ask us to export or delete your data by emailing us (see below).
Children
The planner isn’t directed at children under 13, and we don’t knowingly collect their data.
Changes to this policy
If we change this policy, we’ll update it here and change the date at the top. If a change affects how we use data from Google, we’ll ask for your consent before applying it to data we already have.
Contact
Questions, requests or concerns: support@timeblockplan.com.