Dresser

Privacy Policy

Last updated: September 9, 2026

Introduction

Dresser ("the app," "we," "us") is a virtual wardrobe and AI stylist app for iOS. This policy explains what information the app collects, how it is used, who it may be shared with, and the choices you have.

Please read this before you continue. Dresser is built local-first — your closet lives on your device first, full stop — but the app relies on cloud services to work, and your information, including in some cases photos and data about your wardrobe, may be processed by, or transferred to, third-party service providers as part of how those features work. At minimum, this currently includes Firebase and Google (analytics, crash reporting, AI processing, and — only if you choose to sign in with Apple — your account and wardrobe sync) and Apple (weather, platform services, and Sign in with Apple); see "Information We Send To Service Providers" and "Accounts and Sync" below for exactly what each one does and does not receive. We may engage other processors over time — this document will always be kept current to describe what is actually true of the version you are using. By continuing to use Dresser, you agree to this Privacy Policy. Where the law that applies to you requires your separate, explicit consent for a specific kind of processing, we will ask for it distinctly — continuing to use the app is not treated as that consent in those cases.

Where Your Information Is Stored Today

Information We Send To Service Providers

Dresser uses the following third-party services, each for a specific, limited purpose:

Firebase Analytics (Google)

We use Firebase Analytics to understand how the app is used in aggregate — for example, which screens are opened and how often a feature is used — so we can improve the app. Analytics events never include your photos, item names, notes, or any other content you entered; they carry only anonymous, aggregate usage signals (for example, "the Closet tab was opened"). The app links Firebase Analytics without advertising-identifier support, and no advertising identifier (IDFA) is ever collected. You can turn this off at any time in Settings → Privacy → Usage Analytics; the app defaults to sharing this data, consistent with how most usage-analytics tools work, but the choice is always yours.

If you installed the app after tapping an Apple Search Ads result, a small number of these analytics events (first-run setup and subscription/purchase events only) may additionally carry Apple's own campaign and ad-group identifiers for that install — Apple's standard install-attribution mechanism, which tells us which of our own ad campaigns brought you to the app. This uses a separate, short-lived token from Apple ("AdServices"), never the advertising identifier (IDFA) named above, and Apple does not require a tracking permission prompt for it.

Firebase Crashlytics (Google)

We use Firebase Crashlytics to receive automatic crash reports if the app unexpectedly stops working during a session. A crash report may include technical details such as which line of code was running, your device model, and OS version — never your photos or closet content. Crash reporting cannot be turned off in the app, because it is safety and reliability telemetry that benefits every user of a young app, including the person whose crash it reports — turning it off would only reduce our ability to find and fix the very bug that affected them.

Firebase App Check

Firebase App Check verifies that requests to our backend genuinely come from an unmodified copy of the Dresser app, protecting our AI usage allowances from abuse. It does not collect any information about you personally — it verifies the app, not the user.

Google Gemini, via Firebase AI Logic

When you photograph or edit a clothing item, a description of that item's attributes (not the raw photo) may be sent to Google's Gemini model to suggest a category, color, season and style tags. When you use the AI stylist chat, your questions and a description of the relevant items in your closet are sent to Gemini to generate a styling answer. Your original photos are never sent to Gemini for attribute suggestions or chat — background removal always happens on-device first, and only the already-processed, backgroundless image data needed for attribute suggestions is sent when tagging a new item. Your chat conversations are saved on your device so you can pick up where you left off, and stay there between app sessions until you delete a conversation, clear your whole chat history, or delete the app — opening or reading a past conversation never sends anything to Gemini. The stylist may also record a short, structured note about a preference, constraint, or dated event you state in conversation, so it can remember it in later conversations — never a raw quote or the surrounding conversation, only a short factual note. These notes are shown on "My Style," where you can delete any of them at any time; deleting is permanent. If the stylist recommends a purchase and you tap the "Find in shops" card that appears, the app opens an in-app web browser to a Google search for that item near you — that search page is Google's own and is governed by Google's privacy policy, not ours.

Studio photo generation. If you tap to generate a studio-style product photo of an item — or, for the very first item you confirm during onboarding, when the app generates one automatically as part of introducing this feature — the item's cutout photo (or, if no cutout exists yet, the original photo) is sent to Google's Gemini image model, which returns a new, AI-generated photo of that item on a clean studio background. This is the one feature where an image itself, not just a description of it, leaves your device, and only the item you are generating a photo for is ever sent. On the paid API tier used for this feature, your content is not used to improve Google's products; Google retains the image and the generated result for up to 55 days solely to monitor for violations of its Prohibited Use Policy, reviewed only by authorized Google staff, and then deletes it. Every generated image carries an invisible, Google-embedded provenance watermark (SynthID) that has no effect on how the photo looks. A studio photo is an AI-stylized derivative of your garment and may not exactly reproduce every detail — such as a logo, wordmark, or repeating pattern — so the app always keeps your original photo and cutout too, and clearly labels the studio photo as generated.

Apple WeatherKit

To suggest outfits appropriate for today's weather, the app requests your device's approximate (city-level) location, with your permission, and uses it to fetch the local weather forecast from Apple's WeatherKit service. Precise location is never requested. You can review or revoke this permission at any time in Settings → Privacy → Permissions, or directly in iOS Settings.

Apple StoreKit (Purchases and Subscriptions)

When you view products, buy or restore a subscription or credit pack, or when Apple updates a purchase, Dresser uses StoreKit to receive the product identifier, transaction identifier, purchase and expiration dates, revocation or refund status, trial/offer eligibility, storefront, and verified entitlement state needed to deliver and reconcile the purchase. Dresser stores the minimum local entitlement and credit ledger needed to prevent duplicate grants and show your current access, kept on this device only — subscription entitlement and credit balance are deliberately not part of the wardrobe sync described in "Accounts and Sync" below.

Apple processes the purchase and payment method under your Apple Account and Apple's own privacy terms. Dresser never receives your full payment-card number or security code. We do not put transaction IDs, receipts, localized StoreKit errors, or payment details into analytics; monetization analytics uses only the non-sensitive product ID, paywall source, stable outcome category, and credit amount granted.

What We Don't Do

Your Choices

Accounts and Sync

Dresser offers an optional account, so your closet can follow you to a new device. Whether you ever use it is entirely your choice, and it changes nothing about how the app behaves if you don't.

Children's Privacy

Dresser is not directed at children under 13, and we do not knowingly collect personal information from children under 13.

Changes to This Policy

If we change what data the app collects or how it is used, we will update this document and its "Last updated" date. For a material change, we will also ask you to review and accept the updated policy the next time you open the app — the same one-time agreement screen you saw when you first used Dresser.

Contact Us

Questions about this policy can be sent to the support address listed in the app's Settings → Support → Contact Support.