安卓APP隐私合规问题处理记录

最近处理了一批隐私合规问题,工信部越来越严的规定让人着实有些头痛,隐私合规的工作是一个持续的过程,之后的开发中也要时刻注意隐私问题。作为一名程序员,技术上应该尽可能保护用户的隐私,但是安卓不够严格的运行环境让许多第三方SDK拥有太高的权限,隐私保护也只能尽力。

背景

近年来,移动互联网应用程序(App)得到广泛应用,在促进经济社会发展、服务民生等方面发挥了不可替代的作用。

同时,App强制授权、过度索权、超范围收集个人信息的现象大量存在,违法违规使用个人信息的问题十分突出,广大网民对此反应强烈。

落实《网络安全法》《消费者权益保护法》的要求,为保障个人信息安全,维护广大网民合法权益,中央网信办、工业和信息化部、公安部、市场监管总局决定,自2019年1月至12月,在全国范围组织开展App违法违规收集使用个人信息专项治理。

App运营者收集使用个人信息时要严格履行《网络安全法》规定的责任义务,对获取的个人信息安全负责,采取有效措施加强个人信息保护。

遵循合法、正当、必要的原则,不收集与所提供服务无关的个人信息;收集个人信息时要以通俗易懂、简单明了的方式展示个人信息收集使用规则,并经个人信息主体自主选择同意;不以默认、捆绑、停止安装使用等手段变相强迫用户授权,不得违反法律法规和与用户的约定收集使用个人信息。

倡导App运营者在定向推送新闻、时政、广告时,为用户提供拒绝接收定向推送的选项。

一、同意隐私政策后才可获取隐私信息

1.1 问题

虽然APP启动时有展示隐私政策,但是在内部模块的初始化、SDK的初始化的时机很多都是和隐私政策展示的同时甚至更早。

接入第三方SDK时,接入文档上清一色都是把初始化方法加在Application.onCreate()方法中,使得SDK的功能得到保证,但很可能侵犯了用户的隐私。

1.2 解决方案

将内部模块的初始化和SDK初始化的调用进行统一管理,建立一个SDKInit类,区分同意隐私政策前和同意隐私政策后两个调用时机,将存在获取隐私信息行为的模块和SDK放在同意隐私政策后。

进一步优化的点:

  1. 已经同意过隐私政策后,之后再打开APP不区分调用时机。
  2. 模块和SDK的初始化尽可能在多线程中完成,缩短所需时间。

【注意】在展示隐私政策弹框时,点击隐私政策打开详情的页面也不应该存在获取隐私信息的行为。

二、进入相关业务时才可获取对应隐私信息

2.1 问题

APP打开后可能出现获取很多隐私信息的行为,其中有些隐私信息应该是更深一层的业务所需的,而进入APP后就获取属于超出业务范围的行为。

第三方SDK存在自行获取隐私信息的行为,上层业务无法控制。

2.2 解决方案

梳理APP获取隐私信息的行为,将非必需的隐私信息获取行为去除或是延后,尽可能由用户打开具体业务时触发隐私信息的获取。

对于自行获取了隐私信息的第三方SDK,积极沟通SDK提供方整改解决。

【注意】很多时候是第三方SDK新版本已整改,但APP中使用的版本过于老旧,日常开发过程中应积极更新SDK。

三、获取隐私信息前,需先弹框明示需申请的权限及隐私信息使用的业务场景

3.1 问题

在获取隐私信息时,通常做法是向系统申请对应隐私权限,申请成功后进行业务功能操作。

系统会在申请权限时弹出系统默认的权限弹框,标明发起申请的APP和需要申请的权限名,并给用户同意、拒绝、不再弹出的选项。

但用户无法了解到APP申请权限后会使用的隐私信息和具体的使用场景。

3.2 解决方案

在需要获取隐私信息时,先弹出APP内的提醒弹框,标明APP所需的权限有哪些、获取了什么信息、获取的信息用于哪些业务场景。

对于APP内统一权限申请的情况,无法判断业务场景,如原生提供给RN的权限申请接口,可以将业务场景描述交由调用方提供。

四、用户拒绝隐私权限申请后,仍应提供服务

4.1 问题

通常在获取隐私信息后才会进入相应的业务功能中,如果用户拒绝隐私权限申请,常常会提示用户无权限则无法使用,可能会展示空页面、返回上一层、退出APP,构成强制要求用户提供隐私信息的行为。

4.2 解决方案

APP中部分功能必须具备相应权限才可使用的情况,如拍照必须有相机使用权限,可以不提供该功能服务。

业务功能必须有降级策略,用户拒绝提供隐私信息仍提供服务,如定位所在城市的功能,用户拒绝授权时使用全国范围数据或提供城市选择的功能。

五、用户拒绝隐私权限申请后,48小时内不得在同一业务场景下再次申请该权限

5.1 问题

通常在用户拒绝隐私权限后,下次用户再进入该业务时还会再申请隐私权限,因为业务逻辑就如此,可以保障业务的正常使用。

更过分的行为是在用户拒绝隐私权限后不断申请隐私权限,干扰用户的使用,强制用户授予隐私权限。

5.2 解决方案

业务场景需要隐私权限时,先判断是否有隐私权限,如有则进行隐私信息的获取。

如没有隐私权限,判断之前此业务场景申请权限的时间,如未申请过或者上次申请已超出48小时,记录此次申请权限的时间,弹出详细的隐私说明弹框,用户同意后再申请所需的隐私权限。

六、如有定向推送(区分人群、特定行为),应在APP内提供关闭的开关

6.1 问题

APP中存在根据不同用户的身份推送不同信息的现象,市场上很多APP还有根据用户的行为、爱好、偏好等信息进行推送的行为,利用用户的隐私进行个性化推荐,看似正常实则是轻微侵犯用户隐私的行为。

6.2 解决方案

APP应在设置中提供关闭的开关,后台根据用户的设定决定是否要对该用户进行个性化定向推送。

完毕

今天的分享就到这里,文章多有不足,各位小伙伴有什么想法可以直接评论或是私信,要是对你有所帮助就给我一个赞吧,喜欢我的小伙伴可以关注我哦~

支持我的小伙伴们可以微信搜索“Android思维库”,或者微信扫描下方二维码,关注我的公众号,每天都会推送新知识~

  • 4
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值