アプリとゲーム
Discordボットのプライバシーポリシーの書き方
Discordの開発者向け利用規約(Developer Terms of Service)は、ボットを含むすべてのアプリケーションに対し、収集するデータ、その利用と共有の方法、利用者が削除を請求する方法を明確に説明したプライバシーポリシーを用意し、それに従うことを求めています。Developer Portalに公開された最新のリンクを維持し、ボットから簡単にアクセスできるようにする必要があります。ポリシーは、ボットが実際に保存するものと一致していなければなりません。
Discordボットはどんなデータを処理するのか
まず、ボットが実際に何を受け取り、何を保存しているかを書き出しましょう。一般的な一覧は次のようになります。
- ユーザーのデータ:ユーザーID、ユーザー名、表示名、アバター、サーバー内のロール
- サーバーのデータ:ギルドID、チャンネルID、ロールID、ボットが保存するサーバー設定
- メッセージ内容:アクセス権がある場合に、ボットが読むテキスト、埋め込み、添付ファイル
- コマンドとインタラクション:スラッシュコマンドの入力、ボタンのクリック、セレクトメニューの選択
- あなたが作る機能のデータ:XPとレベル、警告とモデレーションのログ、経済システムの残高、リマインダー、チケット
- ダッシュボードのデータ:Discord OAuth2を使ったWebダッシュボードを運営している場合、identifyやemailなど、要求するスコープの対象となるデータ
- 運用データ:IDやメッセージのテキストを含むことがある、エラーログ、レート制限のログ、ホスティング事業者のログ
- 決済:プレミアム機能を販売している場合、サブスクリプションの状態と決済代行会社からの記録
各行について、コマンドに応えるためにメモリ内で処理するだけか、データベースに保存するか、そしてどれくらいの期間かを記録します。その違いが、保存期間のセクションとDiscordの削除ルールの両方を左右します。
Discordボットにプライバシーポリシーは必要か
必要です。Discord開発者向け利用規約の第5条(User Privacy and Security)は、アプリケーションについて、適用されるプライバシー法に準拠し、収集するデータ、それをDiscordや第三者とどう利用・共有するか、利用者が削除を請求する方法を明確、正確かつ完全に説明したプライバシーポリシーを用意し、それに従うことを定めています。同じ条項は、Developer Portalにプライバシーポリシーへの公開された最新のリンクを維持し、アプリケーションから利用者が簡単にアクセスできるようにすることも求めています。
Discordは、従うべき法律として、GDPRとePrivacy指令、UK GDPR、ブラジルのLGPD、カリフォルニア州のCCPAとCPRAなども挙げています。これらの法律が関係するのに、ボットの規模は関係ありません。いくつかの欧州のサーバーで使われているモデレーションボットでも、すでにEU居住者の個人データを処理しています。
開発者が驚くもう1つの点があります。Discordは、プライバシーポリシーが開発者規約に優先したり矛盾したりしてはならず、矛盾がある場合は規約が優先するとしています。つまり、Discordのルールが禁じるデータについて、ポリシーで自分に権利を与えることはできません。以降のセクションで、それが実際に何を意味するかを説明します。
メッセージ内容と特権インテント
メッセージ内容は、ほとんどのボットが扱うデータの中で最もセンシティブなものであり、Discordもそれに応じた扱いをしています。Discordのゲートウェイのドキュメントによると、MESSAGE_CONTENTは、content、embeds、attachments、components、pollsなど、API全体のメッセージ内容のフィールドへのアクセスを制御する特権インテントです。
Discordのドキュメントによると、このインテントがない場合、アプリはこれらのフィールドで空の値を受け取りますが、いくつかの例外があります。
- アプリ自身が送信したメッセージ
- アプリとのダイレクトメッセージ
- アプリがメンションされたメッセージ
- メッセージのコンテキストメニューコマンドが使われた対象のメッセージ
アクセスのルールは時とともに変わってきたため、それを前提に計画する前にDiscordのヘルプセンターの最新記事を確認しましょう。執筆時点では、ユーザー数が10,000人未満のアプリはDeveloper Portalで特権インテントを有効にでき、10,000人に達したアプリは継続してアクセスするために審査が必要だとされています。これとは別に、Discordの認証に関する記事は、アプリが100サーバーを超えて拡大するには認証が必要だとしています。
プライバシーポリシーにとっての実務上のポイントはシンプルです。ボットがメッセージ内容を読むかどうか、その理由、その一部でも保存するかどうかを記載することです。代わりにスラッシュコマンドで機能を作れるなら、収集するものが減り、説明することも少なくなります。
ポリシーが尊重すべきDiscordのデータ利用ルール
Discordの開発者ポリシーにはHandle Data with Careというセクションがあり、プライバシーポリシーが矛盾するのではなく反映すべき制限を定めています。主に次のことが禁止されています。
- 集計データや匿名化されたデータを使った改善を除き、アプリケーションの表明された機能に必要な範囲を超えてAPIデータを使うこと
- APIデータを使ってDiscordのユーザー、その身元、その関係をプロファイリングすること
- 13歳未満または居住地の法律が定める最低年齢未満の人のAPIデータや、Discordの規約が認める場合を除く健康や金融の情報などのセンシティブな情報を取得すること
- APIデータをデータブローカー、広告ネットワーク、その他の収益化に関連するサービスに開示すること
- APIデータを販売、ライセンス供与、その他の方法で商業化すること
- Discordが明示的に許可しない限り、APIを通じて取得したメッセージ内容を、大規模言語モデルを含む機械学習やAIモデルの学習に使うこと
Discordはまた、開発者規約に記載のとおり、APIデータへの不正アクセスの可能性がある場合に、Discordと影響を受ける利用者に通知することを開発者に求めています。
目的は限定的かつ具体的に書きましょう。「モデレーターがそのサーバーでのメンバーの履歴を確認できるよう警告を保存します」は、「サービス向上のためにデータを利用します」よりも明確で安全です。
ホスティング、データベース、AIの提供元との共有
開発者規約の第5条(b)は、APIデータを第三者と共有することを限られた場合にのみ認めています。サービスプロバイダーと共有する場合、法律で求められる場合、利用者が自分のデータの共有を明示的に指示した場合です。サービスプロバイダーを使う前に、Discordは、提供者によるデータの利用をあなたのための利用に限り、それ以外の目的には使わせない書面の契約を求めています。
あなたのボットにも、ほぼ確実にサービスプロバイダーがいます。よくあるものは次のとおりです。
- VPSまたはクラウドのホストと、マネージドデータベース
- エラー追跡やログのサービス
- プレミアムプランのための決済代行会社
- メッセージのテキストを使って要約、翻訳、質問への回答を行うAIのAPI
ポリシーでは、これらの提供元の名称、少なくともそのカテゴリーと所在地を記載し、それぞれがどのデータを受け取るかを説明しましょう。メッセージ内容をAIの提供元に送信する場合は、はっきりとそう記載し、提供元があなたのAPIの通信をモデルの学習に使わないことを確認し、メッセージ内容での学習を禁じるDiscord自身のルールも忘れないでください。モデル提供者と保存期間の説明方法については、AI製品のプライバシー開示のガイドで解説しています。
EUや英国からほかの地域の提供元にデータを移転する場合は、ポリシーで国際的な移転についても触れましょう。
保存期間、削除請求、セキュリティ
Discordは削除について異例なほど具体的です。法律で保存が求められる場合を除き、開発者規約は、表明された機能にAPIデータが不要になったとき、アプリケーションの運営をやめたとき、Discordから求められたとき、利用者から求められたとき、法律で求められたときに、APIデータを速やかに削除しなければならないとしています。また、利用者が自分のAPIデータの変更と削除を求めるための簡単にアクセスできる方法を用意することも求めています。
ボットでは、たとえば次のような方法が考えられます。
- 確認のステップ付きで、利用者の保存データを削除するスラッシュコマンド
- ポリシーに記載したサポートサーバーまたはメールアドレス
- ボットを削除したサーバーのデータを、記載した期間の後に自動的に削除する仕組み
ポリシーでは、データの種類ごとに保存期間を記載しましょう。たとえば、モデレーションのログはサーバーの管理者が削除するかボットがサーバーから退出するまで保存し、エラーログは決まった日数だけ保存する、といった具合です。
セキュリティについて、第5条(c)は、保存データの暗号化や管理的・物理的・技術的な保護措置を含め、APIデータを保護するための商業的に合理的な努力と、インシデントについてのDiscordへの速やかな通知を求めています。ポリシーでは短いセキュリティの段落で、約束しすぎることなくこれらの対策を説明しましょう。
Discordボットのプライバシーポリシーのリンクはどこに置くか
Discordが求めているのは2つ、Developer Portalでの公開された最新のリンクと、アプリケーションからの簡単なアクセスです。実際には次のようになります。
- Developer Portal:アプリケーションの設定にURLを追加し、Discordと利用者が想定する場所に表示されるようにする。
- ボット内:リンクを返すprivacyやaboutのようなコマンドを用意し、helpコマンドでも触れる。
- Webサイトや掲載ページ:ボットのリスティングページ、ランディングページ、サポートサーバーの案内チャンネルからリンクする。
リンクは、誰でもログインせずに読める本物のWebページを開くものでなければなりません。Discordサーバーのピン留めメッセージは一般公開されておらず、権限が変わる文書は予告なく見られなくなることがあります。
ボットのWebサイトがない場合は、プライバシーポリシーのURLを用意する方法をご覧ください。作成ツールのホスティングページを含め、ホスティングの選択肢を比較しています。ボットの運営期間中は同じURLを使い続け、機能が変わったら内容を更新しましょう。
Discordボットの利用規約も必要か
多くのボット開発者はプライバシーポリシーと並べて利用規約も公開しており、両者の目的は異なります。プライバシーポリシーはデータで何をするかを説明し、利用規約は、許容される使い方、プレミアムのサブスクリプションと返金、提供状況、責任の制限、悪質な利用者やサーバーをブロックする権利など、ボットを使うためのルールを定めます。
Discordの開発者ポリシーは、アプリケーションに関する問題や違反を利用者が報告できる方法を用意し、その報告を確認して適切な措置を取ることも求めています。プライバシーポリシーに記載するサポートサーバーやメールとあわせて、報告の仕組みを説明するには利用規約が適した場所です。
プレミアム機能を販売しているなら、利用規約はさらに重要になります。請求、解約、ボットがサーバーから削除された場合のプレミアム特典の扱いを説明すべきです。役割分担についてはアプリの利用規約とプライバシーポリシーと利用規約の違いのガイドで解説しており、アプリ向け利用規約作成ツールを使えば回答から利用規約の草案を作成できます。
Discordボットのプライバシーポリシーを生成する
ボットのプライバシーポリシーは、アプリ向けプライバシーポリシー作成ツールで作成できます。アプリケーションの用途を選び、保存する識別子やメッセージ内容、ホスティングとデータベースの提供元、AIのAPI、プレミアム機能の決済、保存期間、利用者がいる地域について、データを正直に説明しましょう。Discordボットの利用者はEU、英国、米国、ブラジルに広がることが多く、これはDiscord自身が挙げる法律とも一致します。
質問票、完全なプレビュー、シンプルなHTMLとPDFのダウンロードはアカウント不要で無料です。条項はバージョン管理されたライブラリから取得され、回答から決定論的に選択されるため、ポリシーにはあなたが確認したことだけが記載されます。GDPR、英国、カリフォルニア州、ブラジルのLGPDなどの高度な地域別モジュールは$5で、任意の公開ホスティングは1回限りで$0.99が追加され、Developer Portalに貼り付けられる公開ページが手に入ります。
生成した後は、文章をDiscordのルールと比較しましょう。開発者ポリシーが禁じる利用をポリシーが説明しているなら、文言だけでなくボットそのものを変えてください。生成された文章は回答を反映したものであり、法的助言ではありません。
よくある質問
Discordボットのプライバシーポリシーはどこに追加すればよいですか?
Discordの開発者規約がそこに公開された最新のリンクを求めているため、Discord Developer Portalのアプリケーションの設定にURLを追加しましょう。そのうえで、privacyやhelpのコマンドなどを通じてボット自体から簡単にアクセスできるようにし、Webサイトやサポートサーバーからもリンクしましょう。
Discordボットはメッセージ内容を保存してもよいですか?
ボットの表明された機能に必要で、メッセージ内容へのアクセス権があり、プライバシーポリシーにそう記載している場合に限られます。Discordの開発者ポリシーは、APIデータの利用をその機能に限定し、Discordの明示的な許可なくメッセージ内容でAIモデルを学習させることを禁じています。保存は最小限にし、保存期間を定めましょう。
自分のサーバーだけで使う非公開のボットにもプライバシーポリシーは必要ですか?
Discordの開発者規約はAPIを使うアプリケーションに適用され、プライバシーポリシーの要件を公開ボットに限定していません。ボットがほかのメンバーのデータを処理するなら、何を保存し、どう削除を請求できるかを説明した短いポリシーを用意するのが安全な方法で、公開にかかるコストもわずかです。
Discordのメッセージを使ってAIモデルを学習させてもよいですか?
許可なしにはできません。Discordの開発者ポリシーは、Discordが明示的に許可しない限り、APIを通じて取得したメッセージ内容を、大規模言語モデルを含む機械学習やAIモデルの学習に使ってはならないとしています。機能のためにメッセージをAIのAPIに送信する場合は、提供元がそのデータで学習しないことを確認しましょう。
利用者からデータの削除を求められたら、ボットは何をすべきですか?
法律で保存が求められる場合を除き、利用者の保存済みAPIデータを速やかに削除し、完了したら確認の連絡をしましょう。Discordの開発者規約は、変更と削除を請求するための簡単にアクセスできる方法を求めているため、コマンド、サポートサーバー、メールアドレスのいずれかを用意し、ポリシーで説明しましょう。
このガイドで確認した公式情報源
プラットフォームのルールや法令は変更されることがあります。公開前や重要な判断の前に、最新の条文を確認してください。