Privacy Policy
What TodoBar collects, what it doesn't, and what happens to your data.
Last updated: May 2026
TodoBar is a single-developer indie app built with privacy as a first principle. The short version: your todos stay on your Mac and (if you opt in) in your own iCloud account. Nothing about you ever reaches my servers - because there are no servers.
The longer version is below. If anything here is unclear, email [email protected].
What TodoBar stores on your Mac
TodoBar stores the following locally, in its own sandboxed UserDefaults container on your Mac:
- Your tasks (title, due date, completion state, creation and completion timestamps)
- Your settings (custom hotkey, iCloud-sync preference, statistics-tracking preference, launch-at-login preference, in-app-purchase unlock state)
- Statistics, if you’ve enabled them (lifetime completion count, daily-completion buckets for the last 60 days, your fastest and slowest completed tasks, earned achievements)
- A counter of how many tasks you’ve completed since you last saw the in-app review prompt
This data lives only on your Mac and never leaves it through TodoBar.
What TodoBar syncs to iCloud (only if you opt in)
If Sync via iCloud is enabled in Settings (it is on by default), TodoBar synchronizes your task list to your private iCloud Key-Value Store using Apple’s CloudKit infrastructure. This is end-to-end between your devices and Apple - TodoBar’s developer never sees this data.
The iCloud-synced data is your task list only. Statistics, settings, and the in-app-purchase state are not synced via this path (purchase state is restored separately through the App Store with your Apple ID).
If you disable iCloud sync, the most recent local copy stays on your Mac and TodoBar stops talking to iCloud. Existing iCloud data remains in your iCloud account until you remove it (see Deleting your data below).
What TodoBar does NOT collect
TodoBar has no servers, no backend, and no analytics. Specifically, it does not:
- Send any data to a TodoBar server (there isn’t one)
- Use any third-party analytics SDKs (Google Analytics, Mixpanel, Amplitude, Sentry, etc.)
- Track your usage, app opens, click patterns, or session duration
- Read your other apps, files, browser history, or system state
- Access your contacts, calendar, mail, photos, microphone, camera, or location
- Use advertising identifiers
- Profile you for advertising
The macOS sandbox enforces most of this at the system level - TodoBar wouldn’t be able to access those things even if it tried.
Network requests
TodoBar makes network requests in only two situations:
- App Store / StoreKit - when you tap “Unlock for $9.99” or “Restore Purchase,” macOS contacts Apple’s StoreKit service to process the purchase. TodoBar’s developer never sees your payment details.
- iCloud sync - when iCloud sync is enabled, your tasks are synchronized through CloudKit, which is Apple infrastructure.
That’s it. No analytics ping, no crash reports, no update checks (App Store handles updates).
On-device AI (Foundation Models)
On macOS 26 (Tahoe) and newer, TodoBar uses Apple’s on-device Foundation Models framework as a fallback when the regex-based natural-language date parser doesn’t find a date. This processing happens entirely on your Mac using Apple’s local model - your task text never leaves your device for parsing.
In-app review prompts
TodoBar uses Apple’s RequestReviewAction to ask for a rating after you complete your fifth task. This prompt is shown by macOS, throttled by Apple (max 3 per user per 365 days), and never re-prompts within the same TodoBar version. No data about your usage is sent to anyone.
Deleting your data
To delete TodoBar’s local data: quit the app and drag TodoBar.app from Applications to the Trash.
To delete TodoBar’s iCloud data: System Settings → Apple Account → iCloud → Manage Account Storage → TodoBar → Delete Data.
Children
TodoBar is not directed at children under 13. There’s no account, no profile, and no data collection that would be relevant to children’s privacy frameworks like COPPA or GDPR-K.
Changes to this policy
If this policy changes meaningfully, the “Last updated” date at the top will change. The previous wording is in the public Git history of this site if you want to compare.
Contact
Questions about privacy? Email [email protected].