Chrome Web Storeから拡張機能が削除されてしまい、酷い体験だった

#概要

公開していた拡張機能(利用者はたまに変動するけどほぼ自分のみ)がChrome Web Storeから削除された。2019年2月から2件公開しており、まず1件だけ削除され、問い合わせているうちにもう1つも削除された。1つはまだ復活していないんだけど「メールに返信したら反応があった」という情報等は共有する価値がある、ということで書いた。要点はこうなる。

* 削除されたときのメールタイトルは「Chrome Web Store: Removal notification for 拡張機能の名前」
* 削除の前に警告メールが来るらしい(が、来ていないしいつ送ったかも言わない)
  * 「警告メールが来ていないのだから削除は不適切だ」と述べたがスルーされた。
  * **結局ストアから削除したまま話を進めてくれた**
  * 警告メールは来ないと思っていた方が良さそう。
* 警告後の猶予期間は7日であったらしい
* 場合によってはGMail等他のサービスごとアカウント削除される
* 何が規約・ポリシーに違反しているのか全然分からない
* **「返信してよい」と書いてあり、実際やってみると返事をもらえた。**
  しかも1日も経たずに返事が来たので驚いた。
* 現在1つ復活したが、**結局何だったのか分からない。虚無なので、何か得られると期待せずにやり取りすればいいと思う。まったく虚しい**
* 復活を告げるメールから、今回のサポートについて評価できるようになっていた。4/5にした。コメントも書いた。
* 削除されている間に利用者が1減った

##追記 もう1件もストアに復活したが酷かった

* もう1件については「ダイレクトに書け」「スクショでデモンストレートしろ」と言われた
* 「やっている、機能は1つずつ書いてある。これはダイレクトではないのか？」「主な機能はスクショにならないし、できる部分はやってる、十分ではないか？」と返した
* 結局**「スクショの画像をもっとくっきりさせろ」**と言ってきて、**じゃあそれを最初から言えばいいし、説明がブランクとか余計なことを言うべきでないし、そもそもそんなことでストアから削除するのがおかしい**
* ストアには復活した
* 復活を告げるメールはないので、サポート評価できなかった。
 
以下、返事を待ちながら書いていたメモで、結局虚無なので上記要点だけ読めばいいです。

##追記2

これを書いたときは困惑していたし頭に来ていたが、落ち着いてみると運営からは具体的な問題点を伝えられないだろうと思い直した。下記の漫画作者によるツイートを思い出した。

> [2018-12-14 17:02 友吉＠ヮ＜)ﾉコミティア「れ-25a」](https://twitter.com/tomokity/status/1073488504607277057): ジャンプルーキーに関しては「六芒星がNG」ということに気づくまで、ひたすら性的描写の修正を繰り返して再投稿し続けてました。 汗を減らしたり、描き文字の雰囲気を変えたり、おっぱいにモザイク入れたり。 最終的に、編集部からの「もっと視点を変えてみて！」というヒントで六芒星に気づけました。
> [2018-12-14 17:12 友吉＠ヮ＜)ﾉコミティア「れ-25a」](https://twitter.com/tomokity/status/1073490856231854080): 具体的に伝えると、それがのちのちの「抜け道」とか「お墨付き」を与えてしまうこともあるかもしれないので、法律や規約に関するガイドラインって具体的にどこがどう不適切なのは指摘できない仕様なんじゃないかなーと感じました。

警告メールが来ていないことと、ストアからの削除を継続したことには依然として腹が立つが、見えていなかった点があったことを反省した。

##追記3

このツイートを見た。

> [2020-01-03 Catalin Cimpanu](https://twitter.com/campuscodi/status/1213061496965607427): I see the Chrome Web Store staff is as bad at their job in 2020 as they were in 2019  They're still delisting legitimate extensions while malicious ones hang around for weeks and are only taken down after I publish an article about it in ZDNet.  [URL](https://github.com/dessant/search-by-image/issues/63)

「Search by Image」という拡張機能の作者が大変な目に何度もあっているようで、同様のやり取りが沢山記載されている。

[2020-01-03 Search by Image update rejected from the Chrome Web Store · Issue #63 · dessant/search-by-image](https://github.com/dessant/search-by-image/issues/63)

> I'm tired of arguing with the employees of a megacorp to justify the existence of my open source projects, and I feel sick every time I have to fight for the results of my free labor to reach users.

すごくわかるつもりだ。いたずら、あるいは嫌がらせで通報されているのだろうか。ここでこの作者はツイッターで「Developer Advocate for Chrome Extensions」であるSimeon Vincent氏にメンションを飛ばしたらしく、イシューに現れている。どうしようもなくなったらそういうやり方しかないかもしれない(私の場合はユーザが全然いなくてやりづらいけど)。


#経緯

##削除を告げるメールが来た

ざっくり書けば下記のようなメールだった。

* タイトルは「Chrome Web Store: Removal notification for 拡張機能の名前」
* あなたのChrome拡張機能は規約違反をしている。
* 以前送ったメールに書いた警告期間が終わるまでにあなたは拡張機能をアップデートしなかった。だから削除した。
* 更新するチャンスはあるけど、違反を繰り返して改善する意図がないようならアカウント停止がありうる。

全然覚えがないしメールも見つからない(送信内容も送信時期も書かれていない)。

##ノーヒントのクイズ

ダッシュボードを見ると実際に削除されていてリンクは404になっており、メッセージが表示されている。

> アイテムのうち 1 つ以上が、Google のポリシーまたは利用規約に沿っていなかったためストアから削除されました。
> 対応が必要: Chrome ウェブストアのポリシーに準拠するように変更が必要なアイテムがあります。
![2019-06-17_chrome.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/223517/b979d95a-53b0-af5d-bf23-45acfdedf97f.png)

要はヒントのないクイズだ。全然分からない。ブラウザからはアンインストールされていないし無効化もされていないのでとりあえずは困らないが、「アカウント停止(ありうる、と書いてある)」によってGMailも何もかも停止するのは困る。分からなかったら返信してよい、と書いてあるので下記のように返信した。

> Hello.
> 
> > specified in our earlier email
> 
> I did not receive such a mail. I am now confused very much. Please re-send that mail to me. Thanks.

###答えを一応考えた(考えても無駄だった)

※「返事をもらう前に考えたけど分からん」というメモで、しかも全部空振りです。要は「このように困惑した」ということです。

規約に違反しているならば、「ストアで公開した後に判明するような何かがあった」ということになる。申請時にスクリーンショットの用意で手間がかかったし(Mozilla版のものを流用できなかった)、木曜に申請して火曜日に許可された。なので公開時にチェックされるようなことはすでにクリアされている(**返信を見た感じではそうでもない？**)。

> ここで思い出したんだけど、**ストア公開許可がおりるパッケージであってもインストールできない**、ということがあった。`manifest.json` にミスがあった。Mozillaと違ってLintは走らず、公開時のチェックは「プロパティがセットされているどうか」くらいしか見ていないのではないか。

機能については、単に URL やウェブページのテキストの一部を組み合わせてクリップボードに文字列をセットするだけだ。`clipboardRead`パーミッションは持っていない。CSS セレクタで要素を指定する機能はなく、決まったもの(タイトルとかツイート本文とか)しか取得できない。しょぼいが、意図的にしょぼくしている。どこにも送信していないし、`storage.sync`に書いてもいないので、他のアプリに取得テキストが渡らない限りは、影響はローカルにとどまる。ペイウォールを乗り越えられないしログイン処理もない。広告表示もない。

説明等、同梱された文章については、ヘイトスピーチをしたつもりはないしfxxk とか damn とか sucks とかは書いていない。

配布関係については、例えば他の誰かが騙してインストールさせたりしていれば、それが作者のせいになるとかあるかもしれないが、ありそうにない。

結局分からない。プログラムがダメならば、コンパイラもバンドラも使っていないし難読化もしていないので、(やってないけど)`eval()` がダメ、とか教えてくれないだろうか……。

なお、規約更新を告げるメールが6月6日に届いていて、「7月1日までに新規約に従うように改めよ」とある。リストを見たが、今後違反したとしても何に違反しているかノーヒントで理解するのは不可能だと思った。

[Developer Program Policies - Google Chrome](https://developer.chrome.com/webstore/program_policies)

##メールを「再送」してもらった

6時間くらいで返事が来ていた。読んでみて判明したが、やはり警告メールは届いていない。**「いつまでに修正せよ」という記述がない**のは「再送」時点では期限が過ぎていて無効だから除去したということだろうか？ で、こんなことが書いてある。

> **We may remove your item if it has a blank description field, or missing icons or screenshots, and appears to be suspicious**

[manifest.json](https://github.com/PrsPrsBK/PrsPrsCopy/blob/892bead309a05e2ab790bb760c777e8d8fb5dc5d/chrome/manifest.json)は埋めてあるし、拡張機能の設定画面にはアイコンが表示されていたし今も表示されている。**説明とかアイコンがない(blank or missing)ことが問題ならば、それは今言うことじゃなくて申請時に言うことだし、"suspicious" というなら何がどう疑わしいか言ってほしい。**

##もう1件も削除された

「再送」の少し前に、もう1件も同様に削除されてしまった。**それならばさっきダッシュボードにアクセスしたときに何か言ってほしい、本当に問題があるなら**。本当に警告していたのか疑わしい。「警告した」という事実をでっち上げているのではないか？

こちらも再送を要求して、ついでに「いつメールくれたのか分からないけど、6月3日、二週間前のグーグル障害のときなのではないですか。届いてないですよ」と書いた。二週間前、というのはありそうな期間だった(結果無視された)。

[2019-06-05(日本語版) グーグルが大規模障害の原因など説明 - ZDNet Japan](https://japan.zdnet.com/article/35138018/)

なおこの拡張機能は「ツイッターでミュート・ブロックのショートカットキーを妨げたり自動で新着表示したりする」という、先述のものよりも更に大したことない(正直しょうもないんだけど欲しかった)もので、これも"suspicious"ならばコンテントスクリプト廃止するしかないのではないだろうか。

##ウェブストアのアイコンでは？

`manifest.json`とは別に、ウェブストアのアイコン設定が存在する。こちらはセットされていないのでやってみることにした。

![2019-06-18_webstore1.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/223517/bbda6c2d-8c69-edfd-308e-03b033119e3e.png)


> アイコンは画像のガイドラインに沿って、128x128 ピクセルで作成してください。
> アイコンが正方形の場合、メインの画像を 96x96 ピクセルで作成し、16 ピクセルの透明な余白で囲んでください。

面倒だが従った。

> アイテムは送信済みで、現在コンプライアンス レビューを行っています。
>
> レビューが完了するまでに数営業日かかることがあります。アイテムの最新のレビュー状況を確認するには、デベロッパー ダッシュボードをご覧ください。
>
> 注: アイテムを非公開にしても、レビューはキャンセルされません。非公開にすると、現在のレビューが完了するまでアイテムを再送信できなくなります。

2件目をやり終えた時点ですでに1件目が「取り下げ」になっていてメゲるが「キャンセルして編集」とあるから実際は審査中なのだと解釈した。
![2019-06-18_webstore2.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/223517/0fbf31c3-8a04-81e3-dd8d-0b32810b5c3f.png)

##2件目も「再送」してもらった

1件目とかなり違うのが来た。「定期的に見回りしている」という警告の背景とか、7日以内に修正せよとか書いてある。

違反内容も違っていて、公開後に「定期的に見回り」された結果判明しうる内容ではある。

* 説明分が、機能を直接説明するものになってない
  * ありうるが(普通に書いたと思うが)、ストアアイコンを変更して審査中になったので今見られない。
  * 基本的に[Mozilla版](https://addons.mozilla.org/en-US/firefox/addon/prsprstwitter/)をコピーしたものであるはず
* スクリーンショットが、機能を示していない
  * そう言われても、「ブロック(Bキー)を押したときにブロック**発生させない**」機能のスクショはとれない。

とりあえず、ウェブストアのアイコンをセットしてしまったので、その分の審査が終わるまでしばらく何もできない。返事をもらう前にやったことは余計だったし、返事をもらっても結局具体的にどうすればいいのかは明らかでない。

###メール本文見たい人はここ

困った。ウェブストアの安全のためにとにかく公開物を全部見るというのは大したことだが、結果、しょぼい拡張機能であってもこういう状況になってしまう。要は誰でもこうなりうる。なので、同じ事情で困っている人、あるいは困りうる人には参考になるだろうから全文公開する。

> We routinely review items in the Chrome Web Store for compliance with our Program policies to ensure a safe and trusted experience for our users. We recently found that your item, "PrsPrsTwitter," with ID: xxx, did not comply with our Developer Program Policies. Your item did not comply with the following section of our policy:
> 
> We may remove your item if it has a blank description field, or missing icons or screenshots, and appears to be suspicious. Your item is still published, but is at risk of being removed from the Web Store.

> * **Descriptions must directly state the functionality of the app so that users can understand the extension they are adding.**
> * **Screenshots must demonstrate the functionality of the extension in action.**

> Please make the above changes within 7 days in order to avoid removal. Once you have made these changes you may submit and publish a new draft in the developer dashboard. Your draft will be reviewed for policy compliance which typically takes a few business days. If the outcome of the review is successful, your store listing will remain published. If we find additional issues with your item, we will send you another email with details. If you have any questions about this email, please respond and the Chrome Web Store developer support team will follow up with you.
> 
> Important Note:
> 
> Your item will still be subject to review and may be removed from the store within the warning period. Repeated or egregious policy violations in the Chrome Web Store may result in your developer account being suspended or could lead to a ban from using the Chrome Web Store platform. This may also result in the suspension of related Google services associated with your Google account.


##2件目(PPTW)の方の審査が終わった

何の通知もないが、ダッシュボードから「審査中」の表示が消えて「取り下げ」だけになった。つまり削除されたままでいる。

##とにかく教えてもらうことにした

「xxxxをやってyyyyをやらなかった。理由は拡張機能がzzzzというものだから。やることやってますよ」のようにアピールしたうえで「どこがblankでmissingでsuspiciousなのか教えてほしい」とメールした。

##1件目(PPCopy)が復活した

返事が来た。

> Upon a subsequent review, we’ve reinstated your item and it is now available in the Chrome Web Store.

結局何も分からなかった。ストアにはすでに復活していて速いものだと感心した。

##追記: 殴りたくなる返事をもらった

残る1件については、まだ片付いていない。

[2019-06-19 06:32 PrsPrsBK](https://twitter.com/PrsPrsBK/status/1141096359652515840) Chrome Web Storeから削除された拡張機能の残り1件について、何がダメなのか教えてくれと頼んでいるがほぼ同じ文面が来たので何かしてやりたくなっている(つうかこの人警告メールが届いてないことスルーしてやがるので殴りたい)

ちなみにこのツイートはAlt+Cを3回押して(押せばテンプレートが切り替わる)クリップボードにコピーした。拡張機能を作って良かったと思う。

#感想

感想は、ウェブストアの主張はとても疑わしいし、「私たちはユーザの安全を守るために日々努力しています」という意義ある活動(こんな利用者数1のものにも手が伸びている)の一端であるとはいえ結局「わたしがなんで怒っていたかわかる？」というクイズを出題されて「正解かどうか教えないけど、もう許してあげる」であり、クソくらえだな、というものです。

以前から思ってるけど、Developer料金を徴収しておいてそれか、と改めて思った。