This Privacy Policy describes how LegitCheck AI (the “App”) collects, uses, stores, and shares your information when you use our Android application (published on Google Play under the package name com.legit.check.shoe.authenticator).
By installing or using the App, you agree to the terms described in this Privacy Policy.
Developer contact: quicklysearch.bot@gmail.com
1. Information We Collect
1.1 User-Submitted Content
To generate AI-based authenticity verification results, the App processes the following content that you actively provide:
- Photos of products, items, and goods that you take with the App’s camera or choose in the Android photo picker for authenticity verification
- Photos of labels, tags, logos, serial numbers, sole patterns, packaging, and other product details
- Information about product category, brand, and model entered by you
Before the App sends photos for the first time, it asks for your permission to send your photos and the details you entered to OpenAI through our server. Without this permission no analysis request is sent. You can turn it off at any time in the App menu (“Send to OpenAI”); this applies to future requests.
Before sending, the App reduces each photo to at most 1024 pixels on the long side and re-encodes it. Re-encoding removes the photo’s metadata (EXIF), including GPS coordinates.
Notes, prices, and purchase details you add in the App’s collection or on the photo step are not sent to OpenAI.
Photos are processed to generate the AI authenticity analysis. The category, brand, and model you enter are also used for product analytics (see §3.3). We do not use your photos to train AI models.
1.2 Technical Information
We automatically collect:
- Device model, manufacturer, and Android OS version
- App version and language settings
- App usage statistics (screens viewed, buttons tapped, session duration, number of sessions, days since installation, interaction patterns)
- Crash logs and performance diagnostics
- Technical labels that help us separate real use from tests (for example, whether the App runs on an emulator or a test device) and which App features are switched on for your device
- Pseudonymous installation ID (Firebase Installation ID)
- Pseudonymous analytics user ID (Mixpanel distinctId) and a random installation ID generated by the App
- Advertising ID (Google’s Ad ID, when available)
This information is used to operate, debug, and improve the App.
1.3 Subscription Information
We collect subscription and purchase-related data:
- Active subscription status (active, cancelled, expired)
- Selected plan (weekly or quarterly)
- Trial period status
- Purchase confirmations and transaction identifiers
- Data required to restore past purchases
For users in Russia, billing is processed by CloudPayments (see §3). For users in other countries, billing is processed by Google Play Billing via Adapty (see §3).
1.4 Region Detection
To route you to the correct payment provider, the App reads:
- Your SIM card country code (simCountryIso)
- Your mobile network country code (networkCountryIso)
- Your device locale country (e.g., RU, US, DE)
These three signals are combined to determine whether you are a user in Russia (which switches the payment flow to CloudPayments) or elsewhere (which uses Adapty / Google Play). Reading these values does not require any special permission and is done locally on your device.
These signals are also reported in analytics events so we can monitor the routing decision quality across our user base.
1.5 Contact Information
We receive your email address when you pay for a subscription through CloudPayments (users in Russia): our CloudPayments checkout asks for it to deliver the fiscal receipt required under Russian Federal Law No. 54-FZ. We pass the details needed for the receipt to CloudPayments and receive payment status notifications. We also receive your email address if you write to our support.
The App does not ask for your name, phone number, physical address, or government ID. Such details may still reach us if you include them yourself, for example in a support email or a free-text comment (see §1.9).
1.6 Approximate Location (via IP)
The App’s analytics provider (Mixpanel) records your approximate location by inferring it from your IP address at the time of each event. The granularity is country / region / city level – not GPS.
1.7 Device Identifier for the Free Check
To give each device one free authenticity check and to prevent abuse of it, the App reads the Android ID (an identifier Android assigns to the App on your device) and turns it on the device into a one-way SHA-256 hash. Only this hash, together with a random request ID, is sent to our free-check service. The Android ID itself never leaves your device, and the hash is never sent to our analytics providers.
Our service does not store the hash it receives. It stores a keyed hash of it (HMAC-SHA256 with a secret key), the free-check status (reserved or used), the request ID, the number of attempts, and the dates the record was created and last changed. The service uses your IP address only briefly to limit the request rate and does not store it. The record is not linked to your email address, name, purchases, or analytics IDs. Records that have not changed for 365 days are deleted automatically.
The App may contact this service when you open the main screen and when you start or complete a free check, including while the free check is not offered to you. In that case the request checks that the service is reachable and reads the current free-check status; it does not create a new record. The service still writes its usual technical log entry (see §3.8) and counts the request for rate limiting.
1.8 History and Collection on Your Device
Your check history (results, the photos of each check, category, brand, model, and the purchase source and price if you entered them) and your collection (the items you add with a photo, their status, purchase and market prices, currency, purchase source, and your notes) are stored only on your device, in the App’s private storage. We do not upload them to our servers.
The App aims to keep about 50 checks in the history: when new checks are saved above this number, it removes the oldest ones a few at a time, so the history can hold more for a while. Records the App cannot read are not removed automatically. The collection holds up to 200 items.
If you updated from an earlier version of the App, the file of the previous history version stays on your device after its checks are moved to the new history. Deleting a check from the history does not remove it from that older file. The App remembers the deletion and does not show the check again, but if the history is ever reset (see below), checks left in the older file can be imported again. The file is removed when you uninstall the App or clear its data in Android Settings.
If the App cannot open your history and you choose “Start history over” (or the App resets the history by itself after an update), the old history is not deleted: the App keeps a copy of it on your device and starts a new one. The copy has no time limit: it stays on your device until you uninstall the App or clear its data in Android Settings. It is not uploaded anywhere.
1.9 Questions and Feedback
- When you start the App for the first time, it may ask what describes you best (for example, buyer, seller, or reseller). You can skip the question. If the App shows an “Other” field there, the text you type (up to 100 characters) goes through the same filter as the comment below and is also saved in your Mixpanel profile.
- After a check, the App may ask a few short questions about the result and offer a free-text comment to the developer. Every question and the comment are optional.
Your answers are sent to our analytics provider Mixpanel (see §3.3) and are linked to your pseudonymous analytics user ID. The answers you pick from a list (but not the free-text comment) also go to Firebase Analytics. Before a free-text comment is sent, the App tries to remove email addresses and phone numbers using simple patterns and cuts the text to about 1,500 bytes; the comment goes only into Mixpanel events. The filter can miss some formats and does not remove names, addresses, or other details, and the comment field does not warn you about this, so please do not write personal information there. The comment is not a way to contact us: if you want a reply, email us.
2. How We Use Your Information
2.1 Primary Purposes
Your data is used to:
- Generate AI-based authenticity verification reports
- Analyze uploaded photos to detect authenticity markers
- Keep your check history and collection on your device
- Process subscription purchases and verify Premium Access
- Limit the free check to one per device and prevent abuse of it
- Send you fiscal receipts (RU users, required by 54-FZ)
- Ask for and analyze your feedback on results
- Improve the App’s performance, stability, and user experience
- Operate and debug the App via analytics
2.2 We DO NOT Use Your Data To:
- Sell personal data, or pass it to data brokers or unrelated third parties
- Train external AI models on your uploaded photos without your consent
- Profile you for marketing purposes unrelated to App functionality
We do share your Advertising ID and app and purchase events with Meta to measure our advertising (see §3.6); Meta’s further use of this data is governed by its own privacy policy. - Access your photo library, contacts, messages, or other media beyond what you intentionally upload
3. Third-Party Services
To deliver the App’s functionality, we share specific data with the following service providers. Each one operates under its own privacy policy.
3.1 Payment Processing
- CloudPayments (ООО «КлаудПэйментс») – payment processor for users in Russia. CloudPayments receives your card data, email address, and payment amount. The CloudPayments SDK sends the full card number and security code directly to CloudPayments; they never reach our servers. CloudPayments then sends our payment backend payment notifications, which can include limited card and payer details (such as the first and last digits of the card, its expiry date, the cardholder name, and IP-based location); the backend removes these top-level fields and masks the email and phone before it saves a notification (nested fields, if any, are not cleaned automatically). CloudPayments also acts as our online cash register operator for fiscal receipts (54-FZ). To prevent payment fraud, when you open the payment screen and when you pay, the App also sends our payment backend a technical device fingerprint that includes the Advertising ID (when ad tracking is not limited) and the Adapty profile ID. The backend stores a keyed hash of the Advertising ID, not the ID itself. Our payment backend (hosted in Russia) also keeps your email address, the App’s installation ID, the Adapty profile ID, your plan, payment sessions, subscription, trial and cancellation records, the saved payment notifications, stored server responses to repeated requests, and a record of the consents you give on the payment screen (offer, personal data, recurring payments) together with your IP address and the App’s technical user agent, as proof of consent. Its technical logs record transaction IDs, amounts, and the installation ID. https://cloudpayments.ru/
- Google Play Billing (Google LLC) – payment processor for users outside Russia (via Adapty integration). Google handles all card data and billing. https://policies.google.com/privacy
3.2 Subscription Management
- Adapty.io (Adapty Tech, Inc.) – subscription management platform. Adapty receives the App’s random installation ID as its user ID (linked to Mixpanel’s distinctId and to the App’s installation ID), purchase events, and device metadata. With its default settings, which the App does not change, the Adapty SDK may also collect the Advertising ID (when available), the App Set ID, your IP address, and install referrer data. https://adapty.io/privacy
3.3 Analytics
- Mixpanel (Mixpanel, Inc.) – product analytics. Receives a pseudonymous user ID, app events (screen views, button taps, purchase funnel), device and OS metadata, and approximate location via IP. It also receives the brand and model you entered for a check, your answers to the questions in §1.9 (including the free-text comment), and the price range of an item if you enter a purchase price (a range such as “51–100 USD”, not the amount). Mixpanel also stores the App’s installation ID, which our payment backend uses as well, so analytics can be matched with a payment record. Data is stored on Mixpanel’s EU-region servers. https://mixpanel.com/legal/privacy-policy
- Firebase Analytics (Google LLC) – additional app event analytics. Firebase receives the same events without the free-text comments, the brand, and the model you type (it does receive the price range, currency, and purchase source chosen from a list). On Android versions that support the Privacy Sandbox, the Firebase SDK may use its advertising-related interfaces (see §4.6). https://firebase.google.com/support/privacy
3.4 Crash Reporting
- Firebase Crashlytics (Google LLC) – receives crash logs and non-fatal error reports for stability monitoring. Crash logs include device model, OS version, app version, the stack trace, and the error message. Some error reports about payments include the payment transaction ID, and error messages from third-party SDKs may contain other details we do not control. We do not add your photos or the text you enter to crash reports. https://firebase.google.com/support/privacy
3.5 Remote Configuration
- Firebase Remote Config (Google LLC) – used to switch selected App features and experiments on or off. It uses the pseudonymous Firebase Installation ID to deliver the settings. The payment route is chosen on your device (see §1.4), not by Remote Config. https://firebase.google.com/support/privacy
3.6 Advertising Attribution
- Meta (Facebook) SDK (Meta Platforms, Inc.) – advertising attribution. Receives your Advertising ID, your IP address, and app events (installs, app launches, paywall views, checkout, trial and subscription events with the plan and currency) to attribute installs to advertising campaigns. The App does not change the SDK’s default settings, so the SDK may also log some events automatically and send Meta technical reports about its own errors. Meta uses this data under its own privacy policy. https://www.facebook.com/about/privacy/
3.7 AI Photo Authentication
- OpenAI (OpenAI, L.L.C.) – receives the photos you send for a check together with the category, brand, and model, and returns the AI authenticity analysis. The request goes through our server (hosted by Vercel Inc.), which forwards it to OpenAI and passes the answer back. Our server does not keep copies of your requests or photos; if OpenAI returns an error, the server log keeps OpenAI’s full error response, which could include parts of the request if OpenAI repeats them there. Under OpenAI’s standard API data policy, data sent through the API is not used to train OpenAI models, and OpenAI may keep it for up to 30 days to monitor abuse; OpenAI’s own exceptions apply, such as longer retention required by law or for reviewing certain prohibited content. https://openai.com/privacy/
3.8 Free Check Service
- Cloudflare (Cloudflare, Inc.) – hosts our free-check service (see §1.7) and its database. The database is stored in Cloudflare’s EU jurisdiction. Cloudflare processes this data on our behalf and only to run the service. Our service logs record the request type, result, response time, country, and app version – not the device hash or your IP address. Cloudflare may also relay analysis requests, including your photos, to our AI service when a direct connection is unavailable. It passes them through and does not store them; the relay logs only the request type, result, error type, response time, country, data center, and app version. https://www.cloudflare.com/privacypolicy/
3.9 App Integrity Verification
- Google Play Integrity API (Google LLC) – the App prepares the Play Integrity service when it starts, and when you send photos for analysis it asks Google Play for an integrity token and attaches it to the request (if Google Play cannot provide one, the request goes without it). Our server can ask Google to decode the token to confirm that the request comes from the genuine App installed from Google Play on a genuine Android device. Google Play processes app and device information to produce this result. We do not store the token; our server log keeps only a short summary of the result (for example, whether the device passed the check). https://policies.google.com/privacy
3.10 What We Do Not Share
We do not share user data with data brokers, ad networks (beyond Meta SDK as described above), marketing list providers, or any other third party not listed in this section.
3.11 Sharing a Result
When you tap “Share” on a result, the App creates a PDF certificate (with the verdict, category, model, confidence, checklist, AI notes, check number, date, and up to five photos of the check) or a picture, and opens the standard Android share sheet. The file goes only to the app or person you choose. Our analytics records which app you picked (its package name), the verdict, confidence, category, and format of what you shared, whether it worked, how long it took, and the file size – not the file itself. The App keeps the file in its temporary storage and deletes files older than about an hour the next time you share; Android may also clear this storage on its own.
4. App Permissions
4.1 Camera and Photos
- Photos – the App uses the Android photo picker. You choose the photos; the App sees only those, and on Android 13 and later it does not ask for access to your photo library. On older Android versions the App uses the system file chooser and does not ask for storage permission. We do not scan your photo library in the background.
- Camera – the App asks for camera permission only when you choose to take a photo in the App. Photos taken with the App’s camera stay inside the App and are not saved to your gallery.
You may revoke these permissions at any time in Android Settings → Apps → LegitCheck AI → Permissions.
4.2 Internet Access
Required for AI analysis, subscription management, and analytics.
4.3 Notifications
The App does not ask for notification permission and does not send push notifications.
4.4 Network State
The App reads your network connection state to provide offline feedback if the AI service is unreachable.
4.5 Phone State
The App does not request READ_PHONE_STATE. The SIM and network country codes mentioned in §1.4 are available to the App without that permission on modern Android versions.
4.6 Advertising Interfaces (Privacy Sandbox)
The Google Analytics for Firebase SDK and the Meta (Facebook) SDK included in the App declare access to the Android Privacy Sandbox interfaces (attribution reporting, advertising ID, topics, and custom audiences). We do not show ads in the App. You can manage these interfaces and the Advertising ID in Android Settings (Security & privacy → Privacy → Ads, the exact path depends on your device).
5. Data Security
5.1 Encryption
- All network communication is over HTTPS.
- Cleartext (non-HTTPS) traffic is disabled at the operating system level.
- The release build is obfuscated using R8.
- The App’s installation ID and the cached CloudPayments subscription state are stored in EncryptedSharedPreferences (AES-256). If encrypted storage cannot be opened on your device, the App falls back to its regular private storage, which is not additionally encrypted.
- Your history and collection are kept in the App’s private storage, which other apps cannot read.
5.2 Backup
We disable Android’s automatic cloud backup of the App’s data to prevent accidental disclosure of cached identifiers.
If you move to a new phone using Android’s device-to-device transfer (Android 12 and later), the text of your check history, your collection cards (status, prices, currency, notes), App settings, and technical identifiers (for example, the analytics ID and the App’s installation ID) may be copied to the new device. Photos, your permission to send photos to OpenAI, the free-check status, and subscription SDK data are not copied.
5.3 Storage
- Photos you send for analysis are sent to OpenAI for processing through our server. They are not stored on our servers.
- On your device, working copies of the photos of a check are deleted the next time you open the App once they are older than 24 hours; photos saved with a history record stay until the record is deleted or pushed out of the history (see §1.8).
- Subscription state is mirrored locally for offline access; the authoritative source remains our subscription backend (for RU users) or Adapty (for others).
- Firebase Crashlytics keeps crash reports for 90 days and then starts removing them from its systems.
- The free-check record (see §1.7) is stored by our free-check service and deleted automatically after 365 days without changes.
6. Your Rights
You have the right to:
- Request information about what personal data we have collected about you.
- Delete data on your device yourself: delete checks in the History (one by one, several at a time, or all at once), and remove items from your collection. Deleting a check also deletes its photos (sometimes a little later, if a file is busy); records the App cannot read are not shown in the History and cannot be deleted there, and clearing the App’s data in Android Settings removes everything; if the item is also in your collection, its collection photo stays until you remove the item there.
- Turn off sending photos to OpenAI in the App menu (“Send to OpenAI”). Requests already sent are not affected, and the App cannot run new checks while it is off.
- Request deletion of your data – see §6.3.
- Revoke permissions in your Android device Settings at any time.
- Cancel your subscription:
- Non-Russian users (Adapty/Google Play): Google Play app → Menu → Subscriptions → LegitCheck AI → Cancel.
- Russian users (CloudPayments): visit https://my.cloudpayments.ru and cancel from your subscription list, or contact us at quicklysearch.bot@gmail.com.
- Uninstall the App – local data, including your history and collection, is removed automatically.
- Withdraw consent to data processing – write to us at quicklysearch.bot@gmail.com; note that withdrawing consent may prevent the App from functioning.
6.1 Russian Users (152-FZ “On Personal Data”)
If you are a resident of the Russian Federation, your personal data is processed in accordance with Federal Law No. 152-FZ “On Personal Data”. Some of our third-party processors (Mixpanel, Firebase, Adapty, OpenAI, Cloudflare, Google Play, Meta, and Vercel, which hosts our server) operate servers outside the Russian Federation; by using the App, you consent to the cross-border transfer of your data to these providers solely for the purposes described in this Privacy Policy.
6.2 EU/UK Users (GDPR)
If you are in the European Union or the United Kingdom, the lawful bases for processing your data are: (a) performance of contract (subscription processing); (b) legitimate interests (App improvement, fraud prevention); (c) consent (sending photos to OpenAI). Please note that the analytics and advertising attribution SDKs described in §3 start when the App launches; the App currently has no separate consent screen or switch for them. You can object by writing to us, reset or delete your Advertising ID in Android Settings, or uninstall the App.
6.3 Requesting Deletion of Your Data
The App has no accounts, so we need something that lets us find your records. Email us at quicklysearch.bot@gmail.com and include one of the following:
- if you paid through CloudPayments – the email address you used for the payment (write from it if you can);
- if you paid through Google Play – the order number from your Google Play receipt (it starts with “GPA.”).
Within 30 days of receiving such a request, we will review it, delete the data we can find, and reply with what was deleted, what was kept, and why. This covers:
- your profile and events in Mixpanel that are linked to your analytics user ID;
- your profile in Adapty;
- your records on our payment backend (email address, installation ID, payment sessions, subscription, trial, cancellation and consent records, saved payment notifications, stored server responses, the fraud-prevention hashes) and the server log lines we can find by your installation or transaction ID. Payment records that must be kept under Russian law (tax and accounting law and Federal Law No. 54-FZ on cash registers) are kept for the period the law requires. Fiscal receipts are also kept by CloudPayments and the fiscal data operator under the same law.
Some data usually cannot be found or deleted from such a request:
- the free-check record (§1.7) – it is not linked to your email, order number, or analytics ID; it is deleted automatically after 365 days without changes;
- Firebase Analytics and Crashlytics data – Google’s per-user deletion tools need Firebase identifiers that the App does not pass to us (the App does not record the Firebase app instance ID and sets no Crashlytics user ID). Some events and crash reports contain a session or payment transaction ID, but this does not let us delete them, so this data is deleted under the retention periods of these Google services;
- data that OpenAI keeps for abuse monitoring (§3.7) – it is deleted by OpenAI within its retention period.
Data held by Google Play, Meta, and CloudPayments as independent services is governed by their own privacy policies. You can reset or delete your Advertising ID in Android Settings. If you have never paid, we usually cannot find your analytics data from an email alone, because the App does not show its installation ID yet; you can always remove all data on your device yourself (see above). Data in backup copies is deleted when those copies are deleted.
7. Children and Privacy
The App is intended for adults aged 18 and over and is not directed at children. We do not knowingly collect personal data from children. If we become aware that such data has been collected, we will delete it promptly. If you are a parent or guardian and believe your child has used the App, please contact us.
8. Changes to This Policy
We may update this Privacy Policy from time to time to reflect changes in our practices or in legal requirements. Updated versions will be published at this URL with a new effective date. Please review this page from time to time. Continued use of the App after an update constitutes acceptance of the revised Privacy Policy.
9. Disclaimer of Warranties
The App:
- Is provided for informational purposes to help inform your purchasing decisions.
- Does not guarantee 100% accuracy in authenticity verification results.
- Does not provide professional authentication, appraisal, or legal certification services.
- Offers AI-generated analysis that may not always be accurate or definitive.
For high-value items, we recommend consulting a professional authenticator in addition to using the App.
10. Contact Us
If you have any questions about this Privacy Policy or our data practices, please contact us at:
Email: quicklysearch.bot@gmail.com
This Privacy Policy is effective as of October 21, 2026.