Written to be accurate rather than reassuring. Where something leaves your device, this page says so, names who receives it, and says how long they keep it.
Last updated 11 October 2026
All of the following is kept only on your device, in the app's private container. None of it is synced to iCloud and none of it reaches us.
| What | Where |
|---|---|
| Garment photos you add, and the extra photos in a garment's gallery | App container on your iPhone |
| Your full-body photo, if you add one | App container on your iPhone |
| Try-on renders you have generated | App container on your iPhone |
| Saved and planned looks, wear counts, garment names, brands and product links | App's saved data on your iPhone |
| Preferences: style goals, weather sensitivity, guidance mode, weather city | App's saved data on your iPhone |
| Your birth date, and birth time if you entered it | App's saved data on your iPhone |
Wearomancy stores this using the standard iOS mechanisms and declares its use of user defaults in Apple's privacy manifest with the required reason code CA92.1, which covers reading and writing information only the app itself can see. It uses the Keychain for exactly one thing: a random secret that turns your birth details into an anonymous fingerprint, so the app can tell whether the chart it saved is still yours without storing the birth details anywhere else.
Deleting the app deletes all of it. There is no server copy to ask us about.
Garment photo analysis is entirely on-device. When you add a piece, the app uses Apple's Vision and Core Image frameworks, which are part of iOS, to cut the garment out of its background, guess its category, judge whether the shot is flat-lay or worn, and sample the dominant colour. No image is uploaded for any of that and no machine-learning service is contacted.
The quick preview, which composites a garment onto a body pose, is also done entirely on-device. The outfit recommendation itself, and both guidance lenses, are computed locally too.
When you tap try it on in Studio, the app sends to our backend:
Our backend forwards those images to the image-generation engine, receives the rendered image, and returns it to your phone, which caches it so the same look is not generated twice.
The engine in production is a self-hosted image-editing model running on Modal's GPU infrastructure. We name it rather than saying an AI provider, because which one it is changes what happens to your photo. Google's Vertex AI try-on service is supported by the same backend as an alternative and does not receive your own photo, but it is not what is deployed today. If that changes, this page changes with it.
Nothing is written to a database or a storage bucket. A render is held in the backend's memory for up to 30 minutes so your phone can collect it, and is dropped when that window passes or the queue fills. Server logs record the garment category, the garment name and how long the render took. They do not record the images and carry no identifier for you.
This upload never happens on its own. It happens on that tap and at no other time.
You can type the weather city yourself, or tap Use my location. Only then does iPhone ask, once, for permission to use your location while the app is open. The app asks for a position accurate to about a kilometre, Apple's location service turns it into a city name such as “London, GB”, and only that name is kept. The position itself is not stored and is never sent to us.
To show a forecast, the app sends the city name to Open-Meteo's geocoding service, receives that city's approximate coordinates, and asks for a forecast for them. Those coordinates are the centre of the city, not your position.
No personal data about you. Our database holds a cache of public product information, meaning product URLs, retailer domains and extracted product images, plus a log of which shops people have asked us to support. There are no user accounts, no user records and no photos of you or your clothes.
Cached public product data expires after roughly 24 to 72 hours. Once a day at most, the app downloads a public list of supported retailers from our server; that request contains no user data.
Try-on allowance. Each install of Wearomancy generates a random identifier that is not tied to you, your device or your Apple ID. It is sent with every try-on request so our server can count the free renders for that install (one a day on a base model, one ever on your own photo). It changes when you reinstall the app. We keep only the count for the current day and whether the one own-photo render has been used.
Wearomancy Plus. When you subscribe, Apple handles payment; we never see your card. With each try-on request the app sends the signed purchase record that Apple issued, so our server can confirm the subscription is active before rendering on your own photo. The record contains the product identifier and dates, not your name or payment details, and is not stored.
Product links. When you import a piece from a shop, the link is recorded on our server for 90 days, together with whether the import worked and how many photos it produced, so we can find and fix the shops our importer reads badly. The record holds nothing that identifies you or your install — not the identifier above, not your address — so these links cannot be assembled into one person's shopping trail. After 90 days the record is deleted.
| Who | What they handle |
|---|---|
| Google Cloud Run | Runs our backend API, which handles import requests and passes try-on requests to the image engine |
| Modal | Runs the self-hosted image-editing engine that generates the try-on render from the images sent in step 1 |
| Google Cloud SQL (managed PostgreSQL) | Stores the public product catalogue, the per-install try-on counts and the 90-day product link log described above. No accounts, no images, nothing that identifies you |
| Open-Meteo | Receives the weather city name and returns a forecast for that city's centre |
| The retailer whose link you paste | Receives a page request directly from your device, exactly as if you opened the page in Safari |
Apple does not receive your wardrobe, photos or birth details. If you tap Use my location, Apple's location service receives your position to turn it into a city name, and if you subscribe, Apple handles the payment. We do not sell, rent or share your data with anyone, and we have no advertising or analytics partners to share it with.
In the You tab, under privacy and data:
Elsewhere: deleting a piece in the Wardrobe tab erases its image files from your device, and holding your photo card in Studio removes your photo.
Wearomancy asks for no personal information from anyone, of any age, and has no account system in which an age could be recorded.
You can ask what we hold, ask for it to be erased, or ask a question about anything above. Because there is no account, please write from the address you would like us to reply to and say roughly when you used the app, so we can find the right material. In practice there is very little to find: the honest answer to most of these requests is that the data never left your phone.
If what the app does with your data changes, this page changes with it and the date at the top moves. A change that widens what leaves your device will be described here in the same detail as section 3, not summarised away.