モバイルアプリ · 中級

デバイス上のローカルストレージと機密データ

一行でいうと: デバイスが失われるか侵害されると仮定する:ローカルに保存されるものは最小限で、暗号化され、リモートで取り消せる必要がある。

何がどこに行くか

ログイントークンとキーはOSのシークレットストアに属し、設定ファイルでも単純なキーバリューストレージでもない。コンテンツデータは暗号化されたローカルデータベースに置ける。

パスワードは全く保存しない。短命のトークンをリフレッシュオプション付きで保存する。

リモート取り消し

ユーザーが紛失したデバイスを報告したとき、すべてのトークンを削除するパスが必要だ。トークンに有効期限がなく、サーバー側の記録もなければ、それをする方法がない——これはデザインの決定であり、危機の決定ではない。

全く保存しないもの

完全なカード詳細、身分証明書、ユーザーが既に削除したコンテンツ。そして:クラッシュレポートで収集され、意図しない場所に届くデバイス上のファイルに個人情報を含むログを書かない。

さらに深く

トラフィックを暗号化し、サーバーのIDを確認する。機密情報を扱うアプリでは、特定の画面へのアクセスに生体認証ロックを検討し、非使用期間後のローカルデータの自動クリアを検討する。