Privacy Policy
Last updated: October 23, 2026
This policy covers the Vivi app for iPhone and Android and the website at getvivi.app. They are run by BOMAU LLC, a New Mexico limited liability company, which is responsible for your data (“Vivi”, “we”, “us”). We collect as little as the product needs, we don’t sell your data, and we don’t show ads.
Outfit photos and the AI that scores them
When you ask Vivi to score an outfit, the photo is sent from your device to our server and on to OpenAI, whose AI model looks at it and returns a score and three tips. In the app, this happens only after you give permission on the screen that explains it, and you can withdraw that permission at any time in Settings.
We do not store the photo. It is not written to our database, saved to disk or logged; once the score comes back, it is discarded. We ask OpenAI not to store the request either. Under OpenAI’s API terms the photo is not used to train their models, and OpenAI may keep it for up to 30 days solely to detect abuse before deleting it.
What we do keep is the result: the score, its breakdown, the verdict, the tips and the short description of the outfit, saved to your score history under your app install ID (see “Your score history” below). Separately, we count the number on its own, with nothing that identifies you, to show totals such as “outfits scored”.
Wardrobe scans and the AI that finds your clothes
When you scan an outfit to add its garments to your wardrobe, the photo is sent from your device to our server and on to Google, whose Gemini AI model finds each garment and describes it (type, colour, pattern). In the app, this happens only after you give permission on the screen that explains it, separately from the permission for scoring, and you can withdraw it at any time in Settings.
We do not store the photo; once the garments come back, it is discarded. The pictures of each garment are cut on your phone and stay there. Under Google’s terms for the paid Gemini API, the photo is not used to improve Google’s products, and Google may keep it for a limited period solely to detect abuse. For each scan we keep a cost record: the amount of AI processing used and its price, linked only to one-way, keyed hashes of your app install ID and IP address, with no photo and nothing that names you.
Your score history
Each outfit you score is saved twice. On your phone, with a copy of the photo. And on our server, without the photo: the score, its breakdown, the verdict, the tips and the outfit description, linked to a keyed hash of your app install ID and nothing else. The server copy is what brings your history back if you reinstall the app on the same iPhone. “Delete score history” and “Delete my wardrobe and history” in Settings delete it from your phone and from our server.
Feedback you send us
If you use “Send feedback” in Settings, we store your message, the kind you picked, the email address if you chose to give one, the app version, your phone’s operating system and model, and a keyed hash of your app install ID. We use it only to read and answer your feedback and to fix what you report. It is not deleted by “Delete my wardrobe and history”; write to us to have it deleted.
What stays on your phone
Your answers to the setup questions, the garments you add to your wardrobe (including their photos), the photos of the outfits you scored, your daily outfit and your reminder time are stored only on your device. They are not sent to us, and all of them are deleted when you delete the app. “Delete my wardrobe and history” in Settings deletes the wardrobe, the outfit photos and the score history; your setup answers and reminder time stay until you change them or delete the app. Reminders are scheduled on your phone; we never ask for a push token.
Subscriptions and purchases
In-app subscriptions are sold and billed by Apple (App Store) or Google (Google Play). We never see your card or payment details. To know whether your subscription is active, the app uses RevenueCat, which receives your app install ID (as its user ID), your purchase and renewal history, and basic device information such as the operating system version and country. Our server asks RevenueCat whether an install has Vivi Pro before scoring an outfit beyond the free one. RevenueCat processes this on our behalf.
If you bought a founding membership on our website, Stripe processed the payment and we keep your email address and the purchase record so we can honour it.
Keeping the service safe
To stop a single source from overloading the scoring service, we count requests per IP address. We store only a one-way, keyed hash of the address, never the address itself, and those counts are deleted automatically, typically within a few hours. Two records keep an IP hash longer, described below: the free-score record and the cost record of each wardrobe scan.
The app identifies itself to our server with an install ID that is not linked to your name, email or Apple or Google account, and our server signs it. On iPhone it is kept in the device’s Keychain, so it stays the same if you delete and reinstall the app; on Android it is derived from the app’s system ID with a one-way hash. We store only a keyed hash of it. It is how we keep the free outfit score to one per device, apply the daily limit on wardrobe scans, and find your score history. The record that a device has used its free score holds keyed hashes of its install ID and of the IP address it came from, and a date. It is kept even after “Delete my wardrobe and history”, so the free score can’t be claimed again, and the IP hash lets us limit how many free scores one network can take in a day.
On iPhone, the app can prove to our server that it is a genuine copy of Vivi on a genuine Apple device, using Apple’s App Attest. When it does, we store the key Apple’s App Attest creates for this install (its public key and Apple’s ID for it), a counter, whether it is a development or production build, Apple’s attestation receipt and when the record was created and last updated, linked to the keyed hash of the install ID. None of it identifies you. It is kept indefinitely, so a later request from the same install can be checked against it.
On the website
If you join the early list, suggest or vote for a name, refer a friend or reserve launch access, we store the email address you give us (and, for a referral, the friend’s address you enter) so we can contact you about Vivi. We use Vercel Analytics, which counts page views and a few named actions in aggregate without cookies and without identifying you.
The website sets two strictly necessary cookies, and only when you use the feature behind them: one counts the free outfit checks a browser has used on the try page, and one gives a browser a random ID so its votes in the name vote are counted once. Both are signed, can’t be read by scripts on the page, contain no personal information, and last up to a year. The app sets no cookies.
Analytics, tracking and ads
The app uses PostHog for product analytics: it records a short list of usage events, such as opening the app, starting setup, choosing a photo from the camera or the gallery, a score being ready (only a range such as “6–7”, not the score), a paywall being shown and a subscription being started, completed or restored. Each event is linked to the app’s install ID, together with basic device and app information such as the device model, operating system, app version, language and time zone. Events never include your photos, the text of a score or of your wardrobe, or your name or email. PostHog does not record your screen or your taps. Like any server the app talks to, PostHog and Sentry receive your IP address when the app connects to them; we have turned off PostHog’s location lookup from it, and we do not use it to identify or locate you.
The app uses Sentry to report crashes and errors: what failed, where in the code, how the app was performing at the time, and the same kind of device and app information, linked to the install ID. Crash reports never include your photos, screenshots or the contents of requests the app sends.
The app contains no advertising SDKs and does not read your device’s advertising identifier. We do not track you across other companies’ apps or websites, and we do not sell or share your personal data for advertising.
Who processes data for us
OpenAI (outfit scoring), Google (wardrobe scans with Gemini, and app distribution and billing on Google Play), Apple (app distribution and billing), RevenueCat (subscription status), PostHog (app usage analytics), Sentry (app crash and error reports), Stripe (website payments), Vercel (hosting and website analytics) and Supabase (our database). Some of them process data in the United States. Each is bound by its own terms and uses the data only to provide its service to us.
How long we keep it
Photos: not kept. IP hashes used to count requests: a few hours. Score history: until you delete it in Settings. The free-score record, wardrobe cost records (including their IP hashes) and App Attest keys: indefinitely, as keyed hashes. Feedback messages: until you ask us to delete them. Emails and purchase records: until you ask us to delete them, or for as long as we must keep purchase records by law. Anonymous score totals: indefinitely, since they identify no one. App usage events and crash reports: for the retention period of our PostHog and Sentry plans, after which they are deleted.
Your choices and rights
You can withdraw permission for photo analysis, turn reminders off and delete your score history and wardrobe (on your phone and on our server) in the app’s Settings. Deleting the app removes everything stored on your device. To see, correct or delete the email or purchase record we hold, or to object to how we use it, write to hello@getvivi.app and we will answer within 30 days. Depending on where you live, you may also have the right to complain to your local data protection authority.
Children
Vivi is not directed at children under 13, and we do not knowingly collect data from them. If you believe a child has sent us data, write to us and we will delete it.
Changes
If we change what we collect or who processes it, we will update this page and the date above, and the app will ask for permission again before sending photos to a new recipient.
Contact
Questions about privacy? Email hello@getvivi.app, or write to BOMAU LLC, 1209 Mountain Road PL NE, Albuquerque, NM 87110, USA.
Back to home