App隐私安全合规指导手册

1,166 阅读9分钟

简介

本文是个人在App隐私合规上的一些实践经验,简单整理,用于负责类似业务流程的开发小伙伴,提供一个简易的操作思路指南。

1.App隐私政策

1.1 隐私政策需明示个人数据采集情况

合规标准:需在隐私政策明示个人信息采集的目的、方式、范围

说明:隐私政策关键需说明 如何收集和使用用户的个人信息、是否授权第三方使用个人信息等情况说明

案例:检测期间发现App实际会采集AndroidID、IMEI、储蓄卡卡号,但未在隐私政策中明示前述个人信息采集的目的、方式、范围

建议方案:建议在App隐私政策中明确、具体地披露收集AndroidID、IMEI、IMSI、ICCID、储蓄卡卡号的目的、方式、范围

参考链接

京东金融隐私政策(h5.m.jd.com/dev/r6GfckU…

1.2 不能勾选默认同意按钮

合规标准:用户在注册、登录等流程里,需要勾选同意用户隐私协议场景,需用户手动勾选,不能默认处于勾选状态,且每次退出登录时,都需要用户手动勾选同意隐私协议。

案例:登录、注册流程无用户协议勾选按钮,或勾选按钮处理默认处理勾选状态

1.3 隐私政策弹窗时机

合规标准:新用户第一次安装使用时,需弹窗提示,用户确认同意后方可使用相关功能,“不同意”按钮需修改为“退出应用”,当隐私协议版本有关键更新,升级用户需在业务使用前(首页)重新弹框提示,用户同意后才可使

案例:首次安装无隐私协议弹框、或隐私协议有明显更新时无再次弹框提示。

1.4 第三方sdk初始化时机

合规标准:在用户同意隐私协议之后,才可以初始化会获取用户隐私的第三方sdk

案例:需要隐私权限同意后才能初始化的sdk:

推送: 极光、华为、魅族、oppo、vivo、小米

人脸(微众/商汤)

OCR(微众/合合)

定位:高德,百度

bugly、mta、智齿sdk

支付(微信,支付宝)、分享(微信,qq)

第3方登录(微信,qq,支付宝)

1.5 添加第三方sdk列表官网地址及使用字段说明

合规标准:App需在隐私协议中列出涉及用户信息使用的SDK情况表,包含用明sdk类型、描述、使用业务场景、所需用户字段信息、使用目的、官网地址、隐私政策链接等信息

案例:检测期间发现App未完整披露植入的 uCrop SDK的个人信息类型,需在sdk文档中进行说明

2.App权限处理原则

2.1 申请权限同步告知目的

合规标准:申请权限应当同步告知用户权限的使用目的
案例:App申请存储权限前,未同步告知用户前述权限的使用目的

建议方案: App端在权限申请前,对申请当前权限做弹框说明,用户确认后再调系统权限。

2.2 最小化权限使用

合规标准:App不应强制申请非当前业务必要的权限,保持最小化权限使用的原则

案例:

1.更换头像),在只读系统相册时,不得强制获取相机权限,或者拍照时不得强制获取相册权限。

2:App在用户登录-用户注册即向用户申请定位权限(未触发获取位置等相关业务功能)\

建议方案:建议遵循最小必要原则,仅申请App业务功能所必需的权限

备注:H5界面获取用户照片场景,需提前申请相机和存储权限,因为无法提前获取用户会通过拍照或文件选择的方式选择照片

2.3 用户拒绝后不得频繁申请

合规标准:用户拒绝授权后,产品48小时内不得再次申请该权限
案例:App在每次进入首页时,均申请定位权限,过于频繁

建议方案:1. App启动时应该在48小时之前不再自动申请该权限(如首页自动申请权限),除非用户在使用某指定业务,这时会有操作说明。

2.用户拒绝后,如必须的权限,弹框(提示内容由产品确认)提示用户到系统权限设置界面。

2.4 声明权限类型不超出必要范围

合规标准:Manifest中声明(及实际调用)的权限,不应超过实现业务功能所需的必要范围
案例

  1. manifest中已声明读取电话权限,但在检测期间暂未发现实际调用场景。

  2. 检测期间发现App所申请的如后台访问地理位置、访问定位额外命令、检索正在运行的应用

建议方案:如果App中未实际使用到的权限,应该当在Manifest中移除该权限注册声明

2.5 不得不给权限不让用

合规标准: 不得因用户不同意打开非必要权限,拒绝提供业务功能
案例:

  1. 检测期间发现在App运行时,向用户申请当前服务类型(拍照)功能的非必要权限(存储权限),用户拒绝授权申请后,App拒绝提供该类型服务基本业务功能(也即用户拒绝授予存储权限时,无法使用拍照功能)
  2. 我的-我的客服-在线客服-发送语音-弹出申请麦克风权限、存储权限-拒绝存储权限

建议方案:App运行时,仅申请当前服务类型所需的必要权限,如果用户拒绝授权非必要的权限,App不能拒绝提供该类型服务基本业务功能

3.数据采集及隐私数据处理

3.1 个人数据采集频次

合规标准: 个人信息采集频次不应超出实现业务功能所必需

案例: 检测期间发现App存在多次采集IMSI、AndroidID、手机型号的行为

建议方案: 搜集这些信息的场景及目的,需要在隐私政策说明
对App端,有效的处理方法是在获取系统敏感信息(型号、AndroidID、IMSI)时,获取一次后进行缓存处理,下次直接读缓存 另外一个重要的来源是,集成的第三方sdk自动获取的数据敏感信息,只能定期更新最新隐私合规的版本来解决,或者移除问题明显或打替代功能的sdk来解决

3.2 敏感数据采集明示同意

合规标准: 采集敏感信息需经过用户明示同意 案例: 检测期间发现App在收集银行账户、人脸识别信息、身份证号时,未同步告知用户其目的、收集敏感个人信息的必要性以及对个人权益的影响,并获取用户的单独同意

建议方案: 获取关键用户信息时,应该在产品交互时,做弹框或明显提示用户,经过用户单独同意后,才可以继续开展业务,建议App在采集银行账户、人脸识别信息、身份证号等个人敏感信息时,同步告知用户其目的、收集敏感个人信息的必要性以及对个人权益的影响,并获取用户同意

3.3 后台静默状态个人数据采集

合规标准: App原则上不得在后台静默状态下收集用户个人信息,如确有必要,应明示用户并取得同意 案例: 检测期间发现App存在后台静默状态下采集AndroidID、IMEI、手机型号、IMSI、ICCID的行为

建议方案: 此行为大多来自于第三方sdk(友盟、bugly、阿里、极光等),主流sdk提供方一般也在持续做隐私合规相关改造,持续保持更新第三方sdk的更新

3.4 向第三方共享个人数据

合规标准: 与第三方进行数据共享中应取得充分授权及签署数据共享协议;共享的数据应限于实现目的所必需的最小范围 案例: 1.App存在向第三方提供个人信息,但未向个人完整告知接收方的名称或者姓名、接收方的联系方式【高风险】 2.App存在向第三方SDK提供个人信息,但未向个人完整告知接收方的名称或者姓名【高风险】 3.检测期间发现App存在向第三方提供个人信息,未就《第三方信息共享清单》设置单独弹窗,供用户同意。

建议方案: 建议App向第三方提供个人信息的,应当向用户完整告知接收方的名称或者姓名、联系方式、处理目的、处理方式和个人信息的种类,并取得个人的单独同意。

3.5 个人数据展示

合规标准: 通过App界面展示的个人金融信息等个人信息应采取信息屏蔽(或截词)等处理措施
案例: 通过App界面展示的个人身份信息(姓名)未采取信息屏蔽(或截词)等处理措施

建议方案: 通过App界面展示的个人金融信息等应采取信息屏蔽(或截词)等处理措施,降低个人金融信息在展示环节的泄露风险

3.6 APP自启动及关联启动

合规标准: APP不得超出业务功能必要范围频繁自启动及关联启动其他APP
案例: App存在超出业务功能必要范围自启动的情形

建议方案:建议不超出业务功能必要范围自启动;如确有必要,应明示用户并取得同意

参考资料

App违法违规收集使用个人信息行为认定方法

www.cac.gov.cn/2019-12/27/…

App专项治理工作组

pip.tc260.org.cn/jbxt/privac…

一图看懂App个人信息保护要点

pip.tc260.org.cn/jbxt/privac…

3分钟带你了解个人信息安全

pip.tc260.org.cn/jbxt/privac…

关于“APP与SDK合规”你应该知道的那些事-第一弹

pip.tc260.org.cn/jbxt/privac…

App违法违规收集使用个人信息情形

pip.tc260.org.cn/jbxt/privac…