Routine TOPIK

Privacy Policy

How ALAN handles information for Routine TOPIK and how you can manage your choices.

1. Service and choices

Local Korean vocabulary learning is available without an account. Free includes the fixed first 30 words of each grade with unlimited repeats. Display, language, font, writing and playback settings stay on your device. Native learning surfaces, including widgets, notifications and app blocking, keep their learning and permission settings on your device where available. Optional account, purchase, backup and diagnostics services process the data below only when enabled and used; an unavailable service does not receive that flow. One requested learning backup is kept per application and account. Uploading replaces that backup; restoring replaces local learning records without automatic merging.

The app does not serve advertising or use an advertising SDK.

Where available and enabled by you, iOS Screen Time permission or Android app-usage and overlay permissions support vocabulary before opening selected apps. Selected app tokens or package names stay on the device. Notification permission supports local routine reminders; background audio plays bundled learning audio without microphone recording. Operating-system availability and permissions determine which features can run.

We do not request personalized ads or use IDFA or Android advertising ID for cross-app tracking. Analytics and crash reporting can be turned off in Settings. No advertising consent is needed because the app has no advertising.

2. On-device data

Category Data Purpose Retention
Local learning data and account cachesSelected app topik; EN or JA display and explanations, Content IDs and sync scopes, Viewed status, attempts, correct answers and successful sessions, Review and saved-item status, Current sessions and answers; up to 365 recent completed sessions and lifetime completion totals, Study date, time-zone offset, active learning seconds and daily study, test, review, view and correct-answer counts, Deduplication batch UUIDs and immutable payloads, Course generation, round, day and daily review progress, Fixed free catalog IDs and per-item routine completion rounds, Local compatibility metadata; unused pending commands cleared when opening the account storeSave progress, resume sessions, review mistakes, retain saved items and keep study historyGuest data stays until transferred to an account or the app is deleted. Local account learning records remain after sign-out for later sign-in. Unused pending commands are cleared when opening the store. Account deletion removes local records on the requesting device; other installations retain local copies until removed. Operating-system backups may retain or restore copies under the user's backup settings.
On-device learning and display settingsStudy goals and Korean vocabulary grade, Theme, text size and Korean font, Voice speed, autoplay and reading aids, Recent session size and daily study and review goals for vocabulary, Bundled Korean word/example playback; no microphone recording, Where supported: widget, notification and lock-screen display preferences, hidden-content preference and local permission stateRemember preferences on each deviceGuest settings remain until account transfer or app removal. Account settings remain after sign-out; account deletion clears the requesting installation. Operating-system backups may restore copies.
Analytics and crash-reporting preferenceWhether analytics and crash reporting are enabledRemember your choice between launchesUntil changed or app/device secure storage is reset.
Handwriting practice strokesTouch, mouse or stylus coordinates on the current practice screenRender handwriting practiceUntil the writing is cleared or the screen is closed.
Local sign-in sessionSupabase user UUID, Access and refresh tokens, Session expiry, SecureStore chunk manifest and recovery journalKeep optional account sign-in and refresh authenticationUntil explicit sign-out or account deletion. iOS Keychain data may survive app removal and reinstallation on the same device.
Subscription accessFree/Plus entitlement cache and verification timestamps, Current account identifier, absent for guestsDetermine access to available content and optional paid featuresThe current access cache is replaced by later verified decisions and removed with the app.
Word toll settings and action receiptsSelected app operating-system tokens or Android package names, Shared active hours, Pause-until time and disabled-for-today date, Word display snapshot and reveal, answer or emergency-pass receipt UUIDsShow vocabulary before opening selected apps and apply answers onceSettings remain until changed or the app is removed. Action receipts are cleared after the learning ledger applies them.

3. Data processed by services

If you use an account, Supabase processes identity, subscription access and requested cloud backups, for TOPIK. Learning records are not automatically uploaded. RevenueCat and Apple or Google process purchases and subscription status. When enabled, Firebase processes usage analytics and crash diagnostics.

Optional Google sign-in uses the native Google Sign-In SDK to obtain Google ID and access tokens, which are exchanged with Supabase for an app session. Supabase receives the same Google account identifiers, email address, name and profile image URL used to identify your account. We do not request Gmail messages, Google Drive files, camera or photo-library access.

Category Data Purpose and basis Choice
Optional account identityEmail address, Provider-supplied name and profile image URL in Google identity metadata; no camera or gallery access, Supabase user UUID, Authentication-provider identifier, Authentication timestamps, Google ID and access tokens obtained by the native Google Sign-In SDK and exchanged with Supabase for an app sessionCreate and secure an optional account; provide purchases and manual backup and restore
Perform the account and subscription services you request.
Optional
Registered account devices and login sessionsRandom per-installation UUID and server device UUID, Device model or platform label (not a personal device name), Account UUID and authenticated session UUID, Last online verification time and revocation status, Stable application ID and app membership/deletion statusLimit signed-in use to five registered devices per app and let users replace or revoke devices
Provide and secure signed-in account access. Registration is required only for optional sign-in; guest learning does not register a device.
Optional
Authentication and API security logsRequest time, IP address, User agent, Request path, Response status, Supabase user UUIDSecure authentication, investigate errors, prevent abuse and maintain service stability
Service security and operation, including applicable data-protection security obligations.
Optional
Server subscription access for cloud backupSupabase user UUID, Stable application ID, Plus active status, Access expiry, RevenueCat verification timeAuthorize explicit Plus cloud backup and restore requests
Provide the Plus backup service requested by the user.
Optional
RevenueCat subscription and purchase dataApp User ID topik:<Supabase user UUID>, Store, product and base-plan identifiers, Purchase, restore, renewal, cancellation, refund and expiry status and timestamps, Transaction/order identifiers and entitlements, App, SDK, store environment and diagnostic informationProvide and verify purchases, restore access, analyze subscription revenue, support customers and prevent fraud
Perform the subscription you request and protect payment integrity.
Optional
Firebase analytics and crash diagnosticsRandom app installation and Crashlytics installation IDs, App sessions and semantic screen names without identifiers, Content type and aggregate study/test starts, completions, question counts, correct counts and retries, Audio type and playback success/failure, Approximate location derived from masked IP information, App/OS versions, device model, language and network type, Crash stack traces and related app/device state, Firebase SDK types and versions, Fixed operational failure codes for local learning storage initialization and synchronization; no original error messagesMeasure usage, understand crashes and improve reliability
Minimal usage and reliability diagnostics; no account IDs, email, learning text, answer strings or handwriting coordinates are included. Advertising identifier support is disabled.
Optional
Support and privacy-rights requestsReply email, Request type and content, Identity-verification result, Resolution and timestampsHandle access, correction, deletion, restriction and consent requests; resolve disputes
Fulfil applicable privacy-rights obligations and respond to your request.
Optional
Server reliability diagnosticsOperation and failure-stage codes, HTTP status and request duration, Random per-request diagnostic ID, deployment environment and release versionDetect service failures and restore service availability
Service reliability diagnostics exclude account identifiers, client IP addresses, request contents, authentication tokens and learning data. Sentry is contacted by our server, not the app.
Required for the selected service
Manual cloud learning backupLearning progress, saved items, review status and separate in-app/outside-app rounds, Routine settings, daily progress, listening position and study-date preferences, Current session questions, answers and queue cursors; cached card text for resuming the current list, Recent sessions, lifetime counts and daily learning statistics, Stable application identifier, server-verified source device model label, server upload time, revision and payload sizeKeep one manually uploaded backup per application and account and explicitly replace local learning records on restore
Provide the Plus manual backup and restore requested by the user.
Optional

4. Privacy controls

Account creation is optional; purchases, restoration and cloud backup require sign-in. Change analytics and crash-reporting preferences in Settings.

We do not share learning content or account identifiers with advertising services.

5. Service providers and international processing

Providers may process information outside your country. The table describes their roles and processing locations; their published policies provide further detail.

Provider Role Location and transfer Retention
Supabase Pte. Ltd.Optional account authentication, subscription access, account storage, backup, sync and security logs
Optional account identity, Registered account devices and login sessions, Authentication and API security logs, Server subscription access for cloud backup, Manual cloud learning backup
Countries where Supabase and its subprocessors operate hosting, infrastructure and support services
Encrypted network transfer when using the service
Per-record retention and production-project settings
Google LLC (Gmail)Support, account deletion and privacy-rights correspondence
Support and privacy-rights requests
United States and other countries where Google operates servers
Encrypted network transfer when using the service
1 year after request closure
RevenueCat, Inc.Store subscription verification, Plus access, purchase restoration and billing diagnostics
RevenueCat subscription and purchase data
United States and other countries where RevenueCat and its subprocessors operate services
Encrypted network transfer when using the service
RevenueCat retention policies, store agreements and legal obligations
Google LLCApp usage analytics and crash/stability diagnostics
Firebase analytics and crash diagnostics
United States and other countries where Google operate services
Encrypted network transfer when using the service
Analytics property retention settings and the Crashlytics 90-day policy
Functional Software, Inc. (Sentry)Sanitized server error monitoring and operational alerts
Server reliability diagnostics
Depends on the selected Sentry hosting region and applicable subprocessor locations
Encrypted network transfer when using the service
Configured Sentry project retention; confirm before production activation

6. Retention and deletion

Category Retention Deletion
Local learning data and account cachesGuest data stays until transferred to an account or the app is deleted. Local account learning records remain after sign-out for later sign-in. Unused pending commands are cleared when opening the store. Account deletion removes local records on the requesting device; other installations retain local copies until removed. Operating-system backups may retain or restore copies under the user's backup settings.Reset learning history, delete the account on this device, or remove the app. Manage operating-system backups separately.
On-device learning and display settingsGuest settings remain until account transfer or app removal. Account settings remain after sign-out; account deletion clears the requesting installation. Operating-system backups may restore copies.Delete the account on this device or remove the app; manage operating-system backups separately.
Analytics and crash-reporting preferenceUntil changed or app/device secure storage is reset.Change the setting or reset device secure storage.
Handwriting practice strokesUntil the writing is cleared or the screen is closed.Removed from memory.
Local sign-in sessionUntil explicit sign-out or account deletion. iOS Keychain data may survive app removal and reinstallation on the same device.Sign out or delete your account. On iOS, app removal alone does not guarantee Keychain deletion.
Subscription accessThe current access cache is replaced by later verified decisions and removed with the app.Replacement by a new access decision, account sign-out where applicable, or app removal.
Word toll settings and action receiptsSettings remain until changed or the app is removed. Action receipts are cleared after the learning ledger applies them.Disable the feature, deselect apps or remove the app.
Optional account identityTOPIK membership remains until deletion. Shared authentication identity remains while another Routine app membership uses it; managed backups expire according to provider retention.Authenticated TOPIK membership deletion or verified support request removes TOPIK cloud backup, device membership and app-specific billing identity. Shared authentication identity and provider grants are removed only when no other app membership needs them.
Registered account devices and login sessionsRegistrations and bound sessions are removed on app-account deletion. Minimal deleted app membership remains while another app retains the common Auth identity; final Auth deletion removes it. A local receipt is cleared on denial; iOS Keychain may survive reinstall.Revoke account access from device management; delete the account to remove server records. Revocation does not erase learning data.
Authentication and API security logsAccording to the hosting project’s configured security-log retention schedule.Automatic expiry; access is restricted while logs are retained, including after account deletion.
Server subscription access for cloud backupFor the life of the account; updated on verification and deleted with the account.In-app account deletion or a verified support request.
RevenueCat subscription and purchase dataSubject to RevenueCat and store retention policies and applicable tax, dispute and security obligations.Account deletion first requests removal of the RevenueCat customer. Store subscriptions and legally retained transactions are separate and managed through the store.
Firebase analytics and crash diagnosticsAnalytics follows the property’s configured retention period. Crashlytics starts deletion of crash traces, minidumps and associated installation identifiers after 90 days under Google’s policy.Turning this off stops new collection, resets the installation’s Analytics identifier and deletes unsent crash reports. Already transmitted data is not linked to an account for individual selection and follows Google’s retention and deletion processes.
Support and privacy-rights requests1 year after closure; ongoing disputes are retained separately with restricted access until resolved.Permanently deleted after retention ends.
Server reliability diagnosticsSubject to the configured Supabase and Sentry project retention periods. Verify these settings before enabling production monitoring.Automatically removed according to project retention settings; diagnostic events do not include an account identifier.
Manual cloud learning backupOne latest backup per application and account until replaced or the account is deleted. Failed uploads preserve the previous backup.A successful new upload replaces the previous backup. Account deletion cascades to the backup. Managed database backups follow their retention schedule.

Deleting TOPIK membership removes its live app-scoped records and cloud backup. A shared sign-in identity used by another ALAN app is retained for that app. Existing backups may retain copies until the hosting retention schedule expires. Operating-system backups are managed separately through your device or backup provider.

7. Your rights and contact

Contact [email protected] to request access, correction, deletion, restriction or withdrawal of consent. We may verify your identity before acting. You can request account deletion without reinstalling or signing in to the app. For general support, contact [email protected].

How to delete your account

8. Data we do not collect

Precise location, Address books, Photos, camera and microphone access, Health information, Direct collection of payment-card numbers, bank account details or payment passwords, Sending handwriting coordinates to servers, Sending correct-answer or selected wrong-answer text to servers, An append-only history of individual learning events and completed answers, User input for AI services or model training, Third-party behavioral or cross-app tracking using IDFA or Android advertising ID, Email, Supabase user UUID, learning text, answer text or handwriting coordinates in analytics/crash payloads, IDFA, IDFV, Android advertising ID, SSAID and ad-personalization signals in Firebase Analytics

9. Operator

ALAN · Representative: 김선일

34, Nakseongdaeyeok 6-gil, Gwanak-gu, Seoul 08799, Republic of Korea · Business registration: 508-55-00902

Privacy officer: 김선일

Privacy: [email protected] · Support: [email protected]