Privacy Policy
Bunmyaku · version 1.2 · last updated: 4 September 2026
Bunmyaku is an app for learning Japanese vocabulary. The learning itself — reviews, every question type, the study plan and your progress — runs entirely on your device and without an internet connection. Version 1.2 adds optional AI features, and they are the only parts that send anything off the phone. This policy describes what version 1.2 actually does.
In short: there is no account and no sign-in, and the AI features are the only ones that reach the internet at all, apart from App Store purchases. A photo is read on your phone and never leaves it — only a sentence you confirm yourself is sent. That sentence is not stored anywhere.
Your account
There is none. The app never asks for an email address, a phone number, a name, or any other detail that could identify you.
Where your study data goes
Your progress — answer history, the measured strength of each word, upcoming review dates, session history, favourites and your own notes, along with the words and sentences you add yourself — is written only to your device, in the app's local database. It is not sent anywhere, it does not sync to iCloud, and the developer has no access to it.
Deleting the app deletes that data with it. To keep a copy, use Export progress in Settings; the file is saved wherever you choose. The app never uploads it.
Data shared with the developer's other apps
Bunmyaku belongs to a family of Japanese-learning apps, alongside Kaname (grammar), Katsuyokei (conjugation), Joshi (particles), Kazoekata (counters) and Kuzushi (casual speech). If you have more than one of them installed, the home screen shows a Your Japanese section with one row per app.
Here is how that works: Bunmyaku writes a small card file on your device, in an area shared by the apps in this family. The card carries six things about your studying: how much of the material you have mastered, how many days your streak runs, how many sessions you have done, one sentence about your weakest spot (in Polish and in English), whether today's goal is already met, and when your next reviews fall due. Plus three technical ones: which app wrote the file, in what format, and when. Nothing else. There is no answer history and no list of the items you practiced, and your progress cannot be reconstructed from this file.
The file never leaves your device, and it is read only by the other apps in this family that you have installed on that same device. There is no server and no account here, and nothing syncs between devices.
Tracking and advertising
- The app shows no advertising.
- The app does not track you — it uses no advertising identifier (IDFA) and no other identifier for profiling.
- The app contains no third-party analytics or advertising libraries. There is no Firebase, no Google Analytics, no Facebook SDK, and nothing equivalent.
- The app neither sells nor shares personal data.
Network connections
The AI features are the only ones for which the app connects to the internet on its own account. The remaining traffic is handled by iOS when you buy or restore a purchase through the App Store. All of the learning — reviews, every question type, the study plan, progress tracking — works without an internet connection.
Scanning text from a photo
Recognizing Japanese text in a photo happens entirely on your phone, using an iOS system feature. The photo is never uploaded or saved by the app and does not leave the device in any form — the server accepts text only and has no upload path an image could travel. Camera access is requested only at the moment you open scanning yourself.
The recognized text lands first in a field you see and can correct. Only the sentence in that field, confirmed by you by pressing Analyze, goes any further. The screen says as much itself: "The photo is read on your phone and never leaves it. Only the sentence above is sent."
The AI features — the only ones that send data
The AI features are optional. Without them the app tracks progress and schedules reviews exactly the same way. They run only when you press a button — never in the background and never on their own. There are two:
- Analyze — sends one sentence, the one visible in the field on the photo-reading screen, and returns the words that stand in it.
- Write a sentence with AI — sends one entry from your vocabulary: its written form, reading, meaning and JLPT level, to get back a short example sentence with that word in its dictionary form.
This goes to our server at api.jd-japanese.pl and from there to a language model. The answer comes back to the app. Neither the content of your sentence nor the text read from a photo is stored: it is passed through for analysis and does not reach any database or event log. Neither the assembled prompt nor the model's response is stored either. There is no column any of it could go in, and adding one fails an automated test on the server. The request to the model provider asks it not to retain the response.
Three things are stored, because the feature cannot work without them:
- an identifier derived from your App Store transaction — a digest of the subscription transaction identifier, to know whether this device has an active subscription;
- an App Attest key identifier, with its public key — a technical identifier from Apple's mechanism, proving that a request comes from a genuine, unmodified copy of this app. It is generated on the device, is unique to this one app, cannot be correlated with anything Apple or another app can see, and is generated afresh after every reinstall. It is used solely to stop one device from renewing its free allowance forever;
- usage counters — how many analyses were made today and this month.
On the first connection the app also passes a DeviceCheck token minted by iOS for that one call. It is stored nowhere — there is no place it could go — and serves only to keep the free allowance from renewing itself with every reinstall.
Kept for a shorter time are the technical records of billing and upkeep: Apple transaction identifiers and request metrics (request id, feature name, model, status, token counts, latency) for 90 days, and rate-limiting counters for 24 hours. We do not store IP addresses.
None of these is tied to your name, email address or account, because the app does not know them. They are not used for tracking, profiling or advertising. There is no account to delete; if you want those rows removed, write in — the transaction identifier from your App Store purchase history is enough to find them.
Purchases
JLPT level N5 is free in full. Levels N4, N3, N2 and N1 are unlocked by an in-app purchase, and the AI features by a separate subscription. Payment is handled entirely by Apple through the App Store: the developer receives and stores no payment details, card numbers or billing data. Purchase status is read from iOS every time the app starts.
How Apple processes data is described in Apple's privacy policy.
Contact and bug reports
Settings contains Suggest a feature and Report a problem. Both prepare an email in your device's mail app. Nothing is sent until you press Send.
A problem report is pre-filled with technical details: app version, build number, iOS version and
the device model identifier (for example iPhone14,3). A model identifier names a
series shared by millions of units — it identifies neither the device nor a person. We attach no
advertising identifier, no device identifier, no IP address, no location and none of your study
content. All of the text is visible and editable, so you can change or delete any part before
sending.
If you write, the developer will see your email address and your message, as with any ordinary correspondence. Messages are used only to answer the report.
Crash reports
The app sends no crash reports of its own and contains no crash-reporting tool. If you have enabled sharing diagnostic data with developers in iOS settings, Apple may pass on an anonymized crash report — that happens on the system side and you can turn it off in Settings → Privacy & Security → Analytics & Improvements.
Children
The app collects no data that could identify anyone, a child included: there is no account and it asks for no name, age or address. What is stored for the AI features is described in the section above and consists solely of technical identifiers and counters. The app contains no adult content, no communication between users, and no external links other than to this page, the terms of use and the support page.
Changes
If a future version processes data differently, this page will be updated before that version is released, along with the date of the update. The documents for earlier releases stay untouched at their own addresses.
Contact
Privacy questions: jakub.dwojak+bunmyaku@hotmail.com