Privacy policy
kyrou is built and operated by Aaron Art Asperilla, an individual based in the Philippines ("we", "us"). You can reach us at [email protected]. This policy explains what we collect when you use the kyrou website (kyrou.org), the kyrou desktop app for Windows and the kyrou Android app (package app.kyrou.desktop), why, and what you can do about it. We handle personal data in line with the Philippine Data Privacy Act of 2012.
Local-first and sync
kyrou is local-first. Your tasks, subtasks, projects, routines and notes are stored on your own device (in the app's local database, IndexedDB). You can use kyrou without signing in.
If you sign in, kyrou syncs that data to our servers so it is available across your devices. Our servers run on Cloudflare Workers, and the data is stored in a Neon Postgres database. The database is hosted by Neon on AWS in Singapore (ap-southeast-1).
What we collect
- Account data. When you sign in with Google (through Neon Auth), Google shares your name, email address and profile picture with our sign-in provider (Neon Auth). Kyrou uses your email address and account id.
- Your planner data. When you are signed in, the tasks, subtasks, projects, routines and notes you create are synced to our servers, along with the sync history and any sync conflicts needed to keep your devices consistent.
- Kyrou AI. If you use the optional AI features, the text you type and some of your schedule are sent for processing. See "Kyrou AI" below and the AI policy. We store only a usage counter, not your prompts or the answers.
- Product analytics. The app uses PostHog to record how it is used (usage events and, when you are signed in, your account email and user id). In the app this covers usage events, error reports and session recordings (replays of how you use the interface) with all text and inputs masked, kept for 30 days. It is on by default and you can turn it off in Settings → General → Privacy → "Share usage data". On the website, PostHog runs only after you accept analytics, and then records pageviews, clicks, session recordings (kept for 30 days) and heatmaps. Recordings can also include console messages and performance timings. We do not anonymise IP addresses, so PostHog uses your IP address to work out an approximate location. Other PostHog event data is kept under the retention period of our PostHog plan, and you can ask us to delete it at any time.
- Error reports. When something breaks, we collect an error report with a redacted message, the device and the app version.
- Subscription events. Our server sends PostHog subscription status events keyed by your user id (no email).
- Payment data. Subscriptions on the website and desktop app are sold by Paddle, our merchant of record. Paddle collects your payment details, billing address and tax information. On Android, subscriptions are bought through Google Play Billing, and Google processes the payment. We never see or store your card number. From Paddle we receive your subscription status, plan and email, and we keep a mirror of your Paddle customer and subscription records; from Google Play we receive the purchase token, product and plan, subscription state and expiry, which we use to unlock your plan.
- Google Classroom data (optional). If you connect Google Classroom (Beta), we read (read-only) your Classroom courses, your coursework (assignments) and your own submission state, using the Google OAuth scopes
classroom.courses.readonlyandclassroom.coursework.me.readonly. We store the imported coursework as tasks in your account, and an encrypted refresh token so it can keep syncing. See "Google Classroom" below. - Android device features. The Android app uses notifications and exact alarms to ring the reminders and alarms you set. Nothing about them leaves your device except a task's alarm on/off setting, which syncs with the task.
- Support messages. If you email us, we keep the message and your reply.
Why we collect it, and our legal bases
- To run kyrou: sign you in, sync your data, check your subscription and answer support requests. Basis: performing our contract with you.
- To keep kyrou secure and reliable, and to understand which app features are used so we can improve it. Basis: our legitimate interests.
- To measure visits to the website with PostHog. Basis: your consent, which you can withdraw at any time (see "Cookies and similar storage").
- To keep transaction and tax records. Basis: legal obligation.
We do not sell your personal data, and we do not use your planner content for advertising.
Kyrou AI
Kyrou AI (Beta) is optional and available to signed-in users on desktop and Android. When you use it, your message, recent chat turns in that thread and a window of your schedule are sent to Cloudflare Workers AI for processing. Task notes, your account email and payment information are not sent. We do not store your prompts or the AI's outputs on our servers; we keep only a usage counter. Chat threads are kept on your device. The full details are in the AI policy.
Who processes your data
| Provider | Purpose | Data |
|---|---|---|
| Cloudflare (Workers, Pages, Workers AI) | Runs our servers and website; runs Kyrou AI | Requests to our API, synced data in transit, AI request content while it is processed |
| Neon (Postgres and Neon Auth) | Database and sign-in sessions | Account data, synced planner data, billing mirror, usage counters |
| PostHog (US cloud) | Product analytics and error reports | Usage events, error reports, account email and user id (app, when signed in), website analytics (only with your consent) |
| Paddle | Merchant of record for website and desktop purchases | Payment details, billing address, tax information, email, subscription records |
| Google Play | Android purchases | Payment details held by Google; purchase token and subscription state shared with us |
| Google (sign-in and Classroom) | Sign-in with your Google account; optional Classroom import | Name, email, user id; Classroom courses and coursework if you connect it |
These providers act for us under their own terms and privacy policies; Paddle and Google also hold the payment records they keep for their own purposes. We may also disclose data when the law requires it.
International transfers
We are in the Philippines. Your data is processed in Singapore, the United States and other countries where our providers operate. The database is hosted by Neon on AWS in Singapore, PostHog's US cloud runs in the US, and Cloudflare runs on its global network. Where the law requires it, we rely on the safeguards in our providers' data processing terms, such as the EU Standard Contractual Clauses.
How long we keep it
- Account and synced planner data: while your account exists. Deleting your account removes it immediately; deleted data can persist in database history for up to about 6 hours (see "Deleting your account").
- Data on your device: until you remove it or uninstall the app.
- Google Classroom token: until you disconnect Classroom or delete your account.
- Kyrou AI: prompts and outputs are not stored by us; the usage counter lasts while your account exists. Cloudflare says standard Workers AI inference has zero data retention for inputs and outputs, and keeps only operational metadata such as model, timestamps, token counts, latency and errors.
- Analytics and error reports (PostHog): session recordings for 30 days; other analytics data is kept under the retention period of our PostHog plan, and you can ask us to delete it at any time.
- Billing records: as long as tax and accounting law requires. Paddle and Google keep their own transaction records under their own policies.
- Support emails: as long as needed to handle your request and keep a record of it.
Cookies and similar storage
Website (kyrou.org).
- Essential local storage: your cookie choice (
kyrou-consent:v1) and the demo data the interactive demos use. These are needed for the site to work and are not used for tracking. - PostHog analytics: only if you accept. PostHog may then set cookies and local storage entries whose names start with
ph_. If you reject, or later withdraw, analytics stop and we remove them. Use Cookie settings to change your choice at any time. - Paddle: when the pricing section loads, Paddle.js loads from Paddle's CDN and requests localized prices from Paddle, which receives your IP address to pick your currency. This sets no cookies or local storage on kyrou.org. Paddle may set its own cookies during checkout, under Paddle's policies.
Apps. The desktop and Android apps use local storage and IndexedDB on your device because they are needed to run. App analytics can be turned off in Settings → General → Privacy.
Security
We use encryption in transit, store the Google Classroom refresh token encrypted, and limit who can access our systems. No online service can promise perfect security, so we cannot guarantee it. If a breach affects your personal data, we will notify you and the authorities as the law requires.
Your rights
You can ask us to access, correct, export or delete your data, object to how we use it, or withdraw consent you gave. You can export your tasks, projects and routines yourself from Settings → Backup & data → Export (a JSON file). For anything else, email [email protected] from the address on your account and we will respond within 30 days. See "Deleting your account" below.
You may file a complaint with the National Privacy Commission of the Philippines, or, if you live in the EU or UK, with your local data protection supervisory authority.
Google Classroom
Connecting Google Classroom (Beta) is optional. We use the data only to show your coursework as tasks in kyrou. We never sell it, never use it for advertising, never use it to train AI models, and do not share it except with the providers listed above. If you ask Kyrou AI a school question, a summary of your open Classroom work (course names for school questions) is sent to Cloudflare Workers AI only as described in the AI policy. Disconnecting Classroom revokes the Google token and deletes the stored refresh token, and you can also choose to remove the tasks it imported.
Kyrou's use and transfer of information received from Google APIs adheres to the Google API Services User Data Policy, including the Limited Use requirements.
Deleting your account
In the app (desktop or Android). Go to Settings → Sync & account → Delete account. It takes effect immediately and deletes your tasks, projects, routines, sync history, conflicts, your Google Classroom connection (the Google token is revoked), AI usage counters, the billing mirror records we keep of your Paddle customer and subscription, any complimentary-access records, and your sign-in account.
- Subscriptions. Deleting your account cancels an active kyrou.org (Paddle) subscription immediately. Deleting your account doesn't by itself issue a refund. If you were charged in the last 14 days, the refund policy applies; email [email protected]. It does not cancel a Google Play subscription: cancel that in Google Play first, or it can keep billing.
- Your device. Data on the device where you ran the deletion is erased. Other devices you were signed in on are not signed out automatically: they keep their local copy and stop syncing, because the server refuses requests for a deleted account. Remove that copy on each device from Settings (Sign out, or Clear all local data) or by uninstalling the app.
- Analytics. To delete the analytics data PostHog holds about you, email [email protected] and we'll request it.
- Backups. Our database keeps up to about 6 hours of history, so deleted data can persist there for up to that long.
- What others keep. Paddle and Google keep their own transaction records under their own policies, and we may keep minimal records where law requires.
Without the app. Email [email protected] from the address on your account and we will delete it within 30 days.
Children
You must be at least 13 to use kyrou, or older if the law where you live requires it (in some EU countries the age is up to 16). We do not knowingly collect data from anyone under the minimum age. If we learn we have, we delete it.
Changes
If we make a material change, we'll update the date at the top and tell you in the app before it takes effect where we reasonably can. Earlier versions are kept under "Previous versions" below.
Contact
Aaron Art Asperilla · [email protected]