提供者情報
- サービス名
- Poker ICM training
- Google Play掲載名
- Poker ICM training
- App Store掲載名
- Poker ICM training
- サービス提供者
- 合同会社DCFトレーディング
- 所在地
- 東京都品川区北品川1-9-7 トップルーム品川1015
- メールアドレス
- info@dcftrading.com
アプリ(Android / iOS)で扱うデータ
本アプリは、最後に選択したHero handとVillain range、Saved Range、ICM scenario、ドリル履歴、表示設定を端末内のアプリ専用領域に保存できます。これらのローカルデータは開発者や第三者へ自動送信しません。ICM有料プラン(サブスクリプション)の購入検証と無料枠カウントには、Firebase ID tokenをVercel上で動作する開発者APIへ送信します。APIはtokenを検証し、検証済みFirebase UIDからアカウント識別子を決定します。無料利用回数、購読状態、購入識別子とアカウントの紐付けはUpstash Redisに保存します。
広告、解析、クラッシュ報告、クラウド同期、リモートデータベースのSDKはありません。本アプリの利用に必要なアカウント認証にはFirebase Authentication(Google LLC)を使用します。ログイン方法はメールアドレス+パスワード、Googleアカウント、またはiOS/AndroidのネイティブアプリではAppleアカウント(Sign in with Apple)で、メールアドレスで新規登録する場合は確認メールによる認証が必要です。プリフロップ完全列挙テーブル、ICM計算ロジック、保存データは端末内で処理します。ただしログイン、無料枠の認可、サブスクリプションの購入検証にはネットワーク接続が必要です。iOSでは、現在のログインアカウントに紐づくStoreKitの検証済み・有効期限内の購読を端末上で確認できる場合だけ、オフラインでも有料機能を利用できます。端末内の表示用キャッシュだけでは有料機能を許可しません。Androidでは無料枠と有料権利のどちらも通信できない場合は許可しません。iOS版では、購入・購読の管理にAppleのStoreKit(In-App Purchase)を使用し、Appleが定める方法でAppleに購入情報が渡されます。
AndroidのGoogleログインでは、Google profileの表示名、メールアドレス、user ID、profile画像がFirebase Authenticationへ提供される場合があります。開発者のサーバーは、認証済みFirebase ID token、無料利用の種別と回数、およびICM有料プランの購入token・購入状態を、本人確認、無料枠管理、購入検証、支払済み権利の引継ぎ、不正利用防止のため処理します。アプリaccountの存続中は、ランダムに生成した内部owner IDへ無料利用回数と購読状態を関連付けます。メールアドレスはログイン確認に使用しますが、削除済みaccountや購読を検索・自動復元するkeyには使用しません。サーバー上の権限判断にインストール単位のdevice IDは使用しません。
Androidでは、Google Playでchargeback reviewが発生すると、pending refund token、注文ID、refund reason、および任意の仮名account/profile IDが開発者サーバーへ通知されます。仮名account/profile IDはreview用に保存せず、retry queueにもowner、メールアドレス、外部account/profile IDを追加しません。raw tokenと注文情報は専用鍵で暗号化し、Google Playへの回答成功または通知から24時間の期限到達時に暗号文を削除します。その後は同じtransport通知の再処理を防ぐため、いずれのapp accountにも関連付けないpending refund tokenの一方向hashと最小限の処理状態だけを31日間保持し、自動削除します。このhashも保持dataとして扱い、匿名化済みとはみなしません。31日は設定済みPub/Subとdead-letter queueの最大再送期間に合わせたtransport重複防止とその期間内のsecurity障害調査のためで、Google Playが義務付ける保持期間ではありません。稼働監視には可能な限り個別hashではなく非相関の集計件数とhealth状態を使用します。回答はNEUTRALと無料sample提供の事実だけで、IPアドレス、位置情報、個別利用event、消費率は送信しません。
エクスポートと削除
保存データをJSONとしてexport/importする機能があります。Android exportは利用者の操作時だけアプリ専用cacheへ一時ファイルを作り、システム共有画面へ渡します。importはシステムファイル選択画面で利用者が指定したJSONだけを読みます。共有先と保管方法は利用者が管理し、共有先アプリは独自の方針に従ってネットワーク送信する場合があります。保存レンジの個別削除と、すべてのローカルデータの削除が可能です。ログインに使用するアカウントは、EquityまたはICM画面のページ下部にある「アカウントを削除」から削除できます。
アカウントとログイン
本アプリの利用にはログインが必要です。ログインには、メールアドレスとパスワード、Googleアカウント、またはiOS/AndroidのネイティブアプリではAppleアカウント(Sign in with Apple)を使用します。メールアドレスで新規登録する場合は確認メールによる認証が必要です。メールアドレスとFirebase UIDは、アカウント認証のためFirebase Authentication(Google LLC)で処理されます。購読・利用状況APIとアカウント削除APIには本人確認のためFirebase ID tokenを送信します。このtokenにはFirebase UID、認証provider、認証方法に応じてメールアドレスなどのアカウントclaimが含まれる場合があります。Vercel上の開発者APIはtokenを検証し、検証済みUIDをアカウント識別子として使用します。Appleアカウントでログインする場合、Appleはその際の認証情報をAppleのプライバシーポリシーに従って処理します。
アカウントを削除するには、EquityまたはICM画面のページ下部にある「アカウントを削除」から行えます。本人確認のため、メールログインでは現在のパスワード、Google/Appleログインでは各プロバイダーによる再認証を行います。削除すると、Firebase Authenticationのアカウント、Upstash Redis上の無料利用回数・購読記録・購入とFirebase UIDの紐付け、端末内の保存レンジ・ICMシナリオ・履歴・設定・復旧データ・書き出しキャッシュを削除します。Sign in with Appleを使用した場合はApple連携も解除します。短期のレート制限用ハッシュはアカウント削除APIから個別削除せず、設定された制限期間の終了後に自動失効します。AppleまたはGoogleが法令・ストア運営上保持する取引記録は各ストアに残ります。アカウント削除はAppleの自動更新サブスクリプションを解約しないため、削除前にApp Storeで解約してください。別のFirebase UIDへ切り替えた場合、前のUIDの端末内データは表示前に削除されます。
Androidでは、アカウントを削除する際、削除処理はGoogle Playで購入状態と最終の支払済み有効期限を確認し、一時停止中・アカウント保留中を含む、回復または再課金され得るすべての未終了定期購入について最初に開発者から今後の支払い停止を依頼して成功を確認します。PENDING購入、Publisher照会結果、支払い停止、または最終有効期限を確定できない間はaccount削除をretryableな状態にし、Firebase認証情報やidentity dataを先に削除しません。この停止は返金を行わず、支払済みの有効期限までは購読機能を利用できます。確認後、Firebase認証情報、内部owner ID、メールアドレス、Play外部account/profile IDとの関連付け、無料利用回数、通常の購読・購入recordを速やかに削除します。
Androidでは、支払済み期間の権利を引き継げるようにする場合だけ、削除時点のexact current purchase tokenを、owner、メールアドレス、外部account/profile IDと関連付けない専用鍵の暗号文として保持します。保持は確定済みの支払済み期間だけで、Googleがexpired、revokedその他のterminal状態を確認した時点、または最後に確認した支払済み有効期限の早い方で削除します。Google照会が失敗しても有効期限以後へ保持を延長しません。新しいaccountは、端末のGoogle Playから取得したexact current tokenをサーバーがGoogleへ照会して有効と確認した場合に、そのtokenの権利だけを関連付けできます。同じメールアドレスだけでは何も復元せず、有効期限後の再登録は新しい購入として扱い、削除したownerやその兄弟tokenを復元しません。
Androidでは、購入が有効な間は、account非関連のpurchase token一方向hashとlast verified paid expiryから成るintegrity markerを、対応するraw tokenまたは暗号文と同じ期限までだけ保持し、単独では残しません。Googleがterminal状態またはverified supersessionを確認した場合は、別のsecurity recordとして、そのhashと非account関連のterminal state、原因、期限境界、確認時刻だけを、古いtokenを別accountで再利用するstale replayの拒否という目的で保持します。primary recordを書けなかった場合、同じ情報をaccount非関連のrepair recordとして保持することがあります。Googleがterminal tokenを照会できる期間に合わせ、どちらもterminal expiryから60日後までに自動削除します。このrecordは権利復元に使用せず、上記PendingRefundReviewの31日hashとは別です。hashとmarker metadataも保持dataであり、匿名化済みまたは削除済みとは扱いません。
Androidでは、Firebase Adminによるuserとaccount作成時刻の再確認は、削除済みまたは再作成されたUIDに対する旧tokenを直ちに拒否します。削除完了時点ですでに認証を通過したserver requestからのwriteだけを拒否するため、削除済み認証世代のversioned HMAC markerを保持します。このmarkerにはメールアドレス、内部owner ID、Play外部ID、購入tokenを含めず、削除完了からVercel requestの最大実行時間300秒とserver clock-skew 30秒を合計した330秒後に自動削除します。HMAC markerも保持dataであり、「hashだから削除済み」または匿名dataとは扱いません。既に受領したchargeback reviewは、前記の回答成功/24時間と31日の各期限に従います。アプリを利用できない場合はブラウザ版の削除画面でログインと直前の本人確認を行えます。メールは操作支援に限り、メールアドレスだけを本人確認や削除承認には使用しません。
権限と通信
AndroidアプリはINTERNET permissionを要求し、インストール済みのiOS/Androidアプリはいずれも、アカウント認証、ICM有料プランの購入検証、無料枠カウント、アカウント削除のためにFirebaseおよびVercel上の開発者APIとHTTPS(TLS)で通信します。購読・利用状況APIにはFirebase ID tokenを送信し、Android版の購入検証ではGoogle Playの購入トークンと商品ID、iOS版では商品IDとApple(App Store)のトランザクションIDも送信します。開発者APIはApp Store Server API(Apple)またはGoogle Playの仕組みで購読を確認します。また、raw Firebase UIDをAppleへ渡さず取引とアカウントを対応させるため、Firebase UIDを名前空間付きSHA-256で変換したUUID形式のappAccountTokenをStoreKitへ渡します。VercelはAPI要求を処理する際にIPアドレス、User-Agent、日時、要求URLなどの標準的な要求情報を処理する場合があります。Upstash Redisには、検証済みUIDを基にしたアカウント識別子、無料利用回数、購読状態、購入識別子との紐付けを保存します。不正利用防止のレート制限では、IPアドレスとアカウント識別子を名前空間付きSHA-256で変換した値だけをUpstash Redisの短期キーに使用します。位置情報、連絡先、写真、カメラ、マイク、広告ID、広域storageなどの権限は要求しません。export用JSONはアプリ専用cacheから利用者が選んだ共有先へOSが渡し、開発者へ送信しません。importは利用者が選んだファイルだけを処理します。共有先アプリの処理や通信はそのアプリの方針に従います。
保持期間と削除方針
端末内の保存レンジ、ICMシナリオ、履歴、設定、復旧データは、利用者がローカルデータを削除するまで、別のFirebase UIDへ切り替えるまで、アカウントを削除するまで、またはアプリをアンインストールするまで保持します。書き出し・共有用cacheは、OSによるcache削除、同名ファイルによる上書き、またはアカウント削除まで保持される場合があります。Firebase Authenticationのメールアドレス、UID、認証情報はアカウント削除まで処理されます。Upstash Redisの無料利用回数、購読状態、購入とアカウントの紐付けには自動TTLを設定せず、アカウントが存続する間またはアカウント削除まで保持します。レート制限用のIP・アカウントハッシュは設定された短期の制限期間が終了すると自動失効します。Vercelが生成する運用・セキュリティログはVercelの契約、プロジェクト設定および保持方針に従い、Apple/Googleの取引記録は各ストアの法令・運営上の保持方針に従います。
Androidでは、上記のとおり、回答済みchargeback reviewのpending refund token一方向hashを31日間、terminal状態後のpurchase token hashとterminal state等のsecurity recordをterminal expiryから60日後まで、削除済み認証世代のversioned HMAC markerを削除完了から330秒後に、それぞれ自動削除します。これらはすべて保持dataとして扱い、一方向hashであることを理由に匿名化済みまたは削除済みとは扱いません。
公開Webページ
このページ、任意のWeb版、およびインストール済みiOS/Androidアプリが利用する開発者APIはVercelで提供します。ブラウザとインストール済みアプリのどちらからの要求でも、VercelはAPI・ページの提供、運用、セキュリティのためIPアドレス、User-Agent、日時、要求URLなどの標準的な要求情報を同社の方針に従って処理する場合があります。独自の解析Cookie、広告トラッカー、行動解析SDKは設置しません。
アプリ紹介ページ(https://icm-ap.vercel.app/lp/)では、ページ表示数とストアへのリンククリック数の計測にVercel Web Analyticsを使用します。この計測ではCookieを使用せず、氏名・メールアドレスなどの個人を特定する情報は収集しません。
共有、販売、用途
本アプリは、必須のアカウント認証とICM有料プラン管理のため、メールアドレス、Firebase UIDとID token、購入トークンまたはトランザクションID、appAccountToken、商品ID、購読状態を前述のとおり処理します。これらのデータを販売することはありません。利用者が明示的にexport先を選んだ場合を除き、本アプリがローカルデータを第三者へ送信することもありません。ポーカーの数学的分析を行う教育・分析ツールであり、リアルマネーの賭け、入出金、対戦、賞金の提供、賭博サービスへの送客を行いません。
セキュリティと変更
ローカルデータはOSが管理するアプリ専用領域に置きます。保存形式はスキーマバージョンを持ち、読み込めないデータは計算へ使用せず安全な初期状態へ復旧します。Firebase、Vercel、Upstash、Apple、Googleなどの委託先・プラットフォームについて、提供者の契約、サービス条件、セキュリティ情報および構成を確認し、適切な保護措置を適用します。各提供者による処理には、その提供者の契約・プライバシーポリシーも適用されます。データの扱いが変わる機能を追加するときは、公開前にこのポリシーとGoogle Play Data safety回答を更新します。
問い合わせ
Google Playストア掲載の「デベロッパーの連絡先」またはApp Storeの「Appサポート」、サポートページからお問い合わせください。