Last updated: May 1, 2026
Mirrofy is designed with a privacy-first approach. Your photos, your style, and your data remain under your control. We only process what is necessary to provide the Service, and we never use your photos for advertising, marketing profiles, or AI model training.
Mirrofy ("Mirrofy", "we", "us", or "our") operates the Mirrofy application, website, and related services (the "Service"). The Service is available as native apps for iOS and Android, and as a web version at mirrofy.app.
This Privacy Policy explains how we collect, use, store, and protect personal data when you use the Service.
Mirrofy acts as the data controller for the personal data processed through the Service. We process personal data in accordance with the General Data Protection Regulation (EU) 2016/679 ("GDPR"). We are also committed to compliance with applicable app store guidelines, including Apple's App Review Guidelines and the Apple Developer Program License Agreement.
We may collect the following categories of personal data:
When you create an account, we collect contact details such as email address, username, display name, and profile preferences (e.g. style preferences, clothing size if you choose to enter them). If you sign in with Google or Apple, we receive only the basic identity information you authorize through their consent screen — typically your email address and a stable user identifier. We do not receive your contacts, calendar, or other Google/Apple account data.
When you upload or capture images of yourself for virtual try-on (your "Me Photos"), we process and store the original images and the AI-generated try-on results. Under Apple's terminology this is treated as "Face Data": photographs of an individual that include facial features.
Processing may include analysis of visual characteristics such as pose, proportions, and general appearance — only to generate the requested output. This processing is not used to identify individuals, and we do not create or store biometric templates, facial recognition data, or persistent identifiers based on your appearance.
User images are not used to train artificial intelligence models.
The third parties that receive your photos are listed in Section 9 (Sub-processors) below.
If you choose to post a comparison of two outfits to the Style Feed (a "Duo"), to share a vote-link with friends, or to make your profile visible to others, the corresponding content (try-on result images, garment metadata, captions, your display name and username) becomes accessible to other users of the Service or to recipients of the share link. This is always opt-in: by default, your photos and Duos are private and visible only to you.
You can blur faces before posting, keep posts private, delete a post at any time, or block another user.
When you vote on a Duo, that vote is associated with your account so we can prevent duplicate votes and show you Duos you haven't voted on yet. We do not use vote history to build advertising or marketing profiles.
When you report a post or another user, we store the report (including the reason category, optional notes, your user ID, and the target post or user ID) so our moderation team can review it. When you block another user, we record both user IDs so we can hide each from the other across the Service. Reports and block records are retained as part of our safety audit trail (see Section 6 — Retention).
We collect basic technical information — device type, operating system, app version, locale, and crash diagnostics — to keep the Service stable and secure. We use Sentry for error tracking; sensitive fields (auth tokens, photo URLs, garment URLs) are stripped or redacted before being sent.
If you make in-app purchases (for example, additional try-on credits), we receive confirmation of the transaction status from Apple App Store or Google Play. Full payment details (card numbers, billing address) are processed by Apple and Google directly — Mirrofy does not see them.
When you tap a "Shop this look" link to a partner retailer, we record an anonymous click event (timestamp, item ID, merchant ID, your user ID) so we can attribute affiliate commissions and improve product recommendations. The click event is sent to our backend; the link itself opens in your device browser, and any onward shopping activity is governed by the retailer's own privacy policy. We do not receive your actual purchases.
The web version of Mirrofy uses cookies for essential session management and, when you click an affiliate link, for partner-side referral tracking. The native mobile apps do not use cookies. Where required by applicable law, we will request your consent before placing non-essential cookies on your device.
When you give a thumbs-down on a try-on result, we record a refund event in your credit ledger (your user ID, the result ID, a timestamp). The result image stays in your private gallery; nothing is moved to a public review queue or sent to a third party.
Members of the Mirrofy team (the founder and a named list of moderators) keep technical access to the credit ledger and to the storage buckets through our database admin tools. We may use that access to investigate quality complaints linked to a rated try-on — which can mean opening the source photo, the result image, and the matching profile in our admin tools — and, in aggregate, to identify garments that consistently produce poor results so we can pause them in the wardrobe.
We do not use rated try-ons for advertising or for training AI models, and we do not share them with third parties beyond what is required to operate the Service (see Section 9). Patterns suggesting abuse of the rating system (for example, refunding every try-on) may result in account restrictions.
We process personal data on the following legal grounds:
We use personal data to:
We do not use personal data for advertising profiles, behavioural targeting, or to train AI models.
Before any photo of yourself is stored on our servers, we automatically scan it for inappropriate content (explicit nudity, violence, and high-confidence celebrity matches) using AWS Rekognition in the Frankfurt region. Photos that fail the safety check are kept for up to 30 days in a separate, restricted-access storage bucket so we can review whether the filter performed correctly. After 30 days these photos are automatically deleted. If you delete your account in the meantime, any photos held in this quarantine bucket are removed as part of the same delete operation — nothing about your photos lingers after you delete your account.
Posts on the Style Feed can be reported by other users. Reports go to our internal moderation queue; depending on the outcome a post may be hidden from the public feed. Users whose posts are hidden see a clear indicator on their own profile and (when this feature ships) will receive a notification with an appeal route.
We retain personal data only as long as necessary for the purposes set out above:
You can delete your account from Settings → Account → Delete account. Account deletion immediately wipes your photos and profile data from our EU servers, including the moderation quarantine bucket. There is no grace period and no recovery copy — please make sure you have downloaded anything you want to keep before confirming.
We implement appropriate technical and organisational measures to protect personal data: encryption in transit (HTTPS), encryption at rest on our database and storage providers, server-side access control with row-level security, and short-lived signed URLs for storage downloads.
Access to internal moderation tools is restricted to a named list of moderators stored server-side; their privileges are checked on every database operation.
Our primary data processors (Supabase, AWS Rekognition, Fashn-hosted infrastructure) are located in the European Economic Area (Frankfurt region). When a service provider is located outside the EEA, we ensure appropriate safeguards in accordance with GDPR — typically via Standard Contractual Clauses or other recognised transfer mechanisms.
We use the following third-party services to provide the Mirrofy experience. Each is bound by a data processing agreement and is permitted to process your data only for the purposes described.
| Service | Purpose | Region | Data sent |
|---|---|---|---|
| Supabase | Database, authentication, photo storage | EU — Frankfurt | All account data, photos, posts, votes, reports |
| AWS Rekognition | Automated content moderation (NSFW + celebrity recognition) | EU — Frankfurt | Photos at upload time only; not retained on AWS side |
| Fashn (api.fashn.ai) | AI virtual try-on generation | EU | Your photo + a garment image, per try-on call |
| Sign in with Google authentication | Global | Sign-in handshake only; we receive an email + identifier | |
| Apple | Sign in with Apple authentication | Global | Sign-in handshake only; we receive an email + identifier |
| Sentry | Crash and error monitoring | EU — Frankfurt | Crash diagnostics with sensitive fields redacted |
| Cloudflare | Vote-link landing page (mirrofy.app/vote/...) | Global edge network | Standard request metadata (IP, user-agent) at edge level |
| Apple App Store / Google Play | In-app purchase processing | Per the platform's own terms | We receive purchase confirmation only; payment details stay with Apple/Google |
This list will be kept up to date as our infrastructure changes. Material additions will be communicated within the Service.
Some Service features let you share content with others — always opt-in:
Content remains private by default; you choose what becomes visible.
If you reside in the European Union, you have the right to:
You may exercise these rights by contacting us at legal@mirrofy.app. You also have the right to lodge a complaint with your local data protection authority.
The Service is intended for individuals aged 16 or older. We do not knowingly collect personal data from persons under 16. If we become aware of such data, it will be deleted.
We may update this Privacy Policy from time to time. Material changes will be communicated within the Service (typically via an in-app notice or email) before they take effect. Continued use of the Service after such updates constitutes acceptance of the revised policy.
If you have any questions about this Privacy Policy, you may contact us at: