Privacy Policy

Last updated: May 30, 2026

The Kanji 360 app (“the app”) is operated by Pixeliro. The app helps adult learners study Japanese kanji, vocabulary, grammar, and reading. It is built privacy-first: there is no account, no login, no chat, no user-generated upload to our servers, and zero advertising.

What we do NOT collect

  • NO name, NO email, NO date of birth, NO contact information.
  • NO precise location, NO contacts, NO calendar, NO photo library scan.
  • NO advertising identifier — neither IDFA (iOS) nor advertising ID (Android) is read by the app.
  • NO third-party analytics SDK — no Firebase Analytics, Google Analytics, AppsFlyer, Mixpanel, Amplitude, Segment, or similar.
  • NO advertising SDK — no AdMob, Meta SDK, or similar. The app is completely ad-free.
  • NO data shared with any third party, ad network, data broker, or analytics vendor.

What stays on the device

  • Learning progress, deck, notes, streaks — stored locally via SharedPreferences / Drift SQLite. When you sign in to iCloud (iOS) or a Google account (Android) the OS may back this data up into your private backup container; Pixeliro never sees it.
  • Voice recordings — when you use the Voice Vocab game or Shadowing “Speak” mode the app records short clips of your voice on the device only. Recordings are saved to your app sandbox at <app-docs>/kanji360/shadowing/… so you can play them back. We never upload your voice to any server. A “Delete my recordings” button is available in-app and removes the folder.
  • Microphone audio passed to STT — the Voice Vocab game passes microphone audio to the platform on-device speech-to-text API (speech_to_text). Audio is processed locally on the device and is not stored or transmitted by the app.

Backend services we use

The only backend services the app contacts are Apple StoreKit (and Google Play Billing on Android) for the optional Premium subscription, the Pixeliro content API (operated by us) for the kanji / vocab / grammar / story catalogue, and Firebase Storage (Google) for audio files and stroke-order SVGs.

Apple StoreKit / Google Play Billing

Handle in-app purchases and the optional Premium subscription. We receive a receipt blob to confirm entitlement; we never see your card number. Subscriptions auto-renew unless cancelled at least 24 hours before the end of the current period. Manage or cancel via iOS Settings → Apple ID → Subscriptions, or Google Play → Profile → Payments & subscriptions. Use of Premium on iOS is additionally subject to Apple's Standard EULA.

Pixeliro content API

The app fetches kanji, vocabulary, grammar, lessons, and exam-set content from our API. Each request includes:

  • A shared API secret so the endpoints aren't scraped by random crawlers.
  • An anonymous device UUID generated locally on first launch — random, never linked to identity. It exists only so QA / test content can be targeted to specific devices.
  • The app version + JLPT level requested.

We do not log personal identifiers. The device UUID is not shared with any third party.

Firebase Storage

Pre-rendered audio files (vocab readings, story narration, shadowing audio) and stroke-order SVGs are served from Firebase Storage. Files are public-read; downloading them does not require authentication and no personal data is logged on the file URLs.

Your choices

  • Decline microphone permission — the app still works; only the voice-input games degrade to a no-mic mode and remain fully usable.
  • Use the in-app “Delete my recordings” action under any Shadowing piece to wipe the entire folder.
  • Delete the app to wipe all local progress, deck, and recordings.

Children

Kanji 360 is intended for adult learners. It is not directed at children under 13 and does not knowingly collect personal information from children. If you believe a child has used the app and would like local data on a device deleted, contact us at the address below.

Changes

If we materially change this policy we will update the “Last updated” date and surface the change inside the app on next launch. Continued use after a change means you accept the new policy.

Contact

Questions? support@kanji360.app. Replies typically within 2 working days.