Privacy Policy
This Privacy Policy describes how Toshokanji ("the App," "we," "us," or "our") handles information when you use our mobile application.
1. Summary
Toshokanji is designed to work primarily offline. Your kanji learning progress, spaced-repetition data, and app settings are stored locally on your device using an on-device SQLite database. We do not operate our own backend server, and we do not collect, sell, or share your personal data with advertisers. The App contains no advertising and does not track you across apps or websites owned by other companies.
The App integrates two third-party services: Sentry, used exclusively for crash and error reporting to help us fix bugs, and RevenueCat, used to validate and restore in-app purchases. Neither receives your name, email address, or any account information, and the data they receive is not linked to your identity.
2. Information We Collect
2.1 Locally Stored Data (Not Transmitted to Us)
The App stores the following data only on your device:
- Your kanji learning progress (spaced-repetition intervals, review history, correct/incorrect ratings)
- App preferences and settings
- A record of which kanji packs you have purchased, so that purchased content remains available offline
Your learning progress and settings are never transmitted to us and remain under your control. Purchase information is also handled as described in Section 2.3. Uninstalling the App deletes this data, unless your device's backup system (e.g., iCloud) has stored a copy independently of the App.
2.2 Crash and Error Data (via Sentry)
We use Sentry, a third-party error-monitoring service, to automatically collect technical information when the App crashes or encounters an error. This may include:
- Device model and operating system version
- App version
- Error logs, stack traces, and diagnostic information
- Approximate technical metadata needed to reproduce and fix bugs
We have configured Sentry to store this data in its European Union data region (Germany). Sentry acts as our data processor and is contractually bound to handle data securely. For more information, see Sentry's Privacy Policy.
We do not use Sentry to track your identity, behavior, or usage patterns for marketing or profiling purposes.
2.3 In-App Purchases (via RevenueCat)
The App offers optional kanji packs as one-time, non-consumable in-app purchases. There are no subscriptions.
Payments are processed by Apple through the App Store. We never receive or store your payment card or billing details, and refunds are handled by Apple.
To validate purchases and let you restore them, the App uses the SDK of RevenueCat (RevenueCat, Inc., United States). RevenueCat receives:
- Your purchase history within the App: which kanji packs were purchased and when, together with the related App Store transaction data
- An anonymous app user identifier randomly generated by the RevenueCat SDK
- Basic technical information sent with the request, such as device type, operating system, locale, and currency code
The anonymous identifier is not associated with your name, email address, or any account, and the App does not send RevenueCat any user attributes or advertising identifiers. This data is not linked to your identity and is not used to track you.
We use this data only to:
- Validate your purchase and unlock the content you bought
- Let you restore your purchases (the "Restore Purchases" option)
- View aggregated sales statistics
RevenueCat acts as our data processor. For more information, see RevenueCat's Privacy Policy.
2.4 App Store Data
When you download the App from the Apple App Store, Apple may independently collect data related to your purchase or download (e.g., device identifiers, payment information) in accordance with its own privacy policy. Other than the purchase information described in Section 2.3, we do not have access to this information unless you choose to share it with us directly (e.g., by contacting support).
2.5 Feedback Emails
The App's feedback button opens your own email app with a draft addressed to us that includes the App version and your operating system version. Nothing is sent unless you choose to send it. If you do, we receive your email address and whatever you write, and we use them only to respond to you.
2.6 Data We Do NOT Collect
We do not currently collect:
- Names, email addresses, or account credentials (the App does not require account creation)
- Location data
- Contacts, photos, or other device files
- Advertising identifiers
- Behavioral analytics
If this changes in the future (for example, if we introduce analytics or account features), we will update this Privacy Policy and, where required by law, request your consent.
3. Legal Basis for Processing (GDPR)
For users in the European Economic Area (EEA) and UK, our legal basis for processing the limited technical data described in Section 2.2 is our legitimate interest in maintaining, securing, and improving the App (Article 6(1)(f) GDPR). This processing is limited to what is technically necessary and does not involve profiling or marketing.
Our legal basis for processing the purchase data described in Section 2.3 is the performance of a contract with you (Article 6(1)(b) GDPR): it is necessary to deliver, unlock, and restore the content you purchase. Viewing aggregated sales statistics is based on our legitimate interest in understanding how the App performs (Article 6(1)(f) GDPR).
4. Data Retention
- Locally stored data (Section 2.1) remains on your device until you delete the App or clear its data.
- Crash/error data (Section 2.2) is retained by Sentry according to their data retention policy, generally for a limited period sufficient for debugging purposes, after which it is deleted.
- Purchase data (Section 2.3) is retained by RevenueCat for as long as it is needed to validate and restore your purchases, or until you ask us to delete it.
5. Your Rights
Depending on your location, you may have rights under applicable data protection law (such as the GDPR), including the right to:
- Request access to any data we hold about you
- Request correction or deletion of your data
- Object to or restrict certain processing
- Request data portability
- Lodge a complaint with a data protection authority
Since we do not collect personally identifying information beyond incidental crash/error data and anonymous purchase data, most requests can be resolved simply by contacting us at gabrieldvg1@gmail.com.
To exercise these rights over the purchase data described in Section 2.3, write to us at the same address. Because that data is associated only with an anonymous identifier, we cannot look up your record by name or email address, so we may need to ask you for information that allows us to locate it (for example, the order ID shown on your Apple purchase receipt). Deleting the record held by RevenueCat does not cancel or refund a purchase, which remains managed by Apple.
6. Children's Privacy
Toshokanji is not directed at children under 13 (or the relevant minimum age in your jurisdiction), and we do not knowingly collect personal information from children. Because the App does not require registration and stores learning data locally, it involves minimal data collection overall.
7. International Data Transfers
Crash/error data is stored in Sentry's European Union data region (Germany). Sentry is a US-based company; where this data is accessed from or transferred to countries outside your own, including the United States, Sentry maintains appropriate safeguards (such as Standard Contractual Clauses) where required by law.
Purchase data processed via RevenueCat (Section 2.3) is transferred to and processed in the United States. RevenueCat makes Standard Contractual Clauses available for such transfers where required by law.
8. Data Security
We rely on the security measures provided by Apple, Sentry, and RevenueCat for any data that leaves your device. Locally stored data benefits from your device's own operating system security (e.g., app sandboxing).
9. Third-Party Services
The App currently integrates with:
- Sentry (error monitoring) — Sentry Privacy Policy
- RevenueCat (in-app purchase validation and restoration) — RevenueCat Privacy Policy
- Apple App Store (distribution and in-app purchase payments) — governed by Apple's privacy policy
10. Changes to This Policy
We may update this Privacy Policy from time to time, for example if we add new features (such as analytics, cloud sync, or subscriptions) that change how data is handled. We will update the "Last updated" date above and, where changes are material, provide additional notice within the App.
11. Who We Are / Contact Us
Toshokanji is developed and operated by:
Gabriel Villarroel
Email: gabrieldvg1@gmail.com
Website: www.toshokanji.app
For any questions, requests, or concerns about this Privacy Policy or your data, you can contact us at the email above.