Legal

Privacy Policy

For the Blocks app for iPhone and Apple Watch, and for this website.

Effective August 24, 2026. Last updated September 9, 2026.

The short version

  • No account, no sign-in, no email address. Blocks does not require a name or email address. Names you choose for activities may contain personal information.
  • Records stay local unless you choose to export them. Current builds have no online snapshot connection. Copies shared using earlier builds are described in the external data service privacy notice.
  • Apple Health data is read-only, and Blocks never sends it anywhere — it leaves your iPhone only in an export you make and share yourself.
  • Screen Time access is optional, only covers the apps, categories or sites you choose, never blocks an app, and stays on device.
  • Anonymous usage counts are off by default. If you opt in, Blocks sends counts — how many activities you keep, how often timers run, which features you have set up — to our own endpoint under a random ID not linked to you. Switching it off stops collection and requests deletion.
  • No third-party analytics, no crash reporting, no advertising, no trackers, no third-party SDKs.

1. Who is responsible

Blocks is made and operated by Nathaniel Gerdes, an individual developer. In this policy, “Blocks”, “we” and “us” refer to that developer, “the app” refers to the Blocks apps for iPhone and Apple Watch and their widgets and extensions, and “the site” refers to timeblocks.io.

For anything in this policy, write to support@timeblocks.io.

2. Information we collect

No account or directly identifying profile. The app has no account system, sign-in, registration or contact form. It does not ask for your name, email address, phone number or precise location. It does not read your contacts, calendar, photos, microphone or camera — it does not request access to any of them.

Anonymous usage statistics are off by default. If you explicitly opt in during setup or later in Settings, Blocks sends them to an endpoint we operate so we can tell which parts of the product people use and where it falls short. Every value is a count, a yes/no, or a fixed option — never anything you typed. Once a day, Blocks reports:

  • How many activities, categories and branches you keep, and how many activities are archived.
  • How many timers you started, how many entries you added by hand, and how many minutes you tracked.
  • Whether Blocks Unlimited is active, and your weekly benchmark and goal totals.
  • Whether you have an Apple Watch paired, the watch app installed, a widget installed, Live Activities in use, or Apple Health connected — the switches only, never any Health data.
  • Your app version, iOS version, device model, language, appearance setting, and whether you hide the activity name on the Lock Screen.

When you open the Blocks Unlimited screen, Blocks also reports that it opened, which part of the app opened it, and whether the purchase completed, was cancelled or failed. No payment detail is involved — Apple handles the purchase, and Apple never tells us who you are.

Your approximate country is recorded once, from the network connection itself. Your IP address is never stored.

All of it is reported under a random identifier created on your device the first time Blocks runs. It is not your Apple Account, not your device's advertising identifier, and not derived from any hardware ID. It exists so that one device's reports can be counted together, and it is never joined to anything that could name you. You can read the exact value in Settings › Analytics › What Blocks Sends, which also lists every field above.

Blocks' App Privacy manifest declares no tracking. Optional analytics declares product interaction, a random install ID, coarse location (country), purchase history (whether Unlimited is active and upgrade outcomes), and other analytics context. These analytics records are not joined to personal content. Current mobile builds do not upload personal records or a snapshot credential; their collection is limited to the optional anonymous analytics described above.

3. What Blocks stores on your device

Your primary records live in an on-device database: SwiftData on iOS and Room on Android. That includes:

  • Your categories, activities, branches and favorites, with the color you gave each activity.
  • Every timer session — start, end, any paused spans, and the description you saved with it.
  • Your weekly discretionary-time benchmark and category allocations.
  • App settings and preferences, including your chosen workout mappings and sleep source.

Your records are protected by your device security and included in device backups according to your system settings. Anonymous usage statistics count some of these things but never contain their names or notes. Exporting a file creates a separate copy outside the local database.

Earlier shared snapshots

Starting with iOS version 1.2 build 24 and the corresponding Android update, Blocks no longer includes the optional online snapshot connection. The app does not upload or pair snapshots. Updating or uninstalling the app does not automatically delete copies shared using an earlier build. The separate service's privacy notice explains those copies, recipients, retention and deletion.

4. Apple Health

If you choose to grant access, Blocks reads three things from Apple Health: workout durations, mindful minutes and sleep analysis. This is used to show a private, on-device view of how you spend your time — mapping workouts and mindful sessions onto your own activities and reflecting sleep in your weekly picture.

  • Access is read-only. Blocks requests no permission to write to Health, and never writes anything back.
  • Health samples, workout and mindful-minute mappings, sleep-source choices and any totals derived from them stay on your device. Blocks never uploads or synchronizes them to any service.
  • In Insights, Export All Data includes available nightly sleep, workouts and mindful sessions by default. You can turn off sleep or Health sessions before exporting. Workouts and mindful sessions are in a separate CSV table because they may overlap tracked timers. You choose where to save or share these files; Blocks does not upload them automatically.
  • Blocks never uses Health data for advertising or marketing and never sells it. If you choose to share an export with another service, that service receives the data you included.
  • Granting access is entirely optional — the app works without it.
  • You can review or revoke it at any time in Settings › Privacy & Security › Health › Blocks, or in the Health app under Sharing.

5. Screen Time and scrolling insights

If you choose to set up Scrolling, Blocks asks Apple for individual Family Controls authorization. Apple's picker lets you select the apps, categories or web domains you want measured. Blocks receives opaque selection tokens rather than app names or bundle identifiers, and uses Apple's Device Activity frameworks to show the selected usage alongside the time you tracked.

  • The feature is optional and Blocks works without it.
  • Blocks never shields, blocks or limits an app or website.
  • Exact usage is rendered by Apple inside a protected Screen Time report extension. Blocks cannot upload it or merge those exact totals into its own database.
  • Blocks keeps only on-device milestone readings for the comparisons it can calculate itself. Selection tokens stay in the shared App Group container and are never included in analytics or exports. User-initiated exports include available daily milestone summaries, with their resolution and completeness; exact protected Screen Time reports are not exported.
  • You can change the selection in Blocks and manage or revoke Screen Time access in iOS Settings.

6. Apple Watch, widgets and Live Activities

The Blocks watch app, the widgets, the Control Center control and the Live Activity read the same on-device database through a shared App Group container. Your iPhone and your Apple Watch exchange timer commands directly, device to device, using Apple's WatchConnectivity. Nothing in that exchange passes through a server of ours.

A Live Activity displays the activity name and elapsed time on your Lock Screen and in the Dynamic Island. If you would rather not show the name there, the app includes a privacy mode that conceals it.

7. Subscriptions and the App Store

Blocks Unlimited is an auto-renewable subscription sold by Apple through the App Store, using Apple's StoreKit. Purchases, renewals, cancellations and refunds are handled entirely by Apple.

  • We never see, receive or store your payment details, billing address, Apple Account, or any personal information about you as a purchaser.
  • The app asks StoreKit for the localized subscription product and whether an active entitlement exists. These App Store requests are separate from the optional analytics connection described in section 2.
  • Apple's handling of your purchase is governed by Apple's Privacy Policy, not this one.
  • Aggregate sales and download figures that Apple shows every developer in App Store Connect are anonymous statistics and cannot identify you.

8. Analytics, tracking and advertising

Blocks contains no third-party analytics SDK, no crash-reporting service, no attribution framework and no advertising. If you opt in, the anonymous usage statistics described in section 2 go to our endpoint; Vercel and Neon process them only as our hosting and database providers.

Blocks does not track you in the sense the App Store means: it does not link what you do here to data from other companies' apps or websites, does not use the Advertising Identifier, shares nothing with data brokers, and never presents an App Tracking Transparency prompt, because it has no reason to. No profiling or automated decision-making of any kind takes place.

Statistics stay off unless you opt in. You can change the choice in Settings › Analytics. Turning them off stops collection immediately, discards unsent analytics, and queues a request for our server to delete everything previously reported under the old random identifier. If you are offline, Blocks retains only that deletion request and retries it later. A future opt-in uses a new identifier rather than resuming the old record.

9. Third parties

Anonymous usage statistics go to our endpoint on timeblocks.io, hosted on Vercel with a database provided by Neon. These providers process the data on our behalf. Apple and Google operate the app stores and native frameworks. Recipients of previously shared snapshots are described in the separate external data service privacy notice.

If you use a sleep tracker such as Oura, Blocks reads its sleep data from Apple Health on your device. It does not connect to Oura, hold Oura credentials, or communicate with any wearable service.

10. Retention and deletion

You control the records in the local database:

  • Delete individual sessions, activities or categories in the app's Library.
  • Delete the Blocks app from your iPhone to remove its entire on-device database, including everything derived from Apple Health.
  • Deleting the app from your iPhone also removes the companion watch app and its data.
  • Revoke Health access in Settings at any time — Blocks stops reading immediately.

The anonymous usage statistics described in section 2 are kept for 25 months and then deleted automatically. Turning analytics off in Settings › Analytics stops collection immediately and sends a deletion request; if the device is offline, it retries until the server acknowledges it.

Deleting the app stops all reporting, but it cannot reach back and remove what was already sent. If you want that record gone, switch analytics off before you delete the app.

11. Children

Blocks is not directed at children under 13, and it does not knowingly collect directly identifying information from anyone of any age. Optional usage statistics are anonymous counts under a random install ID and are not used to build an advertising or behavioural profile.

12. Your rights

Depending on where you live, you may have rights under the EU or UK General Data Protection Regulation, the California Consumer Privacy Act as amended by the CPRA, or similar laws — to access, correct, delete, port or restrict the processing of your personal data, and to object to it.

Earlier shared snapshots are separate from your local records. For their retention and deletion, see the external data service privacy notice. The anonymous usage statistics in section 2 are not tied to your identity, so in most cases there is simply nothing for us to look up, correct or export.

If you want the statistics reported by your device deleted, turn analytics off in Settings › Analytics — that deletes them, and you do not need to ask us. If you would rather we did it, write to support@timeblocks.io quoting the install ID shown in Settings › Analytics › What Blocks Sends; it is the only handle we have, and without it we cannot tell your rows from anyone else's.

We do not sell personal information or share it for cross-context behavioral advertising. There is no “Do Not Sell or Share My Personal Information” process to run, because no such activity takes place. We do not discriminate against anyone for exercising a privacy right.

If you believe your rights have been infringed, you may lodge a complaint with your local supervisory authority. You are welcome to raise it with us first at support@timeblocks.io.

13. This website

The public marketing pages set no cookies and run no analytics, embeds no advertising or social tracking pixels, and loads no fonts, scripts or images from anyone else's servers — every asset on this page comes from this domain.

The site is hosted on Vercel. Like any web host, Vercel's infrastructure processes standard technical request data — your IP address, user agent, the page requested and a timestamp — to deliver pages, mitigate abuse and keep the service running. That processing is Vercel's, described in Vercel's Privacy Policy, and we do not use it to identify or profile visitors.

The private analytics dashboard at /admin sets a single sign-in cookie, for the developer's own use. It is not used for measurement. The separate external authorization service uses a short-lived security cookie, described in its privacy notice.

If you email support@timeblocks.io, we necessarily receive your email address and whatever you write. We use it only to answer you and, if you asked to be told when Blocks launches, to send you that one message. We do not add you to a marketing list, and we do not pass your address to anyone.

14. Changes to this policy

If this policy changes, the revised version will be posted here with a new “last updated” date, and material changes will be described plainly at the top of this page. If Blocks ever begins collecting a category of information not listed in section 2, that change will be announced here and in the app before it takes effect.

15. Contact

Questions about this policy, or about privacy in Blocks generally:

support@timeblocks.io
Nathaniel Gerdes, developer of Blocks


See also the Terms of Use and the support page.