プライバシーポリシー
Taiki Kira(以下「当方」)が運営するボイチェンつうわ(以下「本アプリ」)は、Sign in with Appleで認証された利用者同士の1対1音声通話サービスです。本ポリシーでは、本アプリ、当方が運用するバックエンド、および本アプリに組み込まれた外部サービスにおける情報の取扱いを説明します。
1. 当方が収集・処理する情報
- アカウント情報:Sign in with Appleが発行する本アプリ専用の利用者識別子、当方が発行する内部アカウントID、利用者が設定し後から変更できるアカウントに紐づくユーザー名を保存します。内部アカウントIDから一方向に生成した変更されない公開会員コードも使用します。Apple Accountのパスワードは取得しません。Appleから受け取る本名やメールアドレスは当方のデータベースへ保存しません。
- 認証情報:Sign in with Appleの認可コードとIDトークンを本人認証のため一時的に処理します。認可コードはAppleとの交換後に保存しません。IDトークン本体も保存せず、短時間の再利用を防ぐため、そのハッシュと有効期限だけを保存します。Appleとの連携をアカウント削除時に失効させるため、Appleが発行するrefresh tokenをAES-256-GCMで暗号化して保存します。また、ログイン状態を維持するため、ランダムなセッショントークンを端末のKeychainへ保存し、サーバーにはそのハッシュと有効期限のみを保存します。
- 利用・通話メタデータ:週の識別子、通話秒数、候補提示を識別するランダムな提案ID、ランダムなルームID、接続・切断時刻、アクティブな通話の予約状態、プレミアム利用資格と有効期限などをアカウントIDに紐づけて処理します。「オンライン人数」は、通話待ち(候補確認・承認待ち・通話接続中を含む)と通話中のアカウントを集計し、ホーム画面を見ているだけの利用者は含めません。待機接続の維持と終了検出のため、待機ごとのランダムな接続IDと応答確認をメモリ上で処理します。日本時間の当日にアプリを利用した人数を表示するため、日付と内部アカウントIDを組み合わせた重複除外用の印をDurable Objectへ一時保存します。どちらも同じアカウントを重複して数えず、個別のオンライン状態やアカウントIDを他の利用者へ提供しません。
- 通話マナー評価:完了した通話の参加者が相手について送信する1〜5段階の通話マナー評価、評価日時、対象ルームおよび評価の平均・件数を保存・集計します。1人が同じ通話について送信できる評価は1回です。
- フレンド・チャット情報:30分以上の通話後に送るフレンド申請、承認・否認、フレンド関係、通話のおさそい、送信したテキスト・画像と送信日時をアカウントIDに紐づけて保存します。チャット本文と画像は当方のD1データベースに保存され、エンドツーエンド暗号化はされません。画像は送信前に端末で縮小・圧縮し、認証済みのフレンド本人だけが取得できます。
- 安全管理情報:通報者・被通報者の内部アカウントID、提案IDまたはルームID、選択式の通報理由、通報日時、人手確認の状態・対応、ブロック、警告および利用停止の状態を保存します。通報者の識別情報を被通報者へ開示しません。
- サポート問い合わせ情報:利用者がサポート窓口へメールを送信した場合、送信元メールアドレス、返信先、件名、本文、メールヘッダー、受信日時、添付の有無・ファイル名、当方の対応状況を処理します。添付ファイルの内容は自動分類システムおよび当方のデータベースへ保存しませんが、人手確認用メールボックスへ転送される原文に含まれることがあります。
本アプリの利用に電話番号、住所、連絡先へのアクセスは必要ありません。接続前の候補カードには、アカウントに紐づくユーザー名、変更されない公開会員コード、登録年月および通話マナー評価の平均・件数を表示します。Apple Accountの本名、メールアドレスおよびSign in with Appleの利用者識別子は他の利用者へ提供しません。内部アカウントIDはブロック・通報等の安全機能を実行するため相手側アプリへ仮名識別子として送信されることがありますが、画面には公開会員コードを表示します。
2. マイク音声と端末内処理
ランダム通話中の音声は端末内でリアルタイムに変換された後、通話相手へ中継されます。フレンド通話では利用者がボイチェンをOFFにすると、生声が相手へ中継されます。短い試聴用音声と声の高さから算出した調整値も端末内で処理され、試聴用音声はサーバーへ送信されません。
利用者同士の通話の中継には LiveKit Cloud(LiveKit, Inc.)を利用します。LiveKit はサービス提供、安全性および接続品質の維持に必要な範囲で、音声ストリーム、IPアドレス、端末・セッション識別子、接続時刻、通信品質・エラー等を処理することがあります。当方は録音、文字起こし、音声解析またはEgress保存を設定しておらず、当方のバックエンドにも通話音声を録音・保存しません。
AI通話を有効にした場合、人との通話が30秒成立しないとAIの「りな」へ切り替えます。切り替え前にアプリ内で音声送信への同意を確認し、アプリ内の設定からいつでも無効にできます。AI通話では端末内で変換した音声を当方のCloudflareバックエンド経由でOpenAIへ送信し、GPT-Liveで音声の返答を生成します。人との通話にはAI音声処理を使いません。当方はAI通話の音声・文字起こしを保存せず、利用時間の計上に必要なアカウントID・セッション識別子・週・利用秒数だけを最大56日保存します。OpenAIでの録音保存機能は無効にしています。ただし、不正利用監視のため音声等が原則最大30日保持される場合があり、法令上必要な場合などの例外があります。OpenAI側の情報の取扱いはAPIのデータ取扱い方針に従います。
3. 広告とトラッキング
無料プランでは Google AdMob(Google LLC)による広告を表示します。Google Mobile Ads SDK は、広告配信、広告効果測定、アナリティクスおよび不正防止のため、次の情報を収集することがあります。
- IPアドレスから推定されるおおよその位置情報
- 広告識別子(IDFA、利用者がApp Tracking Transparencyで許可した場合)、IDFVその他の端末識別子
- 広告の表示・操作情報、アプリ起動やタップ等の製品操作情報
- クラッシュ、パフォーマンスおよびその他の診断情報
IDFAを利用したアプリやウェブサイトをまたぐトラッキングは、iOSの許可を得た場合に限られます。許可しなくても本アプリの通話機能を利用でき、許可状態はiOSの「設定」から変更できます。ただし、許可しない場合もコンテキスト広告の配信や不正防止に必要な情報が処理されることがあります。
接続の改善のため、検索開始・終了、候補提示、相互承認、双方の接続および接続時間を日本時間の1時間単位で集計します。この集計にはアカウント・部屋・候補の識別子、ユーザー名、音声を含めず、90日間保存します。
任意の利用状況の共有
利用者が「利用状況を共有して改善に協力」を有効にした場合、Google Analytics for Firebase(Google LLC)で利用状況を分析し、初期設定や通話体験の改善に利用します。初期設定はOFFです。共有しなくてもアプリを利用できます。初期設定画面またはアカウント画面から選択できます。
初期設定の開始・完了、購入画面の表示、接続条件を満たした通話が累積1分に達したことを記録します。音声、会話内容、ユーザー名、当サービスのアカウントID、通話相手のID、部屋名はこの分析に送信しません。音声の内容を解析して通話の成功を判定するものではありません。
GoogleのSDKは、アプリのインストール単位の識別子、セッション、端末・アプリ情報、おおよその地域、アプリ内購入に関する情報も処理することがあります。この分析ではIDFA・IDFVの収集および広告目的の利用を無効にしています。広告SDKによる情報処理は、本項の広告に関する説明をご参照ください。
共有をOFFにすると以後の分析データの収集を停止し、端末内のAnalyticsデータをリセットします。これは既に送信したデータのサーバーからの削除を意味しません。アカウント削除が完了した場合にも共有をOFFにします。取扱いに関するお問い合わせは、本ポリシー記載の窓口へご連絡ください。
4. バックエンドとインフラストラクチャ
当方のバックエンドは Cloudflare Workers、Durable ObjectsおよびD1(Cloudflare, Inc.)上で稼働します。Cloudflare はリクエストの配信、セキュリティ、不正利用防止および障害解析のため、IPアドレス、リクエスト時刻、端末・ネットワーク情報、ログおよび診断情報を処理することがあります。D1には第1項のアカウント情報、暗号化済みのApple refresh tokenを含む認証情報、利用メタデータおよび安全管理情報を保存します。refresh tokenの暗号鍵はデータベースとは分離して管理します。
サポート窓口ではCloudflare Email Routing、Workers、Workers AIおよび専用D1を使用します。受信内容は暗号化して保存し、暗号鍵はデータベースと分離して管理します。自動分類前にメールアドレス、電話番号および長い識別子をマスクし、本文を必要最小限に制限します。AIは問い合わせ種別、緊急度、言語、要約および返信下書きの作成だけに使用し、添付内容を解析せず、アカウント削除、利用停止、返金その他の措置を自動実行しません。実質的な回答と措置は運営者が確認します。
5. サブスクリプション
サブスクリプションの決済と購入履歴は Apple が処理します。当方はクレジットカード番号、銀行口座等の支払情報を取得しません。本アプリはAppleが署名した購入トランザクションをバックエンドへ送信し、署名、商品ID、アカウント紐づけ、有効期限、取消状態を検証します。検証後は商品ID、元トランザクションID、有効期限を内部アカウントIDに紐づけて保存します。また、返金、取消、期限切れ、更新および返金取消をサーバー側で反映するため、AppleのApp Store Server Notifications V2を受信し、通知本体と通知内の購入トランザクション双方の署名、アプリID、環境および時刻を検証します。
有効な購入をアカウント削除後に同じApple利用者だけが復元できるよう、元トランザクションID、購入時にAppleの署名対象となった元の内部アカウントID(appAccountToken)、有効期限、およびSign in with Appleの利用者識別子をサーバーの秘密情報で一方向変換した値を限定して保存します。復元時は、同じApple利用者の一方向変換値、同じ元トランザクションIDおよび同じ署名済みappAccountTokenが一致し、旧アカウントが削除済みであることをサーバーで確認します。他のApple利用者への移転には使用できません。
6. 利用目的
- 本人認証、アカウントに紐づくユーザー名、公開会員コード、通話マナー評価、現在および当日のオンライン人数、1対1通話、接続前の相互承認、利用時間制限等のアプリ機能の提供
- 利用者からのアカウント削除要求に伴うSign in with Apple連携の失効
- 通報、ブロック、利用停止、不正利用防止および安全性の確保
- 広告の配信、効果測定および広告サービスの改善
- 障害解析、性能・信頼性の維持およびサービス改善
- 問い合わせの受付、自動分類、重複防止、緊急度の判定、人手対応および対応履歴の管理
- 法令、利用規約および正当な要請への対応
7. 外部委託先
当方はサービス提供に必要な範囲で、以下の事業者に情報の処理を委託します。本ポリシーと同等以上の保護を提供する委託先を選定し、必要な範囲に限定して処理を委託します。法令に基づく場合を除き、これら以外の第三者へ利用者情報を販売しません。
- LiveKit:リアルタイム音声通信
- OpenAI:同意済みAI通話での変換後音声の処理と音声応答の生成
- Cloudflare:バックエンド、データベース、メール受信・転送、自動分類、配信およびセキュリティ
- Google:広告配信、測定、診断および任意の利用状況分析
- Apple:本人認証、アプリ配信、決済、サブスクリプション管理および人手確認用メールボックス
暗号化して保存するApple refresh tokenは、アカウント削除時にAppleの失効用エンドポイントへ送信する目的にだけ使用し、LiveKitまたはGoogleへ提供せず、広告配信、分析、プロファイリングその他の目的には使用しません。Appleへの失効要求、Cloudflareへの取扱いの委託、または法令に基づく場合を除き、利用者情報を第三者へ提供せず、いかなる第三者にも販売しません。Cloudflareによる取扱いは、当方の指示に基づくインフラストラクチャ処理です。
8. 保存期間
- 任意の利用状況分析:Google Analyticsのイベント単位のデータは2か月、ユーザー単位のデータは14か月の保持設定です。新しい活動があるたびにユーザー単位の保持期限は更新されます。期限を過ぎたデータはGoogleの月次処理で削除されます。標準の集計レポートには、この保持期間は適用されません。
- アカウント情報:利用中およびアカウント削除まで
- 認証セッション:発行から最大30日(更新または削除時に失効)
- Sign in with Apple認可コード:Appleとの交換後は保存しません
- IDトークンのハッシュ:IDトークンの有効期限まで(定期処理の都合により、その後の削除まで最大24時間程度)
- 暗号化済みApple refresh token:アカウントの利用中、更新時の置換またはアカウント削除まで
- 週次利用時間:原則最大8週間
- 通報記録:原則365日
- ブロック記録:原則365日
- 利用停止記録:原則730日
- 人手による利用停止解除の監査記録:対象の内部アカウントIDをサーバーの秘密情報で一方向変換した値、対応種別および日時を最大730日
- 候補提示記録、通話参加・切断記録および通話マナー評価:原則365日。期限切れの評価は集計からも除かれます
- フレンド関係:アカウント利用中は保持し、アカウント削除時に削除。フレンド申請:アカウント削除時、または申請に紐づく通話記録が保存期限に達したときに削除
- チャット本文・画像:送信から原則90日後の日次処理で削除。通話のおさそい:有効期限後、原則1日以内に削除
- 警告・利用停止・安全排除の未確認通知:利用者による確認または運営による解除まで
- 削除された利用者が通報対象であった場合の通報・対応監査記録:アカウント、ルームおよび提案の識別子はサーバーの秘密情報を用いて一方向変換し、通報対象となったユーザー名の記録、選択された理由、日時および対応結果とともに最大365日
- 削除された利用者が送信した通報:通報者の内部アカウントIDをサーバーの秘密情報による一方向の仮名値へ置き換え、通報対象、理由、対象ルームまたは提案の情報および対応状態を、対象となった利用中アカウントへの対応と安全監査のため通報から最大365日
- 通報への関与、警告、利用停止または安全排除の履歴があるアカウントの再登録防止用データ:Sign in with Appleの利用者識別子をサーバーの秘密情報を用いて一方向変換した値のみを、不正利用防止に合理的に必要な期間
- マッチング待機情報:マッチング成立、キャンセル、切断または処理終了まで
- 現在のオンライン人数:待機接続と下記のアクティブ通話情報から都度集計します。待機中の接続ID・応答確認はメモリ上で処理し、キャンセル・切断時に削除します。応答確認に対応したアプリから60秒間応答がない場合も待機情報を削除します。待機人数のために別の永続的な利用履歴は作成しません
- 当日のオンライン人数の重複除外用の印:日本時間の日付が変わった後、次回の日次削除まで(最長約48時間)。Durable Objectへ一時保存し、D1データベースには保存しません
- アクティブ通話の予約および強制切断の再試行情報:接続・切断の確認まで。Webhookが届かない場合も、LiveKit参加トークンの安全期限である最大4時間で解除・削除します
- LiveKit参加トークン:発行から最大4時間(トークン自体をサーバーに永続保存しません)
- 期限切れのプレミアム利用資格:原則24時間以内に削除。削除後の購入復元用マッピングは購入資格の有効期限から7日後まで保持し、その後原則24時間以内に削除
- サーバー側の購入状態:元トランザクションID、購入時の内部アカウントIDをサーバーの秘密情報で一方向変換した値、最新の有効・無効状態、通知種別および署名日時を、購入資格の有効期限から7日後まで保持
- App Store Server Notificationの重複処理防止記録:通知UUID、通知種別、元トランザクションIDおよび署名日時を最大30日
- サポート問い合わせ:アカウント・個人データ削除およびプライバシーに関する問い合わせは原則30日、一般・技術・課金に関する問い合わせは原則90日、安全上の通報・緊急申告およびApple審査に関する連絡は原則365日。暗号化保存した内容と人手確認用メールボックスへ転送した原文を、同じ基準で削除します
期限を過ぎた当方データベースの情報は1日1回の定期処理で削除するため、処理時刻により削除まで最大24時間程度の差が生じることがあります。法令上の義務、紛争対応、セキュリティまたは不正利用防止のため合理的に必要な場合は、必要最小限の情報を上記より長く保存することがあります。外部委託先が保持する情報は各事業者のポリシーおよび利用者の同意設定に従います。
9. 削除・問い合わせ
アプリ内の「アカウント」から、アカウントと関連データの削除を開始できます。通常の利用者による削除では、まず暗号化保存していたrefresh tokenを復号し、Appleの失効用エンドポイントへ送信してSign in with Apple連携の失効を試行します。失効を確認した後、ユーザー名、認証セッション、refresh token、利用時間、アカウントに直接紐づくプレミアム利用資格、通話マナー評価、フレンド申請・関係、チャット本文・画像、ブロックおよび利用停止記録を削除し、端末内の認証情報も消去します。Appleとの通信障害等により失効を確認できない場合は、失効手段を失わないよう削除を完了せず、再試行できる状態を保ちます。旧バージョンからの利用等で当方がrefresh tokenを保持していない場合は関連データの削除を続行し、必要に応じてApple Accountの「Appleでサインイン」設定から本アプリの利用停止を確認するよう案内します。
ただし、安全上の対応と購入復元に必要な情報は次のように限定して扱います。削除する利用者が通報対象であった通報は、元の通報を削除する前に識別子を一方向変換した監査記録へ置き換えます。削除する利用者が送信し、利用中の別アカウントを対象とする通報は、通報者IDだけを一方向の仮名値へ置き換え、対象アカウントへの24時間以内の確認・対応を継続するため保持します。通報への関与または警告・利用停止等の安全履歴がある場合は、再登録防止のためApple利用者識別子の一方向変換値を保持します。進行中の通話がある状態で削除要求を受けた場合は、通話を直ちに切断または永続的な再試行待ちへ登録してから削除し、削除による通報・安全機能の回避を防ぐため同じ再登録防止値を保持します。これらに該当する安全履歴がない場合、この再登録防止値は作成しません。また、有効な購入を同じApple利用者が復元できるよう、第5項の購入復元用マッピングを有効期限から7日後まで保持します。
安全上の利用停止または排除では、新たな候補提示・通話を直ちに停止し、進行中のサーバー記録済み通話についてLiveKitへ強制切断を要求します。一時的な通信障害時も切断要求を永続的な処理待ちとして保持し、指数的な間隔で安全期限まで再試行します。安全排除では、利用者が通知を確認した後、Appleへの失効要求の成否にかかわらずアカウント、プロフィール、認証情報、利用・購入資格および仮名識別子を削除します。ただし、同じApple利用者による再登録を防ぐ一方向変換値と、24時間以内の人手確認および安全監査を完了するための前記監査記録を保持します。自動更新中のサブスクリプションはAppleの設定から別途解約が必要です。取扱いの確認、広告に関する選択その他の相談は、support@getcoshub.com へご連絡ください。メールは専用システムで自動分類され、必要なものを運営者が確認します。メール送信により直ちにアカウント削除、利用停止または返金が確定するものではありません。
10. 16歳未満の利用
本アプリは16歳未満の方を対象としておらず、利用規約により16歳未満の利用を禁止しています。
11. 改定
本ポリシーを改定する場合、本ページに改定日と内容を掲載します。重要な変更については、必要に応じてアプリ内その他の適切な方法でお知らせします。