メインコンテンツに移動

検証済み保護者リンク(VPL)

検証済み保護者リンク(VPL)は、プレイヤーが自分の保護者をプロダクトに招待できるようにする仕組みです。保護者が本人確認を完了すると、それ以降そのプレイヤーのコントロール(例えばスクリーンタイム)を確認し設定できるようになります。

VPLとは?

検証済み保護者リンクは、すでにプロダクトの利用を許可されているプレイヤーと保護者のあいだに見守りの関係を確立するものです。始めるかどうかはプレイヤーが決めます。プレイヤーがフローを開始し、保護者が承諾したかどうかにかかわらずプロダクトは動作し続けます。保護者を待つこともありません。これが同意との違いです。

ゲートではなくリンク

この違いが機能全体を規定するため、はっきり述べておきます。

検証可能な保護者の同意(VPC)ゲートです。プレイヤーが許可されていない操作に到達するとアクセスがブロックされ、信頼できる大人が承認するまで先に進めません。これはデータ処理に対する法的な同意です。

VPLはリンクです。保護者を待つこともなく、同意も与えられません。VPLが確立するのは法的な関係ではなく、見守りの関係です。

VPCVPL
正式名称検証可能な保護者の同意検証済み保護者リンク
きっかけサインアップ時にアクセス年齢未満である、またはGUARDIANが管理する機能に到達するプレイヤーが自分の保護者を招待することを選ぶ
開始する人保護者。その間プレイヤーは待機するプレイヤー。保護者はまだプロダクトと関係がない
法的な位置づけデータ処理に対する同意(COPPA、GDPR-Kなど)見守りの関係であり、データ処理に対する同意ではない
強さ強い。承認されるまで機能またはプロダクトがブロックされる弱い。なくてもプロダクトは完全に動作する
書き込む対象同意された権限のenabledの値アローワンスとスクリーンタイムなどのコントロール別の状態。権限には書き込まない
既定の状態承認されるまでブロック未リンク。招待はオプトイン
challenge.typeCHALLENGE_PARENTAL_CONSENTまたはCHALLENGE_SESSION_UPGRADECHALLENGE_PARENT_INVITE
呼び出すエンドポイント/age-gate/checkのあと/challenge/send-email、または/session/upgrade/age-gate/checkのあと/challenge/invite-parent

VPCとVPLは相互に排他的

important

VPCが何らかの形で適用されうるプレイヤーには、VPLは提供されません。

セッションがVPLの対象になるのは、次の両方が満たされる場合だけです。

  • プレイヤーがその管轄区域のアクセス年齢以上であり、/age-gate/checkPASSを返してセッションが作成されている。
  • そのセッションのどの権限も、プレイヤーの管轄区域と年齢においてmanagedBy: GUARDIANではない。

したがって、VPCが発動しうるケースはすべてVPLが拒否されるケースです。以下の表がその一覧です。

プレイヤーの状況VPCの挙動VPLが利用できない理由
管轄区域のアクセス年齢未満/age-gate/checkCHALLENGE_PARENTAL_CONSENTチャレンジを伴うCHALLENGEを返し、セッションは作成されないセッションがなければ保護者を招待する対象が存在しないため、/challenge/invite-parentには到達しない
アクセス年齢未満でデータライトモードが有効同じCHALLENGEレスポンスにchildLiteAccessEnabled: trueが付き、同意の完了を待つ間に独自の安全な既定体験でプレイヤーを受け入れる手がかりになるやはりセッションがないため、招待には到達しない
アクセス年齢以上だが、セッションにGUARDIAN管理の権限があるその権限がロックされた状態でセッションが作成され、プレイヤーがその機能に到達したときに/session/upgrade経由でVPCが発動する招待はFEATURE_DISABLEDで拒否される。呼び出す前にセッションのpermissions[]を読んで自分で確認できる
その管轄区域と年齢ではプロダクトが禁止されている/age-gate/checkが拒否するセッションがない

実際には、VPLが当てはまるのは、設定されている管轄区域にGUARDIAN管理の権限が存在しないプロダクトです。

1つのプロダクトが、プレイヤーごとに両方のフローを使うことも可能です。プロダクト単位の切り替えはなく、どちらのフローが適用されるかは、プレイヤーの管轄区域、年齢、プロダクトの権限セットからセッションごとに導かれます。一部の管轄区域にだけGUARDIAN管理の権限があるプロダクトでは、前者のプレイヤーはVPCを通り、後者のプレイヤーはVPLの対象になります。

リンクが与えるものと与えないもの

保護者がリンクされると、フロー中に保護者が設定した内容がセッションに保存されます。

  • アローワンスGET /session/getでセッションとともに返されます。
  • コントロール別の状態(例えばスクリーンタイムのスケジュール、つまり1日の制限、静かな時間、休憩リマインダー)はGET /screentime/get-stateで返されます。

適用するのはあなたの責任です。k-IDは保護者が設定した状態を報告し、プロダクトがそれに従って動作します。

VPLがpermissions[]の許可内容を変えることはありません。値は年齢ゲートの時点のまま変わりません。プレイヤーに何を許可するかを変えるのはVPCだけの領域だからです。

なおmanagedByは、どちらのフローも書き込む値ではありません。これはプレイヤーの年齢と管轄区域の設定からレスポンスごとに導出されるため、同意が完了しても切り替わらず、プレイヤーが年齢を重ねることで自然に変わることがあります。実際に変わるものについては権限を参照してください。

セッションとkuid

/age-gate/checkから受け取るsessionIdは、プロダクト上の1人のプレイヤーを指すあなたの恒久的なハンドルです。リンク、リンク解除、再リンクをまたいで変わりません。自分のユーザーレコードはこれをキーにしてください。

kuidは、セッションが紐づく永続的な子どもプロファイルを指すk-IDの識別子です。k-IDは保護者がリンクを完了した時点でこれを割り当て、あとでリンクが解除されるとセッションから消去します。したがってkuidが存在することは、そのセッションに保護者がリンクされていることを意味します。

段階sessionIdkuidセッションの状態
年齢ゲートのみ(初回)新規。以後は不変なしmanagedBy: PLAYERhasApproverEmail: false
保護者がリンク同じ割り当てられ、Challenge.StateChangeウェブフックで届くhasApproverEmail: true
リンク解除後同じクリアされるセッションはACTIVEのまま。権限と送信済みデータは保持される
再リンク同じ同じプロファイルのkuidが戻るセッションと送信済みデータは継続するが、保護者は何もない状態から始まり、コントロールを設定し直す

プレイヤー1人につきセッションは1つとし、それを再利用してください。同じプレイヤーに2つ目のセッションを作ると、そのプレイヤーのデータが両方に分かれてしまいます。

提供状況

k-IDに連絡して、この機能を組織で有効化してもらってください。

次のステップ