> For the complete documentation index, see [llms.txt](https://developer.eagle.cool/plugin-api/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://developer.eagle.cool/plugin-api/ja-jp/plugin-review/criteria/security-and-privacy.md).

# セキュリティとプライバシー

プラグインは、ユーザーが知らないうちに危険な操作、データ送信、システム状態の変更を行ってはいけません。審査では、ソースコード内の高リスクな動作と外部接続を確認し、それぞれが説明された用途に必要かを判断します。

システムコマンド、ファイル削除、ネットワーク要求があるだけで不合格になるわけではありません。正当な目的がない、ユーザーの想定を超える、必要な説明がない、またはユーザー、データ、ソフトウェア供給網へ許容できないリスクを与える場合に不合格となります。

## 危険な実行とシステム操作

特に次の動作を確認します。

* 文字列として表されたコードの動的実行。
* システムコマンド、子プロセス、外部アプリケーションの起動。
* ファイルの削除、上書き、移動、一括変更。
* EagleまたはOS設定の変更。
* インストール後に外部から実行可能コードをダウンロードする動作。
* 主要機能と無関係な高権限動作。

必要な動作である場合は、範囲を最小限にし、ストアの紹介文または実行前に影響を明確に説明してください。削除、上書き、元に戻せない変更では、ユーザーの明示的な確認を求め、可能であればプレビュー、キャンセル、復元手段を提供してください。

## 外部接続とデータフロー

ネットワークと第三者サービスを使用できますが、すべての接続先と送信データはプラグインの目的に一致する必要があります。次の点を確認してください。

* ユーザーが接続を合理的に予想できる。
* 外部サービスが説明された機能に必要である。
* 機能に必要な最小限のデータだけを送信する。
* プライバシーや主要な利用に重大な影響を与える外部処理を紹介文で説明する。
* 機密データを適切に保護し、URL、ログ、パッケージに含めない。

通常のドキュメント、サポートページ、信頼できるリソースへの接続は、それだけで危険とはみなしません。例えば、想定された方法でWebフォントを読み込むことは通常許容されます。ただし、一般的なサービスであっても、不要な個人データの送信に利用すれば安全ではありません。

## 特に注意が必要な接続

次の項目には、明確な目的と十分な保護が必要です。

* 暗号化されていない `HTTP` でのデータ送信。
* ローカル連携の説明がない `localhost`、ループバック、プライベートネットワーク、リンクローカルアドレスへの接続。
* URLに埋め込まれたアカウント、パスワード、Token、その他の認証情報。
* 欺瞞的なPunycodeドメインや通常ではないポート。
* 外部から読み込む実行可能スクリプト、動的モジュール、Worker。
* 不明な分析エンドポイント、第三者SDK、説明できないホスト。

未知のホストだけで悪意が証明されるわけではありません。ただし、説明できず影響の大きいデータ送信、リモートコード依存、異常な接続先は不合格理由となる場合があります。

## ユーザーへの説明、同意、データ最小化

機能に必要な権限だけを要求し、説明した方法でのみ動作してください。ユーザーデータを扱う場合は、次の原則に従ってください。

* 送信前にデータの種類、送信先、目的を説明する。
* 必要に応じてユーザーの明示的な同意を得る。
* 主要機能と無関係なデータを収集しない。
* ローカルで処理できる場合に追加の個人情報を送信しない。
* ユーザーの判断に影響する保存、支払い、第三者処理の条件を説明する。
* リスクに応じたキャンセル、無効化、削除方法を提供する。

## 主な不合格理由

* Eagle項目名、ローカルパス、ファイル内容を未開示の外部サービスへ送信する。
* 必要性や供給網保護なしにリモートコードを読み込んで実行する。
* 機密データを暗号化されていない接続で送信する。
* ユーザーに知らせずファイルを削除または上書きし、システム設定を変更する。
* 機能と無関係な高権限を要求する、または過剰なデータを収集する。
* 実際の認証情報、Token、非公開エンドポイントの鍵をコードやパッケージに含める。

まず不要な動作を削除してください。主要機能に必須である場合は、権限とデータ範囲を縮小し、適切な保護を追加し、インストール前と実行時に影響を明確に伝えてください。
