AppSheetを使っていると、スプレッドシートのデータを読み込んでデータベースにテーブルを作成したときに次のような警告メッセージが表示されることがあります。
Table ‘テーブル(シート)名’ may contain sensitive data in column(s): メールアドレス, 住所, 携帯電話番号

ここではこの警告メッセージの意味と対処法についてまとめています。
警告メッセージの意味 ~あえてログを保持しない~
このメッセージは「テーブルに機密性のある重要なデータが含まれる可能性がある列がある」という意味になります。
メールアドレスや電話番号、住所などの個人情報が含まれる場合に表示されます。
昨今、インターネットを介した個人情報の漏洩などが問題視され、特にアメリカや欧州などで個人情報の保護が強化されています。もちろん日本もです。
そういった背景の中で、AppSheetではこういった個人情報をシステムログに保持することを防ぐ機能が備わっています。この表示が出たときは、デフォルトで対象の列に対してシステムログに情報を保持しない機能が働いている状態になります。
これは、個人情報漏洩の対策の1つである「不要なデータを収集しない」といった内容に該当します。
AppSheet上での見え方
なお、この設定が適用されているとき、「data」→「テーブル」の中の一番右端にある「PII?」にチェックが入ります。

(参考)AppSheet上の説明
- Meaning: Table has column which may contain sensitive data.
- Likely Cause: Appsheet has detected personal identifiable information in the column and check the PII option in the schema.
- Resolution Steps: Confirm there is sensitive data in the column. If it is believed that no data is sensitive, uncheck the PII box for the column.
PIIとは何か?
この機能に関する説明には必ず「PII(ピーアイアイ)」という単語が出てきます。
PIIとは「Personally Identifiable Information(個人を特定できる情報)」の略でいわゆる個人情報のことです。
例えば、名前、住所、メールアドレス、クレジットカード番号、誕生日、電話番号、位置情報、口座番号、パスワード、セキュリティコード(生体認証記録を含む)、個人識別番号、運転免許証番号などがが該当します。
AppSheetのPII設定
AppSheetでは個人情報(PII)に関する情報に対して、サーバー上にログを残さず、単純にバックエンドにデータを渡すだけの処理とすることができます。その際、アプリの監査履歴(audit history)にPIIに該当したデータは表示せず、代わりにセルの値を「_PII_」で埋めます。
PIIにするかどうかの設定は「アプリ全体」または「列ごと」に対して設定することができます。
簡単にまとめると以下のようになります。
- サーバー上にログを残さず、単純にバックエンドにデータを渡すだけの処理とする。
- セルの値が「_PII_」で埋まる。
- 「アプリ全体」または「列ごと」に対して設定できる。
PIIは外した方がいいの?
企業側で利用する予定がない場合PIIはそのままにしておいた方がいいです。また、PII判定されていなくとも、PIIに該当する情報があれば、それもPIIに設定した方がいいです。
AppSheet上でPIIに該当するデータを使っていろいろと処理することが必要な場合は、PIIのチェックは外しておきます。企業側が個人情報の漏洩リスクを負うことになるため、社内での個人情報漏洩対策が必須となります。
①列ごとにPIIの設定をつける/外す方法
AppSheetのテーブルの列ごとにPIIの設定をする場合は、「data」→「Tabel」で対象のテーブルを選択します。

右端にスクロールすると「PII?」とあるので、このチェックを付ければ対象の列がPIIとして扱われます。外せばPIIではないとみなされその他のデータと同じようにサーバー上に情報が保存されるようになります。

変更をしたら、管理画面の右上にある「SAVE」をクリックすることをお忘れなく。

PII?にチェックがあっても「SAVE」をクリックして保存すれば、上に表示されている警告は消えます。
②アプリ全体にPIIを適用する方法
AppSheetでは「アプリ全体にPIIを適用」することができます。こうすることで、サーバー上にデータを保持しない設定にすることができます。
左メニューの「Security」→「Options」へと進みます。

下の方に「Treat all data columns as Sensitive(すべてのデータカラムをセンシティブとして扱う)」という項目があるので、このトグルスイッチをONにします。(デフォルトはオフになっています)

「Treat all data columns as Sensitive」をONにすると、各テーブルのPII列のチェックボックスがグレーアウトし編集できない状態になります。
変更をしたら、管理画面の右上にある「SAVE」をクリックすることをお忘れなく。

参考
・App Sheet Errors and Warnings
・AppSheet Help Sensitive Personally Identifiable Information (PII) data policy