About this policy
Amirolla is operated by Pavel Dmitriev, Brazil. For support, privacy questions, or account and data deletion requests, email pe.dmitriev@gmail.com.
This Privacy Policy explains how Amirolla handles information when you use the app to create, edit, and export photo carousels, and when you contact us through this website.
Amirolla processes the information needed to authenticate your account, perform the carousel analysis you request, and validate purchases. Original photo editing and exporting are performed on your device.
Information used by Amirolla
| Information | Purpose |
|---|---|
| Account and authentication records | On first launch the app creates an anonymous account in Supabase, without an email, so your carousel balance works before you sign in. If you sign in with Google (or Apple, where available), the account email is added. Authentication requires identifiers and session records. |
| Device identifier (hashed) | Granting the two free carousels once per device. The app sends a device identifier when the account is created; the server keeps only its SHA-256 hash, never the identifier itself. |
| Device integrity check | When abuse protection is turned on, Google Play Integrity (Android) or Apple App Attest and DeviceCheck (iOS) confirm that the free-carousel request comes from a genuine app on a real device. The server checks the result and keeps only the platform (Android or iOS) and whether the device was verified, next to the hashed identifier. |
| Usage events | Understanding how the app is used and what generation costs: for example, a carousel was exported (with its style), a carousel was built without AI, the purchase screen was shown, and per generation the AI provider, token counts, cost and the number and size of photos. Usage events contain no photos or captions; they do include the style of the exported carousel and short technical reason codes. |
| Reduced photo copies | Analyzing the photos you submit to generate a carousel. These copies pass through the processing server to an AI provider. |
| Generation context and results | Selecting photos, arranging a carousel, and suggesting crops, text, and style. |
| Purchase and credit records | Validating store purchases and managing carousel access using RevenueCat and the applicable app store. |
Amirolla’s processing server does not persist uploaded photo copies or generation content. For security and troubleshooting, the server keeps technical logs (IP addresses, request metadata and error messages, but not photos) in rotating files of limited size, so older entries are overwritten. Your account record, the hashed device identifier and usage events are stored in Supabase. Authentication and purchase services also handle the technical records needed to provide their functions.
Service providers may handle operational information such as network addresses, session identifiers, and SDK diagnostics needed to operate their services. Provider operational records are governed by their applicable data-processing agreements and privacy terms.
Your photos: device and cloud
Event discovery, duplicate detection, editing, and exporting are designed to happen on your device. Original photos stay on your device for these operations.
When you request a carousel, reduced copies of the selected photos are sent to Amirolla’s processing server in Frankfurt, Germany. The server forwards the copies and generation instructions to Google Gemini for analysis. If the Gemini request fails (for example, it is unavailable, times out or returns an unusable plan), the server sends the same request to OpenAI as the fallback provider.
The receiving provider analyzes the images to create a carousel plan and related suggestions. The server returns the result to the app and does not persist photo copies or generation content. A failed Gemini attempt may already have reached Google before a retry is sent to OpenAI.
The server’s lack of persistent content storage does not mean the AI providers retain nothing. Their processing and retention practices are described below. Hosting the server in Frankfurt does not restrict all provider processing to Germany.
You control photo access through device permissions. Restricting or revoking access may limit event discovery. Exporting or sharing sends the result to the destination you choose.
Service providers and processing locations
| Provider | Role and information handled |
|---|---|
| Supabase | Account authentication and storage of the account record, the hashed device identifier, carousel balance, purchase and usage records in a United States region. |
| Google / Apple sign-in | Authenticate the account you choose. Amirolla does not receive your Google or Apple password. If you choose Apple’s Hide My Email option, the email stored for your account may be an Apple relay address. |
| Google Gemini API | Primary AI analysis of reduced photo copies and associated generation instructions. |
| OpenAI API | Fallback AI analysis when the Gemini request fails; receives the relevant photo copies and instructions. |
| Google Play Integrity / Apple App Attest and DeviceCheck | Confirm that a free-carousel request comes from a genuine app on a real device, when abuse protection is turned on. |
| RevenueCat | Purchase validation and entitlement management using customer identifiers, product information, and transaction records. |
| Google Play / Apple App Store | Process payments and maintain store purchase records. Amirolla does not receive your full card details from store checkout. |
The processing server is in Frankfurt, Germany. These providers may process information in other countries under their service agreements. The server location alone is not a guarantee of EU-only processing or storage. Supabase account records are hosted in the United States. Transfers to other countries are governed by the applicable provider agreements and data-protection requirements; contact the developer for information about the arrangements applicable to your data.
Provider references: Supabase privacy information, Google Privacy Policy, Apple Privacy Policy, Gemini API terms, OpenAI API data controls, and RevenueCat Privacy Policy.
Retention and deletion
Processing server: uploaded photo copies and generation content are processed transiently and are not persisted by Amirolla’s processing server.
Device identifier: the SHA-256 hash of the device identifier is kept after the account is deleted, unlinked from it, so that deleting and re-creating an account does not grant the free carousels again. The hash cannot be turned back into the identifier.
Usage events: deleted together with the account.
Accounts and purchases: account information is stored in Supabase; RevenueCat and the app stores maintain records needed for authentication, purchase validation, and entitlements. The in-app deletion action removes the Supabase account. RevenueCat and store purchase records are not automatically deleted by that action. For a request concerning associated records, email the developer; email deletion requests are completed within two business days after the account has been identified and any necessary ownership verification is complete. RevenueCat customer information is retained while needed to manage your purchases and credits; deletion of associated RevenueCat customer data is handled manually following an email request. Apple and Google independently retain their store records under their own policies. Amirolla does not claim to delete those independent store records.
Google Gemini: Google’s published abuse-monitoring policy describes retention of prompts, contextual information, and responses for 55 days. Authorized staff may review flagged content. Amirolla uses the Gemini API through a project with active billing. Under Google’s paid-service terms, submitted prompts, photo inputs, and responses are not used to improve Google products. Safety and abuse-monitoring processing is separate from this restriction.
OpenAI: API content is not used to train models by default unless the developer opts into sharing. Standard abuse-monitoring logs may retain content for up to 30 days, with exceptions such as legal requirements. Additional retention depends on the endpoint and storage settings. Amirolla calls the Responses API with response storage turned off, so OpenAI does not keep the response state for later retrieval; it sends photos and prompts only to receive a structured response. Provider-side retention can still apply even when Amirolla does not create persistent files or keep the response on its own server. This policy does not claim that OpenAI Zero Data Retention is enabled.
Provider retention is separate from Amirolla’s transient server processing. See Google’s abuse-monitoring information and OpenAI’s data controls.
See the Account Deletion page for the request process and the distinction between account data, provider records, and local files.
Your choices and rights
You can control photo-library access through device settings and decide which carousels to export or share. Deleting exported files may require action in your gallery, cloud photo service, or social account.
Depending on applicable law, including Brazil’s LGPD where applicable, you may request confirmation of processing, access, correction, deletion, portability, information about sharing, or withdrawal of consent. Some requests may be subject to legal exceptions and identity verification.
Email pe.dmitriev@gmail.com to exercise these rights. Do not send passwords or sign-in codes. You may also raise a concern with the competent data-protection authority.
Security, children, and changes
Amirolla uses authenticated accounts and limits photo processing to the generation request you initiate. No system can guarantee absolute security.
Amirolla is intended for adults aged 18 and over. If you believe a child has provided personal information, contact pe.dmitriev@gmail.com.
Changes to this policy will be published here with an updated date. Material changes will be communicated as required by applicable law.
Contact
Amirolla is operated by Pavel Dmitriev, Brazil. For support, privacy questions, or account and data deletion requests, email pe.dmitriev@gmail.com.
Related: Terms of Use and Account Deletion.