Privacy policy
LJ Labs LLC ("the Company", "we") operates the Selfie AI app ("the Service"). This policy explains what personal information we process in the Service and why, when we delete it, and which companies we use to process it. We comply with the Korean Personal Information Protection Act and other applicable laws. This policy was written in Korean. If this English translation and the Korean original differ, the Korean original applies.
Summary
- There is no sign-up. We do not ask for your name, email address, or phone number.
- We use the selfie you upload only to make the image or video you requested. We do not use it to train AI models, and we delete it 24 hours after you upload it.
- We keep generated results for 30 days so you can reopen, save, and share them.
- We do not sell personal information or provide it to third parties.
- The companies that run the Service are in the United States, so we transfer personal information to the United States.
1. Information we process and how we collect it
The Service has no sign-up. We do not ask for your name, email address, phone number, or date of birth. We process the following personal information.
a. Anonymous account
- Items
- Install identifier, account identifier, device type (iOS or Android), time the account was created
- How we collect it
- When you first open the app, the app sends an install identifier to our server, and the server creates an anonymous account. On Android, the install identifier is a SHA-256 hash of the device's Android ID combined with the app's package name. The raw Android ID is never sent to our server. On iOS, the app creates a random value and stores it in the device's keychain. An Android device whose Android ID cannot be read uses a random value in the same way.
b. Selfie
- Items
- A photo of a face that you choose from your photo library or take with the camera
- How we collect it
- You upload it yourself. Before uploading, the app recompresses the photo to 2 MB or less and removes photo metadata (EXIF), such as where the photo was taken.
c. Generation records and results
- Items
- The template you chose, request and completion times, processing status, failure reason, and the generated image or video
- How we collect it
- Our server records your request when you start a generation. When the generation finishes, the server stores the result file in our storage.
d. Coins and purchase records
- Items
- A record of coins you received, spent, and got back, your subscription tier and its expiry time, and store purchase records (product, transaction number, purchase and expiry times, price, currency, country code, and store name)
- How we collect it
- Our server records coin activity. RevenueCat sends purchase records to our server when a purchase, renewal, cancellation, or refund happens. We do not receive payment details such as card numbers, and we do not receive your Apple ID or Google account information.
e. Push notification token
- Items
- Push notification token, device type
- How we collect it
- The app asks for notification permission when you start your first generation. The app registers the token with our server only if you allow notifications.
f. Error reports
- Items
- The error and where it happened, device model, operating system version, app version
- How we collect it
- When an error happens in the app or on the server, the app or the server sends it to Sentry automatically. Error reports do not include your IP address, your device name, or any photo.
g. Access records
- Items
- IP address, access time, request path, and server processing records (account identifier, generation number, outcome)
- How we collect it
- When the app talks to our server, the server and our hosting company record these automatically.
We do not use cookies. We do not read advertising identifiers (IDFA or Android advertising ID), and we do not use advertising tools or behavioral analytics tools.
2. App permissions
Every permission Selfie AI asks for is optional. You can use the app without granting it, but you cannot use the features that need it. You can change permissions at any time in your device settings.
- Photos
- To choose a selfie from your library and to save results to your library.
- Camera
- To take a selfie directly.
- Notifications
- To tell you when a generation finishes or fails.
To upload a selfie, the app needs access to either your photos or your camera.
3. Why we use personal information
We process personal information only for these purposes.
- To tell anonymous accounts apart and to manage coin balances and subscription status.
- To make sure the same install does not receive the free coin twice.
- To make the image or video you requested and show you the result.
- To notify you when a generation finishes or fails.
- To apply purchases and subscriptions to your account, and to handle purchase restores and your questions.
- To record requests blocked by safety checks, and to pause new generations for a while when blocks repeat.
- To find and fix errors and to keep the Service running reliably.
4. How we handle selfies
- We use your selfie only to make the image or video you requested.
- We do not use selfies to train AI models. We do not use selfies to identify anyone, and we do not extract and store facial feature data.
- When a generation starts, our server removes photo metadata once more, scales the photo so its longer side is 2048 pixels or less, and sends it to fal.ai. fal.ai uses the photo to make the result and runs a safety check.
- We delete each selfie from our storage 24 hours after upload. The deletion job runs every hour, and it deletes each selfie on its first run after the selfie is 24 hours old.
- We keep generated results in our storage so you can reopen the result screen, save results to your device, and share them. We keep each result for 30 days from the day it was generated and then delete it. Save to your device any result you want to keep longer.
- We issue the link that opens a result file only to the account that made the result. The link stops working 1 hour after we issue it.
5. How long we keep information
- Selfies
- 24 hours after upload. A deletion job that runs every hour deletes them.
- Result files
- 30 days from the day they were generated
- Account, generation records, coin records, subscription status
- Until you ask us to delete them or we shut down the Service
- Push notification token
- Until you ask us to delete it. We delete it immediately when the notification service tells us the token is no longer valid.
- Store purchase records
- Until you ask us to delete them. We keep records that are still within a legal retention period below for that period.
- Error reports, access records
- Up to 90 days
We keep information for as long as a law requires. Under the Korean Act on the Consumer Protection in Electronic Commerce, we keep records of contracts and withdrawals of offers, and records of payments and supply of goods, for 5 years. We keep records of consumer complaints and dispute handling for 3 years.
6. How we delete information
We delete personal information without delay once its retention period ends or its purpose has been met. We keep information that a law requires us to keep separately from other information, and we delete it when that period ends.
We keep personal information only as electronic files and database records, and we delete it from our storage and database. We do not print personal information on paper.
7. Processors and international transfers
We use the following companies to process personal information so we can run the Service. These companies are in the United States, so we transfer personal information to the United States. Transfers happen over encrypted internet connections while you use the Service.
These transfers are processing and storage needed to perform our contract with you for the Service. Under Article 28-8(1)(3) of the Korean Personal Information Protection Act, we disclose the transfers in this policy and make them on that basis. We oversee each processor so that it handles personal information securely under the data processing terms that company sets.
Railway Corporation
- Country
- United States (servers, database, and file storage, all in the US West region)
- Items transferred
- All items listed in section 1
- When and how
- Every time the app talks to our server, over an encrypted internet connection
- Purpose
- Running our servers, database, and file storage (hosting)
- Retention
- The same as the retention periods in section 5
- Contact
- railway.com/legal/privacy
Features & Labels Inc. (fal.ai)
- Country
- United States
- Items transferred
- Your selfie with its metadata removed
- When and how
- When you start a generation, our server sends it over an encrypted internet connection.
- Purpose
- Making the image or video you requested, and safety checks on the result
- Retention
- Until the generation is done. After we copy the result file to our storage, we do not use data left at fal.ai. fal.ai deletes the data it kept while processing under its own privacy policy.
- Contact
- fal.ai/legal/privacy-policy
Google LLC (Firebase Cloud Messaging)
- Country
- United States
- Items transferred
- Push notification token and the Firebase installation identifier used to issue it, notification content (template name, generation number)
- When and how
- When you allow notifications and when a generation finishes, over an encrypted internet connection. Google delivers notifications to iOS devices through the Apple Push Notification service (APNs).
- Purpose
- Sending notifications when a generation finishes or fails
- Retention
- Until the notification is sent. Google manages tokens under its Firebase data processing terms.
- Contact
- firebase.google.com/support/privacy
RevenueCat, Inc.
- Country
- United States
- Items transferred
- Account identifier, store purchase information (product, transaction number, purchase and expiry times, price, currency, country code, store name), operating system and app version
- When and how
- When you open the app, when you buy or restore a purchase, and when a subscription renews or ends. Through the RevenueCat SDK in the app and notifications from RevenueCat's servers, over encrypted internet connections.
- Purpose
- Verifying store purchases, managing subscription status, and passing purchase results to our server
- Retention
- While we use RevenueCat. When we stop, RevenueCat deletes the data under its own privacy policy.
- Contact
- revenuecat.com/privacy
Functional Software, Inc. (Sentry)
- Country
- United States
- Items transferred
- The error and where it happened, device model, operating system version, app version, server error records
- When and how
- When an error happens in the app or on the server, over an encrypted internet connection
- Purpose
- Analyzing and fixing errors
- Retention
- Up to 90 days
- Contact
- sentry.io/privacy
App stores that handle payment
Apple Inc. (App Store) and Google LLC (Google Play) handle payments. Each store's privacy policy covers the Apple ID, Google account, and payment details the store receives when you pay. We do not receive that information. We receive only the purchase result, through RevenueCat.
How to refuse international transfers
If you do not want your information transferred abroad, you can stop using the app and ask us to delete your information as described in section 9. We cannot provide the Service without these companies, so if you refuse the transfers, you cannot use the Service.
8. Provision to third parties
We do not provide or sell your personal information to third parties. The only exceptions are when a law specifically requires it, or when an investigative agency requests it following the procedure and method set by law.
9. Your rights and how to use them
You can ask at any time to see, correct, or delete your personal information, or to stop its processing.
- How to ask
- Email contact@ljtechlabs.com. A legal guardian or a person you authorize can also ask on your behalf. In that case, include a letter of authorization.
- Verification
- The Service has no accounts tied to a name or email address. We check that the person asking owns the account before we act, and we may ask for information that helps us check, such as the order number on your store purchase receipt.
- Response time
- We tell you the outcome within 10 days of receiving your request. We cannot delete information that a law requires us to keep, and if that applies, we tell you why.
- On your device
- You can turn off notification, photo, and camera permissions in your device settings. To cancel a subscription, use the subscription settings in the App Store or Google Play.
10. Children under 14
The Service is not intended for children under 14, and we do not collect personal information from children under 14. Because there is no sign-up, we do not check ages. If we learn that we have processed information from a child under 14, we delete it right away. A parent or guardian can ask us to delete it at contact@ljtechlabs.com.
11. Security measures
- We encrypt all communication between the app, our server, and our storage with HTTPS.
- Our server checks accounts with signed authentication tokens. Tokens expire after 30 days. Each account can reach only its own uploaded selfies and its own results.
- The link for uploading a selfie stops working 10 minutes after we issue it. The link that opens a result stops working 1 hour after we issue it.
- The app stores the authentication token and install identifier in the device's secure storage (the iOS keychain, or storage encrypted with the Android Keystore).
- Both the app and our server remove metadata such as where a selfie was taken.
- Our server's secret keys are kept in the hosting environment's configuration, not in source code. Separate secret keys protect administrative functions and incoming payment notifications.
- We limit access to personal information to the fewest people needed to run the Service.
12. Privacy officer
- Controller
- LJ Labs LLC (a Wyoming limited liability company, United States)
- Privacy officer
- the representative of LJ Labs LLC (contact@ljtechlabs.com)
- contact@ljtechlabs.com
Send questions, complaints, and requests for remedies about how we process personal information to the email above. We reply without delay.
13. Where to get help
If you need advice about a privacy violation or help resolving a dispute, you can contact these Korean agencies.
- Personal Information Dispute Mediation Committee
- 1833-6972 (no area code), www.kopico.go.kr
- Privacy Infringement Report Center (Korea Internet & Security Agency)
- 118 (no area code), privacy.kisa.or.kr
- Supreme Prosecutors' Office
- 1301 (no area code), www.spo.go.kr
- Korean National Police Agency
- 182 (no area code), ecrm.police.go.kr
14. Changes to this policy
If we change this policy, we post the changes and their effective date on this page at least 7 days before they take effect. If a change matters to your rights, such as a change to the items we collect, why we use them, or international transfers, we post it at least 30 days before it takes effect.
Version 1.0 was first published on October 29, 2026.