微信开发者

【重要】微信开发者合规开发指引

为规范开发者的用户个人信息处理行为,保障用户合法权益,此前微信公众平台已发布《关于补充小程序、插件用户隐私保护指引说明》

小程序、插件涉及收集用户个人信息(包含通过接口形式收集、通过非接口的形式收集),开发者在提交代码版本前,都需要按照小程序实际运行情况,填写补充相应用户隐私保护指引。

但在平台日常核查过程中,仍发现有部分小程序没有严格遵守隐私保护指引,通过各种手段绕过、规避平台审查,对用户带来负面体验,甚至带来泄露隐私的风险。

此指南详细介绍在小程序开发过程中,开发者应该如何正确处理用户隐私信息,以及如何加强自身服务安全能力等诸多方面的细节。强烈建议各位微信开发者,在应用开发过程中始终遵循规范,避免安全合规风险。

一、隐私规范填写指南

在小程序审核发布前,均需按要求填写《隐私保护指引》,隐私接口的使用符合类目要求、有合理的使用场景,且在获取信息之前向用户展示指引信息,经用户明确点击同意后,方可获取信息。

如不符合以上条件,开发者将无法获取用户隐私信息。

Image 
以下是隐私范围:

昵称、头像、手机号、选择的位置信息、选中的照片或视频信息、选中的文件、地址簿、发票信息、微信运动步数、车牌号

麦克风、摄像头、蓝牙、实时位置信息、剪切板、加速传感器、磁场传感器、方向传感器、陀螺仪传感器

相册写入、通讯录写入、日历写入

《隐私保护指引》中的隐私项是根据开发者的调用情况自动展示的,若开发者确认不使用该接口,需自行删除相关代码内容重新提交。

开发者在填写理由时,应表达专用目的且符合应用实际业务,以下是一些常见错误案例:

1.填写不明确、不清晰  

【错误】没有具体说明是用于什么服务,描述过于宽泛,例如:

调用麦克风接口为了:获取你的麦克风权限

调用位置信息接口为了:使用功能

【正确】调用相关接口,必须清晰注明该接口的专用目的,例如:

调用麦克风接口为了:你使用语音导航功能

调用位置信息接口为了:向你提供导航服务

2.过度重复

【错误】填写的所有接口信息描述全都一样,填写随意,例如:

收集微信昵称与头像为了:实现用户登录功能

收集手机号接口为了:实现用户登录功能

收集选中的文件为了:实现用户登录功能

【正确】清晰注明不同接口的专用目的,例如:

收集微信昵称与头像为了:你可以使用语音导航功能

收集手机号接口为了:在必要情况下联系你

收集选中的文件为了:接收文件提供售后服务

3. 语句不通顺  

开发者在填写时需注意系统表单的填空前后语句,需保证填写内容后前后语句通顺,不可填写无意义文字及乱码内容。

二、隐私信息收集行为

如业务中需使用隐私信息相关接口,需在用户有预期点击行为后进行,开发者不应主动中断正常使用流程,影响用户使用体验。以下是一些常见违规行为:

1. 隐私政策协议默示同意

  • 【违规】隐私政策协议勾选框默认勾选。
  • 【违规】隐私政策协议未提供同意选项,显示“用户登录即代表同意”。

修改指引:

  • 【合规】隐私政策协议勾选框不能默认勾选,应让用户自行选择是否进行勾选。
  • 【合规】隐私政策协议应由用户自行选择是否进行同意,如提供明确的同意/拒绝选项进行选择,提供勾选框进行勾选等。

2. 进入小程序后立即提示授权手机号

【违规】合理的情况下,用户在使用并了解小程序的用途后才好决定是否注册使用。若在用户进入小程序还未开始浏览时,即提示授权手机号,这种行为涉及违规收集用户手机号码。

修改指引:

  • 【合规】用户进入小程序后可体验相关业务,不得在未展示任何信息的情况下强制授权手机号。
  • 【合规】其他如涉及购物下单、支付等需要授权手机号的场景,应明确向用户说明授权原由。

3. 在用户未体验具体功能前,就要求进行授权

  • 【违规】打开小程序就要求用户进行授权,这种情况常发生在「获取位置信息」能力上。
  • 【违规】打开小程序就连续弹出多个授权框,要求用户进行多个授权。
  • 【违规】首页打开即要求授权登录,用户拒绝登录则无法使用小程序。

修改指引:

  • 【合规】用户打开小程序后,应该先通过完整页面展示小程序的功能,当用户想进行实际功能体验时,再弹出相应权限的授权框,让用户进行授权。
  • 【合规】当用户想进行对应实际功能体验时,再弹出相应权限的授权框,让用户进行授权,不可要求用户一次性同意小程序涉及的所有权限。
  • 【合规】小程序可以提供游客功能,用户可选择在不登录的情况下,正常体验功能服务;或者在用户体验功能服务后自主触发登录,并提供相应的取消/拒绝登录按钮。

4. 小程序内浏览需授权手机号

【违规】用户在小程序中,进入原本无需手机号也能正常提供服务的功能板块,却提示需要授权手机号码,不授权绑定则无法进入该板块。

修改指引:

  • 【合规】非必要情况下,不得调用手机号授权接口,影响用户正常操作体验。
  • 【合规】用户正常浏览小程序板块或页面过程中,不得强制授权手机号。

5. 用户不同意授权则拒绝提供服务

  • 【违规】用户点击拒绝授权后,小程序则无法继续使用。
  • 【违规】点击拒绝授权后,小程序显示需授权的提示框无法消除,强迫用户必须进行授权才可继续使用小程序。

修改指引:

  • 【合规】用户拒绝授权某权限,可暂停提供和该权限有关的功能,但和该权限无关的功能,应该可让用户继续进行使用,不可直接中断全部服务体验。
  • 【合规】用户拒绝授权某权限,可暂停提供和该权限有关的功能,但和该权限无关的功能,应该可让用户继续进行使用,不可直接中断全部服务体验。

6. 到店取餐等非必要场景下强制授权手机号

【违规】用户到店取餐等场景下,强制授权手机号后才可正常使用相关服务。

修改指引:

【合规】根据场景确定手机号是否有必要授权,在需要用户手机号才能正常提供服务的必要情况下仍然可以正常指引用户授权或填写手机号(需明确提示用户)。

当用户在授权小程序隐私后,如想取消授权,可在小程序「右上角 3 个点-设置-小程序已获取的信息」中取消授权,通知开发者删除相关信息

Image

三、开发者自身服务安全建设

开发者经过用户授权同意获取隐私信息后,应仅限于授权范围内使用,另外需采取必要的手段保障信息的安全存储,防止恶意人员对业务信息进行针对性的攻击和挟持。

建议开发者在应用开发环节中始终基于以下原则:

  1. 互不信任原则:
      不要信任用户提交的数据,包括第三方系统提供的数据,必要的数据必须放在后台校验。
  2. 最小权限原则:
      代码、模块等只拥有可以完成任务的最小权限,不赋予不必要的权限。
  3. 禁止明文保存用户敏感数据:
      需进行安全的加密,避免拖库。
  4. 接口鉴权:
     除登录接口之外,应对所有非公开接口进行鉴权,并记录详细日志用于追溯。

具体的建议,可参考《安全漏洞及相应改进建议》

写在最后

为了做好用户信息保护工作,并确保良好的用户体验,请开发者遵守收集用户隐私行为的规范。如发现有隐私收集违规行为,平台将根据违规程度对该应用阶梯封禁相关能力。

开发者作为用户个人信息处理的主体,应对用户的隐私安全负责。各位开发者应加强自身服务平台的安全建设,遵循行业的安全标准对用户信息进行有效保护,切实保障用户隐私安全。