Privacy Policy

Bunmyaku · version 1.6 · last updated: 14 October 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. Optional AI analysis sends only the text you confirm. Version 1.6 also adds anonymous usage statistics, off until you agree. This policy describes version 1.6.

There is no account or sign-in. AI analysis connects on your request, and anonymous usage statistics connect only after your consent. App Store handles 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.

Two things worth saying plainly. First, the shared area survives uninstalling a single app — the file goes only once you remove every app in the family from the device. Second, “Erase all progress” deletes this file too, along with everything else.

Tracking and advertising

Network connections

AI analysis connects on your request. Anonymous usage statistics connect only after your consent. Purchases and restoration are handled by App Store. Learning remains available offline.

Usage statistics — only with your consent

Statistics are off by default. Only after your explicit consent does Bunmyaku record and send anonymous events to our server at https://api.jd-japanese.pl/v1/events. They help us understand whether onboarding leads to studying, whether learners return to reviews and how the purchase screen works. Declining does not limit learning or purchases.

The current scope covers first consent, the first completed study session, a completed session on a later study day, the first completed review, an active-day snapshot, session summaries and views of the purchase screen. We send the event name, schema version, app name, interface language, current app version and feature variant, the version and variant at first consent, and an entry category: fresh installation, restored progress or later consent. Time is described by the ISO week of first launch, day of use and buckets for answer counts or session duration; the server records the calendar date of receipt. Summaries also include session type and completion outcome and buckets for AI-check counts. The active-day snapshot includes a session-count bucket, level stage and flags for AI use, having seen the purchase screen, unlocked-material kind, an active AI subscription and enabled reminders. We do not send precise answer times.

There is no installation, device or advertising identifier. Each event has its own random UUID solely to avoid counting a retried upload twice. It is not used to link one person's events. We send no sentences, photos, answer history, names of practiced grammar patterns, mastery, email address, location, device model or iOS version. Statistics are not linked to identifiers used for AI analysis. An IP address is necessary for the connection but is not stored in events or access logs. Abuse protection uses a protected address hash in a separate counter; the counter is periodically removed after 24 hours of inactivity and is not linked to events.

Without a connection, events wait locally for upload: at most 30 days and 500 events. The queue is excluded from backups and study-progress exports. An event is removed after receipt is confirmed. The server retains raw events for up to 400 days; afterwards only daily anonymous totals remain. We do not use them for advertising, profiling or tracking across apps.

You can withdraw consent at any time in Settings → Privacy, using Share anonymous usage statistics. Turning statistics off cancels uploads, clears the local queue and stops collection and future uploads. Data already received by the server may remain until retention expires: without an identifier we cannot locate a particular person's events and delete them on request. Learning, progress and review scheduling continue to work on your device without a connection.

Session summaries may include broad question categories and count ranges. When a session is abandoned, they may include the last question category, whether it was answered correctly, incorrectly or left unanswered, and a range describing consecutive mistakes. They never include the question, the answer text or the word being practised. The study level follows the stage shown on the Today screen. AI use is a flag, not the content of an AI request.

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."

Optional AI features

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:

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:

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: bunmyaku@jd-japanese.pl