The short version
- No accounts. You do not sign up or log in to use Stepi. Contacting support by email is optional.
- No ads or tracking. Stepi includes no advertising, analytics, or tracking SDKs.
- Local-first storage. Stepi does not write your goals, tasks, calendar, or completion history to its application database. Hosted network and diagnostic logs may retain request metadata as described below.
- Smart Planning is optional. This Pro feature uses the OpenAI API. Stepi asks for explicit permission before the first online request.
Who we are
Stepi is a todo and calendar app with an AI planning agent, made by an individual developer (“Stepi,” “we,” “us”). Questions about this policy or your data can be sent to alexqin411@gmail.com.
What is stored on your device
Stepi stores your goals, tasks, plans, completion history, Smart Planning permission, and a small set of learned planning preferences locally on your device. Sensitive preferences are deliberately coarsened before storage. For example, an income value is stored only as a range and an injury only as a short phrase.
We do not sync or back up this content to an application database. When Smart Planning is selected and you have given permission, the limited fields described below are transmitted for processing. Current Stepi function logs do not contain the planning request body. Device backups such as iCloud device backup are controlled by you and Apple.
Your choice and permission
Before Smart Planning sends its first request, Stepi identifies OpenAI as the third-party AI provider and explains that the current goal, follow-up answers, relevant plan step and date, coarse learned preferences, and feedback needed for the request may be shared. You can allow Smart Planning or continue with on-device planning.
You can revoke Smart Planning permission from Account in Stepi at any time. Revoking permission switches planning to the on-device mode and prevents new planning content from being sent to Stepi’s server or OpenAI. Previously processed content remains subject to the retention periods described below.
What is sent, and when
Only Smart Planning sends planning content off your device, and only after permission. It may send the current goal text, follow-up answers, relevant plan step and date, coarse learned preferences, or feedback needed to create or update your plan and daily actions. Requests travel over HTTPS to a Stepi Supabase Edge Function, then to the OpenAI API for processing.
The same request includes an Apple-signed subscription transaction. Stepi’s server verifies this proof and the current subscription status with Apple before contacting OpenAI. The server derives a one-way keyed hash from the original transaction identifier and stores request counts and time windows against that hash to enforce service limits. Raw transaction data is not written to Stepi’s application database or current function logs. Stepi does not receive Apple Account credentials or payment details. The Apple transaction and subscription hash are not sent to OpenAI.
Supabase and its network provider process and log request metadata used to route requests, limit abuse, verify availability, measure performance, and diagnose errors. This metadata can include the request IP address, approximate location derived from that address, request time, function path, response status, execution duration, request identifiers, deployment identifiers, and error categories. Current function logs do not contain the planning request body or Apple-signed transaction.
The OpenAI request contains planning instructions and the permitted planning input. It does not contain the Apple transaction, Stepi subscription hash, the user’s network IP address, or a Stepi user identifier. There are no Stepi accounts, so we do not ask for your name or email. Your full task list, completion history, and calendar are not sent. Stepi does not use this information for advertising, marketing, analytics, or cross-app tracking.
OpenAI does not use API inputs or outputs to train its models by default. Stepi turns API response storage off. By default, OpenAI may retain prompts and responses in abuse-monitoring logs for up to 30 days. Longer retention may apply when required by law or needed to protect services or others. Read OpenAI’s API data controls.
On-device planning sends nothing. When selected, planning happens entirely on your iPhone.
Subscriptions and payments
Stepi Pro purchases are handled by Apple through the App Store. We never receive or store payment card details, billing addresses, or Apple Account credentials. Apple provides the signed transaction and subscription status needed to verify Pro access.
Retention and deletion
You can delete goals and tasks inside Stepi at any time. Uninstalling the app removes its locally stored data. Stepi keeps no application-database profile of your goals, tasks, calendar, or history. Pseudonymous usage-limit records contain no goal content or raw transaction identifier. An hourly cleanup removes each usage-limit record after it has been inactive for 24 hours, normally within 25 hours of its last update. A database or scheduler outage may delay deletion. Supabase retains invocation and network logs according to the active project plan. OpenAI may retain API abuse-monitoring logs for up to 30 days.
Children
Stepi is not directed at children under 13, and we do not knowingly collect personal information from children.
This website
This public website introduces the app and links to the App Store. It does not collect goal or planning input. It is hosted by ChatGPT Sites, whose hosting infrastructure may process network and diagnostic information such as request addresses and timestamps. App Store links take you to Apple’s service, which has its own privacy practices.
Changes and contact
If our data practices change, we will update this page and its “Last updated” date before meaningful changes take effect. Privacy questions can be sent to alexqin411@gmail.com.