Undupe

Privacy Policy

Effective 3 September 2026 · Last updated 3 September 2026

The short version

Your photographs are compared on your iPhone and are never uploaded. There is no account, and the app has no server to send a photo to. What does leave the device is anonymous usage and crash diagnostics, sent to Google Firebase so we can tell what is broken and what is confusing — it contains no photo, no thumbnail, no file name and nothing derived from your library. Purchases go through Apple; we never see a card. Everything that leaves is listed in the table in section 4.

1. What this policy covers

This policy covers the Undupe iPhone app and this website at undupe.products.ripeseed.io.

It does not cover the Apple App Store, which has its own privacy policy and is where your purchase actually happens; nor Google, whose handling of the diagnostics described in section 5 is governed by Firebase's own terms; nor anything you do with a photo after you have taken it out of the app yourself.

2. Who we are

Undupe is made by RipeSeed LLC, a limited liability company formed in the State of Delaware, United States. For the purposes of the UK and EU GDPR, RipeSeed LLC is the data controller for the small amount of personal data described below.

You can reach us at support@ripeseed.io, which is a monitored mailbox and the fastest route to a person. We will provide a postal address on request. We have not appointed a data protection officer, because the scale and nature of what we process does not require one.

3. What stays on your phone

Almost everything. The comparison that makes Undupe work is arithmetic done on your own device, and the results of it live in the app's sandbox, where only Undupe can read them.

None of this is sent to us and none of it is readable by another app. If you delete Undupe, iOS deletes the lot with it. Note that if you have iCloud Backup or an encrypted device backup turned on, that backup may include the app's container — that arrangement is between you and Apple, and we have no access to it.

4. What leaves your phone

Exactly two things do, and here they both are.

WhatTo whomWhenWhy
Anonymous usage, crash and performance diagnostics Google (Firebase) While you use the app, and after a crash To find out what is broken, what is slow, and which parts of the app confuse people
Your purchase Apple Only when you buy something or restore a purchase To take the payment and to tell the app what you own

Neither of them contains a photograph. No image, no thumbnail, no crop, no compressed copy, no file name, no album name, no caption, no date a photo was taken, no location a photo was taken, and no fingerprint or descriptor computed from one. Nothing that could be used to reconstruct, identify or count any specific picture in your library ever leaves the device. That is a property of what the app sends, not a promise about what we do with it afterwards.

5. Analytics and diagnostics, in detail

Please read this if you have the app already. The Firebase SDK described in this section is being added to Undupe, and the build currently on your phone may not contact Google at all. We are describing it here now, before it ships, so that this policy does not quietly change under you later. Nothing below is retrospective.

Undupe uses three Google Firebase products. They are the only third-party SDKs in the app.

Google Analytics for Firebase

Tells us how the app is actually used — which screens people reach, whether a scan completed or was abandoned, how often someone runs into the free daily deletion limit, and whether the paywall is understood. That last one matters more than it sounds: the free allowance is set at sixty photos a day, and the only way we can tell whether sixty is a fair number is by seeing how often people hit it.

Firebase Crashlytics

Reports crashes. When Undupe stops unexpectedly it sends the stack trace, the state of the app's threads and memory at that moment, and a short trail of the app's own log messages leading up to it.

Firebase Performance Monitoring

Measures how long things take — app start, screen rendering, and the duration of the app's own network calls to Google. On a phone that has to compare tens of thousands of photos, "it got slower" is a bug we would otherwise only hear about anecdotally.

What all three send

Between them, the following leaves the device:

What analytics never contains, in the app's own nouns: a photo, a thumbnail, a burst, a screenshot, a group, a keeper, a file name, an album name, a photo's capture date, a photo's capture location, a descriptor or perceptual hash, or the iOS local identifier of any photo. The events above describe the app, not your library.

Legal basis. Where the UK or EU GDPR applies, we rely on our legitimate interest (Article 6(1)(f)) in keeping the app working and in understanding how it is used. We have weighed that against your interests and consider it proportionate, because the data is not linked to a person, contains nothing about your photographs, and is the only practical way for a small team to find bugs it cannot reproduce. You can object at any time by writing to support@ripeseed.io, and we will honour it.

6. Purchases

Every payment is handled by Apple through the App Store. Undupe uses Apple's own StoreKit framework and no third-party purchase or subscription SDK, which means the app never sees and never receives your card number, your billing address, or your Apple ID.

What the app receives back from Apple is a signed transaction saying that a particular product was purchased and, for the yearly subscription, whether it is still active. We use that solely to decide whether to apply the free daily deletion limit. What Apple collects to process the payment is covered by Apple's privacy policy, not this one.

7. Permissions

PermissionAsked for whenUsed for
Photo library The first time you start a scan Reading your photos in order to compare them, and deleting the ones you confirm

That is the only permission Undupe asks for, and iOS lets you grant it for your whole library or only for photos you select. If you choose a limited selection, Undupe can only ever see what you picked.

Undupe never asks for your location, your contacts, your calendar, your microphone, your camera, your health data, Bluetooth, your local network, or permission to track you across other companies' apps. There is no App Tracking Transparency prompt in Undupe because there is nothing in it that would need one.

8. Notifications

Undupe sends no push notifications, and this is structural rather than a matter of policy: the push notification entitlement is not present in the app at all, so no push token is ever generated for it and there is no channel through which we could send you one even if we decided to.

9. What we never collect

10. Things that do not exist yet

A privacy policy that describes only today is one that has to be rewritten the moment anything ships. So, plainly:

What will not change: your photographs are not ours to upload, and we are not going to start.

11. How long anything is kept

12. Children

Undupe is not directed at children under 13, or under the age of digital consent in your country where that age is higher. We do not knowingly collect personal data from a child. The app has no account, no profile, no messaging and no content anyone else can see, which means there is very little for it to collect from anyone. If you believe a child has provided us with personal data, write to support@ripeseed.io and we will delete what we have.

13. Your rights

Depending on where you live, you have the right to access the personal data we hold about you, to have it corrected, to have it erased, to restrict or object to how we use it, to receive it in a portable form, and to complain to your data protection authority — in the UK, the Information Commissioner's Office; in the EU, your national supervisory authority. Exercise any of them by writing to support@ripeseed.io. We will not charge you and we will not treat you differently for asking.

Two honest limits are worth stating rather than burying:

14. California

If you are a California resident, the CCPA as amended by the CPRA gives you the right to know what personal information we collect and why, to have it deleted, to have it corrected, to opt out of its sale or sharing, and not to be discriminated against for exercising any of those rights.

We do not sell personal information and we do not share it for cross-context behavioural advertising. There is no opt-out link on this site because there is nothing to opt out of.

In the last 12 months the only categories we have collected are identifiers (the random per-installation IDs in section 5), internet or other electronic network activity (the app events and crash reports in section 5), geolocation data only at the coarse country-or-region level derived from an IP address, and commercial information in the sense that Apple tells the app which product you bought. We collect no sensitive personal information as the CPRA defines it.

15. International transfers

RipeSeed LLC is in the United States, and Google processes Firebase data on servers in the United States and elsewhere. If you are in the UK, the EEA or Switzerland, that means your diagnostics data is transferred outside your country.

Those transfers rely on the European Commission's Standard Contractual Clauses together with the UK International Data Transfer Addendum, which Google incorporates into the Firebase Data Processing and Security Terms we are bound by. Apple's handling of your payment is covered by Apple's own arrangements.

16. Security

The app's data sits inside the iOS application sandbox, which stops other apps reading it, and is covered by the device encryption iOS applies when your iPhone is locked. The single most useful thing you can do to protect it is to set a passcode, since device encryption depends on one.

Diagnostics travel to Google over TLS. We are a small team and we do not pretend to perfection: no service is impossible to breach, and anyone who says otherwise is selling something. What we can say is that the material most worth protecting — your photographs — is never in our custody in the first place, which is a stronger protection than any promise about how well we would guard it.

17. This website

This site is four static pages on Amazon CloudFront. It sets no cookies, runs no analytics, loads no fonts, scripts, images or styles from anyone else, and has no forms — which is why you were not asked to accept anything when you arrived. There is nothing here to opt out of.

Amazon Web Services necessarily handles the request that delivered this page, as any host would. We have access logging switched off on the distribution, so there is no record of your visit for us to read, keep or be asked for.

18. Changes to this policy

The dates at the top of this page are the authoritative record of when it last changed. If we make a material change — a new recipient of data, a new category collected, a new purpose — we will say so inside the app and not only here, and we will do it before the change takes effect rather than after. Changes are never applied retrospectively to data already collected.

19. Contact

Questions, objections, or a request to exercise any right in section 13: support@ripeseed.io.

RipeSeed LLC · Delaware, United States. A postal address is available on request.