Privacy Policy
Tarot Diary ("the App") treats your personal information with care and processes only the minimum data needed for each feature.
Overview
Diaries and saved readings are kept on your device by default. When you use optional features — login, Stardust, payments, support inquiries, or reading generation — the data required for that feature is processed on our servers. This policy explains what is processed and how it is retained or deleted.
1. Information we collect or process
Account information
Login provider (Google · Apple · Kakao), provider user id, basic profile such as email or name passed by the provider, a customer UID, and a payment-only UID.
Age verification
Whether you confirmed being 14 or older, and the time of confirmation.
Local records
Diary title, body, and date; cards, upright/reversed orientation, card pack, mood, emotion tags, and saved readings. This information is stored on your device by default.
Reading requests
Your question and selected cards are processed to generate a reading. The original question text is not stored in the database retry cache. Generated reading and card data plus minimal request information may be kept for up to 24 hours in a service-role-only cache to recover from an on-device save failure and prevent duplicate charges, then deleted by the next successful scheduled cleanup after expiry. Request status, Stardust used, and body-free cost metadata may be retained separately for operations and billing. A reading you save is stored on your device by default.
Payments & Stardust
Product ID, transaction ID, purchase/refund events, Stardust balance, ledger, idempotency keys, and payment status.
Card packs
Unlock status, download status, card pack ID, and download verification metadata.
Customer support
Inquiry title and content, replies, attached images and their metadata, customer UID, app version, and device info. Photo library permission is used only to pick attachment images for support.
Notification information
Push tokens, delivery information, and in-app read status used to send notifications such as support replies.
Usage analytics
Predefined events such as app opens, completion of key features, a user-selected acquisition source, product or card-pack IDs, plus app installation identifiers, limited device information, and the Android advertising identifier may be collected automatically or when a feature is used through Firebase Analytics. Free-text content such as diary text, original questions, generated readings, and email addresses is not included in analytics events.
Crash & diagnostic information
Stack traces for crashes, abnormal exits, and ANRs; relevant app state; error time; app version; diagnostic details such as OS, device model, and memory; and a Crashlytics installation identifier may be collected automatically through Firebase Crashlytics.
Operational & security logs
Errors, request IDs, status codes, cost and usage metadata, idempotency keys, and limited logs needed to prevent abuse and fraud.
Website visit analytics
This website uses Histats, which may process visited pages, visit time, referring page, browser and device information, and cookie-based or pseudonymized visit identifiers. This information is used to understand website usage and stability.
2. Why we process it
- Login and user identification
- Granting, deducting, and refunding Stardust, and preventing misuse
- Delivering tarot reading results
- Unlocking and delivering premium card packs
- Handling and answering support inquiries
- Sending push notifications
- Analyzing app and website usage and improving features
- Service stability, security, and crash/error handling
- Meeting legal obligations and handling disputes
3. Third parties & processors
The App works with the following providers to process certain information, each only within its stated purpose.
| Provider | Purpose | Data |
|---|---|---|
| Supabase | Auth, profile, Stardust ledger, reading requests and short-term cache, support, server functions | Account IDs, customer and payment UIDs, ledger, reading requests and short-term cache, inquiry data |
| Google Firebase | App usage analytics and crash/error diagnostics | App usage events, app/device/advertising identifiers, crash and diagnostic information |
| Apple | Apple login, App Store payments/refunds | Login ID, payment/refund info |
| Google login, Google Play payments/refunds | Login ID, payment/refund info | |
| Kakao | Kakao login | Login ID |
| RevenueCat | Relaying in-app purchase events | Payment UID, product ID, transaction/refund events |
| File storage (e.g. Cloudflare R2) | Card pack & support attachment handling | Card pack files, attachment images & metadata |
| OpenAI | Generating reading results | Question, selected cards, orientation, count, and other data needed to process the request |
| Expo Push Service | Sending push notifications such as support replies | Push token and notification delivery information |
| Tarot Diary support operations system | Handling inquiries and managing support history | Customer UID, inquiries and replies, public attachment metadata |
| Histats | Website visit statistics | Visited page, time and referrer, browser/device information, cookie-based or pseudonymized visit identifiers |
4. Retention & deletion
- Local records are removed when you delete them in the app or uninstall the app.
- The short-term recovery cache for readings may be retained for up to 24 hours; original question text is not stored in that cache. Expired cache entries are physically deleted by the next successful scheduled cleanup.
- On account deletion, authentication is soft-deleted, while display name and age confirmation, push tokens, short-term reading cache, support inquiries/messages/attachment metadata in the app database, and notification read status are deleted. Original support attachments are queued for deletion from external file storage and retried if an immediate attempt fails.
- Payment/refund/Stardust ledgers and related account identifiers, body-free AI cost records, and security, abuse-prevention, and audit records may be retained only for the period needed for legal obligations, accounting, refunds/disputes, and fraud prevention.
- Automatic deletion may not immediately propagate to inquiry copies already sent to the support operations system. You may use the contact below to request deletion or anonymization of those copies.
- Information managed by external services such as Firebase and Histats may be retained according to each service's policy and operating configuration.
- Local records that are not stored on our servers cannot be deleted remotely by us.
You can request account and data deletion via Settings › Login info/Account › Delete account in the app, or through the Account & Data Deletion page on the web.
5. Age requirement
Server-protected features are available after confirming you are 14 or older. The App verifies this through an age-confirmation step.
6. Your rights
You may request access, correction, deletion, or restriction of processing of your information. Submit requests through in-app support or the email below; after identity verification we will respond within the period required by applicable law.
7. Changes to this policy
If this policy changes, we will notify you in the app or on this page. Material changes will be announced before they take effect.
Contact
For privacy questions, contact support@hkun.dev or use in-app support.