Firefox ユーザーの安全と権利を守るために、Mozilla はすべてのアドオンに現実的なポリシーを守ることを要求しています。適用されるポリシーの正確な範囲は個々の状況により異なり、その環境で最も重要なことはアドオンが addons.mozilla.org (以降 AMO)にホストされるかどうかとアドオンの世の中への配布方法によります。

この文書はアドオンの種別ごとに従うべきポリシーの概要を示します。アドオンの種別に関わらず、これらのポリシーは AMO によるレビュープロセスの中と、Firefox の必須のコード署名チェックの中で実行されます。

アドオンレビュートラック

AMOに掲載

AMO に掲載されるアドオンは人手によるレビューを受ける必要があります。レビュー承認前のアドオンは掲載されているページの URL を知っている人だけがアクセスできます。レビューで承認されると、アドオンのスクリーンショット、説明文、ユーザレビューの情報も含めて一覧にした一般公開ページを持ちます。検索結果、コレクション、時折実施されるプロモーションの中にも表示されるようになります。既存ユーザは自動的に AMO に公開された新しいバージョンの通知を受け取るようになります。掲載されるアドオンは機能テストに加えて、コード全体のレビューを受けることがあります。こうしたアドオンは高品質バーに保たれます。

非掲載

非掲載アドオンも配布前に AMO にアップロードされる必要がありますが、アップロードされないと公開サイト上でアクセスすることは出来ません。これらのアドオンの配布は公開者によって行われる必要があります。配布方法によって、非掲載アドオンは完全に自動化されたレビューを受け、署名後にコードレビューを受ける可能性が有ります。

このアドオンが自動的に署名された時、掲載アドオンと同様な基準に保たれます。主な違いとして、自身で更新を管理せねばなりません。

ポリシー

各アドオンレビュートラックに適用される主要なポリシーの概要は下表のとおりです。ポリシーの詳細はページ下部で説明します。各レビュートラックの以下のシンボルはアドオンに対して適用される要件を表しています。

  このレビュートラックではこの要件は対象外
このレビュートラックのアドオンはこの行為を行うことは禁止されています。
このレビュートラックのアドオンはこの要件を満たす必要が有ります
  掲載 非掲載
セキュリティ  
ユーザのデータ、システムやオンラインアイデンティティへの危害を引き起こすこと
セキュリティ脆弱性を作る、または露出させること
アプリケーション/アドオンのアップデートシステムやブロックリストの改竄
リモートコードの実行¹  
HTTPS サイトのセキュリティを低下させること
ユーザの同意なしに追加のアドオンやシステムアプリケーションのインストール  
独自のアップデートメカニズムを含めること  

プライバシーとユーザ同意

 
ブラウザやウェブコンテンツの予期出来ない変更を行うこと
ユーザにアドオンによる変更を復元出来ないようにすること
アドオンマネージャにアドオンを表示されないようにすること
無効化やアンインストールを出来ないようにすること
保護されていないリモートサーバへの機微情報の送信
プライベートブラウジングウィンドウの閲覧データの保存  
プライベートブラウジングウィンドウのウェブコンテンツへの個人識別情報の漏えい  
ユーザ同意なしの Firefox の設定の変更  
全てのユーザデータの扱いをプライバシーポリシーに明示  
ユーザ体験  
コアアプリケーション機能の破壊または無効化
アドオンの無効化やアンインストール後にも残る変更を加えること
使いやすさと一貫したユーザ体験の提供  
アドオンのコア機能の使用に支払いを要求すること(最初からでも試用後でも)  
内容  
Mozilla の 利用条件 への抵触  
社内で使用、テスト、個人的に使用することを意図すること    
技術  
全ソースコードのレビュアへの開示 ²
未検証のサードパーティのコードライブラリやフレームワークの利用  
明らかなコーディングエラーを含むこと  
他の行儀の良いアドオンとコンフリクトを起こすこと³  
パフォーマンスや安定性の問題を起こすことが知られている API の利用  
¹ リモートコードはコードが実行されるのと同一オリジンのdocument内や、限定した環境下で注意深く作られたサンドボックス内で実行されるかもしれません。リモートコードは特権コンテキストで実行されない場合もあります。
² 非掲載のアドオンは要求に応じてソースを提供せねばなりません。アドオンが自動的な署名検証に通らずにレビュー用に投稿された場合、ソースはすぐに提出すべきです。明示的な要求に対して自動的に署名するアドオンのソースが提供できないと、アドオンのブロックに繋がります。
³ すべてのアドオンが、その他すべてのアドオンと衝突しないのは不可能かもしれません。生まれつきに横並びで動作できないアドオンは、衝突を許されます。技術的に稚拙な実践で衝突するものは許されません。
⁴ パフォーマンスや安定性の理由から廃止予定となった API (DOM変形イベントリスナー、同期 XMLHttpRequests、Storage API 呼び出しを含む) やメインイベントループへの再エンターはアドオンで使うべきでありません。これは許可された環境で、他の手段が実用的でなかった場合に許可されたり、周期が優しくてこんな例外がほぼない場合に許可され、一般的には API は当然回避すべきです。
⁵ 全ソースコードを別々に提出することは、アドオンが難読化、最小化、JavaScript ソースコードを生成するトランスコンパイラを使ったり、実行可能なバイナリーファイルを含んだり、システム実行可能ファイルやライブラリーを含む場合に要求されます。難読化を再現するために必要な手順とツールも要求されえます。人間が読める JavaScript を含むアドオンは別々のソースコード提出は要求されません。
⁶ ユーザーはアドオンマネージャーのインターフェイス経由でアドオンを無効化、アンインストールできねばなりません。アンインストールの別の手段、例えばシステムレベルのアンインストーラーで、アドオンマネージャーのインターフェイスを妨げるものは、この要求を満たしません。

セキュリティ

通常のウェブページと比較してアドオンは昇格した権限の環境で実行されるため、とても深刻なセキュリティの考慮事項を表面化させます。アドオンはアドオン自身のみならず、ブラウザーやウェブページそして最悪の場合ブラウザが実行されているシステム全体にあるセキュリティホールを顕在化させる可能性が有ります。そのため、私たちはセキュリティポリシーをとても深刻に捉えています。そして AMO にホストされているかどうかに関わらずほとんど全てのアドオンに適用しています。私たちは全てのアドオンがアドオン自身のデータとユーザーのデータの扱いだけでなく、やりとりするウェブ、ブラウザーそしてオペレーティングシステムがセキュアであることを期待しています。

プライバシーとユーザーの同意

ユーザーの権利とプライバシーは、極めて真剣に受け止めています。AMO にてホスティングされるか否かにかかわらず、全てのアドオンに、ユーザーの選択を尊重してプライバシーの合理的な期待に従うことを要求します。特に、設定変更を永久に不可能に (例えばホームページや検索エンジン) したり、アンインストールを妨げたり、ユーザーから存在を隠したり、UIカスタマイズにて永久に削除できないツールバーボタンなどの UI をインストールするなど、ユーザーの管理内に制限されていないアドオンのことです。

広告やアクティビティトラックなどのフォームは、プライバシーやセキュリティの影響によって、その機能がアドオン動作に必要かどうかによって、オプトインや、少なくともオプトアウトが必須になります。これらはアドオンの意図する機能とは無関係な、追加のマネタイズ機能であるため、一般的に掲載アドオン用にはオプトインが必要で、非掲載にはオプトアウトが要ります。訪問した全URLを集めるようなトラッキングフォームは、非掲載のアドオンであっても許可されません。これらの機能の有効化/無効化の決定と、その実装はユーザーにとって明確に表現されていなければなりません。

ユーザー体験

全てのアドオンがユーザーのブラウザー体験を著しく損なうことのないように動作するのを期待しています。アドオンは特に、ブラウザーのパフォーマンスにとって不利な影響を与えたり、組み込み機能を壊したり、ユーザーインターフェイスを壊したりしてはなりません。AMO に掲載されるアドオン用に、アドオンの全機能が、一貫して一般的にポジティブなユーザー体験を与えるのを同様に期待しています。

コンテンツ

世に出るアドオンの機能タイプを管理するのには興味ありませんが、addons.mozilla.org でホストできない特定種類のコンテンツがあります。特に、このサイトでホストされる全コンテンツは米国の法律に従い、Mozilla 利用条件に適合していなければなりません。

技術的

我々は、開発者が維持することにした自由を妨げないよう、できるだけの事を試みます。しかしながら、セキュリティの理由やコードレビューの実効能力のため、技術的な要求を持っています。特に危険となる可能性のあるAPI、例えば HTML や JavaScript を評価するものは、確実に安全な方法で使われなくてはならず、安全かつ正しく動作すると検証できないコードは、リファクタリングが必要となります。

ソースコードの提出

掲載されるアドオンもそうでないものもバイナリーや、難読化されたり最小化されたソースコードを持つ場合がありますが、Mozilla はリクエストにより人間が読める形のソースコードのコピーをレビューできなければなりません。このような場合、作者は Mozilla からレビューの補助の依頼のメッセージを受けるでしょう。提出されたソースコードは管理者によってレビューされ、いかなる方法でも再配布されません。コードはアドオンのレビューのためだけに使用されます。

難読化の再現方法も必要です、すばやいレビューを保証するためにガイドラインの詳細を読んでください。

アドオンに所有していないコードを含んだり、ソースコードを入手できない場合、 どう進めるための情報を得るために我々に連絡しても良いです。

レビュアー

アドオンは AMO レビュアーチーム (アドオンをレビューしてユーザーに安定して安全な体験を保証することで Mozilla プロジェクトを助けようとする経験豊富なアドオン開発者グループ) によってレビューされます。レビュアーガイド に、レビュアーがレビュー用に投稿されたアドオンをどう評価するのかが載っています。これは上に載っている表を展開したものになります。開発者はレビュープロセスが更新されるとeメールを受け取るでしょう。レビュー時間はレビュアーの能力とレビュー対象のアドオンの複雑さによって、変動するかもしれません。通常のレビュー列のステータス更新は Add-ons Blog に投稿されます。

ブロックリスト

非掲載の制約を満たさないアドオンは、問題の度合いによっては、ブロックリストに判定されるかもしれません。アドオンチームはアドオン開発者に連絡して、ブロックされる前に問題が訂正されるような合理的な時間枠を提供するのに最善を尽くします。アドオンが悪意のあるものとみなされたり、開発者に連絡が着かなかったり返事がなかったり、違反を繰り返すような場合は、ブロックリストへの掲載が素早く行われるかもしれません。

ガイドライン違反は Bugzilla 経由で報告されるべきで、これは Tech Evangelism > Add-ons の下から行われます。質問は #addons IRC チャンネル に投稿できます。

ドキュメントのタグと貢献者

 このページの貢献者: Uemmra3, kenichisak
 最終更新者: Uemmra3,