熟日語 · 日本語

熟日語 Privacy Policy

Last updated: 2026-10-08

This policy covers 熟日語 (Android package com.stevenwu.speakjapanese), a Japanese learning app developed by Steven Wu, and its companion website at line101chat.com. Some older offline tools also support English.

Request account and data deletion / 申請刪除帳號與資料

1. Lessons and practice on your device

The app stores imported lesson text, meanings, notes, language and level labels, practice progress and preferences on your phone to provide learning features. It accesses files you explicitly select for import. Offline practice does not require an account. Existing offline lessons are not automatically uploaded when you create or sign in to an account.

The website’s offline study desk processes selected files and pasted text in your browser, and saves its lessons, progress and preferences in local browser storage. This offline library is separate from the private cloud library at /account. To move existing offline lessons to your account, select a file, preview it and confirm the upload. Practice progress and recordings are not synchronized by the cloud lesson library.

2. Learner accounts and private cloud lessons

Supabase Auth handles account registration, email confirmation, sign-in and password recovery. It processes your email address and authentication information, including a password hash and session records. The application does not store plaintext passwords in lesson data or custom application tables, and its administrators cannot view your password. Confirmation and recovery emails are sent through the configured authentication email service.

When you confirm an upload or save an edit in your signed-in cloud library, the lesson title, original text, practice sentences, translations, notes and labels are sent to Supabase and stored with your account identifier, revision information, timestamps and storage-usage totals. Your signed-in cloud library is the authoritative copy for supported website and Android account clients. Other learners cannot access these lessons through the application. Product-administrator status does not grant access to learner content.

Cloud lesson requests use authenticated HTTPS connections and owner-based database rules. Website account sessions and retrieved lessons are kept in page memory by default. If you explicitly choose to remain signed in on a private device, Supabase authentication session tokens and your choice are saved in that browser's local storage so the session can be restored and refreshed. Passwords, retrieved private cloud lessons and recordings are not saved by this option. Do not select it on a shared device. Sign out and forget this device to remove the remembered session. LINE's embedded browser may use separate storage and require its own sign-in. Email verification and recovery links contain temporary authentication information; the callback page removes it from the address bar and keeps recovery sessions only in memory. Do not share these links. Supabase and the hosting provider may process connection details and service logs to operate and secure the service.

3. Microphone, recordings and optional transcription

The app requests microphone permission for speaking practice. When you choose to record, audio and information needed to identify and replay the recording are saved in the app's private storage on your phone. Saved practice recordings are not uploaded by the app and are not included in website lesson transfers.

Optional transcription uses a separate live microphone attempt to display recognized speech. It is off by default in the recording practice screen. If you enable it and start a transcription attempt, your phone's speech recognition service may send that live audio to its provider for processing. The provider and its retention practices depend on your device and speech-service settings; its own privacy policy applies. The app does not send previously saved recordings for transcription. You can leave optional transcription off and still record and replay locally.

Android reference listening uses installed offline text-to-speech voices. Installing voices may require a network connection. Browser listening uses the selected browser or device speech service, which may send the text being spoken to its provider.

4. Optional lesson transfers and service providers

The separate Create transfer link action uploads the selected lesson, including original text, practice lines, meanings, notes and labels, to private transfer storage. This lets you import a snapshot on another device. Downloading a lesson JSON file does not create a server transfer. Opening or importing a transfer link makes a network request to our service. Account-library uploads follow the account rules above and do not create a shareable transfer link.

A transfer link is an access credential: anyone holding the complete link can read or revoke the lesson. Share it only with intended recipients. Links expire after 48 hours and can be revoked sooner. Expiration immediately blocks access through the service; scheduled daily cleanup removes expired stored transfer objects. Cleanup failures can delay physical deletion. Revoking a link requests deletion of its stored transfer. Revocation and expiration do not delete copies already downloaded to another device.

Vercel provides website hosting and private Blob storage. Upstash Redis provides short-lived request counters for abuse prevention. Our transfer service uses a keyed, pseudonymous IP-derived identifier rather than storing a raw IP address in those counters. Per-client counters expire after approximately one minute for reads or one hour for writes; aggregate daily counters expire after approximately one day. Hosting and speech providers may also process IP addresses, request information and technical logs under their own service policies. We do not promise a fixed deletion time for infrastructure logs or provider backups.

5. Purpose, security and sharing

We use the information above to provide accounts, password recovery, private cloud lessons, lesson preparation, practice, transfers and abuse prevention. Private account content uses authenticated owner-based access rules. Separate transfer links use HTTPS and private storage, with access controlled by the unguessable link. No storage or transmission method can guarantee absolute security.

The app and companion do not include advertising or marketing analytics, sell learner data, or use your lessons or recordings for AI training or security research. When you upload private Japanese lessons, background AI processes missing notes as described below. Apart from recipients you give a link to, hosting/storage providers, the operator processing those lessons and optional speech services described here, the application does not intentionally share learner content with other parties.

Uploaded private Japanese lessons are processed automatically in the background to fill missing Traditional Chinese translations and grammar notes. An allowlisted worker running on the service operator’s local computer receives small batches of sentence text and IDs over authenticated HTTPS and uses a local language model. The model is not a third-party cloud AI service. Results are validated against the saved source revision, labelled AI, and saved only into empty note fields in the same learner’s private lesson; existing notes are preserved. AI output may be wrong and should be checked. Offline-only lessons and recordings are not sent to this worker. Processing continues without the website or app being open, but pauses while the computer or worker is unavailable. Optional manual draft requests remain available for review.

Generated explanations can be inaccurate. Manually requested drafts remain separate until you review, apply and save them. Automatic results fill only empty fields and are saved with an AI label. Applying a draft fills empty annotation fields and preserves existing notes. Requests are limited to 20 sentences at a time and are subject to usage limits. If the operator’s computer or service is unavailable, requests can remain queued or fail; ordinary practice and manual editing remain available.

The worker keeps sentence text, model responses and its authentication session in process memory during processing, and does not intentionally write them to files or application logs. Queued source sentences, returned drafts and job metadata are eligible for deletion after seven days; cleanup runs during subsequent queue activity or worker polling, so outages can delay physical deletion. Unfinished requests expire after 24 hours when cleanup next runs. Automatically saved notes and notes you choose to save become part of your cloud lesson and follow its retention rules. Cancelling a pending request prevents accepting its result but may not immediately stop a local inference already in progress. Infrastructure logs and provider backups follow their separate retention practices.

6. Retention, deletion and your controls

Local app data remains on your device until you remove it. Delete individual recordings from Saved recordings or the practice screen. To remove all app-private lessons, progress and recordings, use Android Settings > Apps > 熟日語 > Storage > Clear storage, or uninstall the app. These actions are irreversible; preserve any material you need first. Exported files and original import files remain wherever you saved them and must be deleted separately.

On the website’s offline study desk, remove saved lessons with its library delete control. Clear this site’s browser data to remove local lessons, progress and preferences. Download any lessons you want to keep first. Clearing local browser data, signing out or uninstalling the Android app does not delete cloud account lessons or revoke a server transfer. Use Revoke link or let a transfer expire as described above.

Cloud account lessons remain stored until deleted through our support-assisted process. This version does not yet provide self-service account or cloud-lesson deletion controls. Request account and associated data deletion at https://line101chat.com/delete-account, also available from the Android private library and privacy screen. Email the support address from your registered email account; ownership verification is required. The request covers the authentication account, private cloud lessons, saved translations and grammar notes, related AI jobs and account usage data. You can instead request cloud-lesson deletion while keeping your account. Support replies with the request status; opening the request page does not immediately delete data. No fixed cloud-data retention period is currently promised. Infrastructure logs and provider backups may follow separate retention practices. Download copies of lessons you need to retain. Storage-limit or plan changes do not automatically erase your cloud lessons.

You can revoke microphone permission in Android settings and stop using optional transcription. We cannot recover or remotely delete data held only on your device. If you email us, we receive your email address and message to respond; avoid attaching sensitive lessons, recordings or passwords.

7. Optional device reminders and LINE connection

Android study reminders are off by default. When you enable them, the app requests Android notification permission where required and saves reminder times, selected weekdays, pause status and the last completed practice date in app-private device storage. Notifications contain a generic study invitation, not private material text, titles or recordings. Completing a sentence on that phone suppresses its remaining reminders for the day. Reminder preferences and completion suppression are local to that device; studying on the website or another phone does not cancel these reminders. Android power-saving settings can delay them. You can pause or disable reminders in the app or revoke notification permission in Android settings.

Connecting LINE is optional and is separate from enabling phone reminders. If you add the Official Account and explicitly link your existing learner account, we store your LINE user identifier, its association with your learner account, link timestamps and follow/block state in our private database. Linking uses temporary, single-use tokens and confirmation from LINE. Account linking does not sign you in to the website automatically or subscribe you to promotional messages.

LINE receives messages and menu interactions that you send to the Official Account and processes replies under its own policies. This integration replies to supported learner-initiated commands with guidance and links to the app or website. It does not send scheduled LINE push reminders, send private lessons or recordings to LINE, or forward free-form chat to the AI worker. Avoid sending private learning materials or passwords in LINE chat. The service verifies incoming LINE events but does not intentionally save raw chat text or reply tokens in application records or logs.

Unlinking removes the active account association and pending link requests. Link requests expire after ten minutes. Minimal webhook event identifiers, timing and abuse-prevention records are eligible for cleanup after thirty days during subsequent LINE activity; outages can delay cleanup. LINE and infrastructure providers retain their own logs under their policies. A verified account-deletion request also covers its LINE association. Blocking the Official Account prevents interaction but does not itself delete your learning account; use the unlink control or request account deletion.

8. Policy updates and contact

We will update this page and its date when data handling changes, and provide additional in-app disclosure or consent when required. The app includes an offline copy of the policy for its release; this URL provides the current version. For questions about 熟日語 or the companion website, contact Steven Wu at steven@line101chat.com.

Privacy contact: steven@line101chat.com