Privacy Policy

Last updated: 2026-09-22

This policy explains what personal data Look AI handles, why, who receives it, how long it is kept and what you can do about it. It covers the Look AI app for iPhone and Android and this website.

The short version

1. Who is responsible

Look AI is published by Better Life With Apps. Better Life With Apps decides why and how your personal data is processed in the app and on this website, which makes it the controller under the EU and UK General Data Protection Regulation (GDPR) and the data controller (veri sorumlusu) under Türkiye's Personal Data Protection Law No. 6698 (KVKK). For users in Türkiye, this page is also our information notice under Article 10 of the KVKK.

For anything in this policy, write to privacy@blwapps.com.

2. Your account

There is no signup form. The first time you open the app, it creates an account without asking you for anything. To do that, the app sends our server:

Against the account we store a random user ID, a keyed hash of the installation identifier (never the identifier itself), your platform, app version, language and region setting, whether the App Check succeeded, when the app last connected, sign-in credentials in hashed form, and a random billing ID used for purchases.

3. Your selfie and your choices

To make a look you provide the selfie you upload, together with the cut, colour or makeup you pick from the catalogue. You can take the photo with the camera or pick one from your photo library.

The selfie goes to our server as soon as you pick it. There it is private: it is never listed publicly, and only your account can open it, through a link that expires after a few minutes. It is deleted as soon as the look made from it has finished, and never later than 24 hours after it was uploaded, as How long we keep things sets out.

With the selfie we store the choices you made: the tool you used (hairstyle, hair colour, makeup, brows and lashes, glasses and earrings, or a complete look that changes several of these at once), the options you picked in it, such as a cut, a colour, a lip colour or a background colour, or the fact that you let the app pick, and how many results you asked for.

Faces in your photo

A photo of a face is personal data, and a face becomes biometric data when it is used to recognise a particular person. Look AI does not do that. We do not run face recognition, face matching or any other analysis that identifies a person, and we do not create a face template or any other biometric record. The app does not score, rate or rank anyone's appearance: there is no beauty score, no attractiveness rating and no ranking of your face anywhere in it.

The app is meant for a photo of your own face. Anyone else in the frame is part of the photo we store and send to OpenAI, so the simplest protection is to take the selfie on your own.

4. How a look is made

Your selfie and the choices you made go to our server, and from there to OpenAI, which generates your looks on our instructions. For each run we send OpenAI:

We do not send your installation identifier, your device details or anything else that names you. OpenAI sends the portraits back to our server. OpenAI's data controls state that data sent through its API is not used to train OpenAI's models unless the business sending it opts in, and that its abuse-monitoring logs, which can contain what we send and what comes back, are kept for up to 30 days unless the law requires longer or a longer period is needed to protect against harm. They also state that images are checked for child sexual abuse material and that an image flagged by that check is kept for manual review (OpenAI: data controls). We have not chosen a processing region with OpenAI, so it may process this data outside the EU. We do not use your selfie or your looks to train AI models ourselves.

Because your selfie goes on to OpenAI, the app asks your permission before your first look and names OpenAI when it asks. Your selfie reaches our own server as soon as you pick it, but nothing goes to OpenAI and nothing is generated until you allow it: until then the app refuses to start the look and asks again. Your answer is stored only on your phone. You can withdraw it at any time under Settings → Privacy → AI processing; from then on the app starts no new look until you allow it again.

You get back the portraits the app generates from your selfie. They are produced by an AI image model that redraws the whole picture, so a result is a drawing of you rather than a photograph of you, and face proportions, skin tone and small details can shift between tries. A generation can also fail or be refused. None of these automated steps has legal or similarly significant effects on you.

5. Your looks live on your device

When a portrait is ready, the app downloads it, saves it in the app's own storage on your phone, and then tells our server that it has it. As soon as that confirmation reaches us, we delete our copy. The app sends the confirmation the next time it starts, so in practice a result sits on our server for the rest of the session that made it and is gone after that. Whether or not the confirmation ever arrives, we delete our copy at most 24 hours after you started the look.

From then on, your looks exist only on your device. The library you see in the app is a local one. We keep no copy to restore from: if you uninstall the app, clear its data or move to a new phone, your looks go too, and the app says so on the result screen. Save anything you want to keep into your own photo library.

The app also keeps the selfies you have used in its Photos tab on your phone, so that you can use one again. Using one again uploads it again, and our server deletes it the same way.

Deleting a look in the app deletes the file from your device, hides the look's record on our server and deletes any file we still hold for it. If you report a look as wrong or unusable from its menu, our server records the report against that look; no picture and no text of yours goes with it. Deleting your account clears the looks and the selfies stored on your device as well.

6. Purchases

Look AI sells subscriptions. The App Store or Google Play takes the payment under its own terms; we never see your card details or your store account. The price, the billing period and the renewal terms are shown on the purchase screen before you buy, and you cancel in your store's subscription settings, as the Terms of Use explain.

RevenueCat checks purchases for us. The app identifies you to RevenueCat with the random billing ID from your account, never with your name, and RevenueCat tells our server when a purchase, renewal, cancellation or refund happens. From those messages we keep the product, the state and expiry date of your subscription, a hash of the store transaction ID, and whether the purchase was a test purchase or was refunded. Because a subscription comes with credits, we also keep your credit balance and a record of the credits each purchase added and each look used. We do not keep the price you paid or your store country.

If you ask Apple or Google Play for a refund, the store may ask us for our view before it decides. If we answer, RevenueCat answers on our behalf and tells the store only whether the purchase was delivered, that the app lets you see a result before you pay, and whether we would prefer the refund to be granted or declined. It does not send how much you used the app or what you made with it (RevenueCat: Refund Control).

While analytics is switched on (see the next section), RevenueCat also reports your purchase events, including their value and currency, to Google Analytics under the app's analytics ID. When analytics is off, the app removes that link.

7. Analytics, crash reports, notifications, feedback and app integrity

Google Analytics for Firebase tells us how the app is used: which screens are opened, which steps are completed, which options are chosen and which purchases are started. Our events carry fixed labels, your language setting and whether you subscribe; they never carry your selfie, your results or anything that identifies a look. Google Analytics identifies the installation with an app-instance ID and works out an approximate location from your connection. On Android it can also read the Google advertising ID, unless you have deleted that ID in your device settings. On iPhone the app never asks for permission to track you, so Google Analytics gets no advertising identifier there.

Your analytics choice is stored only on your device. Analytics events go from the app straight to Google; our server does not receive them.

Firebase Crashlytics sends us a report when the app crashes or runs into an error, whatever your analytics setting: the error, where in the code it happened, your device model, operating-system version and app version, and a Crashlytics installation ID, but not your account ID. The app strips web addresses, email addresses, tokens, file paths and long numbers from error messages before they are sent.

Firebase Remote Config lets us change which version of the purchase screen you see without releasing an update. It uses a Firebase installation ID.

Firebase App Check uses Apple App Attest or DeviceCheck on iPhone and Google Play Integrity on Android to confirm that the app is genuine when it creates your account. Our server checks the token against Google's public keys, keeps only a one-way hash of it until the token expires so that it cannot be used twice, and never logs it.

Sentry receives error reports from our server, not from the app. Before a report leaves our server we remove user identifiers, request headers, request bodies and query strings, so a report carries the error and the address path of the request that failed.

Notifications (Firebase Cloud Messaging)

So that you hear about a finished look while you are not looking at the app, the app uses Firebase Cloud Messaging, Google's push service, which on iPhone passes the notification on through Apple's push service. If you allow notifications, the app sends our server a push address that Firebase issues for this installation, together with your language setting and the notification text in that language. When a look is finished, or has failed, our server sends Firebase that address, that text and random identifiers of the look and your device; your selfie and your results never go with it. You can turn these notifications off under Settings → Preferences → Notify me when a design is ready: the app then withdraws the address on our server and has Firebase invalidate it. Deleting your account deletes every address stored for it.

In-app feedback (Wiredash)

The feedback form in the app is provided by Wiredash. Each time the app starts, at most once every 30 minutes, it checks in with Wiredash, whether or not you ever send feedback. The check-in carries a random identifier that Wiredash's code creates on your device, the app's version, build number and build commit, its bundle ID, whether it is a production or development build, your device's language setting, and your operating system and its version. The first time it runs, it also sends a one-off first-launch event. None of this includes your account ID, your selfie or anything you have written. For this data, Wiredash's documentation says it works out your country from the connection's IP address and does not store the address (Wiredash: analytics privacy).

When you choose Send feedback in the app's settings, the app sends Wiredash your message, your email address if you enter one, and a screenshot if you add one. You can draw on the screenshot before sending it; it shows whatever is on the screen at that moment, including your own selfie and the looks you have made. With your feedback go device and app details (platform, operating-system version, device model, screen size, language setting, and the app's version and build) and details we add so that we can follow up: your account's random user ID, the app's name, whether it is the production or development version, your subscription status and your credit balance. We read your feedback in Wiredash to answer it and to fix the app.

8. Device permissions

The app does not ask for your location, microphone or contacts, and it does not ask for permission to track you across other companies' apps. You can withdraw a permission in your device settings at any time; the rest of the app keeps working.

PurposeDataLegal basis (GDPR)Legal basis (KVKK)
Creating your account and keeping you signed inInstallation identifier hash, user ID, platform, app version, language and region, sign-in credentialsPerforming our contract with you (Art. 6(1)(b))Necessary to set up and perform the contract (Art. 5(2)(c))
Generating your looks and holding them until your device has themYour selfie, the choices you made, the instructions sent to OpenAI, the portraits produced from themPerforming our contract with you (Art. 6(1)(b))Necessary to set up and perform the contract (Art. 5(2)(c))
Telling you that a look is readyPush address, language setting, notification text, random identifiers of the look and the devicePerforming our contract with you (Art. 6(1)(b))Necessary to set up and perform the contract (Art. 5(2)(c))
Selling subscriptions and honouring themBilling ID, purchase and credit recordsPerforming our contract with you (Art. 6(1)(b))Necessary to set up and perform the contract (Art. 5(2)(c))
Answering a store's review of a refund you requested, and keeping purchase records after an account is deleted so refunds and store disputes can be settledPurchase records, whether the purchase was deliveredOur legitimate interest in establishing and defending claims (Art. 6(1)(f))Establishing, exercising or protecting a right (Art. 5(2)(e))
Keeping the service secure and preventing abuseApp Check tokens, hashed IP address in rate limits, IP address in the web server's error log, audit records, database backupsOur legitimate interest in a secure, working service (Art. 6(1)(f))Our legitimate interest (Art. 5(2)(f))
Looking into a look you reportThe report and the look record it points toOur legitimate interest in a working, safe app (Art. 6(1)(f))Our legitimate interest (Art. 5(2)(f))
Finding and fixing crashes and errorsCrash and error reportsOur legitimate interest in a working app (Art. 6(1)(f))Our legitimate interest (Art. 5(2)(f))
Choosing which version of the purchase screen you seeFirebase installation IDOur legitimate interest in running and improving the app (Art. 6(1)(f))Our legitimate interest (Art. 5(2)(f))
Answering feedback you send from the app and using it to fix the appYour message, email address and screenshot if you add them, device and app details, user ID, app name, production or development version, subscription status, credit balanceYour request and performing our contract with you (Art. 6(1)(b)); our legitimate interest in improving the app (Art. 6(1)(f))Necessary to set up and perform the contract (Art. 5(2)(c)); our legitimate interest (Art. 5(2)(f))
Keeping the in-app feedback form workingWiredash's random identifier, app version and build, bundle ID, build type, language setting, operating system and version, the first-launch eventOur legitimate interest in operating the feedback form (Art. 6(1)(f))Our legitimate interest (Art. 5(2)(f))
Understanding how the app is usedAnalytics events, app-instance ID, advertising ID where available, approximate location, purchase events from RevenueCatIn the EEA and the UK: your consent (Art. 6(1)(a)). Elsewhere: our legitimate interest in improving the app (Art. 6(1)(f))Our legitimate interest (Art. 5(2)(f))
Answering privacy requests and support emailsYour email address and what you writeLegal obligation for privacy requests (Art. 6(1)(c)); our legitimate interest for other emails (Art. 6(1)(f))Legal obligation (Art. 5(2)(ç)); our legitimate interest (Art. 5(2)(f))

We collect this data automatically through the app and our server, and from you when you upload a selfie, send feedback or email us. You need to provide a selfie to make a look, and the account data is needed for the app to work at all. Analytics is optional where we ask for it. Where we rely on legitimate interest, you can object (see Your rights).

10. Where your data is stored

Our backend runs on a cloud server we rent from Hetzner Online GmbH in its Helsinki, Finland data centre, inside the EU. The database, the job queue and the private file storage that briefly holds your selfie and your finished portraits all run on that one server. A copy of the database is made every day, and the 14 most recent copies are kept on the same server; selfies and portraits are not in these copies. The app and this website reach the server only over encrypted HTTPS connections, and sign-in credentials and installation identifiers are stored only as hashes.

11. Who receives your data

Apart from Hetzner, which hosts the server they sit on, and OpenAI, which generates your looks from your selfie, none of the companies below receives your selfie or your looks, unless you add a screenshot showing them to feedback you send through Wiredash. Your data reaches no company other than these. Each processes it on our behalf, except Apple and Google's app stores, which act under their own privacy policies.

CompanyWhat forWhat it receivesBased in
Hetzner Online GmbHHosting our serverEverything we store (section 10)Germany; our server is in Finland
OpenAIGenerating your looksYour selfie without its metadata, the instructions built from your choices, a pseudonymous identifierUnited States
RevenueCat, Inc.Checking purchases and subscription status; answering a store's refund review if we choose toYour billing ID, store purchase receipts, app and device details its SDK sendsUnited States
Google LLC (Firebase)Analytics, crash reports, remote settings, App Check, push notificationsThe data described in section 7, and purchase events from RevenueCat while analytics is onUnited States
Wiredash GmbHThe in-app feedback formThe check-ins and the feedback you send, described in section 7Germany; according to its privacy policy, data is stored on Google Cloud and may be transferred to the United States
Functional Software, Inc. (Sentry)Error reports from our serverError details and request paths, without user identifiersUnited States
Cloudflare, Inc.Delivering email sent to our blwapps.com addressesYour email address and your messageUnited States
Apple (App Store), Google (Google Play)Taking payment and handling refunds; on iPhone, Apple also delivers the push notificationsYour purchase and, on iPhone, the notifications sent to you, under their own privacy policiesSee their privacy policies

We do not sell personal information, and we do not share it for cross-context behavioural advertising. We disclose data to authorities only where the law requires it.

12. Transfers outside the EEA and Türkiye

Our server is in Finland, inside the EU; for users in Türkiye, storing data there is itself a transfer abroad. The companies based in the United States in the table above can receive and process data outside the European Economic Area and Türkiye. Google states that Firebase processes data wherever Google or its agents keep facilities, and we have not chosen a processing region with OpenAI. Wiredash is based in Germany, but its privacy policy says that data may be transferred to the United States, processed there and stored on Google Cloud servers (Wiredash: privacy policy).

To find out which safeguard covers a particular transfer, or to get a copy of it, write to privacy@blwapps.com.

13. How long we keep things

DataHow long
The selfie you uploadDeleted as soon as the look made from it finishes, whatever the outcome: a finished result, a failure we stop retrying, or a look you cancelled. In any case it is deleted 24 hours after upload at the latest, including a selfie you never make a look from
An upload that never finishesDeleted about an hour after its upload link, which is valid for ten minutes, expires
The portraits we generateDeleted as soon as the app confirms it has stored them on your device, which it does the next time it starts; and in every case at most 24 hours after you started the look, whether or not that confirmation arrives
The looks and selfies on your own deviceFor as long as you keep them there; the Photos tab keeps up to 100 selfies and drops the ones you used least recently. This is the only copy; we have nothing to restore from
Look records: the choices you made, the instructions sent to OpenAI, and the look's status, cost and timesUntil you delete your account; deletion erases the choices and the instructions and keeps only which catalogue style the look used
Reports you make about a lookNo automatic deletion; a report stays, under the closed account's random ID, after the account is deleted
Push addresses for notificationsUntil you delete your account. Turning notifications off in the app stops them at once and has Firebase invalidate the address
Account, device and sign-in recordsUntil you delete your account (section 14 says what remains)
Purchase and credit recordsKept after account deletion so refunds and store disputes can still be matched to a purchase; there is currently no automatic deletion
Audit records of account events365 days
Hashed IP address used to limit request ratesAt most one hour
Server logsOur application's logs contain no IP address and refer to an account only by a shortened hash. The web server in front of it records your IP address, your device's user agent and the requested address only when a request fails to reach our application. Both kinds of log are overwritten as they grow; there is no fixed period
Database backupsThe 14 most recent daily copies, so a deleted record can remain in a backup for about two weeks. Selfies and portraits are not in them
Data held by OpenAIUp to 30 days for abuse monitoring, unless the law requires longer or a longer period is needed to protect against harm; an image flagged as possible child sexual abuse material is kept for manual review
Crashlytics reports90 days
Google Analytics event dataUp to 14 months
Firebase installation IDUntil it is deleted at Google. Deleting your account does not do this
Your customer record at RevenueCatUntil it is deleted at RevenueCat. Deleting your account does not do this; write to us if you want it removed
Feedback you send through WiredashUntil it is deleted at Wiredash. Deleting your account does not do this; write to us if you want it removed
Wiredash check-ins and the first-launch eventAs long as Wiredash keeps them; its privacy policy sets no fixed period
Records of visits to this website's /get pageThey contain no IP address or identifier. They are kept in files of up to 10 MB; at most ten older files are kept, and none of them for more than a year

14. Deleting your account

You can delete your account yourself in the app: open Settings, scroll down to Your data, tap Delete my data and confirm with Request deletion. If you have already uninstalled the app, write to privacy@blwapps.com instead; the deletion page explains what to include so that we can find your record.

Deleting in the app signs this device out, ends every sign-in, removes your push addresses at once and queues the account for deletion; a request by email leads to the same deletion once we have found your account. After a 24-hour safety delay, our server:

What remains is a closed account under its random ID; device records without the installation link (platform, app version, language and region, last connection); records of past looks that keep only the catalogue style, status, cost and times; reports you made about a look; purchase and credit records; audit records for up to 365 days, with your user ID removed from the ones you triggered; and database backups for about two weeks. Once the deletion has run it cannot be undone. A file under a documented legal hold is kept until that obligation ends; everything else is still deleted.

Deleting your account clears the looks and the selfies stored on your device as well, and because we keep no copy of them, they cannot be recovered from us. It does not delete your data at RevenueCat, Google or Wiredash (see the table in section 13), and it does not cancel a subscription: cancel it in your App Store or Google Play subscription settings. Opening the app again after a deletion creates a new, empty account.

15. Your rights

Under the GDPR (EEA and UK), you can ask for access to your personal data and a copy of it, for correction, for erasure, for restriction of processing, and for your data in a portable format. You can object to processing based on our legitimate interest, and you can withdraw consent at any time without affecting processing that happened before. You can also complain to the data protection authority in the country where you live or work, or where you believe your rights were infringed.

Under Article 11 of the KVKK (Türkiye), you have the right to:

We answer free of charge within 30 days at the latest; if answering has a real cost, we may charge the fee set by the Personal Data Protection Board. If we reject your request, do not answer in time, or you find the answer insufficient, you can complain to the Personal Data Protection Board within 30 days of learning our answer, and in any case within 60 days of your request.

Under US state privacy laws, including California's, you can ask to know what personal information we have collected about you, and ask us to delete or correct it. We collect identifiers (random IDs, a hashed installation identifier, a push address if you allow notifications, an advertising ID through Google Analytics where available, and your email address if you add it to feedback), commercial information (purchase records), internet or other electronic network activity (app usage events), approximate location, and visual information (the selfie you upload, the portraits made from it while we still hold them, and any screenshot you add to feedback), for the purposes in section 9 and for the periods in section 13. We do not sell personal information or share it for cross-context behavioural advertising, and we will not treat you differently for using your rights.

To use any of these rights, write to privacy@blwapps.com. We do not know your name, and we know your email address only if you have given it to us, so we can only act on a request we can link to an account; if you made a purchase, the App Store or Google Play order number is the most reliable link. In the EEA and the UK you can also switch analytics off in the app.

16. Children

Look AI is not directed at children under 13, and it does not ask your age. If you are under 16 and live in the EEA, ask a parent before you agree to analytics. If you believe a child has used the app, write to us and we will delete the account.

17. This website

This website is a set of static pages. It sets no cookies, runs no analytics or tracking scripts, and loads nothing from other websites. It is served from the same Hetzner server in Helsinki.

When someone shares the app from its settings, the link they send opens this website's /get page and carries a ref tag naming where the link came from, such as app_share. The page sends you on to the App Store, Google Play or this website's home page and passes the tag along. When /get is opened, our server records only the time, the website, the page address with its tag, and whether the page loaded: no IP address, no cookies, no device identifiers. We use these records to count how many visits share links bring. The App Store and Google Play may count installs that came through the tag in the statistics they give us, and on Android, Google Analytics can record the tag when the app first opens while analytics is on.

18. Changes to this policy

When what the app does with your data changes, we update this page and the date at the top. Before your selfie is sent to an AI provider other than the one named on this page, this page will name that provider first.

19. Contact

Privacy questions and requests: privacy@blwapps.com
Everything else: support@blwapps.com