How we handle your wardrobe.
Virtual Closet is a personal wardrobe app. The data inside it — your photos, your measurements, the outfits you wear — is yours. This page explains exactly what we collect, why, and how to get rid of it.
Effective: April 29, 2026 · Last updated: June 23, 2026
1. Summary
Virtual Closet is operated by Robert Sears as an independent developer ("we", "us"). We built the app for one job: helping you keep track of what you own and wear. We do not run analytics, we do not show ads, and we do not sell your information to anyone — ever.
Most of your closet — clothing photos, measurements, outfits, calendar events, your style profile — is stored on your device. A subset is synced to your private account in Google Cloud (Firebase) so you can use the app on multiple devices and share specific items with friends you choose. Photos you submit to AI features are sent to AI providers solely to produce the response you asked for, and are not used to train their models.
The short version. Your data is encrypted in transit. Your closet backup, sensitive shared content (calendar events), and any item you share with friends are all encrypted end-to-end — we cannot read them. You can delete your account and all server-side data from inside the app at any time.
2. What we collect
We only collect what's necessary to run the features you choose to use.
Account information
- Email address, set when you sign up via email/password or Google Sign-In.
- Display name, optionally provided by you or pulled from your Google account during sign-in.
- A unique user ID assigned by Firebase Authentication.
Wardrobe content (mostly stored on-device)
- Photos of clothing items, outfits, friend groups, and venues that you take, choose, or paste into the app.
- Item details you enter or that the app extracts: brand, size, color, category, measurements, fabric, notes, purchase price and date, storage location, tags.
- Outfits and outfit logs: which items make up an outfit, when you wore it, occasion, optional photo, mood, weather, and a city name (no precise coordinates).
- Trips and calendar events: dates, titles, optional venue, planned outfits, who you've shared an event with.
- Wishlist items you add to remember things you might buy later.
Profile and measurements
- Your gender, birthday, height, weight, body measurements (chest/bust, waist, hips, inseam, sleeve, neck), body type, fit preferences, and style preferences. These are used by the AI features to generate better outfit suggestions, and are stored locally in your device's preferences. They are not synced to our servers.
Friends and shared items
- The friend codes, user IDs, names, and emails of people you choose to add as friends.
- Items you specifically mark as "Share" (these sync to your account on our servers so friends can see them) — items you don't mark as shared stay only on your device.
- Friend group membership and per-member permission settings.
Calendar events shared with friends
- Calendar events that you share with friends are uploaded to your account on our servers. Sensitive fields (title, venue, outfit plan, weather) are end-to-end encrypted using a key generated on your device and stored in your iOS Keychain. We cannot read these fields. The encrypted blob, the recipient list, the event date, and your user ID are visible to the server because they're needed to deliver the event to your friends.
Permissions you grant
- Camera and photo library: to capture or import clothing photos. Photos stay on your device unless you mark an item as shared.
- Notifications: to send outfit-of-the-day reminders and to deliver friend-related push notifications. We store the device push token associated with your account; it is used only for sending notifications to you.
- Location (optional): only used briefly when you select a venue or storage location, or when a feature needs nearby weather. We do not store ongoing location traces.
- Contacts (optional): only if you tap "Find friends from contacts." We read names and emails to suggest matches and do not upload your address book to our servers.
- Microphone: not used.
What we explicitly do not collect
- We do not run any analytics or behavioral telemetry.
- We do not include advertising SDKs or any tracking pixels.
- We do not collect device identifiers like IDFA.
- We do not record screens or interactions.
3. How we use it
We use the data above only to operate the features you've chosen, specifically:
- Storing and displaying your closet, outfits, calendar, trips, and wishlist.
- Authenticating you when you sign in.
- Letting you sync data between your devices and share specific items with friends you've added.
- Running the AI features when you tap them (photo analysis, outfit suggestions, "Prettify," tag/barcode scanning) — see section 5.
- Sending you outfit-of-the-day reminders and friend-related notifications you've opted into.
- Improving reliability of the app by fixing crashes you report through the in-app feedback button.
We do not use your wardrobe content for advertising, model training, or any commercial purpose other than delivering the app's features.
4. Third-party services
Virtual Closet uses the following service providers as data processors. We share with them only what each service strictly needs to function. Each operates under its own privacy policy.
| Service | What it does | What it receives |
|---|---|---|
| Google / Firebase | Authentication, database, file storage, push notifications, hosting | Email, user ID, push token, items you mark as shared, encrypted calendar events, friend lists |
| Anthropic | Claude AI (photo analysis, outfit generation, tag/barcode interpretation) | Item photos and the prompt for the specific request you triggered |
| Replicate | "Prettify" image enhancement and optional virtual try-on | The clothing photo you tapped Prettify on, or the try-on photo |
| Open-Meteo | Weather data for outfit and event context | Approximate latitude/longitude (no identifier) |
| Google Places | Venue and storage-location search | Your search query and approximate location |
| SerpAPI (optional, off by default) | Shopping result lookup if you opt in | The search terms you entered |
Links to provider policies: Google · Anthropic · Replicate · Open-Meteo · SerpAPI.
5. AI processing
When you use a feature powered by AI, your photo and a structured prompt are sent to the relevant provider over an encrypted (HTTPS) connection. The AI returns a response — for example, a structured description of clothing items, a generated outfit suggestion, or a "prettified" version of your photo — and the result is saved to your closet on your device.
We rely on the providers' contractual commitments not to use customer inputs to train their general-purpose models. Specifically:
- Anthropic (Claude): per Anthropic's commercial terms, inputs and outputs are not used to train models.
- Replicate: per Replicate's terms, inputs are processed only to produce the requested output.
If you do not want a particular item processed by AI, do not use the AI features on that item — you can still add and manage items manually.
6. Sharing with friends
When you tap "Share" on a clothing item, that item's photo and metadata are uploaded to your account in Firebase Storage and Firestore, and the friends you've granted access can view it. You can unshare an item at any time, which removes it from the server. Items you have not marked as shared never leave your device.
When you share a calendar event with friends or a group, the event is uploaded to your account but its sensitive fields are encrypted on your device with a key only your friends' devices can derive. We can see that an event exists and who it is shared with, but we cannot read its contents.
7. Gmail and contacts (limited use)
If you enable the optional Gmail import feature, the app uses Google's Gmail API to read messages that look like clothing receipts so it can create wishlist or closet items for you. If you enable contact-based friend discovery, the app reads your device contacts to suggest people you might know on Virtual Closet.
Google Limited Use disclosure. Virtual Closet's use of information received from Google APIs adheres to the Google API Services User Data Policy, including the Limited Use requirements. We do not use Gmail or Contacts data for advertising; we do not share it with third parties for advertising; we do not allow humans to read it except as needed for security, debugging with your consent, or where required by law; and we do not use it to train generalized AI/ML models.
Both Gmail import and contact-based discovery are opt-in. You can revoke access at any time at myaccount.google.com/permissions or by signing out and removing access in iOS Settings.
8. Where your data lives
- On your device: The bulk of your closet — items not marked as shared, your style profile, your local outfit logs — lives in encrypted iOS storage (Hive boxes inside the app sandbox). Calendar event encryption keys live in your iOS Keychain.
- End-to-end encrypted cloud backup: If you leave cloud backup enabled (it is on by default and toggleable in Profile → Cloud backup), every clothing item, outfit, calendar event, wishlist item, and trip you create is encrypted on your device with a key stored in your iOS Keychain before being uploaded to your private Firebase backup. We cannot read the contents of your backup — neither can Apple, Google, or any other intermediary. The key is unique to your account, never transmitted, and syncs across your Apple devices automatically via iCloud Keychain. If you disable backup, you can keep what's already there or delete it from the cloud entirely with a single tap.
- On Firebase (Google Cloud): Account info, items you've marked shared (encrypted end-to-end for shared groups), friend relationships, push tokens, and shared/encrypted calendar events. Firebase data is hosted on Google Cloud servers, protected by TLS in transit and encryption at rest, and governed by Google's privacy commitments.
- At AI providers: Only the photo plus prompt for a specific request, processed and returned in real time. We do not maintain a long-term store at these providers.
9. How long we keep it
- Data on your device is kept until you delete the item, the app, or your account.
- Synced data on Firebase is kept while your account is active. If you delete your account from inside the app, all your server-side data — auth record, items, outfits, calendar events, friend records you authored, push tokens — is removed within 30 days.
- AI providers process requests transiently. Anthropic and Replicate may retain logs for a limited period (typically 30 days) for abuse prevention and debugging, governed by their own policies.
- Backups, including database snapshots, may persist for up to 90 days after deletion as a routine disaster-recovery measure, after which they roll off.
10. Your rights and controls
- Access: You can view all your data inside the app. To request a machine-readable export, email thevirtualclosetapp@gmail.com from your account address.
- Delete an item: Use the delete action in the item details screen.
- Stop sharing: Toggle "Share" off on any item or remove a friend from a calendar event.
- Turn off cloud backup: Profile → Cloud backup → toggle off. You can keep the existing cloud copy or delete it from the cloud entirely.
- Restore from cloud backup: Profile → Cloud backup → "Restore now." Useful after reinstalling the app or switching phones.
- Delete your account: In the app, open the Profile tab, tap your avatar in the top corner, and choose "Delete Account." This removes all server-side data tied to your account, including any encrypted cloud backup. The action is permanent.
- Revoke notifications: Disable in iOS Settings → Notifications → Virtual Closet.
- Revoke Google access: at myaccount.google.com/permissions.
- Object, restrict, or correct: email thevirtualclosetapp@gmail.com with your request.
11. Children
Virtual Closet is not directed to children under 13, and we do not knowingly collect personal information from children under 13. If you believe a child has provided us information, please contact us and we will delete it.
12. California residents (CCPA / CPRA)
If you are a California resident, you have the right to know what personal information we collect about you, to request deletion of that information, to correct inaccurate information, and to opt out of any "sale" or "sharing" of personal information. We do not sell or share personal information for cross-context behavioral advertising. To exercise your rights, email thevirtualclosetapp@gmail.com from your account address. We do not discriminate against users who exercise these rights.
13. European residents (GDPR / UK GDPR)
If you are in the European Economic Area, the United Kingdom, or Switzerland, the legal bases for processing your personal data are: (i) contract — providing the app you signed up for; (ii) consent — for optional features you opt into, including notifications, Gmail import, and contact discovery; and (iii) legitimate interests — security, abuse prevention, and supporting users who reach out. You may withdraw consent at any time by disabling the relevant feature or deleting your account.
You have the right to access, rectify, port, restrict, and erase your personal data, and to object to processing. You also have the right to lodge a complaint with your local supervisory authority.
If you are in the EEA/UK/Switzerland, your data may be transferred to and processed in the United States. We rely on the providers' Standard Contractual Clauses for these transfers.
14. Changes to this policy
If we make material changes to this policy, we will update the effective date above and, where appropriate, notify you in the app or by email. Continued use of Virtual Closet after a change indicates acceptance.
15. Contact
Privacy questions, requests, or concerns:
Robert Sears
thevirtualclosetapp@gmail.com