Pero

Privacy Policy

Last updated: October 9, 2026

The short version

  • Your tasks, steps, repeats and thoughts stay on your iPhone. They are not sent to our server.
  • Your brain dump (voice or text) leaves your iPhone only after you agree. It goes through our server to Cloudflare, which turns voice into text, and to OpenAI, which sorts it into your plan. If you have projects, their names go to OpenAI with it, so tasks land in the right project. Our server doesn't keep it, and it's never used for ads.
  • Pero has no names, emails or passwords. It uses a random account ID for your free daily dump and your subscription. Apple takes the payment; RevenueCat keeps track of the subscription.
  • Usage stats and crash reports go to Google Firebase, linked to the random ID. Pero doesn't track you. You can turn this off in Settings → Share usage stats.
  • You can delete everything in Settings → Delete all data. This doesn't cancel your App Store subscription.

Who we are

Pero is made and run by Oleh Chausov, an individual developer in Kharkiv, Ukraine. In this policy, "we" and "us" mean Oleh Chausov.

Oleh Chausov is responsible for personal information in Pero. For Quebec, he is the person in charge of the protection of personal information.

Email for privacy questions and support: support@peroday.app

This policy covers the Pero app for iPhone and this website. The website has no analytics and no cookies.

What we collect and why

Pero has no sign-up. In the background, it creates an anonymous account with a random ID. That ID is the only ID we have for you: it is not your name, email, phone number or Apple Account.

This table lists everything that leaves your iPhone, or that our server receives about you.

Data When Who receives it Why Your choice
Your brain dump: the voice recording (up to 5 minutes) or typed text (up to 5,000 characters), a dump ID, the date, time and time zone of the dump, today's date on your iPhone, and your language and region setting. If you have projects, also their names (the 200 newest at most). Pero also sends a format number, the same for everyone on this version of the app Each time you send a dump, and only after you agree on the "How Pero sorts your dump" screen Our server, then Cloudflare Workers AI (voice) and OpenAI (text and project names). The format number stays on our server To turn what you say or type into tasks and thoughts, to put tasks into the right project, and to answer in a form this version of Pero can read Your consent. Turn it off in Settings → AI processing
Free limit: your account token, today's date on your iPhone, the dump ID. Every dump sent to the AI is also counted When Pero checks how many free dumps you have left, when you send a dump, and when you tap "Undo dump" Our server To count your free daily dump, and to protect the AI from scripts Needed for the app to work
Anonymous sign-in: a request to create the anonymous account and to refresh its token. Google records the IP address and user agent of the sign-in When you first open Pero, and from time to time after that Google (Firebase Authentication) To give you a random account ID for the free limit and purchases Needed for the app to work
Request checks: a one-time App Attest key check; then an App Attest signature or a DeviceCheck token, and Firebase's user agent (device type, iOS version, app ID). Our server also sees your IP address With requests to our server Apple (App Attest, DeviceCheck), Google (Firebase App Check), our server To make sure requests come from the real Pero app, and to stop floods of requests from one address Needed for the app to work
Purchases: your account ID; your App Store transactions for Pero (product, purchase and end dates, price, currency, store country, trial); whether you can get the free trial. The RevenueCat SDK also adds your locale and currency code When the paywall loads prices, when you buy or restore, and once when a new account starts RevenueCat To sell and restore Pero Pro and check if you can get the trial Needed for purchases
Subscription updates (not from your iPhone): your account ID, event type, product, period and time When your subscription changes RevenueCat sends them to our server. Before our server refuses a dump because of the free limit, it checks with RevenueCat So subscribers never hit the free limit Needed for the app to work
Usage events: which onboarding screens you saw or skipped, paywall views (including whether you can get the trial), purchase and restore steps (with the product; for a completed purchase, also its price and currency), trial reminders set or removed, reaching the free limit and how many free dumps were left, starts, results and retries of dumps (including whether a dump put a task into a project, linked a thought to a task or added task details), plan views, tasks completed, added, edited, deleted and moved by hand, thoughts made into tasks, focus sessions started and ended (with the timer length), projects created and opened, notification and microphone permission results, notification opens, and the rating prompt. Each event also says whether you have Pro and how many days since you installed Pero. Only counts and codes — never the words of your dump, the names of your tasks or projects, or the text of your thoughts and task details From your first launch, while Share usage stats is on Google (Firebase Analytics) To understand how Pero is used and to improve it On by default. Turn it off in Settings → Share usage stats
Your onboarding answers (your work schedule, your mornings, when your day starts), as answer codes When you answer, while Share usage stats is on Google (Firebase Analytics) To check who Pero helps and which first screens work On by default. Settings → Share usage stats
Subscription events: trial converted, renewed, cancelled, refunded, with the product When RevenueCat tells our server about them, while Share usage stats is on Our server sends them to Google (Firebase Analytics) with your account ID and analytics app instance ID To understand what happens after a purchase On by default. Settings → Share usage stats
Analytics app instance ID (Firebase's ID for this install) While Share usage stats is on, after the anonymous sign-in Our server keeps the latest one with your account and uses it only to send the subscription events above. It is not written to our server logs Google Analytics doesn't accept these events without it On by default. Settings → Share usage stats; turning it off erases the ID from our server
Crash reports (details below) The next time you open Pero after a crash, while Share usage stats is on Google (Firebase Crashlytics) To find and fix crashes On by default. Settings → Share usage stats
Ad conversion code (details below) After you install Pero, start a trial or pay, while Share usage stats is on Apple (AdAttributionKit), which may report it to the ad network that showed you an ad for Pero Advertising measurement: to show our ads to people who are likely to start a trial or pay On by default. Settings → Share usage stats
Deletion request: your account ID and every analytics app instance ID of this install When you tap Delete all data Our server, which asks Google Analytics, RevenueCat and Firebase Authentication to delete your data To delete your data everywhere Your request

What stays on your iPhone

These are never sent to our server or to anyone else:

Your onboarding answers are also kept on your iPhone. While Share usage stats is on, their codes are sent to Google Firebase, as described above.

A dump that couldn't be sent (for example, while you were offline) waits on your iPhone until you send it again or tap "Discard".

There is no copy of your tasks on our server. If you delete Pero, we can't bring them back. If you back up your iPhone to iCloud or a computer, iOS includes Pero's data in that backup — that is how iOS works by default.

AI processing

Pero uses AI to turn your brain dump into a plan.

What is sent. Your voice recording or typed text, with the date, time and time zone of the dump, today's date and your language and region setting. If you have projects, their names (the 200 newest at most) go with every dump, so the AI can put a task into the project you named. Pero only listens while you are recording.

When. Only after you tap "Continue" on the "How Pero sorts your dump" screen. Until then, nothing goes to the AI, and you can still add tasks by hand.

Who receives it:

Our server sends your dump to Cloudflare and OpenAI without your account token, account ID or your iPhone's IP address. So their copies are not linked to you — but what you say, or the name of a project, can still name you or other people.

How long it is kept. Our server keeps your dump, and the project names sent with it, only while the dump is being processed. It doesn't save it in its database, storage or logs, and the AI Gateway is told not to log the request. Cloudflare stores Workers AI content only if a storage service is connected to the request — we don't connect one. Cloudflare doesn't publish how long it keeps request logs. OpenAI keeps API data for abuse monitoring for up to 30 days. Because these copies are not linked to you, we can't delete them for you. On your iPhone, the text Pero heard and the sorting notes are kept only while the result card is open.

Training and ads. Cloudflare says it doesn't use this content to train the AI models on Workers AI or to improve any Cloudflare or third-party services. OpenAI says data sent to its API is not used to train or improve its models. Your dumps are never used for ads.

The AI only sorts your own words into your plan. It doesn't make decisions about you.

How to turn it off. Go to Settings → AI processing (this row is there only after you have agreed). After you turn it off, nothing more is sent. A dump that was already sent still finishes. Your next dump will ask for your permission again.

Analytics and crash reports

Pero uses Google Firebase Analytics to understand how the app is used and to improve it, and Google Firebase Crashlytics to find and fix crashes. From your first launch, Pero sends app usage events and your onboarding answers (as answer codes, never free text) linked to a random account ID — not your name or email; our server adds subscription events (trial converted, renewed, cancelled, refunded) under the same ID. Crash reports carry device and app details, never your account ID or what you record. None of this is shared with advertisers or used for tracking.

When you start a trial or subscribe, Pero only gives Apple's ad attribution (AdAttributionKit) a conversion code; Apple may report it to the ad network that showed you an ad for Pero, without any user or device identifier. Apple and the ad network don't publish how long they keep this report; because it carries no identifier, it can't be linked to you or deleted for you.

You can turn all of this off at any time in Settings → Share usage stats: the app stops sending usage events and crash reports and deletes unsent ones from your device; our server stops adding subscription events once your iPhone is next online; a conversion code already given to Apple stays, and Apple may still report it. Usage data already sent is kept for up to 14 months and crash reports for 90 days; Delete all data removes usage data from Google Analytics reports within 24 hours and from Google's servers within the next 63 days.

More detail

Before sign-in. Until the anonymous sign-in finishes, usage events are linked only to the analytics app instance ID of this install.

What Google collects on its own. The Firebase Analytics SDK also sends some automatic events (for example, the first time you open the app) and uses device identifiers — the app instance ID and Apple's identifier for vendors (IDFV). Google doesn't publish a full list of what the SDK collects. To be safe, we treat it as also collecting other usage data and an approximate location, and we list these in Apple's privacy labels.

What a crash report contains: the stack trace, function names, the type and text of the error, the crash time, device model, processor, memory and disk, iOS and app versions, whether the device is jailbroken, and whether the app was in the foreground or background; install IDs (the Crashlytics installation UUID, the Firebase installation ID and a session ID); and the usage events from just before the crash with their details, including onboarding answer codes ("breadcrumbs"). Pero doesn't add your account ID or its own notes to crash reports, and the words of your dumps and the names of your tasks, projects and thoughts never go into them.

The ad conversion code is one number: 0 when you install Pero, 1 when you start a trial, 2 when you pay without a trial (or a rough low, medium or high). Apple's report to the ad network (for example, TikTok or Meta) comes 24–48 hours later. It contains the conversion type, the app's ID, the IDs of the ad source and where the ad was shown, whether you clicked or viewed the ad, and the code. Pero sends nothing to ad networks itself.

No tracking. Pero doesn't ask to track you (there is no App Tracking Transparency prompt) and doesn't collect your advertising identifier (IDFA). There are no ad network SDKs in Pero, and usage events never go to ad networks. In our Google Analytics, Google signals, ad personalization and data sharing with Google are off, and it isn't linked to Google Ads.

What the switch does.

The switch doesn't affect brain dumps, purchases, the free limit or request checks: Pero can't work without them, and they are not analytics.

Purchases

Apple takes the payment for Pero Pro. We never see your card or payment details.

RevenueCat manages subscriptions for us. It receives the purchase data listed in the table above, under your random account ID. Pero doesn't turn on RevenueCat's collection of device identifiers (your advertising identifier, IDFV and IP address). Under its data processing agreement with us, RevenueCat uses this data only to provide its services to us, including improving them and preventing fraud, and doesn't sell it, share it or mix it with other data.

Our server keeps a copy of your subscription status, so that subscribers never hit the free limit.

When you tap Restore purchases on a new iPhone, or when a new account starts while your subscription is active, RevenueCat moves your purchases to that account.

Service providers

Provider What it does for Pero Data it handles Privacy policy
Cloudflare Runs our server (Workers) and its database (D1), request limits and server logs; Workers AI turns voice into text; AI Gateway passes text to OpenAI Everything our server receives (see the table above), including your account ID, free-limit records, subscription status and the analytics app instance ID; dump audio and text, and project names, while they are processed; IP address (only for request limits) cloudflare.com
OpenAI Sorts dump text into your plan Dump text with date, time, time zone and language setting; the names of your projects openai.com
Google (Firebase) Anonymous sign-in, analytics, crash reports, request checks (App Check) Account ID, sign-in IP address and user agent, usage events, onboarding answer codes, crash reports, install IDs, request-check tokens and Firebase's user agent firebase.google.com
RevenueCat Subscriptions Account ID, App Store transactions for Pero, trial eligibility, locale and currency revenuecat.com
Apple App Store payments, App Attest and DeviceCheck, AdAttributionKit Payment (Apple's own), app checks, the ad conversion code apple.com

These providers handle your data only for the purposes in this policy, under their own terms with us. They protect it at least as well as this policy says. In particular:

International transfers

Pero is run from Ukraine. Your data is processed outside the country, province or state where you live — for example, outside Canada and Quebec. Cloudflare doesn't publish where Workers AI runs, and OpenAI doesn't publish where it processes API requests. For Google, RevenueCat and Apple, see their privacy policies above.

In another country, your data may be accessed by the courts, law enforcement and national security authorities of that country.

How long we keep it

Data Where How long
Tasks, steps, repeats, thoughts, projects Your iPhone Until you delete them, delete Pero, or use Delete all data. A done task with no date is removed at the first midnight after you complete it
Settings, onboarding answers, AI consent and other app data Your iPhone Until you delete Pero or use Delete all data. A dump waiting to be sent: until it is sent or you tap "Discard"
Your sign-in Your iPhone's Keychain Stays even after you delete Pero, so a reinstall may reconnect to the same account
Your account Google (Firebase Authentication) Until you use Delete all data, or 14 months after your last use (or the end of your subscription, whichever is later). After deletion, Google erases it from its systems and backups within 180 days. Google keeps sign-in IP logs for "a few weeks"
Subscription status Our server While your account exists. Deleted at once when you delete all data. Not copied to backups
Free-limit records Our server 2 days after the day they belong to, then deleted. Not copied to backups
Daily count of AI dumps Our server 2 days after the day (in UTC), and deleted at once when you delete all data. Not copied to backups
Per-minute count of AI dumps Cloudflare (request limits) Uses a scrambled (hashed) form of your account ID and a 60-second window. Cloudflare doesn't publish how long it keeps the count after that
Analytics app instance ID Our server While Share usage stats is on and your account exists
Purchases RevenueCat While your account exists. When it is deleted, RevenueCat queues the deletion and doesn't publish when it is complete; its dashboard may show the data for a few more hours
Usage events, onboarding answers, subscription events Google (Firebase Analytics) 14 months. We have turned off Google's "reset on new activity" option, so the period doesn't restart when you use the app
Crash reports Google (Firebase Crashlytics) 90 days, then deleted from Google's systems and backups
Your dump and the project names sent with it Our server Only while the dump is being processed
Your dump Cloudflare Workers AI (voice) Stored only if a storage service is connected to the request, and we don't connect one. Cloudflare doesn't publish how long it keeps request logs
Your dump and the project names sent with it OpenAI (text) Up to 30 days, for abuse monitoring
Ad conversion report Apple and the ad network Apple, TikTok and Meta don't publish how long they keep these reports
Request checks Google (Firebase App Check) Google doesn't store the check. The token works for 1 hour by default and never more than 7 days
Request checks Apple (App Attest, DeviceCheck) Apple doesn't publish how long it keeps them. The checks are anonymous and carry no hardware or account ID
IP address for request limits Cloudflare Counted per IP address in a 10- or 60-second window. Cloudflare doesn't publish how long it keeps the count after that. Our server doesn't save your IP address
Server logs Cloudflare (Workers Logs) 7 days. They contain the request method, path, status, response time, error codes and a request ID — no IP address, headers, dumps, tokens or analytics IDs
Deletion request Our server Your account ID and analytics app instance IDs until every part of the deletion is done; then only a scrambled (hashed) account ID and dates, for 30 days

Our server's database (Cloudflare D1) has a built-in restore feature, Time Travel, which can bring back deleted rows for up to 30 days. It can't be turned off. Rows with your data are not copied into any other backups.

Delete your data

You can delete your Pero account and all your data in the app. You don't need to email us.

  1. Open Pero and tap Settings at the top of your plan.
  2. Tap Delete all data.
  3. Pero asks "Delete all your data?". Tap Delete all data again. (To stop payments first, tap Manage subscription.)
  4. Wait for "Your data is deleted", then tap Start fresh.

You need an internet connection. If you see "You're offline" or "Couldn't delete your data", nothing was deleted: tap Try again, or Back to Settings to keep your data. If you see "Deletion not confirmed yet", our server may already have your request: tap Try again, or Pero will try again the next time you open it. Nothing on your iPhone is erased until our server confirms the request.

What is deleted, and when

What Delete all data doesn't remove

If you delete Pero without using Delete all data

Deleting Pero erases everything on your iPhone except the sign-in in the Keychain. Your account at Google, your RevenueCat customer and your subscription status on our server stay. If you reinstall Pero and it reconnects to the same account, Delete all data will delete them. If not, they are deleted automatically 14 months after your last use (or the end of your subscription, whichever is later). Usage data already sent to Google Analytics stays until the end of its 14-month period.

Turning off Share usage stats doesn't delete what was already sent. Delete all data does.

If you have a question about deleting your data, email support@peroday.app. Pero doesn't know your name or email, so we can't look up your data by them.

Your rights

Everywhere. You can see and change your tasks, projects, thoughts and settings in the app. You can withdraw your consent at any time in Settings: AI processing stops sending your dumps to the AI (you can still add tasks by hand), and Share usage stats stops analytics, crash reports and ad conversion codes without changing anything else in the app. You can delete all your data with Delete all data. You can email us with any question about your data.

Please note: Pero doesn't know your name or email, and the app doesn't show your account ID. So we can only find data on our server or at our providers if you can show us which account is yours. Almost all of your data is on your iPhone, where you control it.

United States. Pero doesn't track you across other companies' apps or websites, so there is nothing for a "Do Not Track" signal to turn off. We don't let other companies collect data about you across apps and websites through Pero.

Canada, including Quebec. You can ask us what personal information we hold about you, ask us to correct it, and withdraw your consent, by emailing support@peroday.app. Oleh Chausov, the person in charge of the protection of personal information, handles these requests. Your information leaves Quebec and Canada (see "International transfers"). If you are not happy with our answer, you can contact the Office of the Privacy Commissioner of Canada or, in Quebec, the Commission d'accès à l'information du Québec.

Australia. You can ask us for access to, or correction of, your personal information, and complain about how we handle it, by emailing support@peroday.app. If you are not happy with our answer, you can contact the Office of the Australian Information Commissioner.

Children

Pero is not for children under 13. You must be 13 or older to use it (see the Terms of Use). We don't knowingly collect data from children under 13, and Pero doesn't check age.

If you are a parent and think your child under 13 uses Pero, open Pero on their iPhone and tap Settings → Delete all data. This deletes their data on the iPhone and on our server, and asks our providers to delete it too. If you need help, email us. If we learn that we hold data from a child under 13, we will delete what we can find.

Security

We take appropriate steps to protect your data. For example:

If data from Pero is ever compromised, we will tell the people affected as the law requires.

Changes to this policy

When we change this policy, we will post the new version on this page and change the "Last updated" date. The current version is always at https://peroday.app/privacy. If Pero is going to use your data for a new purpose, or send it to a new company, the app will ask for your permission first.

Contact

Oleh Chausov, Kharkiv, Ukraine
Email: support@peroday.app