【iOS】プライバシー情報をAppで取得していないのに5.1.1でRejectされたときの対処法

## TL;DR

- iOSアプリにおいて、プライバシー情報(ex.性別,生年月日)を取得してない・登録させていないのにGuideline5.1.1でRejectされたときにResolutionCenterでこれ送れば通してもらえるよという事例をまとめておく

## 先日こんなことがありました

- 自社で作成しているiOSアプリをSubmit
- 個人情報を登録させていないのにGuideline5.1.1でRejectされる

### ○Guideline5.1.1とは

[5.1.1 データの収集および保存(Apple公式)](https://developer.apple.com/jp/app-store/review/guidelines/#data-collection-and-storage)
文章的には[こちらの記事](https://qiita.com/midnightSuyama/items/d1addebbc9a620d28eaa#511-data-collection-and-storage)の方がわかりやすかった。

下記の6つの項目から構成されるGuidelineです。アプリでユーザーからデータを収集する(≒登録させる)および、そのデータを保存することに関する内容となります。

(雑に言うと)

- 1. プラポリのリンクをmetadata(=AppConnec提出時)App内にいれましょう
- 2. データを取得する際にはユーザーの許可を得てね&カンタンに同意を取り消せるようにしてね
- 3. コア機能に必要な場合に限りデータ取得が可能だよ
- 4. ユーザーが任意で許可できるようにしてね(=無理やりの同意はダメだよ)
- 5. 基本はログインなしでもアプリを使えるように(※ログインに依存する機能がある場合は除く)
- 6. 秘密裏にPasswordの保存とかしたらBANすっからなゴルァ
- 7. (謎)ユーザーに視覚的に情報を表示したければSafariViewContoller を使ってね

調べてみた感じ、頻出のReject理由としては「OS標準の許可ダイアログで、それを利用する明確な理由がないから」(ex.カメラ)が多いみたいですね。

## AppleからのRejectMessage

```
2019年3月14日 8:34
差出人: Apple
Guideline 5.1.1 - Legal - Privacy - Data Collection and Storage

We noticed that your app requires users to register with personal information that is not directly relevant to your app’s core functionality. Specifically, the following fields are required but do not appear to be directly relevant to your app’s core functionality:

- Gender
- Date of birth

Next Steps

To resolve this issue, please either remove all required fields that are not relevant to the app or make those fields optional. Information requested during registration must be relevant to the features the app provides.

Please see attached screenshot for details.
```

**要約すると**

- Guideline5.1.1に反しているのでリジェクトしたよ
- Appのコア機能に必要ないのに個人的な情報を求めているのを発見したよ
    - 具体的にいうと「性別」「生年月日」の部分
- それらの情報を登録させるのをやめるか、登録させるにしかるべき理由があるようにしてね
- 詳細は添付したスクショを見てね

という感じですね。(~~同じ表現が多くてまどっろこしいな~~)


## やったことと結果

### ○やったこと

- 下記の文章をResolutionCenterから送信した

```
Hi.
Thank you for your always review.

In this review, you told us that our iOS-App should be modified in accordance with "5.1.1".

I think you sent us a screenshot, that screen is actually an external website. 
In this case, it's the "チケットぴあ"(the largest ticket provider in Japan).
External websites(each ticket provider service) are asking for information such as gender and date of birth to use that sites. 

We are only trying to make such sites visible in WebView for an user who want to buy tickets,we just.
So we do not ask for that privacy information.
And we understand that we should not easily obtain such privacy information.

We want to make sure if our app including those functions are judged as "Guideline 5.1.1 - Legal - Privacy -Data Collection and Storage" please.

Sincerely,
Spectra developer team.
```

### ○結果

- Reviewerより返事がきて次のReviewにて審査に通った🍻🎉

#### Reviewerからの返信

```
2019年3月15日 2:40
差出人: Apple
5. 1.1 Legal: Privacy - Data Collection and Storage
Hello,

Thank you for providing this information.

We will continue the review, and we will notify you if there are any further issues.

Best regards,

App Store Review
```

- 情報を教えてくれてありがとう
- またレビューして、何か問題あったら教えるわ

と一応メッセージの内容を確認してくれたんだろうなという返信がきた。

#### タイム感

こっちが即座に対応するとAppleさんも即座に対応してくれるんですね。
(営業時間の影響で翌日に持ち越したけど、10:00台から見てもらえてる)

- JST 3/14 07:05 (PDT 3/13 16:05)
    - `InReview`に
- JST 3/14 07:30 (PDT 3/13 16:30)
    - 起床
    - ドキドキしながらシャワーをあびる
- JST 3/14 08:34 (PDT 3/13 17:34)
    - `Reject`
    - Reject文言が送られてくる
- JST 3/14 08:40 (PDT 3/13 17:40)
    - 三度見くらいする
    - 対応策を考える
- JST 3/14 09:12 (PDT 3/13 18:12)
    - ResolutionCenterからComplaintとして返信

✁PDT基準でReviewTimeが終わるので翌日に持ち込み✁
 
- JST 3/15 02:40 (PDT 3/14 10:40)
    - 再度 `InReview`に
    - ResolutionCenterに返答がくる
- JST 3/15 02:42 (PDT 3/14 10:42)
    - `Pending Developer Release`に
- JST 3/14 03:07 (PDT 3/14 11:07)
    - 自分でStatusを`Ready for Sale`に変更しAppStoreに公開


## 意識した点や参考にしたもの

### ○お礼とご挨拶

#### 文頭
```
Hi.
Thank you for your always review.
```
- ご挨拶と「いつもレビューしてくれてサンキューな」と入れる
    - まあ実際死ぬほどの数をレビューしてるわけですし…

#### 文末
```
Sincerely,
Spectra developer team.
```

- 英文のテンプレ `Sincerely,`
    - 意味的には`心から` (~~某旅行サービスではない~~)
    - もっと丁寧にしたいなら`Sicereley your,`
    - `Regards`でもOK
        - もう少しカジュアルなニュアンス
- 差出人の署名

### ○リジェクト内容の提示・認識のすり合わせ

```
In this review, you told us that our iOS-App should be modified in accordance with "5.1.1".
```

- 認識合わせとして念のため「このGuidelineに反していると教えていただいた」と書いておく

### ○事実の説明

```
I think you sent us a screenshot, that screen is actually an external website. 
In this case, it's the "チケットぴあ"(the largest ticket provider in Japan).
External websites(each ticket provider service) are asking for information such as gender and date of birth to use that sites. 

We are only trying to make such sites visible in WebView for an user who want to buy tickets,we just.
So we do not ask for that privacy information.
```

- まず事実として、いちばん重要な「スクショを送ってくれたと思うが、これは外部サイトです」というものを強調すべくSectionの最初にもってくる
    - 意図としてはとにかく自分のAppのページ・機能ではないことを理解してもらいたかった
- 今回の場合だと**チケットぴあ**だったので、このサイトですよと教える
    - 日本語が読める方にReviewをお願いするように書いてはいるが、日本人とは限らないので、こういうサイトですとも説明を入れる
- 「(他のサイトも含む)そういった外部サイトにおいては、ユーザーがサービスを利用するために(今回Rejectの原因となったような)性別や生年月日を取得はすることがある」という一般論をまとめる
- 「我々はWebViewを通してユーザーにこういった体験を提供しているに過ぎないこと」を明記
    - 後から見直すと、強調したかったとはいえ`We just`は蛇足感&位置が謎ｗ
    - ~~書いてたときにちょっと怒ってたのかもしれないw~~

### ○Guidelineに対して反論はないスタンスの明記

```
And we understand that we should not easily obtain such privacy information.
```

- 「我々はDeveloperとしてそういったプライバシー情報を安易にとっていいわけではないことは理解しているというスタンス」の表明
    - ReviewがUSなので情報取得に対してよりセンシティブなことを考慮して追加

### ○再度確認してもらい旨の表記

```
We want to make sure if our app including those functions are judged as "Guideline 5.1.1 - Legal - Privacy -Data Collection and Storage" please.
```

- (ここまでで前提を説明した上で)再度判断してもらいたいですと丁寧に伝える
- ノリで最後に　`please`をつける
    - 下手にでて懇願している感があると良いかなというジャストアイデア


## 最後に

- 実際にGuidelineに反してないのに、Rejectされるのは~~理不尽~~悲しいので、当記事と同じような状況になったら使ってみてください
    - 筆者は英語ぜんぜんわからないので、細かい言い回しとか表現は適宜アジャストして使うと良さそうです :pray: 
- 他のRejectに対するComplainとしても使い回せるエッセンスはあるかなと思うので、何か役に立てば幸いですb