Moraro プライバシーポリシー
Moraro(以下「本アプリ」)は、個人開発者である Jongmin Lee(以下「当方」)が提供しています。本ポリシーは、本アプリ、そのサービス提供者および広告 SDK が情報をどのように取り扱うかを説明します。Moraro Plus を含む Moraro iOS アプリに適用されます。
概要
- ゲストとして学習できます。サインインしない限り、学習の進捗はデバイスに保存されます。本アプリは、利用可能なサインイン方法と生涯利用権が現在購入可能かどうかを確認するため、当方の Supabase サービスに接続します。
- Apple または Google でサインインすると、別のデバイスでも継続できるよう、当方はアカウントの詳細と学習進捗のコピーを Supabase に保存します。本番サーバーは AWS us-east-2 リージョン(米国オハイオ州)にあります。
- 無料ユーザーには、外部広告の機会が初めて生じた時に Apple の App Tracking Transparency(ATT)の選択肢を表示します。「許可」を選び、UMP も別途広告リクエストを許可した場合にのみ Google AdMob を使用します。トラッキングが拒否または制限されている場合、Google 広告 SDK を初期化したり広告を読み込んだりせず、アプリに内蔵された3種類の Plus 紹介を順番に表示することがあります。
- Plus は広告なしで利用できます。有効な Plus ユーザーには、Moraro のトラッキング許可画面、Google の広告プライバシー画面、Google 広告、アプリ内の Plus 紹介を表示しません。
- Plus の支払いは Apple が処理します。本アプリは確認済みの Plus 利用資格を StoreKit で確認して Plus を有効にします。当方は支払いカードの詳細を受け取らず、StoreKit の取引を学習進捗サーバーにアップロードしません。
- 音声認識と通常のシャドーイング録音はデバイスに保存されます。任意のオンライン発音評価機能は、このバージョンでは無効です。
- アプリ内で Moraro アカウントと同期済み学習進捗を削除できます。Apple のサブスクリプションおよび Apple または Google が保有する情報には、以下に説明する別の管理手段があります。
1. デバイスに保存される情報
本アプリは、開いた読書教材とその中での位置、保存した単語、フレーズ、メモおよび考え、復習の状態、日記、毎日の読書アクセス、航海スタミナ、報酬およびボートスタイル、興味および読書レベル、言語、音声およびリマインダー設定を保存します。また、サインイン済みデバイス間で毎日の活動数を統合するために使用するランダムなインストール ID も保存します。この ID は iOS の広告 ID ではなく、当方のコードから広告 SDK に渡されることもありません。
読書時間や意味の確認など、レベルを推定するための初期の読書観察データは、サインインしてもデバイスに保存されます。ローカルの航海状態、読書ハイライトおよびオンボーディング下書きも、クラウドコピーから除外されます。サインインすると、Supabase は iOS Keychain を使用して認証セッションを保存します。
このバージョン以降のローカル継続状況を測定するため、本アプリは、このバージョン以降に最初に観測されたアプリアクティビティ、アプリがアクティブだった重複を除いた暦日、オンボーディングを最初に完了した記録をデバイスに保存します。これらの測定値は Supabase に同期されず、分析サービスにも送信されません。「設定」>「データとアカウント」から日単位の要約を任意で共有できます。要約には観測期間中の最初の読了も含まれ、アカウントやデバイスの識別子と読書内容は含まれません。システムの共有画面で共有先を選んだ場合にのみ共有されます。すべての学習記録をリセットする操作と、正常に完了したアカウント削除は、このデバイスからこれらの測定値を削除します。
表示頻度を制限するため、正常に表示された読了広告またはアプリ内 Plus 紹介の時刻をデバイスに保存します。また、3種類のアプリ内紹介のうち次に表示する順番も保存します。これらの値に読書教材のタイトルやアカウント ID は含まれません。アプリのストレージが削除されるまで保持され、その後の表示時に古い時刻が整理されます。Google 広告経路を使用した場合、Google は独自の広告記録を別途保持することがあります。リマインダー設定および予定もデバイスに保存されます。通知には保存した学習テキストを含めません。
2. 当方のサーバーを通じて処理する情報
本アプリは、ゲストモードを含め、起動時に利用可能なサインイン方法を Supabase で確認します。また、起動時、アプリに戻った時、および生涯利用権を購入する直前に、その購入可否を確認します。これらの公開設定リクエストにはアカウント、学習進捗または StoreKit の取引詳細は含まれませんが、サーバーは IP アドレス、リクエスト時刻および通常のリクエスト詳細を受け取る場合があります。
サインインすると、認証サービスは Supabase ユーザー ID、サインイン方法、メールアドレス、アカウントの日付およびプロバイダー情報を保存します。Apple は実際のメールアドレスまたは非公開リレーアドレスを当方に提供する場合があります。当方の Apple サインインリクエストでは名前を要求しません。Google サインインには、認証記録内の名前およびプロフィール写真アドレスが含まれる場合があります。当方は Apple または Google のパスワードを受け取りません。
サインイン中、本アプリはデバイス同期と報酬のため、学習進捗のコピーを Supabase に送信します。これには、保存したテキストとメモ、読書および復習履歴、日記記録、ランダムなインストール ID を伴う毎日の活動、設定、記録バージョンおよびリセット時刻が含まれます。上記のデバイス専用情報はクラウドコピーから除外されます。サインインしない場合、この学習進捗は当方のサーバーにアップロードされません。
アカウントおよび同期済み進捗記録は、アカウントを削除するまで保持します。すべての学習データをリセットすると、アカウントを維持したまま、以前の同期済み学習状態を削除します。2026年9月30日、本番 Moraro プロジェクトは AWS us-east-2 リージョン(米国オハイオ州)の Supabase Free プランであることを確認し、ダッシュボードでは復元可能なデータベースバックアップまたはポイントインタイムリカバリ(PITR)が提供されていませんでした。当方は独自の運用バックアップを作成しません。Supabase は運用、セキュリティおよび認証ログを作成し、サービス条件に従ってインフラストラクチャのコピーを保持する場合があります。ダッシュボードの閲覧期間は、提供者が保持するすべてのコピーの削除期限を意味しません。提供者のコピーは Supabase の保持および削除手続に従います。
3. 広告とプライバシーの選択
Moraro は、Apple の App Tracking Transparency(ATT)画面で「許可」を選択した無料ユーザーにのみ Google AdMob を使用します。この画面は Plus 利用中ではなく、外部広告の機会が初めて生じた時に表示されます。許可後、Google User Messaging Platform(UMP)が利用地域で必要なプライバシー画面を別途処理します。ATT が許可され、UMP も広告リクエストを許可した場合にのみ Google Mobile Ads を初期化して広告をリクエストします。UMP がプライバシー設定の入口を要求する場合は、「私の航海」>「設定」>「広告のプライバシー設定」から開けます。
両方の許可によって広告をリクエストできる場合、Google Mobile Ads は、おおよその位置を示す可能性がある IP アドレス、アプリまたはデバイス識別子、表示された広告およびタップや動画視聴などの操作、パフォーマンス情報、SDK の診断情報またはクラッシュ情報を収集または受領する場合があります。Google は、適用される選択と設定に従い、広告配信、測定、製品改善および不正防止のためにこれらを使用する場合があります。本アプリは Google に非パーソナライズのパブリッシャープライバシー処理を要求し、Google のパブリッシャーファーストパーティ ID を無効にし、Supabase のメールアドレス、保存した単語、メモまたは StoreKit の取引を広告リクエストに含めません。これらの設定は、広告配信、測定、診断または不正防止に必要なすべての処理を停止するものではありません。Google サービスを使用するアプリからの情報を Google が使用する方法 および Google のプライバシーポリシー をご確認ください。
ATT が拒否または制限されている場合、Moraro は Google 広告 SDK を初期化したり広告を読み込んだりしません。無料ユーザーには、読了後またはスタミナ紹介を自分で選んだ後、アプリに内蔵された3種類の Plus 紹介のいずれかを順番に表示することがあります。アプリ内紹介はいつでも手動で閉じることができ、実際に30秒間視聴すると自動で閉じます。途中で閉じた場合、スタミナは付与されません。購入画面を開いている時間やアプリが非アクティブな時間は、視聴時間に含みません。スタミナは視聴を完了した場合にのみ付与されます。トラッキングを拒否しても、読書と復習の機能は引き続き利用できます。
Plus ユーザーには、Google 広告またはアプリ内 Plus 紹介を表示しません。有効な Plus 利用中、Moraro は ATT 許可を求めず、UMP または Google Mobile Ads を初期化したり広告を読み込んだりしません。同じ起動中に Plus が有効になる前に Google へ送信された情報には、引き続き Google のポリシーが適用されます。
トラッキング許可は iOS の「設定」で変更できます。「アプリにトラッキングしないように要求」を選ぶと、Moraro は Google 広告経路を使用しません。UMP の地域別選択は、トラッキングを許可した後に別途適用されます。トラッキング許可は以下の利用状況の分析に影響しません。ただし、GDPR が適用される地域で UMP のフォームでデバイスへの情報の保存・アクセスに同意しなかった場合は、この分析も無効になります。
アプリの利用状況の分析
Moraro は Firebase/Google Analytics 4 を使用し、アプリの活動、オンボーディング、読書の開始と完了、オンボーディング・港・読書画面などの主要画面への訪問を測定します。Google は SDK が生成したアプリインスタンス識別子、アプリとデバイスの情報、インストールとセッションの活動、ネットワークの IP アドレスから推定したおおよその位置を受け取ります。読書イベントには教材の種類(チュートリアル・記事)、学習言語、読書難易度、現在の学習記録でその教材を初めて読了したかどうかが含まれます。アプリ活動イベントにはオンボーディングの完了状況が含まれます。
Google Analytics は、商品 ID・価格・通貨などの情報とともに、サブスクリプションの更新を含む購入・サブスクリプションのイベントを記録し、分析のためにアプリインスタンス識別子と関連付ける場合があります。
当方のコードは Firebase Analytics にアカウントのユーザー ID を提供せず、名前、メールアドレス、選択した興味、読書本文、保存した単語、メモ、日記、オンボーディングの下書き、音声を送信しません。分析には IDFA 収集機能のない FirebaseAnalyticsCore を使用し、IDFV 収集を無効にして、広告ストレージ、広告ユーザーデータ、広告のパーソナライズを拒否する設定にします。分析では独自のアプリインスタンス識別子を引き続き使用します。この分析は ATT に基づく広告経路とは別に、ゲスト、サインイン済みユーザー、Plus ユーザーにも適用されます。「私の航海」>「設定」>「データとアカウント」>「利用統計を共有」でいつでも無効にできます。この設定は初期状態でオンになっており、このデバイスにのみ適用され、学習記録をリセットしても保持されます。UMP のフォームに GDPR の適用が記録されている場合、デバイスへの情報の保存・アクセス(TCF の目的 1)に同意していなければ分析は無効になります。分析が無効になっている間、本アプリは分析ストレージを拒否する設定にし、分析イベントを送信しません。Google が保持する情報には、該当する Analytics の利用規約と設定された保持期間が適用されます。Firebase のデータ収集設定と Google のプライバシーポリシーをご確認ください。
第1項のローカル継続状況の測定値と共有用の要約はデバイスに残り、Analytics にアップロードしません。類似した活動は上記の分析イベントで別途測定します。学習記録のリセットや Supabase アカウントの削除は、送信済み Analytics 記録の削除を要求しません。
4. Plus の購入と支払い
Moraro Plus は、Apple の App Store を通じて購入します。購入可能な商品はアプリ内に表示され、自動更新の月額・年額サブスクリプションと、1回払いの非消耗型の生涯利用権が含まれる場合があります。年額サブスクリプションは年に1回請求され、生涯利用権は自動更新されません。
生涯利用権は、サーバーに設定された公式の販売開始日から UTC を基準とする暦の6か月間、新たに購入できます。販売開始日より前には販売しません。購入期間が終了しても、購入済みの生涯 Plus 利用権は引き続き有効です。
Apple は、Apple のプライバシーポリシー に基づき、購入、支払い方法、請求および購入記録を処理します。StoreKit は、価格の表示、Plus の有効化およびアクセス復元のために、商品 ID、該当する場合の有効期限および取り消し状態を含む商品情報と確認済みの利用資格情報を本アプリに提供します。現行アプリは、これらの取引詳細を Supabase にアップロードせず、Plus アクセスを Moraro のサインインアカウントに関連付けません。
月額・年額サブスクリプションは、iOS の「設定」>「自分の名前」>「サブスクリプション」で管理または解約できます。Moraro アカウントの削除、サインアウト、学習データのリセットまたはアプリの削除では、Apple のサブスクリプションは解約されません。利用資格が正しく表示されない場合に備え、本アプリには「購入を復元」ボタンがあります。
5. その他のサービス提供者と移転
Supabase は当方に認証を提供し、サインイン済みの学習進捗を保存します。本番サーバーは AWS us-east-2 リージョン(米国オハイオ州)にあります。 本アプリがサインイン設定や生涯利用権の購入可否の確認、サインイン、同期、報酬の管理またはアカウント削除を行う際、データは HTTPS で送信されます。ゲストは Supabase にこれらの公開設定リクエストを送信しますが、アカウントまたは学習進捗は送信しません。
Apple と Google は、それぞれのサインインフローを提供します。Apple はアプリ内購入およびローカル音声認識と翻訳に使用するデバイスサービスも処理します。トラッキングを許可した無料ユーザーには、Google が UMP と AdMob を提供します。Google は、情報が居住国以外のサーバーで処理される場合があると説明しています。Apple および Google が保有する情報の場所と法的保護は、それぞれのポリシーに説明されています。
Google は第3項の iOS アプリの利用状況を分析する Firebase/Google Analytics 4 も提供します。本ポリシーを掲載する Moraro の公開ウェブサイトでは、別のウェブデータストリームで Google Analytics 4 を使用し、訪問とページ操作を分析します。Google は、同社のポリシーに従い、ブラウザおよびデバイス情報、IP アドレスから推定されるおおよその位置、ページ URL と操作、Cookie または類似の識別子を受け取る場合があります。
6. マイク、音声認識、翻訳および音声
マイクは、許可を付与した後にのみ、シャドーイングおよび音声メモに使用されます。音声認識はオンデバイス認識を要求します。デバイスがこれを実行できない場合、音声を当方のサーバーに送信するのではなく、その機能は利用できません。シャドーイング録音は比較のため一時的なデバイスフォルダに置かれ、シャドーイング画面を閉じると削除されます。保存を選択したメモのテキストは学習進捗となり、サインイン中は同期されます。
選択した録音と練習テキストを当方のサーバーを通じて Microsoft に送信するオンライン発音評価は、現行バージョンでは無効です。有効にする前に本ポリシーを更新します。単語の意味には、まず組み込みの説明を使用します。それ以外の場合、本アプリは Apple のオンデバイス翻訳を使用できます。Apple によると、翻訳対象の文章はデバイス上に留まりますが、アプリ識別子や翻訳元・翻訳先の言語など、翻訳 API の利用状況と性能情報を収集する場合があります。読書音声は、利用可能な場合はアプリに含まれるファイルを使用し、それ以外の場合は Apple のデバイス音声合成を使用します。
7. 削除と選択
「私の航海」>「設定」>「データとアカウント」>「すべての学習記録をリセット」は、このデバイスの学習記録を削除し、サインイン中で同期が成功した場合は、各デバイスの以前のクラウド学習状態を置き換えます。同じ日の無料枠を再び受け取れないよう、当日のデイリーリード枠、残りのスタミナと回復時刻、当日の無料補給の利用状況は保持します。Moraro アカウントは維持され、Plus は解約されません。また、ローカルの広告・紹介時刻、次のアプリ内紹介の順番、iOS のトラッキング許可、Google の記録は削除または変更されません。トラッキング許可は iOS の「設定」で管理します。許可された Google 広告経路で UMP が要求する場合、アプリ内でプライバシー設定を開けます。
すべての学習記録をリセットする操作は、このデバイスから第 1 項で説明したローカル継続状況の測定値も削除します。
「私の航海」>「設定」>「データとアカウント」>「アカウントを削除」は、Supabase アカウントとその同期済み学習状態を削除し、このアカウントのローカル記録を現在のデバイスから削除します。別のデバイスにある古いローカルコピーは、そのデバイスが更新されるかアプリデータが削除されるまで残る場合があります。Apple サインインアカウントでは、本アプリは Apple 接続の取り消しも試み、取り消しに成功しない場合に iOS の「設定」で切断する方法を説明します。Google サインイン接続は Google アカウント設定で削除できます。アカウントの削除では、Apple のサブスクリプションは解約されず、Apple または Google がそれぞれのポリシーに基づいて保持する記録も消去されません。
アカウント削除が正常に完了した場合は、このデバイスから第 1 項で説明したローカル継続状況の測定値も削除します。
当方が管理する個人情報へのアクセス、訂正または削除、または該当する場合の処理停止を求めることができます。下記の連絡先までご連絡ください。アカウントの特定に役立てるため、サインインに使用したメールアドレスをお知らせください。第3項の利用状況の分析は「私の航海」>「設定」>「データとアカウント」>「利用統計を共有」で無効にできます。iOS の「設定」では、マイク、音声認識および通知の許可も変更できます。Google の広告管理については、上記の Google リンクで説明されています。
8. セキュリティと子ども
サーバーリクエストには HTTPS を使用します。Supabase の行レベルセキュリティは、サインイン済みアクセスを各ユーザー自身の学習記録に制限し、サーバー関数は書き込みに呼び出し元のアカウントを使用します。認証トークンは iOS Keychain に保存されます。サーバー管理者キーはアプリに含まれません。
本アプリは13歳以上を対象としています。ゲストとして利用でき、生年月日を尋ねません。居住国でアカウント情報の処理に本人だけでは同意できない方は、親または保護者の同意なしにアカウントを作成しないでください。必要な同意なしに子どもがアカウント情報を提供したと考えられる場合は、当方にご連絡ください。
9. 変更と連絡先
変更は、新しい発効日とともにこのアドレスに掲載します。データの取り扱いを大きく変更する機能を有効にする前に、本ポリシーを更新します。重要な変更はアプリのリリース情報にも記載します。
Jongmin Lee, lee1993ljm@gmail.com