Last updated: 8 October 2026.
This is a translation of the French version, which prevails in case of discrepancy.
This policy explains what data Closetfolio collects, why, where it is stored, and what your rights are. If anything is unclear, write to us (see §11).
1. Who is responsible for your data
Closetfolio is published by Mohamed Djamil, sole proprietorship (entreprise individuelle, SIREN 108339714), based in Toulouse, France, under the OMNAI Apps brand. He is the controller of your data within the meaning of the GDPR.
2. The data we collect
| Category | What it is | Why |
|---|---|---|
| Account | email address, password (hashed, never readable), Apple or Google ID if you sign in that way, language, year of birth, your phone's time zone and currency | To create and secure your account, check the minimum age, know when your day starts and ends, and show amounts in your currency |
| Wardrobe | the cut-out photos of your pieces and their thumbnails, and what you fill in: category, brand, colours, seasons, material, condition, size, purchase price and date, quantity, notes, storage, tags | The heart of the service: your wardrobe, on all your devices |
| Value and resale | the estimates for each piece, the sales you record ("sold for"), the photos of your listings | To show what your wardrobe is worth and prepare your listings |
| Outfits | your outfits, your favourites, your "worn on" calendar, your answers to the style quiz | To put together and suggest outfits that feel like you |
| City | the city you choose for the weather (never your phone's location) | To adapt outfits to the season and the weather |
| Community (if you take part, 18 and over) | your profile (handle, bio, photo), your posts, your reactions, favourites, follows, blocks and reports | To keep the Club running and to moderate it |
| Virtual try-on (Pro, 18 and over) | the photo of yourself that you send for a try-on, your avatar if you create one, the generated images | To show you an outfit on you |
| Technical | IP address at the time of a request, error logs (filtered, see §4) | Security, anti-abuse limits, fixing bugs |
| Subscription | your subscription status, credit purchases, the store's transaction ID | To give you access to the paid plans |
What we never collect: your precise location, your contacts, the photos in your gallery that you don't choose, your advertising ID. The original photos you take stay on your phone: only the cut-out piece goes to our servers. Notifications (end-of-trial reminder, outfit of the day) are scheduled on your phone: nothing goes through a notification server.
Before you create an account
If you scan your first pieces without an account, the cut-out photo is sent to our server just long enough to recognise the piece, then forgotten: it is neither stored nor logged. The pieces stay on your phone and only reach our servers if you create an account. To limit abuse, an identifier generated at random on your phone (with no link to your device or to you) counts the number of estimates per day.
On the website
The website closetfolio.omnaiapps.com, hosted by Cloudflare, sets no cookies and has no audience measurement and no third-party content: its fonts and images come from the site itself. If you join the waiting list, we keep your email address and your language for a single message, the launch announcement, sent through Brevo (§4), and then we erase them. To be removed before then, write to us (§11).
3. Where your data is stored
- The database is hosted by Neon, in the European Union (Frankfurt, Germany).
- Photos are stored with Cloudflare R2, in a storage space created under European Union jurisdiction. They are filed under a technical identifier, never under your name or your email. They can only be read through signed links that expire after one hour.
- The app's server runs on Render, in Frankfurt.
4. Third parties your data passes through
We only use what is strictly necessary, and never to target you with advertising.
- Apple WeatherKit (weather, Plus and Pro): receives the coordinates of the centre of the city you chose, rounded to about 1 km, without any identifier. The same request serves every subscriber in the same city.
- Google Cloud, Vertex AI (virtual try-on, Pro): receives, for each try-on, your photo (or your avatar) and the cut-out photos of the chosen pieces, and sends back the generated image. Google does not use them to train its models. This processing may take place outside the European Union, under the European Commission's standard contractual clauses. Your photo is deleted from our servers as soon as the try-on ends, unless you choose to keep it.
- AI recognition and estimation: the cut-out photo of a piece and its details (brand, type, condition) are sent to an AI service to suggest a category, colours and brand, and to estimate its value. [Provider to be named after the benchmark.] The purchase price you enter is never sent for the estimate.
- Community image filter: published photos and profile photos go through an automatic filter (nudity, minors). [Provider to be named after the benchmark.] In the meantime, worn photos and profile photos are checked by a person on our team.
- Sentry (error tracking): technical errors are reported to Sentry so we can fix bugs. Free-text and personal fields (notes, city, storage, year of birth, tags) are filtered out before anything is sent.
- Apple and Google: for signing in "with Apple" or "with Google" if you choose to, and for purchases in the stores.
- RevenueCat: manages your subscription status between the stores and our server. It receives a subscriber ID and the purchase information passed on by the store, never your wardrobe.
- Brevo (emails, European Union): only delivers the emails you trigger, such as the code to verify your address or the one to reset your password.
- Cloudflare: photo storage (see §3) and website hosting.
City searches are done in a database built into our server (GeoNames): they are not sent to any third party. Exchange rates come from the European Central Bank's public reference rates: no data about you is sent there.
We do not sell your data to anyone, ever.
5. Advertising, affiliate links, audience measurement
- No advertising, no advertising SDK.
- Links to resale platforms: when you open a search on Vinted, StockX or Vestiaire Collective, only the search itself (for example "Levi's jeans") goes to the platform. Some links may earn us an affiliate commission if you buy: this changes nothing for you and sends us no data about you.
- Anonymous audience measurement: the app counts a few steps (opening, scan, sign-up, subscription, etc.) to find out what works. We only keep counters per day, with no account, no device identifier and no IP address: no one can be traced from them.
6. The anonymised price database
When you record that you sold a piece, we keep its price in a database of real prices that improves estimates for everyone: brand, type, condition, age, price, month of the sale and country, with no link to you or to your piece. You can opt out at any time in Settings ("Share my selling prices anonymously"). These anonymous rows remain after your account is deleted.
7. Community (the Club)
What you publish (outfit boards, worn photos, handle, bio, profile photo) is visible to the other members, or only to your accepted followers if your profile is private. On a worn photo, your face is blurred by default on your phone before it is sent; you can choose to leave it visible. The price of an outfit is only shown if you choose so.
To protect the Club, posts go through an automatic filter; your first three worn photos are checked by a person on our team. You can report a post or a profile, and block an account. If we remove any of your content, the app tells you why, and you can challenge it by writing to us (§11). Reports are kept for the moderation history; if they come from a deleted account, they no longer identify anyone.
8. How long we keep your data
- As long as your account exists, except what you delete yourself (a piece, an outfit, a post, a try-on, your avatar).
- Try-on photo: deleted as soon as the try-on ends, unless you choose to keep it. Full-length photo for an avatar: deleted as soon as the avatar is ready.
- Account deletion (Settings → "Delete my account"): your data and your photos are deleted immediately and permanently. This is not a deactivation. Our database host's technical restore history then expires automatically, within 7 days at most. All that remains is anonymous data (price database, audience counters) and reports, which no longer identify you.
- Waiting-list address from the website: erased on the day of the launch email.
- Error logs (Sentry): 90 days at most. Anti-abuse traces linked to an IP address: 1 hour for sign-in limits, 31 days at most for other limits.
9. Your rights
In accordance with the GDPR, and for all our users, wherever they are, you can at any time:
- export your data: Settings → "My data" (everything in JSON, your wardrobe as a CSV spreadsheet, and your photos in an album in your gallery);
- delete your account: Settings → "Delete my account", permanently;
- access your data, correct it, object to processing or ask for it to be restricted: write to us (§11);
- lodge a complaint with the CNIL (www.cnil.fr) if you believe your rights are not being respected.
10. Minimum age
Closetfolio is for people aged 15 and over, the age of digital majority in France. Posting in the Club, having a public profile and using virtual try-on are reserved for people aged 18 and over. We do not knowingly collect data from children under 15.
11. Contact us
closetfolio.support@omnaiapps.com
12. Changes to this policy
We may update this policy. We will let you know in the app about any significant change before it takes effect.