← Back

Privacy Policy

Last Updated: July 31, 2026

Introduction

Moji ("we", "us", "our", or "the App") is committed to protecting your privacy and being transparent about our data practices. This Privacy Policy describes how we collect, use, and share information when you use our mobile applications and website.

Information We Collect

1. Information You Provide Directly

When you use Moji, we collect the following information that you provide:

  • Onboarding preferences: Your Japanese experience level, JLPT goal, widget refresh rate, and daily new kanji limit
  • Legacy account information: Moji 1.10.1 does not create new accounts or offer sign-in. If you signed in with Apple or Google in an earlier account-enabled version, we may continue to hold the name, email address, provider, and account identifier supplied then until that legacy account is deleted.
  • Android beta waitlist: If you request Android beta access on our website, we collect the Google account email you submit so we can review your request and invite you through Google Play.
  • Notification preferences: Your preferred daily reminder time and whether notifications are enabled
  • Subscription information: Your subscription status and purchase history processed through Apple's App Store and RevenueCat

2. Information Automatically Collected

We automatically collect certain information about your device and how you use the App:

  • Device information: Device type (iPhone), operating system version, app version, and an app-scoped installation identifier
  • Usage analytics: How you interact with the app (including screens visited, app lifecycle events, learning-session activity, and subscription purchase events), collected through PostHog
  • SRS review data: Which kanji you reviewed, your responses (Again / Hard / Good / Easy), review timestamps, and computed intervals. These records power spaced repetition locally. On an eligible upgrade from a signed-in older version, Moji may send pending review events and retrieve matching legacy cloud progress once to reconcile records before retiring the saved session. New review progress is not continuously synchronized.
  • Learning progress: Your streak, total cards learned, JLPT readiness percentages, and milestone completions
  • Subscription data: Subscription status and renewal information processed through RevenueCat and Apple's payment system
  • Advertising attribution: If you grant App Tracking Transparency permission, the device advertising identifier and onboarding, trial, and subscription events are shared with TikTok to measure ad performance

3. Information Stored Locally on Your Device

The following data is stored locally on your device:

  • Your SRS review history and card intervals. On an eligible upgrade from a signed-in older version, Moji may merge matching on-device and Supabase records once before retiring the saved login. New learning then stays on this device, is not continuously synchronized, and is not promised to restore after reinstall or on another device.
  • The kanji database (2,000+ characters bundled with the app and never uploaded for synchronization)
  • Daily streak tracking data
  • Widget queue state (the next kanji scheduled to appear on your lock screen), which is shared only between the app and its widget on your device

How We Use Your Information

We use the collected information for the following purposes:

  • Service delivery: To power the lock screen widget, schedule SRS reviews, track your streak, and deliver push notifications
  • Legacy progress transition: To use a matching saved legacy session once to preserve existing progress before retiring the old login credentials
  • Subscription management: To process and manage your Moji Pro subscription and unlock premium features
  • Refund review: If you affirmatively allow it, to provide Apple with purchase and subscription consumption information through RevenueCat so Apple can review an App Store refund request
  • App improvement: To analyze usage patterns, understand how features are used, and improve the app experience
  • Advertising measurement: With your permission, to measure whether TikTok ads lead to onboarding, trials, or subscriptions
  • Customer support: To respond to your feedback and support requests
  • Android beta access: To manage the Android testing waitlist, invite approved testers, and send the public Android launch notice

Third-Party Services

We use the following third-party services that may collect information:

Supabase

  • Purpose: One-time reconciliation of matching saved legacy account progress during upgrade, retention and verified deletion of legacy account and cloud records, compatibility for supported older app versions, and storage of Android beta requests
  • Data shared: For an Android beta request, the normalized Google account email, request status, source, and timestamps. When legacy compatibility applies, we may also process the saved legacy user identifier and session, account/profile fields already associated with it, onboarding and subscription state, review events, and computed SRS card state. Moji 1.10.1 does not use Supabase to create new accounts or continuously sync new learning.
  • Privacy policy: supabase.com/privacy

RevenueCat

  • Purpose: Subscription and payment processing and, only with your affirmative permission, assisting Apple with an App Store refund review
  • Data shared: User identifier, subscription status, and purchase information. For a permitted refund review, RevenueCat may also process and send Apple your consent status, purchase delivery status, whether a free trial, sample, or information about the purchase was provided, and purchase or subscription usage and consumption details such as the portion of a subscription period consumed when available. Moji does not recommend whether Apple should grant or decline the refund; Apple makes the decision.
  • Controls: Choose Allow or Do Not Share under Settings > Refund request data sharing. Choosing Do Not Share prevents RevenueCat from responding to future Apple refund-review requests for you.
  • Privacy policy: revenuecat.com/privacy

PostHog

  • Purpose: Product analytics and usage tracking
  • Data shared: App-scoped installation identifier, usage patterns, screen views, app lifecycle events, learning-session activity, purchase events, and device information. Earlier versions may have associated a legacy user identifier, email address, display name, and sign-in provider with analytics.
  • Privacy policy: posthog.com/privacy

TikTok for Business

  • Purpose: Advertising attribution and campaign measurement
  • Data shared: Only after you grant tracking permission, the device advertising identifier and completion events for onboarding, trial introduction, and subscription purchase
  • Controls: Automatic event collection and enhanced data postback are disabled. Moji does not share your account identifier, email address, or learning activity with TikTok. If you decline tracking, Moji does not send TikTok app events
  • Privacy policy: tiktok.com/privacy

Apple App Store

  • Purpose: App distribution, subscription payment processing, and making final decisions on App Store refund requests
  • Data shared: Payment information and purchase history handled directly by Apple. If you have affirmatively allowed sharing, Apple may also receive the refund-review data described below from RevenueCat.
  • Privacy policy: apple.com/privacy

App Store Refund Review Data

Moji offers optional refund-request handling. Moji shares refund-review consumption data only after you affirmatively choose Allow under Settings > Refund request data sharing. If you choose Do Not Share, RevenueCat will not respond to Apple's refund-review request for you.

With your permission, RevenueCat may send Apple your consent status, whether your purchase was delivered and worked properly, whether a free trial, sample, or information about the purchase was provided, purchase or subscription usage and consumption details such as the portion of a subscription period consumed when available. Moji does not recommend whether Apple should grant or decline the refund. Apple uses this information to help decide an App Store refund request. Apple makes the final decision, and neither Moji nor RevenueCat can issue an Apple refund.

You may withdraw permission at any time by selecting Do Not Share in Settings. Withdrawal applies to future refund-review requests and does not affect data already shared or processing that was lawful before withdrawal. You may exercise the access, correction, deletion, portability, restriction, objection, withdrawal, and complaint rights described in this policy by contacting us. For access to or deletion of refund-review data retained by Apple, submit a request directly through privacy.apple.com.

Data Retention

  • SRS and learning data: New learning is stored locally on your device. On an eligible upgrade, Moji may use a saved legacy session once to reconcile matching on-device and Supabase review records before retiring that session. Legacy cloud records may remain until a verified deletion request is completed; new 1.10.1 learning is not continuously uploaded.
  • Legacy account data: Moji 1.10.1 creates no new accounts. Data associated with an account created in an earlier account-enabled version is retained until it is deleted or retention is otherwise required by law. Retiring a saved login from the device does not itself delete the legacy server account. Use our account deletion page to request verified deletion. App Store subscription cancellation must be managed separately through Apple.
  • Subscription data: Retained as long as your subscription is active. After cancellation, retained for billing purposes as required by law.
  • Analytics data: Retained by PostHog according to their policy (typically up to 90 days to 2 years).
  • Advertising attribution data: Retained by TikTok according to its privacy policy when you grant tracking permission.
  • Android beta waitlist: Retained through the Android beta and public launch communication period, then deleted within 90 days after the public Android launch, or earlier if you ask us to remove it.

Data Security

We implement appropriate technical and organizational measures to protect your personal information:

  • Encrypted connections (HTTPS/TLS) when the app or website communicates with Supabase
  • Supabase Row Level Security (RLS) policies protecting legacy account data and preventing public read access to the Android beta waitlist
  • Limited access to personal data by authorized personnel only
  • Core learning content (kanji database) operates fully offline; no server access is required

However, no method of transmission over the internet is 100% secure. We cannot guarantee absolute security of your data.

Your Privacy Rights

Depending on your location, you may have the following rights:

  • Access: Request a copy of the personal data we hold about you
  • Correction: Request correction of inaccurate or incomplete data
  • Deletion: Request deletion of your personal data and account
  • Portability: Request your data in a portable format
  • Opt-out: Opt out of non-essential data processing

To exercise these rights, please contact us at the email address provided in the "Contact Us" section below.

To leave the Android beta waitlist, email us from the address you submitted and ask us to remove it.

Deleting Your Data

Moji 1.10.1 does not offer sign-in or an authenticated Delete Account control. If you created a Moji account in an earlier account-enabled version, request deletion through our legacy account deletion page. We may ask for information needed to verify ownership. Verified requests are completed within 30 days and permanently erase:

  • Your Moji account and profile from Supabase
  • Your onboarding state and preferences stored on our servers
  • Your synchronized review events and computed SRS card state stored in Supabase
  • Direct links to analytics or purchase-service identifiers where applicable

Deleting legacy cloud data does not remove current local-only learning data from your devices. Delete Moji from each device to remove the app's learning data there. Legacy account deletion also does not cancel an App Store subscription. Data retained independently by Apple, RevenueCat, PostHog, or TikTok is governed separately as described above. This action cannot be undone.

Children's Privacy

Moji is not intended for children under the age of 13. We do not knowingly collect personal information from children under 13. If we become aware that we have collected information from a child under 13, we will take steps to delete that information and any related legacy account data.

Parents or guardians who believe their child has provided information to Moji should contact us immediately.

Push Notifications

Moji uses local push notifications to support your learning habit. These notifications:

  • Are scheduled locally on your device via UNUserNotificationCenter, with no server involved
  • Include daily review reminders at your chosen time, streak protection alerts, and milestone celebrations
  • Are completely optional and can be disabled at any time through app settings or device settings
  • Are never used for marketing or advertising purposes

European Users (GDPR)

If you are located in the European Union, you have additional rights under the General Data Protection Regulation (GDPR):

Your GDPR Rights

  • Right of access (Article 15): Request confirmation of what personal data we process and obtain a copy
  • Right to rectification (Article 16): Request correction of inaccurate or incomplete data
  • Right to erasure (Article 17): Request deletion of your data ("right to be forgotten")
  • Right to restriction (Article 18): Request that we limit how we use your data
  • Right to data portability (Article 20): Receive your data in a structured, machine-readable format
  • Right to object (Article 21): Object to processing of your data
  • Right to withdraw consent: Withdraw consent at any time without affecting the legality of prior processing
  • Right to lodge a complaint: File a complaint with your local data protection authority

Data Protection Authority

For GDPR-related complaints or inquiries, you can contact your national data protection authority (e.g., CNIL in France, ICO in the UK, BfDI in Germany).

Changes to This Privacy Policy

We may update this Privacy Policy from time to time to reflect changes in our practices, technology, or applicable law. We will notify you of material changes by:

  • Posting the new Privacy Policy on this website and making it accessible from the app
  • Updating the "Last Updated" date at the top of this document
  • Sending you a notification if required by law

Your continued use of the app after changes become effective constitutes your acceptance of the revised policy.

Acknowledgements

Kanji meanings, readings, and related Japanese dictionary data are derived from KANJIDIC2 and JMdict, distributed by the Electronic Dictionary Research and Development Group under Creative Commons licenses. Moji includes this attribution to honor those data sources.

Contact Us

If you have any questions, concerns, or requests regarding this Privacy Policy or our data practices, please contact us at:

For GDPR-related requests, please include "GDPR Request" in your subject line and specify which right you wish to exercise. We will respond within one month of receipt of your request, as required by GDPR.

Acknowledgment

By using Moji, you acknowledge that you have read and understood this Privacy Policy and agree to the collection, use, and sharing of your information as described herein.

Last Updated: July 31, 2026 · Version 1.7