Privacy Policy

ShelfReady, by Darius Cirjan

Last updated 3 October 2026

Summary

ShelfReady edits your photos on your device. Your photos are never uploaded to us or to anyone else, and there is no account to create.

The app does use a small number of third-party services: Google Firebase for usage analytics and crash reports, Google AdMob for the ads free users see, and RevenueCat for subscriptions and purchases. This policy explains what each of them receives, why, and how you control it.

Who is responsible

ShelfReady is developed and published by Darius Cirjan ("we", "us"), who is responsible for the personal data described here. You can reach us at iosallapps@icloud.com.

Your photos

When you pick or take a photo, the app finds the item in it, removes the background, and places the item on the background you choose. All of this happens on your device, using Apple's on-device Vision and Core Image frameworks. No photo, cutout, or anything derived from a photo is sent to us, to Google, to RevenueCat, or to any server.

The app keeps two copies of each photo you save, the original and the finished one, in its own private storage on your device, so you can reopen a photo later and try a different background. You can see how much space they take, and delete all of them, in Settings → Storage. Deleting them does not touch anything already saved to your Photos library. Deleting the app removes them too.

If you use Share, the photo goes only to the app or person you choose in the iOS share sheet.

Camera and Photos access

  • Camera. Used only when you choose to take a photo inside the app. Nothing is recorded or sent anywhere.
  • Photos library. Photos you edit are handed to the app one at a time by the iOS photo picker, which gives the app no access to the rest of your library. To save a finished photo, the app asks for add-only access: it can add a photo to your library, and it cannot read, browse, or count what is already there.

Usage analytics (Google Firebase Analytics)

To understand how the app is used and where it can be improved, the app records events such as a photo being processed, a background being chosen, a paywall being shown or closed, a purchase being started or completed (with the plan, price, and currency), and a free save being used. These events never contain photos, file names, or anything you type.

Firebase also collects some information automatically: an app instance identifier generated for this installation, your device model, iOS version, app version, session information, and an approximate location (country or region) derived from your IP address.

Analytics collection is switched off when the app starts and is only turned on once Google's consent step has answered. Where consent is required (for example in the European Economic Area, the United Kingdom, and Switzerland), analytics runs only if you agree to it; elsewhere it runs by default. Advertising-related analytics signals are turned on only if you also allow tracking (see below).

Crash reports (Google Firebase Crashlytics)

If the app crashes, Firebase Crashlytics sends a crash report: the technical details of the crash (such as a stack trace), your device model, iOS version, app version, and an identifier for this installation. Crash reports are used only to find and fix bugs, and they do not include your photos.

Advertising (Google AdMob)

If you do not have a subscription or a lifetime purchase, the app shows ads from Google AdMob: an ad when the app opens and full-screen ads between some steps. Subscribers and lifetime purchasers see no ads.

To serve and measure ads and to prevent fraud, Google AdMob collects:

  • Device identifiers. The Identifier for Advertisers (IDFA) only if you allow tracking in the App Tracking Transparency prompt. If you do not, the IDFA is not available to the app or to Google.
  • Advertising data, such as which ads were shown or tapped.
  • Approximate location, derived from your IP address.
  • Product interaction, performance, and diagnostic data about how the ads load and behave.

In regions where consent is required, Google's consent form asks you when the app first starts, personalised ads are shown only if you agree, and you can change your answer at any time in Settings → Privacy choices. Without that consent, Google serves non-personalised ads, which still use limited data for frequency capping, fraud prevention, and measurement. Where no consent is required, ads may be personalised; you can limit this by not allowing tracking.

Purchases and subscriptions (Apple and RevenueCat)

Payments are handled by Apple. We never see your name, email address, or payment details. The app uses RevenueCat to check whether your Apple Account has an active subscription or a lifetime purchase. RevenueCat receives your purchase and transaction history from the App Store, together with an anonymous identifier it creates for this installation.

The app also sends RevenueCat two pieces of information:

  • the Firebase app instance identifier, when analytics is allowed, so that renewals, cancellations, and refunds, which happen outside the app, appear in the same analytics;
  • the attribute free_saves_used, the number of free saves you have used (a number from 0 to 3, nothing about the photos themselves).

The free saves counter (on your device)

The app gives free users 3 full-quality saves. To keep count, it stores a small record in the iOS Keychain on your device: the number of free saves used and a fingerprint (a SHA-256 digest) of each result that used one, so saving the same result again does not cost a second save. The fingerprints cannot be turned back into a photo, and they never leave your device. Only the number is copied to RevenueCat, as described above.

Unlike the rest of the app's data, Keychain items remain on your device after the app is deleted, so reinstalling the app does not reset the free saves.

Settings and counts on your device

The app stores your preferences on the device, such as whether you have seen the introduction, your default background, your marketplace and export format, and simple counts the app uses to decide when to show a message or an ad. These stay on your device and are removed when you delete the app.

When you contact us

If you write to us, we receive your email address and whatever you include. The email the app prepares for you already contains the app version and iOS version, which you can remove before sending. We use it only to answer you.

Tracking and App Tracking Transparency

The app asks for permission to track through Apple's App Tracking Transparency prompt, after Google's consent form where that form applies. If you allow it, the IDFA is shared with Google AdMob and Firebase to personalise and measure ads across apps and websites owned by other companies. If you do not allow it, no IDFA is collected. You can change this at any time in iOS Settings → Privacy & Security → Tracking.

Legal bases (EEA, UK, and Switzerland)

  • Consent for analytics, personalised ads, and tracking. You can withdraw it at any time in Settings → Privacy choices or in iOS Settings, without affecting what was done before.
  • Performance of a contract for processing purchases and restoring them.
  • Legitimate interests for crash reports, counting free saves, and serving non-personalised ads with fraud prevention, which keep the app working and free to try.

Who receives data

These providers may process data in the United States and other countries. Where data leaves the EEA, the UK, or Switzerland, it is protected by the safeguards the law requires, such as the European Commission's Standard Contractual Clauses or the EU-US Data Privacy Framework.

We do not sell your personal information for money. If you allow personalised ads, Google uses identifiers for advertising across other companies' apps and websites, which some laws, including California's, may treat as "sharing". You can stop this at any time by turning off tracking in iOS Settings → Privacy & Security → Tracking and, where the app offers it, by declining personalised ads in Settings → Privacy choices.

How long data is kept

  • Photos and their copies stay on your device until you delete them or the app.
  • Firebase Analytics keeps event-level data for no more than 14 months.
  • Crashlytics crash reports are kept for 90 days.
  • RevenueCat keeps purchase records for as long as needed to provide your subscription or purchase and to meet legal and accounting obligations.
  • Google AdMob data is kept according to Google's own retention policies.
  • The free saves record stays in your device's Keychain until you erase the device.
  • Support emails are kept for as long as needed to answer you.

Children

The app is not directed at children under 13, or under 16 where local law sets that age, and we do not knowingly collect personal data from them. If you believe a child has used the app and data about them has been collected, contact us and we will help remove it.

Your rights

Depending on where you live, including under the GDPR, the UK GDPR, and California's CCPA, you have the right to know what personal data is held about you, to receive a copy, to have it corrected or deleted, to restrict or object to its use, to withdraw consent, and to opt out of the sale or sharing of personal data. You will not be treated differently for using these rights.

Because there is no account, we cannot connect data held by Google or RevenueCat to you by name. Write to us at iosallapps@icloud.com and we will explain what can be found and help you with your request. You can also act directly: change your choices in Settings → Privacy choices where the app offers it, turn off tracking in iOS Settings, delete the app's photos in Settings → Storage, or delete the app. In the EEA and the UK you also have the right to complain to your local data protection authority.

Security

Your photos and the app's records stay in the app's private storage and the iOS Keychain, which are protected by iOS. Data sent to Google and RevenueCat travels over encrypted connections.

Changes to this policy

If this policy changes, the date at the top changes with it. Any change to what is collected, or to what happens to your photos, will be described here plainly.

Contact

Questions about this policy or your data: iosallapps@icloud.com