Policy
Privacy Policy
This Privacy Policy applies to Lunaroha-operated services including Tarot Flow, Today Quant Pick, and related support or operations pages. Because each service processes different information, the tables and service-specific sections below distinguish what is used and why.
Tarot Flow is an account-free service. We distinguish between the person who actually uses the app ("App User"), the person whose birth date, sex, and birthplace are entered ("Profile Subject"), and the analysis record stored inside the app ("Saved Profile"). A Profile Subject's birth date, birth time, sex, and birthplace are required inputs for Four Pillars calculations, and are sent to our API when the App User requests analysis, fortune, compatibility, or custom questions.
Today Quant Pick is an account-free quantitative-data explanation service. The app uses an anonymous device identifier to connect point balances, content unlocks, purchases, rewarded ads, and optional email recovery. Today Quant Pick does not require birth date, birth time, birthplace, or current location, and does not provide personalized financial advice, buy/sell instructions, target prices, or guaranteed returns.
Covered services
| Service | Main features | Main identifier | Notes |
|---|---|---|---|
| Tarot Flow | Four Pillars, fortune, compatibility, custom questions, face and palm reading (photo-based readings), Flow Credit, ad rewards | Anonymous app ID, Saved Profiles, optional recovery email | Processes birth information and birthplace search data as needed to provide the service. When face or palm reading is used, processes the photos taken by the user |
| Today Quant Pick | Discovery cards based on Korean stock quantitative indicators, stock explanations, points, rewarded ads | Anonymous app ID, point ledger records, optional recovery email | Does not use birth data and does not request the device location permission (the ads SDKs may process approximate location derived from the IP address and other network information); provides quantitative-data explanations for reference only |
| Lunaroha support and operations pages | Inquiry intake, error reports, partnership and privacy requests | Contact details and inquiry content provided by the user | Processed only as needed to respond to support and legal requests |
Information processed and applicable standards
The table below summarizes our principal collection and processing items. The cited statutes and platform policies indicate the standards we have reviewed; they are not a blanket claim of full compliance across every country and situation.
| Item | Purpose | Required / Optional | Retention | Third-party / cross-border transfer | Deletion / withdrawal | Applicable standards |
|---|---|---|---|---|---|---|
| App User age band and country | Block child app users, enforce teen-restricted mode, control ads / payments / AI / location features | Required before any personal-data processing | Linked to the anonymous device identifier, retaining the policy version and confirmation timestamp | Server-side processing. Only the restriction state is reflected to ads / billing SDKs | Reinstall the app, submit a data deletion request, or change age settings | PIPA Article 22-2 (Korea), COPPA, GDPR / UK GDPR Article 8, Google Play Families / User Data |
| Profile Subject birth information | Four Pillars calculation, fortune, compatibility, Saved Profiles | Required when an analysis is requested | Only Saved Profiles created by tapping "Save" are stored on the server | For external custom questions, only the minimum context is used, and only for adult App Users within the allowed scope. When AI interpretations such as fortune and Four Pillars readings, custom questions, and face reading are generated, age band, sex, country, and similar details together with Four Pillars calculation results may be sent to OpenAI (United States) for processing | Delete the profile inside the app or submit a data deletion request | PIPA, COPPA, GDPR / UK GDPR, Google Play User Data |
| Consent verification for minor Profile Subjects | Confirm the right to enter information for other minors such as family members or grandchildren | Required when saving or analyzing a minor Profile Subject | Only the consent version, confirmation timestamp, anonymous ID, and hashed IP / User-Agent are retained | Not used for external advertising, personalization packages, or public share-card birth details | Delete the Saved Profile or submit a data deletion request | PIPA Article 22-2, COPPA, GDPR / UK GDPR Article 8, Google Play Families |
| Current location | Search for nearby birthplace candidates around the current location | Optional | Used once when the "Use current location" button is tapped; the Saved Profile stores only the selected birthplace and time zone | Uses the device location permission and Android Location API. Only the region name / country needed to verify search candidates is sent to the server. If the server has no matching candidate, the server may look up that region name / country text with external geocoding services (Open-Meteo, OpenStreetMap Nominatim); this lookup uses the text only, not device coordinates | Deny the permission, revoke it in Android settings, or delete the Saved Profile | Location Information Act (Korea), PIPA, Google Play User Data / Permissions |
| Anonymous ID, request / error logs | Service reliability, abuse prevention, request tracing | Required | Retained for the limited period required for operations and security, then deleted or anonymized | Server, hosting, and security log processing | Upon a data deletion request, removed except for what is required for legal or security retention | PIPA, CCPA / CPRA, Google Play User Data |
| Today Quant Pick anonymous ID and app activity | Connect point balances, card unlock state, stock explanation access, duplicate request prevention, and error support | Required | Retained for service delivery, security, and dispute handling, then deleted or anonymized | Processed by the Today Quant API server. When the ads SDK is initialized, the anonymous app ID is passed to Unity LevelPlay as its user ID, and the ads SDKs may send it to Unity together with the Android advertising ID (AAID) for ad delivery, measurement, and fraud prevention. Not sold externally and not shared with Tarot Flow's Flow Credit | Upon a data deletion request, removed except for what is required for legal or security retention | PIPA, CCPA / CPRA, Google Play User Data |
| Today Quant Pick points, purchase records, and purchase token hashes | Google Play purchase confirmation, point grants and spends, refund/dispute handling, duplicate grant prevention | Required for purchases or point use | Retained for the period required for transactions, settlement, and security | Google Play Billing and Today Quant API server processing. Purchase tokens may be stored as hashes on the server. Depending on Unity's configuration, the Unity Ads SDK may receive in-app purchase event information and send it to Unity for ad measurement | Deleted upon request except for legal, settlement, or dispute retention | Google Play Payments, PIPA, CCPA / CPRA |
| Today Quant Pick rewarded-ad sessions | Verify user-initiated rewarded ads, grant points or content access, prevent duplicate rewards | Optional | Retained for reward verification, abuse prevention, and dispute handling | Unity LevelPlay / Unity Ads SDKs and Today Quant API reward verification | You may choose not to watch rewarded ads or request deletion of reward records; this does not stop the SDK data processing described below. | Google Play Ads / User Data, PIPA, GDPR / UK GDPR, CCPA / CPRA |
| Today Quant Pick recovery email | Restore points and purchase entitlements after device change or reinstall, customer support, security notices | Optional | Retained while recovery remains enabled; deletion removes the recovery method | An email-delivery infrastructure may be used | Request deletion in the app or by email support | PIPA, GDPR / UK GDPR, CCPA / CPRA |
| Tarot Flow ad events | Ad delivery, server-side verification of rewarded ads, passing age (child-protection) and non-personalized-ad signals to the ads SDK; earlier versions may also have included advertising consent management through Google UMP | SDK initialization happens automatically when the app starts and banners may be requested automatically; watching rewarded ads is optional. | Retained for the period needed by the ads SDK and the server-side reward verification log | Current version: Unity LevelPlay / Unity Ads SDKs and LevelPlay's signed server-to-server (S2S) reward callbacks. Earlier versions: Google Mobile Ads (Google AdMob), Google User Messaging Platform (UMP), Google rewarded-ad SSV callbacks, or AppLovin MAX (including the Google AdMob adapter), among others | You may choose not to watch rewarded ads or reset or delete the Android advertising ID, and you may request data deletion via support or as described in Unity's privacy policy. The current version has no in-app setting to disable the ads SDK's data collection. | Google Play Ads / User Data / Families, COPPA, GDPR / UK GDPR, CCPA / CPRA |
| Today Quant Pick ad events | Ad delivery, rewarded-ad verification | SDK initialization and banner requests are automatic; watching rewarded ads is optional. | Retained for the period needed by the ads SDK and the server-side reward verification log | Unity LevelPlay / Unity Ads SDKs and Today Quant API reward verification | Request data deletion via support or Unity's privacy policy; the app has no switch to disable SDK data collection. | Google Play Ads / User Data, GDPR / UK GDPR, CCPA / CPRA |
| Today Quant Pick installed-app information (selected app stores) | Advertising, fraud prevention and security | Required; no in-app collection opt-out | Not limited to temporary in-memory processing; Unity's privacy policy describes its retention practices. | Unity Ads can check whether selected known app stores are installed, including other app-store packages the Unity server adds through SDK configuration, and send the results to Unity during SDK initialization and ad requests. Signals from the ads SDK's device-environment check may also be sent to Unity. | Request deletion through Unity's privacy policy or contact support; the app has no collection opt-out. | Google Play Data safety / User Data |
| Purchase tokens, Flow Credit | Google Play purchase verification, credit balance / entitlement management, refund and dispute response | Required at purchase | Retained for the period required for transactions, security, and settlement | Google Play Billing and server-side verification. Depending on Unity's configuration, the Unity Ads SDK in the current version of Tarot Flow may receive in-app purchase event information and send it to Unity for ad measurement | Upon an account deletion request, removed except for what is required for legal, settlement, or dispute retention | Google Play Payments, PIPA, CCPA / CPRA |
| Recovery email | Restore Flow Credit after device change or reinstall, security notifications | Optional | Stored encrypted with an HMAC value used for lookup; deletion removes the recovery method | An email-delivery infrastructure may be used | Remove the recovery email in the app or submit a data deletion request | PIPA, GDPR / UK GDPR, CCPA / CPRA |
| Inquiry content | Error reports, partnership and privacy enquiries | Optional | Retained for the period needed to handle and audit the inquiry | Operator review. For inquiries submitted through Tarot Flow, the inquiry text may be sent to OpenAI (United States) for processing to classify the inquiry and draft a reply; only whether contact details were entered is passed along, not the contact details themselves | Request deletion of the inquiry | PIPA, CCPA / CPRA |
| custom question | Generate answers to custom questions, deliver deferred responses, manage quality and safety | Optional, adult App Users only | Question, response, and request status retained for the period needed to provide the service | The minimum required context may be sent to the configured AI provider, such as OpenAI (United States) | Submit a data deletion request | PIPA, GDPR / UK GDPR, CCPA / CPRA, EU AI Act, Google Play User Data |
| Tarot Flow face and palm reading photos | Generate the face or palm reading the user requested. Photos are sent to the server only when the user takes a photo in that feature and submits a request | Optional | Face photos are used only while the request is processed and are handled without being stored in the server's reading records or image store. The app may keep face photos in its internal storage on the device. Original palm photos are stored on the server to display results and reprocess requests, and are deleted automatically by a periodic cleanup job once the retention period (24 hours by default, up to 30 days depending on operational settings) has passed. The same rule applies when a photo does not meet the quality threshold and no reading is generated. Palm reading results and features extracted from the photos may be retained for the period needed to provide the service. | Photos may be sent to OpenAI (United States) for processing to generate the reading; for palm reading, this may be an image cropped to the palm area. Depending on the reading method, features extracted from the photos and interpretation context such as Four Pillars calculation results may be sent together with the photo or without it. This transfer is processing entrusted to OpenAI on our behalf to generate the reading, and requests are sent with OpenAI's response storage option (store) turned off. Processing and retention on OpenAI's side follow OpenAI's policies (see "Processing entrustment and cross-border transfers" below). | You can decline to provide photos by not using the face and palm reading features. Palm photos are deleted automatically after the retention period. The face photo kept on the device is replaced when a new face reading is generated for the same profile, and is removed when the app's data is cleared or the app is uninstalled. You may also submit a data deletion request. | PIPA (entrustment and cross-border transfer), GDPR / UK GDPR, Google Play User Data / Permissions (camera) |
Minors and profiles of other people
Tarot Flow is not directed at children. App Users below 14 in Korea, below 13 in the United States, and below 16 in regions such as the EU and UK where age verification is required are blocked from the service before any personal data is collected. However, the ads SDK in the current version of Tarot Flow may be initialized when the app starts, before the age check, and device information such as device identifiers may then be sent to Unity. In the current version, a child-protection signal is set on the ads SDK until the App User is confirmed as an adult. App Users under 18 cannot use payments, Flow Credit purchases, rewarded ads, external custom questions, current-location lookup, or adult relationship / marriage / investment / career judgement features.
Adult App Users may create Saved Profiles for other people such as family members, grandchildren, or acquaintances. However, if the Profile Subject is calculated as a minor, you must confirm that you have the authority to enter that information or have obtained consent from a legal guardian before saving or analyzing.
Whether information is stored
Analysis, fortune, compatibility, and custom-question requests are processed to compute results. Some interpretations may be generated by AI (generative artificial intelligence) and may contain inaccuracies. Tarot Flow's face and palm reading generate readings from photos taken by the user, and those photos are retained as described in the "Tarot Flow face and palm reading photos" row of the table above. A Saved Profile is created only when the user taps "Save" inside the app; inputs that are not saved do not become a Saved Profile automatically.
Data deletion requests
Tarot Flow and Today Quant Pick users can use in-app deletion or recovery-management features, or request data deletion from the Lunaroha operator.
- For Tarot Flow, tap the Saved Profile in the app's Profile tab to delete it.
- For Today Quant Pick, use the points / recovery screen or the support channel to request deletion of the anonymous ID, recovery email, or inquiry records.
- To request deletion from outside the app, send an email titled "Lunaroha data deletion request" to [email protected]. If automated review tools hide the address, you may use the form support [at] lunaroha.com.
- In the email, please include only the minimum information needed to identify the target for deletion: service name, the device used in the app, Saved Profile name or anonymous ID, and enough detail to identify your inquiry. We will not ask for sensitive credentials such as account passwords or resident-registration numbers.
You can delete a Saved Profile from the Profile tab in the app. Deletion removes the saved chart and profile name associated with that anonymous device identifier from the profile list. Inquiry content submitted through the contact form, including any optional contact channel you provided, is also eligible for deletion requests.
Server operations logs, advertising and reward event logs, and abuse-prevention records may be retained additionally to the extent required for security, legal obligations, and quality management. Once that purpose is fulfilled, they are deleted or anonymized in accordance with our operational policy.
Birthplace and location permission
Birthplace search resolves a time zone from the city or region name entered by the user together with the selected country. The device location permission is requested only once, and only when the user taps "Use current location" in the Android app, in order to find nearby birthplace candidates. Current-location lookup is offered only after the App User is confirmed to be 18 or older, and the Saved Profile retains only the selected birthplace and time zone. If the Tarot Flow server's reference data has no matching result, the search text entered (or the birth city / country of a Saved Profile), the selected country, and the display language may be sent from the server to Open-Meteo and then to OpenStreetMap Nominatim to look up coordinates and a time zone. This lookup is performed by the server, not the app, using the search text. Search text may be logged on the server to monitor service quality.
Advertising and consent
- Tarot Flow uses Unity LevelPlay with Unity Ads for banners and rewarded ads from version 0.1.243. Earlier versions used Google Mobile Ads (Google AdMob) and Google User Messaging Platform (UMP), or AppLovin MAX, among others, and those SDKs may keep running in an earlier version that remains installed on a device. Today Quant Pick uses Unity LevelPlay with Unity Ads for banners and rewarded ads.
- Today Quant Pick initializes the advertising SDK automatically after fetching the public app policy. Unity Ads can check for selected known app stores (Google Play / Google Market, Amazon, Samsung, Xiaomi, Huawei, Oppo, Vivo, and other app-store packages that the Unity server adds through SDK configuration) and send this installed-app information to Unity for advertising. For ad-fraud prevention, the ads SDKs may also examine the device environment; this can include information about apps installed on the device, and the resulting signals may be sent to Unity. Today Quant Pick does not request the device location permission, but the ads SDKs (Unity LevelPlay / Unity Ads) may process approximate location derived from the IP address and other network information for ad delivery, measurement, and fraud prevention. Choosing not to watch rewarded ads does not disable SDK initialization, banner requests, or this data collection. The app has no collection opt-out. Unity Game Player and App User Privacy Policy.
- Rewarded ads are selected each time by the user. If you do not complete the ad, the selected premium result will not unlock.
- Instead of showing an ad consent form, the current version of Tarot Flow sets a no-GDPR-consent signal and a US state privacy law opt-out-of-sale/sharing signal on the ads SDK, and also sets a child-protection signal until the App User is confirmed as an adult, so that it requests non-personalized (contextual) ads. How the ads SDK actually handles these signals is governed by Unity's policies. Some versions up to 0.1.244 may have shown a Google UMP consent form; in those versions, when UMP requires an entry point, you can reopen Google's form from Profile > Privacy & data.
- In the current version of Tarot Flow, the Unity LevelPlay and Unity Ads SDKs may automatically collect IP address, approximate location derived from the IP address and other network information, device identifiers such as the advertising ID, device information, ad interactions, and diagnostic information and send them to Unity for ad delivery, measurement, and fraud prevention. In earlier versions of Tarot Flow, depending on consent, age protection, device settings, and Google's eligibility rules, Google may serve personalized, non-personalized, or limited ads. Google Mobile Ads may automatically collect or share IP address, ad interactions, diagnostic information, and device or account identifiers for advertising, analytics, and fraud prevention.
- The current version of Tarot Flow initializes the advertising SDK automatically when the app starts. Unity Ads can check for selected known app stores (Google Play / Google Market, Amazon, Samsung, Xiaomi, Huawei, Oppo, Vivo, and other app-store packages that the Unity server adds through SDK configuration) and send this installed-app information to Unity for advertising. For ad-fraud prevention, the ads SDKs may also examine the device environment; this can include information about apps installed on the device, and the resulting signals may be sent to Unity. Choosing not to watch rewarded ads does not disable SDK initialization, banner requests, or this data collection, and the current version has no in-app collection opt-out. Unity Game Player and App User Privacy Policy.
Google Play Data safety
In the Google Play Data safety section we declare data according to each service's actual SDK, permission, and server processing. Tarot Flow declares other personal information such as date of birth and sex, birthplace and time zone entered by the user, optional device location permission, face and palm reading photos (optional), birthplace search history (shared with external geocoding services), optional recovery email, inquiry content, anonymous device identifier, app interactions, ad events, diagnostic logs, and Google Play purchase verification information. Today Quant Pick declares anonymous device identifiers, optional recovery email, point / purchase / unlock records, rewarded-ad sessions, Advertising ID and ad events, approximate location, diagnostic logs, and Google Play purchase verification information. The apps do not currently collect calendar information.
Today Quant Pick also declares installed-app information about selected app stores as collected and shared for advertising and fraud prevention, required, and not processed only ephemerally.
The information that the current version of Tarot Flow may process also includes device identifiers such as the Advertising ID, installed-app information such as whether selected app stores are installed, and purchase information that may be shared with the ads SDK.
Processing entrustment and cross-border transfers (Tarot Flow)
To provide the features below, Tarot Flow may entrust part of its personal-data processing to providers outside Korea or send data to services outside Korea. Transfers take place over encrypted connections (HTTPS) when the user uses the relevant feature. You can refuse a transfer by not using that feature; in that case the feature is not available.
- OpenAI OpCo, LLC (United States; contact: [email protected]; the processing region may vary depending on OpenAI settings) — entrusted processing. Items: face and palm reading photos; age band, sex, country, and similar details and Four Pillars calculation results used for AI interpretations; custom-question content; the text of inquiries submitted through Tarot Flow; and the text and star rating of Google Play reviews of Tarot Flow. Purpose: generating face, palm, fortune, and custom-question readings; classifying inquiries and drafting replies; classifying Google Play reviews and writing replies to them. Retention: face and palm reading requests are sent with OpenAI's response storage option (store) turned off, and retention on OpenAI's side follows OpenAI's published policies (for example, abuse-monitoring logs for up to 30 days).
- OpenMeteo GmbH (Switzerland, Open-Meteo geocoding) and the OpenStreetMap Foundation (United Kingdom, Nominatim) — external service lookups. Items: birthplace search text, the selected country, and the display language. Purpose: looking up birthplace coordinates and time zones. When: the server performs the lookup when its reference data has no matching result. Retention: follows each provider's policies.
Security and retention
App traffic in the production environment uses an HTTPS API. Our reference configuration keeps public router forwarding closed and routes external access through Cloudflare Tunnel. Personal-data requests are accepted via the developer contact registered with Google Play or the inquiry channel shown in the service. Inquiries and error reports go to [email protected]; partnership proposals go to [email protected].
Privacy officer
Lunaroha designates the department and contact below to oversee personal-data processing and to handle inquiries and complaints from data subjects.
- Department: Privacy Team
- Contact: [email protected]
Flow Credit, rewarded ads, and recovery
Flow Credit is an in-app credit used only to unlock detailed readings and custom deep readings inside Tarot Flow. Some interpretations may be generated by AI (generative artificial intelligence) and may contain inaccuracies. It cannot be refunded for cash, transferred to another user, exchanged for external goods, or used as an investment, coin, or random draw asset.
- Flow Credit balances, ledger entries, content unlocks, rewarded-ad sessions and admin adjustments are stored on the server under an anonymous app ID.
- Unknown app-user age blocks personal-data flows and sensitive features, except that the ads SDK in the current version may initialize before the age check and send device information to Unity (see Minors and profiles of other people). Under-13 app users are blocked. App users aged 13-17 can create saved profiles and view the basic daily preview only; Flow Credit detailed unlocks, paid products, rewarded ads, external AI, current location, and adult relationship interpretations are blocked.
- Adult app users must reconfirm once before using paid / ads, external AI, or adult relationship feature groups. The audit record stores only anonymous ID, feature group, policy version, confirmation time, and IP / User-Agent hashes.
- Rewarded ads are optional. The server issues a single-use identifier for each reward session, and the app passes it to Unity LevelPlay just before showing the ad. The server verifies the signature of the signed server-to-server (S2S) callback sent by LevelPlay, uses the event ID to prevent duplicate grants, and then grants Flow Credit. Earlier versions used Google AdMob's signed server-side verification (SSV) callbacks for rewarded ads or AppLovin MAX reward callbacks.
- Users can create an account recovery code and enter it after reinstalling the app or changing phones to reconnect the same server anonymous ID, credits, unlocks, and purchase entitlement records.
- Recovery codes are stored as hashes on the server. Keep the visible code private, because anyone with the code can restore the associated anonymous ID.
- Users may optionally register a verified recovery email for Flow Credit protection. The email is encrypted for storage, searched by a server-side HMAC value, and used only for credit recovery, security notices, customer support, duplicate recovery prevention, and abuse prevention.
- Deleting a recovery email removes only that recovery method. Account and data deletion can be requested inside the app or at /account-deletion. Purchase ledgers and security audit records may be retained where needed for refunds, fraud prevention, disputes, or legal obligations.
Today Quant Pick points, ads, stock explanations, and recovery
Today Quant Pick points are in-app points used only to unlock today cards and stock explanations inside Today Quant Pick. They cannot be refunded for cash, transferred to another user, exchanged for external goods, or used as an investment, coin, or random draw asset.
- Today Quant Pick point balances, point ledger records, content unlocks, purchase records, rewarded-ad sessions, and operator adjustments are stored on the server under a Today Quant-specific anonymous app ID.
- Today Quant points and unlock records are not shared with Tarot Flow's Flow Credit, Four Pillars profiles, or birth information.
- Rewarded ads are selected each time by the user. The Today Quant server issues a single-use identifier for each reward session, and the app passes it to Unity LevelPlay before showing the ad. After the Today Quant API checks the signature of the signed server-to-server (S2S) callback sent by LevelPlay and the matching reward session, it grants the points or content-access reward.
- Google Play purchase tokens may be stored as hashes on the server to prevent duplicate grants and handle disputes. Order IDs and product IDs are retained where needed for refunds, settlement, customer support, and abuse prevention.
- Users may optionally register a verified recovery email for point protection. The email is used only for credit recovery, security notices, customer support, duplicate recovery prevention, and abuse prevention.
- Today Quant Pick stock explanations are quantitative-data explanations for reference only. They do not provide personalized financial advice, buy/sell instructions, target prices, or guaranteed returns.