简介
本文是个人在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中声明(及实际调用)的权限,不应超过实现业务功能所需的必要范围
案例:
-
manifest中已声明读取电话权限,但在检测期间暂未发现实际调用场景。
-
检测期间发现App所申请的如后台访问地理位置、访问定位额外命令、检索正在运行的应用
建议方案:如果App中未实际使用到的权限,应该当在Manifest中移除该权限注册声明
2.5 不得不给权限不让用
合规标准: 不得因用户不同意打开非必要权限,拒绝提供业务功能
案例:
- 检测期间发现在App运行时,向用户申请当前服务类型(拍照)功能的非必要权限(存储权限),用户拒绝授权申请后,App拒绝提供该类型服务基本业务功能(也即用户拒绝授予存储权限时,无法使用拍照功能)
- 我的-我的客服-在线客服-发送语音-弹出申请麦克风权限、存储权限-拒绝存储权限
建议方案: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违法违规收集使用个人信息行为认定方法
App专项治理工作组
一图看懂App个人信息保护要点
3分钟带你了解个人信息安全
关于“APP与SDK合规”你应该知道的那些事-第一弹
App违法违规收集使用个人信息情形