微信小程序用户隐私保护指引内容介绍

本指引依据适用的个人信息保护相关法律法规制定,包括但不限于《中华人民共和国个人信息保护法》等,由开发者根据实际情况填写。

微信小程序用户隐私保护指引包括下列板块,其中具体的说明仅为示例。

引导语

  本指引是微信小程序示例微信小程序开发者”深圳市腾讯计算机系统有限公司“(以下简称“开发者”)为处理你的个人信息而制定。

开发者处理的信息

  根据法律规定,开发者仅处理实现微信小程序功能所必要的信息。
  - 开发者收集你选中的照片或视频信息,用于用户上传提交代码审核所需要的截图。

开发者需在此板块声明所处理的用户信息,微信会根据微信小程序版本隐私接口调用情况展示必填项,开发者可自主勾选其他项目。隐私接口与对应的处理的信息关系如下:

处理的信息 接口或组件
收集你的昵称、头像 <button open-type="chooseAvatar"><input type="nickname">、wx.getUserInfo (已回收)、wx.getUserProfile (已回收)、<button open-type="userInfo">(已回收)
收集你的位置信息 wx.authorize({scope:’scope.userLocation’})、wx.authorize({scope: ‘scope.userLocationBackground’})、wx.authorize({scope: ‘scope.userFuzzyLocation’})、wx.getLocation、wx.startLocationUpdate、wx.startLocationUpdateBackground、wx.getFuzzyLocation、MapContext.moveToLocation
收集你选择的位置信息 wx.choosePoi、wx.chooseLocation
收集你的地址 wx.chooseAddress
收集你的发票信息 wx.chooseInvoiceTitle、wx.chooseInvoice
收集你的微信运动步数 wx.authorize({scope: ‘scope.werun’})、wx.getWeRunData
收集你的手机号 <button open-type="getPhoneNumber"><button open-type="getRealtimePhoneNumber">
收集你的车牌号 wx.chooseLicensePlate
收集你选中的照片或视频信息 wx.chooseImage、wx.chooseMedia、wx.chooseVideo
收集你选中的文件 wx.chooseMessageFile
访问你的麦克风 wx.authorize({scope: ‘scope.record’})、wx.startRecord、RecorderManager.start、<live-pusher>、wx.joinVoIPChat
访问你的摄像头 wx.authorize({scope: ‘scope.camera’})、wx.createVKSession、<camera><live-pusher><voip-room>
访问你的蓝牙 wx.authorize({scope: ‘scope.bluetooth’})、wx.openBluetoothAdapter、wx.createBLEPeripheralServer
使用你的相册(仅写入)权限 wx.authorize({scope: ‘scope.writePhotosAlbum’})、wx.saveImageToPhotosAlbum、wx.saveVideoToPhotosAlbum
使用你的通讯录(仅写入)权限 wx.authorize({scope: ‘scope.addPhoneContact’})、wx.addPhoneContact
使用你的日历(仅写入)权限 wx.authorize({scope: ‘scope.addPhoneCalendar’})、wx.addPhoneRepeatCalendar、wx.addPhoneCalendar
调用你的加速传感器 wx.startAccelerometer
调用你的磁场传感器 wx.startCompass
调用你的方向传感器 wx.startDeviceMotionListening
调用你的陀螺仪传感器 wx.startGyroscope
读取你的剪切板 wx.setClipboardData、wx.getClipboardData

平台会对开发者处理信息的目的进行审核,请如实填写。

第三方插件信息

  为实现特定功能,开发者可能会接入由第三方提供的插件。第三方插件的个人信息处理规则,请以其公示的官方说明为准。XXX微信小程序接入的第三方插件信息如下:

  插件名称:客服助手
  插件提供方名称: 深圳市腾讯计算机系统有限公司
  - 开发者收集你选中的照片或视频信息,用于在客服会话中发送图片或视频类型的聊天内容。
  - 为了发送语音类型的聊天内容,开发者将在获取你的明示同意后,访问你的麦克风。

针对由引用了插件的微信小程序,将会在用户隐私保护指引中展示,展示内容包括插件名称、插件提供方名称与开发者处理的信息及目的。

第三方服务商信息

  微信小程序助手微信小程序由深圳市腾讯计算机系统有限公司代为开发,开发者保证深圳市腾讯计算机系统有限公司将在本指引规定范围内处理你的信息。

针对由代开发服务商进行开发的微信小程序,将会在用户隐私保护指引中进行展示。

用户权益

  1. 关于收集你的位置信息,你可以通过以下路径:微信小程序主页右上角“…”—“设置”—点击特定信息—点击“不允许”,撤回对开发者的授权。
  2. 关于收集你的手机号、收集你的发票信息,你可以通过以下路径:微信小程序主页右上角“...” — “设置” — “微信小程序已获取的信息” — 点击特定信息 — 点击“通知开发者删除”,开发者承诺收到通知后将删除信息。
  3. 关于你的个人信息,你可以通过以下方式与开发者联系,行使查阅、复制、更正、删除等法定权利。
  - 邮箱: miniprogram@tencent.com

微信会根据微信小程序版本隐私接口调用情况生成第1条与第2条描述,开发者需填写联系方式供用户联系开发者用于行使查阅、复制、更正、删除等法定权利。

若开发者在微信小程序内提供其他的用户可以行使查阅、复制、更正、删除等法定权利的入口,可以通过补充文档进行说明。

开发者对信息的存储

开发者需声明对信息的存储期限,如

  固定存储期限:180天

信息的使用规则

  1. 开发者将会在本指引所明示的用途内使用收集的信息。
  2. 如开发者使用你的信息超出本指引目的或合理范围,开发者必须在变更使用目的或范围前,再次以弹窗方式告知并征得你的明示同意。

信息对外提供

  1. 开发者承诺,不会主动共享或转让你的信息至任何第三方,如存在确需共享或转让时,开发者应当直接征得或确认第三方征得你的单独同意。
  2. 开发者承诺,不会对外公开披露你的信息,如必须公开披露时,开发者应当向你告知公开披露的目的、披露信息的类型及可能涉及的信息,并征得你的单独同意。

联系方式

  你认为开发者未遵守上述约定,或有其他的投诉建议、或未成年人个人信息保护相关问题,可通过以下方式与开发者联系;或者向微信进行投诉。
  - 邮箱 : miniprogram@**.com

补充文档

开发者可选择是否上传补充文档,微信会对文档内容进行审核。

当前文档格式只支持txt格式的纯文本文件,大小不超过100KB。

日期

  更新日期:2021-11-03
  生效日期:2021-11-03

插件用户隐私保护说明内容介绍

微信插件用户隐私保护说明包括下列板块,其中具体的说明仅为示例。

插件基本信息

包括插件名称、插件提供方名称。

  插件名称:客服助手
  插件提供方名称: 深圳市腾讯计算机系统有限公司

插件处理的信息

开发者需在此板块声明所处理的用户信息,微信小程序会根据插件版本隐私接口调用情况展示必填项,开发者可自主勾选其他项目。

  - 开发者收集你选中的照片或视频信息,用于在客服会话中发送图片或视频类型的聊天内容。
  - 为了发送语音类型的聊天内容,开发者将在获取你的明示同意后,访问你的麦克风。

隐私接口与对应的处理的信息关系如下:

处理的信息 接口或组件
收集你的昵称、头像 <button open-type="chooseAvatar"><input type="nickname"><functional-page-navigator name="loginAndGetUserInfo">、wx.getUserInfo (已回收)
收集你的位置信息 wx.authorizeForMiniProgram({scope:’scope.userLocation’})、wx.getLocation、wx.startLocationUpdate、wx.getFuzzyLocation
收集你选择的位置信息 wx.choosePoi、wx.chooseLocation
收集你的地址 wx.chooseAddress
收集你的发票信息 wx.chooseInvoiceTitle、wx.chooseInvoice
收集你选中的照片或视频信息 wx.chooseImage、wx.chooseMedia、wx.chooseVideo
访问你的麦克风 wx.authorizeForMiniProgram({scope: ‘scope.record’})、wx.startRecord、RecorderManager.start、<live-pusher>、wx.joinVoIPChat
访问你的摄像头 wx.authorizeForMiniProgram({scope: ‘scope.camera’})、wx.createVKSession、<camera><live-pusher><voip-room>
访问你的蓝牙 wx.openBluetoothAdapter、wx.createBLEPeripheralServer
使用你的相册(仅写入)权限 wx.authorizeForMiniProgram({scope: ‘scope.writePhotosAlbum’})、wx.saveImageToPhotosAlbum、wx.saveVideoToPhotosAlbum
使用你的通讯录(仅写入)权限 wx.addPhoneContact
调用你的加速传感器 wx.startAccelerometer
调用你的磁场传感器 wx.startCompass
调用你的方向传感器 wx.startDeviceMotionListening
调用你的陀螺仪传感器 wx.startGyroscope
读取你的剪切板 wx.setClipboardData、wx.getClipboardData

微信小程序隐私协议开发指南

一、功能介绍

涉及处理用户个人信息的微信小程序开发者,需通过弹窗等明显方式提示用户阅读隐私政策等收集使用规则。

为规范开发者的用户个人信息处理行为,保障用户合法权益,微信要求开发者主动同步微信当前用户已阅读并同意微信小程序的隐私政策等收集使用规则,方可调用微信提供的隐私接口。

特别注意:

2023年8月22日更新:

以下指南中涉及的 getPrivacySetting、onNeedPrivacyAuthorization、requirePrivacyAuthorize 等接口目前可以正常接入调试。调试说明:

  1. 在 2023年9月15日之前,在 app.json 中配置 __usePrivacyCheck__: true 后,会启用隐私相关功能,如果不配置或者配置为 false 则不会启用。

  2. 在 2023年9月15日之后,不论 app.json 中是否有配置 __usePrivacyCheck__,隐私相关功能都会启用。

接口用法可参考下方完整示例demo

2023年9月14日更新:

  1. 隐私相关功能启用时间延期至 2023年10月17日。在 2023年10月17日之前,在 app.json 中配置 __usePrivacyCheck__: true 后,会启用隐私相关功能,如果不配置或者配置为 false 则不会启用。在 2023年10月17日之后,不论 app.json 中是否有配置 __usePrivacyCheck__,隐私相关功能都会启用。

  2. 新增官方隐私授权弹窗功能,相关功能参考下方官方隐私弹窗功能说明。

二、接入流程

1. 配置《微信小程序用户隐私保护指引》

开发者需在「微信小程序管理后台」配置《微信小程序用户隐私保护指引》,详细指引可见:用户隐私保护指引填写说明。

需要注意的是,仅有在指引中声明所处理的用户信息,才可以调用平台提供的对应接口或组件。若未声明,对应接口或组件将直接禁用。隐私接口与对应的处理的信息关系可见:微信小程序用户隐私保护指引内容介绍。

配置完成后,对于每个使用微信小程序的用户,开发者均需要同步微信当前用户已阅读并同意微信小程序的隐私政策等收集使用规则后,才可以调用已声明的接口或组件。同步的开发方式见下文。

对于已经同步过的用户,后续若开发者更新了配置,对于旧版本已经有接口或组件,不需要重新同步;对于更新后产生的新的接口或组件,需要重新同步。例如,7月11日更新的版本中包含「收集你选择的位置信息」,7月12日同步用户同意状态,7月13日更新后新增了「收集你的微信运动步数」,则在未再次同步的情况下,可以调用 wx.chooseLocation 接口,无法调用 wx.getWeRunData 接口。

2. 主动查询隐私授权同步状态以及展示隐私协议

从基础库 2.32.3 开始支持

开发者可通过 wx.getPrivacySetting 接口,查询微信侧记录的用户是否有待同意的隐私政策信息。该信息可通过返回结果 res 中的 needAuthorization 字段获取。

同时,wx.getPrivacySetting 接口会返回开发者在微信小程序管理后台配置的《微信小程序用户隐私保护指引》名称信息,开发者可以调用 wx.openPrivacyContract 接口打开该页面。

如果存在有待用户同意的隐私政策信息,开发者需要主动提示用户阅读隐私政策等收集使用规则,对于提示方式,微信小程序开发者可自行设计,同时需要在相关界面中使用 <button open-type="agreePrivacyAuthorization"> 组件,当用户轻触该 <button> 组件后,表示用户已阅读并同意微信小程序的隐私政策等收集使用规则,微信会收到该同步信息,此时开发者可以在该组件的 bindagreeprivacyauthorization 事件回调后调用已声明的隐私接口。

代码示例

<!-- page.wxml -->
<view wx:if="{{showPrivacy}}">
  <view>隐私弹窗内容....</view>
  <button bindtap="handleOpenPrivacyContract">查看隐私协议</button>
  <button id="agree-btn" open-type="agreePrivacyAuthorization" bindagreeprivacyauthorization="handleAgreePrivacyAuthorization">同意</button>
</view>
// page.js
Page({
  data: {
    showPrivacy: false
  },
  onLoad() {
    wx.getPrivacySetting({
      success: res => {
        console.log(res) // 返回结果为: res = { needAuthorization: true/false, privacyContractName: '《xxx隐私保护指引》' }
        if (res.needAuthorization) {
          // 需要弹出隐私协议
          this.setData({
            showPrivacy: true
          })
        } else {
          // 用户已经同意过隐私协议,所以不需要再弹出隐私协议,也能调用已声明过的隐私接口
          // wx.getUserProfile()
          // wx.chooseMedia()
          // wx.getClipboardData()
          // wx.startRecord()
        }
      },
      fail: () => {},
      complete: () => {}
    })
  },
  handleAgreePrivacyAuthorization() {
    // 用户同意隐私协议事件回调
    // 用户点击了同意,之后所有已声明过的隐私接口和组件都可以调用了
    // wx.getUserProfile()
    // wx.chooseMedia()
    // wx.getClipboardData()
    // wx.startRecord()
  },
  handleOpenPrivacyContract() {
    // 打开隐私协议页面
    wx.openPrivacyContract({
      success: () => {}, // 打开成功
      fail: () => {}, // 打开失败
      complete: () => {}
    })
  }
})

从基础库 2.32.3 版本起,隐私同意按钮支持与手机号快速验证组件、手机号实时验证组件耦合使用,调用方式为 <button open-type="getPhoneNumber|agreePrivacyAuthorization"><button open-type="getRealtimePhoneNumber|agreePrivacyAuthorization">

也支持隐私同意按钮与获取用户信息组件耦合使用,调用方式为<button open-type="getUserInfo|agreePrivacyAuthorization">

示例代码

<!-- page.wxml -->
<button id="agree-btn1" open-type="getPhoneNumber|agreePrivacyAuthorization" bindgetphonenumber="handleGetPhoneNumber" bindagreeprivacyauthorization="handleAgreePrivacyAuthorization">同意隐私协议并授权手机号</button>

<button id="agree-btn2" open-type="getRealtimePhoneNumber|agreePrivacyAuthorization" bindgetrealtimephonenumber="handleGetRealtimePhoneNumber" bindagreeprivacyauthorization="handleAgreePrivacyAuthorization">同意隐私协议并授权手机号</button>

<button id="agree-btn3" open-type="getUserInfo|agreePrivacyAuthorization" bindgetuserinfo="handleGetUserInfo" bindagreeprivacyauthorization="handleAgreePrivacyAuthorization">同意隐私协议并获取头像昵称信息</button>
// page.js
Page({
  handleAgreePrivacyAuthorization() {
    // 用户同意隐私协议事件回调
    // 用户点击了同意,之后所有已声明过的隐私接口和组件都可以调用了
    // wx.getUserProfile()
    // wx.chooseMedia()
    // wx.getClipboardData()
    // wx.startRecord()
  },
  handleGetPhoneNumber(e) {
    // 获取手机号成功
    console.log(e)
  },
  handleGetRealtimePhoneNumber(e) {
    // 获取实时手机号成功
    console.log(e)
  },
  handleGetUserInfo(e) {
    // 获取头像昵称成功
    console.log(e)
  }
})

3. 被动监听隐私接口需要用户授权事件

从基础库 2.32.3 开始支持

微信小程序开发者除了可以自行判断时机,提示用户阅读隐私政策等收集使用规则外,也可以通过 wx.onNeedPrivacyAuthorization 接口来监听何时需要提示用户阅读隐私政策。当用户触发了一个微信侧未记录过同意的隐私接口调用,则会触发该事件。开发者可在该事件触发时提示用户阅读隐私政策。

需要注意的是,对于 <input type="nickname"> 组件,由于 <input> 的特殊性,如果用户未同意隐私协议,则<input type="nickname"> 聚焦时不会触发 onNeedPrivacyAuthorization 事件,而是降级为 <input type="text">

此外,微信还提供了 wx.requirePrivacyAuthorize 接口,可用于模拟隐私接口调用。

代码示例

// page.wxml
<view wx:if="{{showPrivacy}}">
  <view>隐私弹窗内容....</view>
  <button id="agree-btn" open-type="agreePrivacyAuthorization" bindagreeprivacyauthorization="handleAgreePrivacyAuthorization">同意</button>
</view>
// page.js
Page({
  data: {
    showPrivacy: false
  },
  onLoad() {
    wx.onNeedPrivacyAuthorization((resolve, eventInfo) => {
      console.log('触发本次事件的接口是:' + eventInfo.referrer)
      // 需要用户同意隐私授权时
      // 弹出开发者自定义的隐私授权弹窗
      this.setData({
        showPrivacy: true
      })
      this.resolvePrivacyAuthorization = resolve
    })

    wx.getUserProfile({
      success: console.log,
      fail: console.error
    })
  },
  handleAgreePrivacyAuthorization() {
    // 用户点击同意按钮后
    this.resolvePrivacyAuthorization({ buttonId: 'agree-btn', event: 'agree' })
    // 用户点击同意后,开发者调用 resolve({ buttonId: 'agree-btn', event: 'agree' })  告知平台用户已经同意,参数传同意按钮的id
    // 用户点击拒绝后,开发者调用 resolve({ event:'disagree' }) 告知平台用户已经拒绝
  }
})

4. 清空历史同步状态

当用户从「微信下拉-最近-最近使用的微信小程序」中删除微信小程序,将清空历史同步状态。下次访问微信小程序后,需要重新同步微信当前用户已阅读并同意微信小程序的隐私政策等收集使用规则。

开发者可通过此方式进行调试,也可以在开发者工具中「清除模拟器缓存-清除授权数据」清空历史同步状态。

三、其他说明

  • 低于 2.32.3 版本的基础库未集成隐私相关功能,也不会拦截隐私接口调用。

四、完整示例demo

demo1: 演示使用 wx.getPrivacySetting<button open-type="agreePrivacyAuthorization"> 在首页处理隐私弹窗逻辑 https://developers.weixin.qq.com/s/gi71sGm67hK0

demo2: 演示使用 wx.onNeedPrivacyAuthorization<button open-type="agreePrivacyAuthorization"> 在多个页面处理隐私弹窗逻辑,同时演示了如何处理多个隐私接口同时调用。 https://developers.weixin.qq.com/s/hndZUOmA7gKn

demo3: 演示 wx.onNeedPrivacyAuthorizationwx.requirePrivacyAuthorize<button open-type="agreePrivacyAuthorization"><input type="nickname"> 组件如何结合使用 https://developers.weixin.qq.com/s/jX7xWGmA7UKa

demo4: 演示使用 wx.onNeedPrivacyAuthorization<button open-type="agreePrivacyAuthorization"> 在多个 tabBar 页面处理隐私弹窗逻辑 https://developers.weixin.qq.com/s/g6BWZGmt7XK9

五、常见错误说明

  • { "errMsg": "A:fail api scope is not declared in the privacy agreement", "errno": 112 } 使用到了 A 隐私接口,但是开发者未在「MP后台-设置-服务内容声明-用户隐私保护指引」中声明收集 A 接口对应的隐私类型。补充的隐私类型声明, 将在5分钟后生效。

  • { "errMsg": "A:fail appid privacy api banned" } 使用到了 A 隐私接口,但是开发者在 mp 提审时勾选了“未采集隐私”,或者未声明隐私协议,被平台回收了接口调用权限。

六、官方隐私弹窗功能说明

为了让开发者能更便利地完成微信小程序隐私合规要求,除了通过以上指引进行隐私协议开发外,平台还提供了官方隐私授权弹窗。此弹窗在隐私相关功能启用后(2023年10月17日后或开发者在 app.json 中配置 __usePrivacyCheck__: true 后),无需开发者适配开发,自动向 C 端用户展示。具体逻辑为:

当开发者调用隐私相关接口时,微信会判断此次调用是否需要触发 wx.onNeedPrivacyAuthorization 事件,若触发后开发者未进行响应,微信将主动弹出官方弹窗。若用户同意,该接口将正常执行后续调用逻辑;若用户拒绝,将进行报错。

需要注意的是,用户可能拒绝官方隐私授权弹窗,为了避免过度弹窗打扰用户,开发者再次调用隐私相关接口时,若距上次用户拒绝不足10秒,将不再触发弹窗,直接给到开发者用户拒绝隐私授权弹窗的报错。

官方隐私弹窗将有两种样式:

  1. 与授权弹窗耦合样式:用户在此弹窗下需要勾选隐私协议才可以进行允许操作,若用户在弹窗中拒绝,报错信息为用户拒绝(错误码为 103)。
  1. 直接弹窗样式:用户侧直接针对隐私协议的授权,若用户在弹窗中拒绝,报错信息为用户未同意隐私协议(错误码为 104)。

与授权弹窗耦合样式将会在后续版本的基础库中支持(支持版本将在后续更新),在低版本基础库中所有弹窗均将采用直接弹窗样式。

业务安全解决方案

为了提高微信开放平台生态的安全性,针对微信小程序各应用场景中可能存在的恶意/蓄意攻击、恶意爬取微信小程序核心数据内容等行为,平台提供了「微信网关」产品,向开发者提供微信网关服务,以协助开发者应对 CC 攻击、DNS 劫持/污染等攻击风险,以及外部抓包获取业务数据信息。同时,微信网关基于微信客户端可靠的网络链路,能进一步提高业务的请求成功率及弱网环境下的访问质量,全力保障服务高可用。

微信网关提供的能力和支持场景

守护数据安全

微信小程序团队基于微信小程序技术架构自研了微信私有协议,基于此微信私有协议,对请求进行二次封装加密,全程无明文数据传输,极大提高了协议破解和数据爬取的门槛,保护了业务协议和数据安全,防止核心数据泄露,保护企业无形的数据资产。

拦截恶意流量

针对可疑的账号/请求,微信网关提供了一套流量风控策略,基于行为、特征、情报等多维度数据智能模型,在面对核心资源请求时,支持多种人机验证方式,高效拦截机器行为;面向业务营销活动时,能精准识别羊毛党/灰产,让业务把优惠福利真正给到目标用户。

提高服务可用性

微信网关与微信客户端共用网络链路,能有效优化三四线城市及商场等弱网环境下的访问质量,只要微信能打得开,业务微信小程序就可以使用,显著提升了客户端访问成功率及终端用户体验。同时,在面向各种网络相关的各种疑难杂症、不明原因报错等情况时,微信网关都能起到有效作用。此外,还提供API流量治理能力,可按接口设置限速,避免流量洪峰导致服务过载雪崩,保障业务高可用。

微信网关特性

便捷接入

无任何架构要求,无需更改现有系统架构,配置简单,一般 0.5人/天 即可完成从接入测试到上线使用。

体验无损

接入微信网关,业务接口性能仅增加毫秒级别的开销,不影响用户体验。

能力使用

登录 Donut 开发平台 – 微信网关控制台,即可立即使用。

开发接入指引

在客户端使用微信网关

微信小程序内容安全解决方案

为了提高微信开放平台生态的安全性,针对微信小程序各内容场景中可能存在的安全问题,平台通过开放API方式向开发者提供内容安全解决方案,协助开发者应对文本、图片、音频内容类型下的敏感内容识别、涉黄内容识别、暴恐内容识别等问题,以便开发者维护微信小程序的运营秩序和安全。

文本内容安全检测:

功能描述:文本审核接口能够识别文本信息中的色情、时政违规、暴恐等违法有害内容,帮助用户及时、精准地防范违规风险,可用于内容审核、敏感信息过滤、舆情监控等场景。

  • 该功能基于10万级大规模敏感词库,结合多种文本对抗方法、政策权威要求等,并运用了深度学习技术,高效识别高危有害内容。同时,我们会根据大规模语料和实时反误杀系统,不断更新迭代,确保效果持续提升。

应用场景:用户个人资料文本内容检测;媒体新闻类用户发表文章、社区评论内容检测;游戏类用户编辑上传的素材(如答题类微信小程序用户上传的问题及答案)检测等。

图片内容安全检测:

功能描述:图片内容安全基于腾讯海量数据资源和深度学习技术,为开发者提供图片内容的智能审核服务,不仅能帮助用户降低色情、时政违规、暴力恐怖等风险,还能大幅度节省人工审核成本,保护业务健康发展。

  • 通过学习和分析图片影像的肤色、姿态和场景等多种维度,可对图片进行色情识别。
  • 提供包括敏感人物的面部识别与敏感事件等的场景识别。
  • 基于舆情分析,提供更为严格的暴恐模型,智能识别暴力、血腥场景及恐怖主义、极端主义等涉嫌违禁的图片内容。

应用场景:用户自定义头像检测、涉及拍照的工具类应用(如P图、自拍类应用)用户拍照上传检测;电商类商品上架图片检测;媒体类用户文章里的图片检测;社交类用户上传的图片检测等。

音频内容安全检测:

功能描述:识别音频中的涉黄、涉政、谩骂等违规内容,从而降低人工成本,提高审核效率。应用场景:游戏聊天频道中的语音检测;直播中的主播语音检测;论坛社区发布相关媒体内容的音频检测。

开发接入指引

  • 文本内容安全接口文档:msgSecCheck
  • 音频/图片内容安全异步接口文档:mediaCheckAsync

常见问题

1、请不要完全依赖内容安全服务

  • 将微信小程序UGC内容接入内容安全服务,可以有效缓解人工审核、降低违规风险,但接入内容安全服务并不意味着可以一劳永逸地解决所有问题。为了进一步确保内容安全,我们仍建议在一些环节设置人工审核确认,以弥补AI算法存在的一些不足。
  • 例如,API判断为REVIEW的内容,说明可能存在风险,需要人工确认;API判断为PASS的内容,可能包含被漏掉的违规内容,可以按照一定比例抽查。

2、如果对内容安全解决方案有使用疑问或者需求,应该如何反馈?

  • 微信开放社区开设了安全风控专区,开发者可以到安全中心专区发帖互动交流。

微信小程序用户安全解决方案

安全风控接口

为了提高微信开放平台生态的安全性,针对微信小程序中可能出现的恶意注册、营销作弊等黑产风险和安全问题,平台开放了API接口,向开发者提供安全风控接口,帮助应对刷单、虚假交易、恶意骗取补贴等营销作弊风险,以及批量注册、伪造身份等注册黑产风险,从而维护微信小程序的运营秩序和安全。

安全风控接口提供的能力和应用场景

  • 营销作弊场景:在首单优惠和特价优惠等营销活动中,有效识别刷单、虚假交易、恶意骗保骗补贴等破坏运营秩序和安全的行为。
  • 恶意注册:识别并拦截机器批量注册、垃圾小号、伪造身份等恶意注册行为。

能力申请流程

  • 登录微信小程序,在【开发→开发管理→安全中心→用户风控→安全风控接口】申请开通即可。 0.png

风险等级说明和使用建议

开发者可以根据接口返回的风险等级数来判断用户的风险程度。风险等级代表的意义及对应业务的使用,可以参考下面的说明和建议,具体的使用可以根据业务实际情况动态调整,以达到准确的拦截效果,保护业务健康有序地开展。

风险等级 建议处置方案
风险等级0 无风险,不做任何阻拦
风险等级1 低微可疑的风险,建议进行简单的验证(如验证码、短信等)
风险等级2 轻度可疑的风险,建议进行简单的验证(如验证码、短信等)
风险等级3 中度可疑的风险,建议根据业务场景采取一定措施避免伤害。例如,营销活动可降低高等级奖励的概率;打榜类活动对此类投票降低权重;登录注册要求二次验证等
风险等级4 高度可疑的风险,建议根据业务逻辑直接拦截。例如,红包类活动返回不中奖或最小额红包;打榜类活动不计算票数;登录/注册操作要求二次验证;高危业务可选择限制本次操作。

开发接入指引

调用API




微信小程序用户隐私保护指引填写说明

为规范开发者的用户个人信息处理行为,保障用户合法权益,微信小程序、插件中涉及处理用户个人信息的开发者,均需补充相应用户隐私保护指引。

具体填写内容说明可见微信小程序用户隐私保护指引内容介绍、插件用户隐私保护说明内容介绍。

一、微信小程序用户隐私保护指引

1、填写现网版本用户隐私保护指引

入口1:账号设置-服务内容声明-用户隐私保护指引-去完善

开发者可随时基于微信小程序现网版本进行隐私协议的完善或更新,审核通过后即可生效。用户可在微信小程序更多资料页和弹窗中查看隐私指引。

2. 填写提审版本用户隐私保护指引

入口2:管理—版本管理—提交代码审核—信息填写页面

开发者每次提交代码审核时,平台默认拉取微信小程序现网版本隐私协议,作为开发版本的隐私协议进入平台审核。若提交审核的开发版本,其隐私接口调用情况与隐私协议内容有出入,或隐私协议内容为空,则在提审时会提醒开发者进行更新。

在此入口对开发版本隐私协议内容的修改不会对现网版本的隐私协议产生影响。同样,入口1的修改仅针对现网版本隐私协议。若开发版本审核通过且发布现网,该版本的隐私协议会同时发布现网覆盖前一个版本的隐私协议。

注意:若提审版本时被拦截,请在当前入口,即入口2对隐私协议内容进行更新。

3. 代开发微信小程序通过接口配置用户隐私保护指引

代开发的微信小程序则只能通过接口配置用户隐私保护指引,可以参考第三方平台的指引文档

二、插件用户隐私保护说明填写

1、填写线上版本用户隐私保护说明

入口1:微信小程序插件—设置—用户隐私保护说明

开发者可随时对插件最新的线上版本进行隐私说明的完善或更新,审核通过后即可生效。用户可在引用了该版本的微信小程序更多资料页、隐私指引中查看。

暂不支持对线上非最新版本进行隐私说明的完善或更新。

2. 填写提审版本用户隐私保护说明

入口2:微信小程序插件—提交审核—无法提交审核弹窗-去完善

开发者每次提交代码审核时,平台默认拉取插件最新的线上版本隐私说明,与当前提交审核版本隐私接口调用情况对比,若当前提交审核版本调用了最新的线上版本隐私说明不包含的隐私接口,会提醒开发者先提交隐私说明审核。

开发者完善隐私声明后,需等待隐私声明审核通过才可提交版本。隐私声明审核通过会通过服务通知告知插件开发者。

注意:若提审版本时被拦截,请在当前入口,即入口2对隐私协议内容进行更新

若当前提交审核版本删除了最新的线上版本隐私说明中包含的隐私接口,无法在提审时进行编辑,建议开发者在版本发布后通过入口1进行修改。