← Practicalendar

Privacy Policy

Last updated: October 23, 2026

The short version: Plans are generated on your device when Apple’s on-device model is available, with a deterministic on-device fallback when it is not. Live Activity scheduling uses a small, temporary schedule. Content-free usage stats (which screens are used, whether plans are saved, which built-in steps get removed) go to PostHog Cloud EU unless you turn them off; they never include your events. Plan details are sent only if you choose to share them. There are no accounts, ads, or cross-app tracking.

Calendar data

Calendar events are read via Apple's EventKit. Relevant event details stay within the app’s on-device planning path; if the on-device model is unavailable, a deterministic fallback builds the plan locally. Event notes and locations are never sent to the separate Live Activity scheduling server. Optional plan feedback is a separate choice described below.

Plan generation

Plan generation uses Apple’s on-device model when available. If it is unavailable, a deterministic heuristic engine builds the plan on device.

Push notifications

To keep your Live Activity updating while the app is closed, Practicalendar sends scheduling data to a server we run on Cloudflare. This data contains only:

Event notes, locations, and calendar names are never sent to our scheduling server. Schedule data exists only to deliver your countdown: it is not written to server logs, not used for analytics, never sold or shared, and it is deleted automatically minutes after your event starts.

Analytics

Usage stats are on unless you turn them off in Settings → Analytics. They are counts and names chosen by the app, never text you or your calendar wrote: which screens open, how far onboarding gets, whether a plan was saved, discarded or regenerated, how many steps it had, and which steps were removed, added or retimed, named by the app’s own step IDs (such as “keys” or “travel”) or as a step “found in the event” or “added by hand”. They also include app opens, Live Activity starts, reminder-style choices and paywall views. They are sent to PostHog Cloud EU in Frankfurt under a random ID for this installation, without a person profile, and they never include event titles, notes, locations, attendees or anything you type.

Plan details help us understand whether the planner understood an event and where a proposed plan was changed. They are off by default. If you choose to share them, the app also sends the text you entered for the plan, the event title and notes, your steps, the generated and accepted plan, a device-computed description of changes, the outcome, and app/planner versions.

We deliberately exclude structured event links, locations and addresses, coordinates, route data, attendees, calendar and EventKit identifiers, account/contact data, advertising identifiers, push identifiers, and RevenueCat identifiers. Free-form text can still incidentally contain personal or sensitive information despite our local safety scrub; please do not treat optional feedback as a place to send secrets.

Both are associated with a pseudonymous analytics ID for this app installation. It is not an account or a cross-app identifier. PostHog AI is disabled; we will not enable it without a separate review and an updated disclosure.

You can turn usage stats off, and decline, stop, resume or delete plan details, in Settings → Analytics. Deleting plan details immediately opts the app out and asks PostHog to delete this installation’s analytics person, events, and recordings. The deletion control requires the credential stored on this installation, so uninstalling first can remove the credential needed to make that request; you can also email us to ask.

Accounts

There are no user accounts. Practicalendar does not ask you to provide a name or email address, though optional free-form plan feedback can incidentally contain personal information as described above.

Data retention

Plan generation happens on your device, so there is no Practicalendar plan database. The push schedule (including the event title and step names) is ephemeral: it is discarded automatically shortly after the plan completes, and deleting a plan cancels and deletes its schedule immediately.

Our target for optional raw plan-feedback content is 12 months. We will keep collection disabled until PostHog’s applicable retention behavior and the final public retention wording have been verified. A deletion request overrides ordinary retention.

Questions or deletion requests

If you have questions about this policy or want to request data deletion, email us at hello@robothand.dev.