Your photos are processed by AI services when you generate an image. This policy explains what leaves your device, who processes it, and how long different copies and records are kept.
Quick facts: result recovery lasts 7 days; reported-image copies have a 90-day lifecycle; account deletion retains limited payment and fraud-prevention records.
Who we are and what this policy covers
This Privacy Policy covers Mivelle: AI Photo Studio, displayed in the app as MIVELLE, and its support and legal pages. The app is developed and operated by Nguyễn Đức Minh (DreamTech.VN). Contact us at minhnd.dreamtech.vn@gmail.com for privacy questions or requests.
MIVELLE lets you generate images from text, try on outfits, swap faces, restyle photos, preview hairstyles and hair colors, change backgrounds, and remove selected objects with Cleanup. You can keep results in My Creations, export or share them, buy generation credits, and report generated images. AI generation requires an internet connection and sends the content needed for your request to our backend and AI provider.
Information we process
- Account information: signing in with Google supplies your Firebase account identifier, email address, display name and profile photo. Authentication services also process sign-in tokens and related security information. We do not receive your Google password.
- Creative content: photos you select, face or outfit references, imported backgrounds, text prompts, Cleanup masks, chosen presets and generation settings, and generated results. Photos can contain faces or other personal information.
- Generation records: task identifiers, a fingerprint of the request, tool, model, quality, resolution, timestamps, status, result metadata, and credit usage. A hashed account identifier links requests to your account; hashing does not make these records anonymous.
- Purchases: credit balance and history, product and order identifiers where available, purchase tokens, purchase verification, consumed-credit and refund records. Google Play processes payment details; we do not collect your card number.
- Reports and support: the reason and optional message you submit, a copy of the reported generated image, its generation information, your account identifier, app version and Android version. Email support also receives your email address and whatever you include.
- Technical and analytics information: app-instance and device identifiers, advertising identifier when available, device/OS and app information, app interactions and purchase events, network information and service diagnostics. Hosting and service providers can receive IP addresses when handling requests.
Please avoid uploading identity documents or unnecessary sensitive information. Only provide images you have the right to use, including the required permission from people shown.
How photos, faces and prompts are processed
When you start an AI request, the app sends the selected inputs and settings to our Firebase backend. The backend sends the necessary photos, references, prompt or preset instructions, and a hashed account identifier to OpenAI's image API for generation, editing and safety checks. Depending on the tool, a request can contain both a person photo and another reference image. Text to Image sends your prompt; Cleanup sends the selected photo and editing mask.
Our generation backend does not keep uploaded originals or full text prompts as stored creative content. It processes them to fulfill the request and keeps a request fingerprint and task records. Generated images and result metadata are stored separately in private Cloudflare R2 storage so the app can download them and recover a completed request.
Face Swap and Hairstyle use the face image to edit appearance. We do not build or store biometric face templates, use these photos to verify your identity, or operate a face-identification service. This describes our app's use of photos; OpenAI separately processes image content under its own data and safety controls.
OpenAI states that API inputs and outputs are not used for model training by default, unless the API customer opts in. Its standard abuse-monitoring logs can include content and are generally kept for up to 30 days, with longer retention possible for legal or safety reasons. Images flagged for potential child sexual abuse material may be retained for manual review. We do not promise zero provider retention. See OpenAI API data controls.
Why we use information
- Authenticate you, protect account access, and display your account details.
- Provide the AI tool you request, deliver and recover results, and organize your local creations.
- Calculate and reserve generation credits, verify purchases, maintain your wallet and handle refunds or disputes.
- Investigate image reports, support requests, failures and misuse, and enforce safety and usage rules.
- Prevent duplicate charges, purchase replay, fraud and unauthorized access.
- Understand app usage, maintain reliability and improve the service.
- Respond to data requests and meet applicable legal obligations.
Where applicable law requires a legal basis, we rely on providing the service you request, legitimate interests such as security and service operation, legal obligations, and consent where required. You may contact us about the basis for a particular use.
Service providers and other disclosures
- Google / Firebase / Google Cloud: Google sign-in, Firebase Authentication, Cloud Functions, Firestore account and transaction records, App Check with Play Integrity for app authenticity and abuse prevention, Firebase Analytics, and website hosting. See Firebase Privacy and Security and Google's Privacy Policy.
- OpenAI: image generation, editing and related safety processing, as described above.
- Cloudflare R2: private storage and delivery of generated images, task records and reported-image evidence. See Cloudflare's Privacy Policy.
- Google Play: payment processing, purchase verification and refunds. For refund review, we may provide a hashed account identifier and generation dates, tools, settings and credit consumption. We do not submit your photos or prompts as purchase-consumption evidence.
Authorized support or administrators can access information needed to investigate reports, support issues, refunds or deletion requests. We may also disclose information when required by law or necessary to protect people, rights or service security. The app does not automatically publish your photos or results in a public feed. If you use Share or export a file, the app or storage destination you choose receives that copy under its own policies.
Analytics, permissions and local storage
The current app includes Firebase Analytics. It can collect app-instance identifiers, an advertising identifier when available, screens and sessions, purchase events and device information. Google may derive approximate location from network information. We do not send your selected photos or prompts as custom Analytics events. The current app does not display third-party advertisements. See Google Analytics data collection.
Photos are selected through the Android system photo picker, with a system document-picker fallback on supported older devices. This grants access to selected items; MIVELLE does not request broad access to your entire photo library. The current app does not request camera, microphone, contacts or precise-location permissions. Internet access is used for authentication, AI processing, purchases and the services described here.
My Creations, imported references, app settings, pending-task records and image caches are kept in the app's local storage. Some local data may be included in Android-managed backup depending on your device settings. My Creations is not a permanent cloud gallery or a cross-device backup. Save uses the Android file destination you choose; Share uses the system sharing interface. Exported, shared and device-backup copies are outside our account-deletion workflow.
The public legal pages do not require sign-in or accept photo uploads. Firebase Hosting may process request and security information. Other pages of the DreamTech website may load Google Fonts, which involves a request to Google.
How long information is kept
- Account profile: kept while your account is active, then removed through the account-deletion process. Firebase states that its associated authentication information is removed from live and backup systems within 180 days after the developer initiates deletion; provider cleanup can outlast our account lock.
- Generated results: recoverable from our backend for 7 days from the generation request. Storage lifecycle rules are configured to delete result objects once they are 8 days old; physical removal depends on the storage provider's lifecycle execution. Download links expire after 10 minutes. A locally saved or reported copy has a different retention period.
- Task records: small records containing identifiers, request fingerprints and status remain after image expiry to prevent duplicate paid requests. They have no automatic age-based expiry and are removed with account deletion.
- Reported-image evidence: copies of reported results are configured for lifecycle deletion after 90 days, or removed earlier by account deletion. Report messages, metadata and quota records have no automatic age-based expiry; they remain for support and safety review until removed, including through account deletion.
- Payment, credit, refund and deletion records: limited records are retained after account deletion to reconcile transactions, handle disputes and prevent replay or fraud. They can include technical account identifiers and purchase tokens and are not anonymous. These records currently have no fixed automatic expiry; we retain them for as long as necessary for these purposes or applicable obligations. Contact us to request a review of retained information.
- Local content: remains until you delete it, clear app data, uninstall the app, or complete the local portion of account deletion. Temporary caches and backups can have separate lifetimes. Removing a local creation does not itself delete the backend recovery copy or reported evidence.
- Provider logs, analytics and support correspondence: subject to the relevant provider's retention or kept as needed to address the support issue, security or legal obligation. Our deletion worker does not erase independently retained provider logs or copies you shared.
Delete your account or request deletion on the web
In the app: open Profile → Delete account, reauthenticate with the same Google account and confirm.
On the web: use our account deletion page, or email minhnd.dreamtech.vn@gmail.com from your account email with the subject “MIVELLE account deletion”. We verify ownership before processing email requests. Do not send passwords or purchase tokens.
An accepted in-app request blocks account access and starts scheduled cleanup. The process removes the Firebase account profile, your private server images and task records, reports and report evidence. The app also removes that account's indexed creations and associated local working files on the device where the request is accepted. Cleanup has a waiting period to allow running jobs to finish and retries failures; it is not an instant deletion of every copy.
Financial, credit, refund and deletion records are retained as explained above. Photos you exported or shared, copies on other devices, device backups, and provider-held logs are not automatically deleted. Deleting your account ends access to unused credits and does not automatically refund purchases. Signing out, uninstalling or removing a photo from My Creations does not delete your account.
Your choices and privacy rights
You choose which photos and prompts to provide, which features to use, and whether to share or export a result. You can remove local creations in My Creations, manage Android backup and advertising-identifier settings, and request account deletion. Resetting or deleting the advertising identifier does not stop all Analytics collection.
Depending on where you live, you may have rights to access, correct, delete or obtain a copy of information, restrict or object to certain uses, or withdraw consent where processing relies on it. Email us to exercise these rights or ask about Analytics collection. We may need to verify your identity and explain any legal or transaction-related retention exception. Where available, you may also complain to your local data-protection authority.
Security and international processing
We use HTTPS for service requests, authenticated account checks, app-attestation checks and access-controlled storage. Generated-image download links are temporary, but anyone who obtains a valid link may access that image while the link remains valid. Keep your account, device and shared files secure; no online service can guarantee absolute security.
Google, OpenAI and Cloudflare operate internationally. Information may be processed outside your country, where protections can differ. Applicable provider agreements and transfer safeguards govern their processing where required. Contact us for information about a particular transfer.
Children's privacy
MIVELLE is not directed at children under 13 or the higher minimum age required where they live. Users under 18 need a parent or legal guardian's permission under our Terms. Do not upload content that exploits or sexualizes anyone under 18. If you believe a child has provided personal information in violation of these requirements, contact us so we can investigate and take appropriate steps.
Updates and contact
We may update this policy when features, providers or practices change. The effective date and last-updated date appear above. We will provide notice or seek consent where required for material changes.