The short version
- Leanroll checks your photos on your iPhone. Your photos, thumbnails and photo details are never uploaded.
- Leanroll does not use cloud AI and has no server of its own.
- What leaves your iPhone: purchase records (RevenueCat), usage analytics you can turn off (PostHog), crash reports (Sentry) and app update checks (Expo).
- No account, no ads, no tracking, and we never sell your data.
Who we are
Leanroll is made by Wavista Apps, operated by William Tsao, an individual based in California, USA. Contact: support@wavistaapp.com.
Your photos
Leanroll needs access to your photo library to find similar photos, screenshots, blurry shots and large videos. You can give it access to all photos or only the ones you pick, and change that at any time in the iOS Settings app.
- Every check runs on your iPhone, using Apple's built-in frameworks. There is no cloud AI.
- Your photos, thumbnails, photo details (such as dates and places) and the scores the app works out are never uploaded, never shared and never used for advertising.
- The results are kept in a database on your iPhone: which photos belong together, their quality scores, how many faces are in a photo and how clear they are (never who they are), your choices, and how much space you cleared.
- The app deletes a photo or video only when you choose to, and iOS asks you to confirm every time. Deleted items go to Recently Deleted in the Photos app, where you can recover them for a limited time.
- When you compress a video, the app saves a smaller copy (keeping its date and place) and deletes the original in one step that iOS asks you to confirm. If the original is in iCloud Photos, your iPhone may download it from Apple first.
If you back up your iPhone to iCloud or a computer, the backup includes the app's data, as it does for any app.
What leaves your iPhone, and who receives it
RevenueCat (subscriptions)
RevenueCat runs the subscription for us. It receives a random anonymous ID it creates for the app, your App Store purchase records (what you bought, when, its price, and trial and renewal status) and technical details such as the iOS and app version. Its software also sends the identifier for vendor, an ID that Apple gives our apps on your iPhone. RevenueCat never gets your name, email or payment card. If you installed the app from an ad on the App Store (Apple Ads), Apple tells RevenueCat which ad campaign, ad group and search keyword led to the install, so we can see whether our ads pay for themselves. This is Apple's own ad attribution: it does not use the advertising identifier and needs no tracking permission. Apple handles payment.
PostHog (usage analytics, which you can turn off)
We use PostHog to understand which features work, so we can improve the app. Analytics are on when you install the app, and you can turn them off at any time in Settings, Share usage analytics. When they are on, PostHog receives, tied to the anonymous ID (a random ID, not your name or email):
- your two setup answers, both picked from a list: what fills your phone and your storage situation;
- events such as opening the app, setup steps viewed, whether you allowed photo access and notifications, when the subscription screen was shown, each step of a purchase (started, cancelled, failed with RevenueCat's error code, or completed, with the offer shown and the product), trials, restores (with the offer shown) and review prompts;
- counts and sizes from your cleanups: how many items a scan found and how long it took, how much space could be freed, when you open a group or keep a different photo than suggested, how many items you deleted (and of what kind and size), how much space a video compression saved, swipe session totals, and when you share a milestone;
- details the PostHog software adds, such as the app version, iOS version, device model, language, time zone and screen size.
PostHog never receives your photos, thumbnails or photo details. Session recording, touch tracking and location lookup from your IP address are turned off. PostHog does not store your IP address.
Sentry (crash reports)
If the app crashes or hits an error, it sends a report to Sentry so we can fix it: what went wrong and where in the app, the device model, iOS and app version, which app update it is running, and a random ID Sentry makes for the install. For about 1 in 10 app starts and screen loads it also sends performance timings, and it counts sessions that end without a crash. Reports do not include the anonymous ID, screenshots or photos. Before a report is sent, the app cuts a failed database save down to the kind of action and the table name, so a report never includes what you were saving (such as which photos a scan grouped, their dates or their scores). It also leaves out request details and console logs. Sentry does not store your IP address.
Expo (app updates)
Each time the app starts, it asks Expo's update server (EAS Update) whether an update for the app is waiting, and downloads it if there is one. The request carries the operating system, which version of the app's code is running (its runtime version, update channel and update IDs) and a random install ID that Expo's software creates on your iPhone. If the app stopped with an error while it was starting, the next check also sends the text of that error, so a faulty update can be found and undone. Apart from that text, the request does not include your name, an account, the app's anonymous ID or your photos, thumbnails or photo details. Like any server, Expo sees the IP address the request comes from. The check runs for everyone, including while the age protections under Children are on, because it only keeps the app working. See Expo's privacy policy.
Apple
Apple handles the App Store, payments, iCloud Photos and iPhone backups under Apple's own privacy policy.
Email to support
If you email us, we receive your email address, your message and the details that Contact support adds (app version, iOS version and the anonymous ID). We use them only to help you. We keep support emails for 2 years after your last message, then delete them. Cloudflare forwards them to our Gmail (Google) inbox.
Permissions
- Photos: to find photos to clean up, and to delete or compress the ones you choose.
- Add to Photos: to save the smaller copy of a video you compress.
- Notifications: for one reminder before a free trial ends, and a monthly clean-up reminder if you turn it on.
Leanroll does not use your camera, location, contacts, microphone or Apple Health.
How long data is kept
- On your iPhone: until you use Delete my data or delete the app.
- RevenueCat: for as long as we offer the app, so your subscription can be restored.
- PostHog: up to 1 year.
- Sentry: 30 days.
- Expo: only as long as Expo reasonably needs it, as its privacy policy says; it names no fixed period.
Delete my data
Open Settings and tap Delete my data. It deletes your scan results, progress, answers and choices from your iPhone, cancels the monthly clean-up reminder (a reminder before a free trial ends stays, like the subscription), turns analytics off and starts the app again from the beginning. It never touches your photos. You can turn analytics back on later in Settings.
Leanroll has no server, so Delete my data cannot delete what PostHog, Sentry, RevenueCat or Expo already received. To ask for that, email us from Contact support (it adds the anonymous ID we need). We will delete your PostHog profile and events, any Sentry reports we can match, and, if you ask, your RevenueCat record. Expo's update checks are tied only to Expo's own random install ID, which we never see, so we cannot find them for you. Deleting the app removes that ID from your iPhone. Deleting the RevenueCat record does not cancel your Apple subscription, and Restore purchases brings Pro back. Delete my data does not cancel your subscription either.
Your requests
You can email support@wavistaapp.com to ask what we hold about you, or to delete it. Send the email from Contact support in the app so it includes the anonymous ID; we cannot find your data without it, because we do not know your name. We reply within 30 days.
What we do not do
We do not sell your personal information or share it for advertising. The app has no ads, does not build profiles from your photos and does not track you across other companies' apps or websites.
The app does not track you across other companies' apps or websites, so there is nothing for a Do Not Track signal to turn off, and the app does not respond to one.
Children
Leanroll is not directed to children under 13, and we do not knowingly collect data from them. If you think a child has used the app, email us and we will help delete the data.
Where the law requires it, the app asks Apple for your age range. The answer stays on your iPhone, is used only to apply age protections, and is never sent to us or anyone else. If Apple says you are under 13, if you choose not to share your age range where it is required, or if iOS cannot tell the app at launch whether the law requires asking (for example with no Apple Account signed in, or no answer within 3 seconds) and the app has no earlier answer saved, the app turns off usage analytics and Apple Ads attribution (see RevenueCat above). In the last case, these protections last until a launch where iOS can tell.
Security and where data is processed
The app talks to its service providers over encrypted connections (HTTPS). PostHog (US cloud), Sentry, RevenueCat and Expo process data in the United States.
Changes to this policy
If we change this policy, we will post the new version here with a new effective date. If a change affects how we use data you already gave us, we will tell you in the app first.