QR Send

スマホとPCのChrome間で、URLやテキストをQRコード1回のペアリングで送り合える自作Chrome拡張。アカウント不要・無料。

使ってみる →

Chrome拡張にscripting・host_permissionsを追加したら審査で何を聞かれるか(実体験)

個人開発

機能はできた。でも次の関門があった

Chrome拡張に新しい機能を足すと、大抵は権限が1つか2つ増えます。今回、自分の拡張にscripting権限と、特定のSNSドメインに限定したhost_permissionsを足す機会がありました。コード自体は数十行の追加で、ローカルでは普通に動きました。ただ、審査に出す段になって、いつもより入力欄が増えていることに気づきました。「動く機能ができた」の次に「権限を増やすと審査項目も増える」という現実が待っていたわけです。

何を足したのか

足したのは次の2つです。

"permissions": ["scripting"],
"host_permissions": ["https://example-sns.com/*"]
  • scripting: 特定ページに対して条件付きでスクリプトを注入するため
  • host_permissions: 対象を1つのSNSドメインだけに絞り、それ以外のサイトにはアクセスしない設計に

ここで大事なのは、対象ドメインを1つに絞ったことです。最初は「他のサイトでも使えた方が便利かな」と考えましたが、対象を広げるほど審査で説明しなければいけないことが増えます。使う予定のないドメインまで書いておくのは今回はやめました。

審査提出フォームで増えていたもの

いつもの提出フォームに加えて、今回は権限ごとの「正当化(Permission justification)」を書く欄が出てきました。scriptinghost_permissionsのそれぞれについて、なぜその権限が必要なのか、拡張のどの機能で使っているのかを短い文章で説明する欄です。

ここで空欄のまま出したり、テンプレ的な一言で済ませたりすると、審査側から見て「この権限は本当に使っているのか」が読み取れません。自分は「◯◯という機能のために、対象ページの特定の要素を読み取る目的でscriptingを使っている」というふうに、機能名と権限の対応を1文で書きました。公式の審査プロセスのページにも、審査担当は正当化欄・コード・プライバシー開示・ストア掲載情報をまとめて見る、という説明があります。

プライバシー慣行タブの説明文

もう1つ増えていたのが、プライバシー慣行(Privacy practices)タブです。ここでは「何のデータを収集するか」「そのデータをどう使うか」「第三者に渡すか」を聞かれます。host_permissionsを追加すると、この欄の重要度が上がる感触がありました。

自分が意識したのは次の点です。

  • 収集していないデータは正直に「収集していない」と書く。盛らない・隠さない
  • host_permissionsで見えるようになる情報があっても、実際に外部送信していないなら「サーバーには送っていない」と明記する
  • 拡張の機能説明と、プライバシー慣行タブの記述が矛盾しないようにする(機能説明には書いてあるのにプライバシー欄に書いていない、が一番怪しく見えるはずです)

プライバシーポリシーのURLも改めて求められたので、既存のページのリンクをそのまま使いました。ここは以前拡張を初めて公開したときの記事で用意したページがそのまま使えたので、瞬殺で終わりました。

host_permissionsはワイルドカードにしない

<all_urls>https://*/*のような広いhost_permissionsは、実装が楽な反面、審査側からすると「この拡張はユーザーのあらゆる閲覧履歴に触れられる」に見えるようです。今回は対象がSNS1サイトだけだったので、ドメインを具体的に書くだけで済みましたが、複数サイトに対応する拡張だと、この絞り込みがそのまま説明のしやすさに直結するだろうな、と感じました。

(このあたりは拡張の種類によって最適な絞り方が変わるはずなので、汎用の正解があるわけではなさそうです)

審査結果について正直に書いておくと

ここまで書いておいて何ですが、この記事の時点では審査の結果はまだ出ていません。権限が増えた分だけ人による確認が入りやすくなる、という話はいくつかの解説記事でも見かけましたが、実際にどれくらい時間がかかるかは自分の環境でもまだわかりません。差し戻しがあれば、その内容も含めて別の記事で追記しようと思います。

また、審査の細かい基準はGoogle側の運用次第で変わっていくところなので、この記事の内容も「執筆時点でこうだった」という実体験として読んでもらえればと思います。最新の正式な基準は必ずChrome Web Store Developer Program Policiesの方で確認してください。

おわりに

権限を1つ増やすだけでも、審査フォームの記入項目は思ったより増えます。ただ、やることは特別難しくはありません。「使っていない権限を書かない」「使っている権限は機能と紐づけて説明する」「プライバシー慣行タブと機能説明を矛盾させない」の3点を守るだけで、説明に詰まる場面はかなり減る印象でした。次に新しい権限を足すときも、この順番で準備しようと思います。

コメント

タイトルとURLをコピーしました