一键认证SDK合规指南

一键认证SDK合规指南

更新时间:2024年03月21日

尊敬的开发者:

  为有效治理App强制授权、过度索权、超范围收集个人信息等现象,落实《网络安全法》《消费者权益保护法》的要求,保障个人信息安全,2019年1月,中央网信办、工信部、公安部、市场监管总局等四部委发布了《关于开展App违法违规收集使用个人信息专项治理的公告》,在全国范围组织开展App违法违规收集使用个人信息专项治理,并陆续出台完善了《App违法违规收集使用个人信息行为认定方法》、《GB/T 35273-2020 信息安全技术 个人信息安全规范》等标准规范。
  2020年以来,随着工信部纵深推进App专项整治行动,以及陆续检测通报App违规情况,监管部门、各行业参与方、终端用户都越来越关注App和SDK的安全问题。
  为帮助个推SDK的使用者们更清楚地了解监管要求、高效落实个人信息保护相关事宜,个推(公司全称:每日互动股份有限公司)特编写了《个推合规指南》(以下简称“指南”),供开发者们参考。

一、App个人信息保护的合规要求

  App首先需制定一份《隐私政策》,并确保在产品界面中显著展示。《隐私政策》须单独成文,而不是作为用户协议、用户说明等文件中的一部分存在。App应在《隐私政策》中明示收集使用个人信息的目的、方式和范围,并确保《隐私政策》链接正常有效易于访问和阅读
  App应在《隐私政策》中将收集个人信息的业务功能以及每个业务功能所收集的个人信息类型进行逐项列举,不应使用“等、例如” 等方式概括说明;同时,App须对个人敏感信息类型进行显著标识(如字体加粗、标星号、下划线、斜体、颜色等)。如果通过嵌入第三方代码、插件等方式将个人信息传输至第三方服务器,应通过弹窗提示等方式明确告知用户。

二、App使用个推SDK时的合规指引

  1.您应确保在App首次运行时通过明显方式提示终端用户阅读您的《隐私政策》,并取得终端用户的合法授权后,再初始化SDK进行信息收集与处理。如果终端用户不同意您的隐私政策,则不能初始化个推的各项SDK,也无法使用相应SDK对应功能。
  如果您的App在终端用户首次运行时,需要注册用户账号才能使用,则可以在账号注册环节提示终端用户同意您的《隐私政策》,之后完成注册;如果您的App并不一定需要终端用户注册用户账号才能使用,那么如果终端用户不同意您的《隐私政策》,按照最新合规政策,您不应停止让终端用户使用您的App,仍需保留用户的基本使用权利。若终端用户将使用到需收集相关个人信息才能使用的功能(比如一键认证服务),可以再次提醒终端用户需要同意您的《隐私政策》才能正常使用相关功能,若终端用户仍不同意,则无法提供对应功能,可在终端用户下次需要使用时再提示同意您的《隐私政策》。

  2.一键认证SDK申请权限和使用场景:

OS 权限 使用场景 使用目的
Android INTERNET(必选) 网络通信 全生命周期网络通信
Android ACCESS_NETWORK_STATE(必选) 网络变化时,进行网络切换通信 查看网络状态,用于一键认证
Android ACCESS_WIFI_STATE(必选) 查看wifi连接状态 wifi状态改变时,切换网络
Android ACCESS_BACKGROUND_LOCATION(可选) 打开反欺诈功能,且用户授权位置权限时 后台运行时收集位置信息,用于反欺诈功能
Android ACCESS_FINE_LOCATION(可选) 打开反欺诈功能,且用户授权位置权限时 收集位置信息,用于反欺诈功能
Android ACCESS_COARSE_LOCATION(可选) 打开反欺诈功能,且用户授权位置权限时 收集位置信息,用于反欺诈功能
Android READ_PHONE_STATE(可选) 调用GYUID注册接口时 获取手机参数,并作为生成唯一用户标识的可选参数,生成唯一的客户端ID,即GYUID,用于一键认证计费功能
IOS 网络访问权限(必选) 网络通信 全生命周期网络通信
IOS IDFA(必选) 调用GYUID注册接口时 生成唯一的客户端ID,即GYUID
IOS 定位(可选) 打开反欺诈功能,且用户授权位置权限时 收集位置信息,用于反欺诈功能

  3.功能及相关个人信息说明:

OS 业务 相关个人信息 配置方式
Android 一键认证认证 (基础功能) 必选信息:设备平台、设备厂商、设备品牌、设备型号及系统版本、OAID、AndroidID、WIFI连接信息、运营商信息、IP地址、去标识化的手机号码;
可选信息:IMEI、MAC、Advertising ID、Serial Number、IMSI、ICCID、基站信息
基础功能,可选个人信息配置见 4.SDK可选个人信息的配置说明
Android 反欺诈 (扩展功能) 应用列表信息、网络信息、以及位置相关信息:我们通过上述信息分析当前设备的风险等级,可有效识别各种作弊行为,有效识别风险设备,可用于评估渠道质量,识别恶意刷量、恶意程序、保护用户账号安全等,为您的应用保驾护航。 配置开启、关闭示例:com.g.gysdk.GYManager.getInstance().setSecurity(Context context, boolean enable);
参数:context:应用的 Context,enable:true 或 false 是否启用或关闭反欺诈功能,关闭反欺诈功能后相关信息将不用于反欺诈功能
IOS 一键认证认证 (基础功能) 设备信息:IDFA、IDFV 、去标识化的手机号码 基础功能,必要个人信息
IOS 一键认证认证 (反欺诈功能) 网络信息(包含IP地址、WIFI信息、基站信息、运营商信息)以及位置相关信息 扩展功能, 配置开启、关闭示例:+ (void)lbsLocationEnable:(BOOL)isEnable andUserVerify:(BOOL)isVerify; 参数:isEnable:设置反欺诈功能是否运行,YES:允许,NO:不允许。默认为 NO,isVerify:设置是否SDK主动弹出用户定位请求,YES:允许,NO:不允许。默认为 NO

  4.可选个人信息配置示例:

类型 配置方式
应用列表信息 示例说明: com.g.gysdk.GYManager.getInstance().setAppListInterval(Context context, long intervalTime) 参数:context:应用的 Context,intervalTime: 应用列表收集频次 ,范围6~24,使用场景,当您开启反欺诈功能时,应用列表收集默认开启,使用此方法设置应用列表信息收集频次,如设置6小时,表示每6小时收集一次应用列表信息,用于反欺诈功能
位置相关信息 示例说明: com.g.gysdk.GYManager.getInstance().setLocationInterval(Context context, long intervalTime) 参数:context:应用的 Context,intervalTime: 位置相关信息收集频次,范围5~1800,使用场景,当您开启反欺诈时,位置相关信息收集默认开启,使用此方法设置位置相关信息收集频次,如设置5表示位置相关信息收集频次为5秒, 用于反欺诈功能
设备信息(imei) 开启和关闭收集imei示例说明: com.g.gysdk.GYManager.getInstance().setImeiEnable(Context context, boolean enable) 参数:context:应用的 Context,enable:true 或者false,表示开启或关闭imei收集。
设置imei收集频次示例说明: com.g.gysdk.GYManager.getInstance().setImeiInterval(Context context, int intervalTime), 参数:context:应用的 Context,intervalTime:如设置24表示imei收集频次是24小时,范围24~168,如设置24小时,表示每24小时收集一次imei信息,用于一键认证基本功能。
设备信息(imsi) 开启和关闭收集imsi示例说明: com.g.gysdk.GYManager.getInstance().setImsiEnable(Context context, boolean enable) 参数:context:应用的 Context,enable:true 或者false,表示开启或关闭imsi收集。
设置imsi收集频次示例说明: com.g.gysdk.GYManager.getInstance().setImsiInterval(Context context, int intervalTime), 参数:context:应用的 Context,intervalTime:如设置24表示imsi收集频次是24小时,范围24~168,如设置24小时,表示每24小时收集一次imsi信息,用于一键认证基本功能。
设备信息(mac) 开启和关闭收集mac示例说明: com.g.gysdk.GYManager.getInstance().setMacEnable(Context context, boolean enable) 参数:context:应用的 Context,enable:true 或者false,表示开启或关闭mac收集。
设置mac收集频次示例说明: com.g.gysdk.GYManager.getInstance().setMacInterval(Context context, int intervalTime), 参数:context:应用的 Context,intervalTime:范围24~168,如设置24小时,表示每24小时收集一次mac信息,用于一键认证基本功能
设备信息(iccId) 开启和关闭收集iccId示例说明: com.g.gysdk.GYManager.getInstance().setIccIdEnable(Context context, boolean enable) 参数:context:应用的 Context,enable:true 或者false,表示开启或关闭iccId收集。
设置mac收集频次示例说明: com.g.gysdk.GYManager.getInstance().setIccidInterval(Context context, int intervalTime), 参数:context:应用的 Context,intervalTime:范围24~168,如设置24小时,表示每24小时收集一次iccId信息,用于一键认证基本功能
设备信息(serialNumber) 开启和关闭收集serialNumber示例说明: com.g.gysdk.GYManager.getInstance().setSerialNumberEnable(Context context, boolean enable) 参数:context:应用的 Context,enable:true 或者false,表示开启或关闭setSerialNumberEnable收集。
设置setSerialNumberEnable收集频次示例说明: com.g.gysdk.GYManager.getInstance().setSerialNumberInterval(Context context, int intervalTime), 参数:context:应用的 Context,intervalTime:范围24~168,如设置24小时,表示每24小时收集一次serialNumber信息,用于一键认证基本功能
基站信息(cellinfo) 开启和关闭收集cellinfo示例说明: com.g.gysdk.GYManager.getInstance().setCellInfoEnable(Context context, boolean enable) 参数:context:应用的 Context,enable:true 或者false,表示开启或关闭setCellInfoEnable收集。
设置cellinfo收集频次示例说明: com.g.gysdk.GYManager.getInstance().setCellInfoInterval(Context context, int intervalTime), 参数:context:应用的 Context,intervalTime:范围5~30,如设置5,表示每5秒收集一次cellinfo信息,用于一键认证基本功能
设备信息(AdvertisingID) 开启和关闭收集AdvertisingID示例说明: com.g.gysdk.GYManager.getInstance().setAdvertisingIdEnable(Context context, boolean enable) 参数:context:应用的 Context,enable:true 或者false,表示开启或关闭AdvertisingID收集。
设置AdvertisingID收集频次示例说明: com.g.gysdk.GYManager.getInstance().setAdvertisingIdInterval(Context context, int intervalTime), 参数:context:应用的 Context,intervalTime:范围24~168,如设置24小时,表示每24小时收集一次AdvertisingID地址信息,用于一键认证基本功能

  5.若您使用了个验·一键认证服务,针对三大运营商的认证SDK,建议您在建议您在APP自身隐私政策中添加各SDK的隐私政策,文本模版如下:

SDK名称 SDK厂商 合作目的 收集个人信息 SDK隐私政策链接
联通账号认证SDK 中国联合网络通信有限公司 为App提供风控和认证服务 网络类型、网络地址、运营商类型、本机手机号、手机设备类型、手机操作系统、硬件厂商 https://opencloud.wostore.cn/authz/resource/html/disclaimer.html?fromsdk=true
电信(天翼)账号认证SDK 天翼数字生活科技有限公司 为App提供风控和认证服务 网络IP地址、网络类型、注册手机号码、本机号码、国际移动用户标识码、应用进程信息、网络连接类型、网络状态信息、网络地址、运营商类型、手机设备类型、手机设备厂商、手机操作系统类型及版本 https://e.189.cn/sdk/agreement/detail.do?hidetop=true
移动账号认证SDK 中移互联网有限公司 为App提供风控和认证服务 网络类型、网络地址、运营商类型、本机号码信息、手机设备类型、手机操作系统、硬件厂商 https://wap.cmpassport.com/resources/html/contract.html

  6.为保证您的在集成一键认证SDK之后,能够满足工信部相关合规要求,您应确保在App安装后首次冷启动时按照如下方式进行初始化:

  6.1 Android相关启动流程

  • 在Applicaiton.onCreate函数中调用初始化方法GYManager.getInstance().preInit(Context context),您务必确保用户同意《隐私政策》之后,再调用初始化方法,初始化方法不会收集用户信息,也不会向个推后台上报数据。
// SDK初始化函数
// preInit初始化函数耗时极少,不会影响App首次冷启动用户体验
public static void preInit(Context context)

示例
com.g.gysdk.GYManager.getInstance().preInit(Context context);

  • 确保App首次冷启动时,在用户阅读您的《隐私政策》并取得用户授权之后,才调用方法GYManager.getInstance().init(GyConfig config),注册 GYUID ,生成唯一的客户端ID,此时SDK才会真正收集用户信息(设备信息、应用相关信息、网络信息及位置相关信息)并上报数据。反之,如果用户不同意《隐私政策》授权,则不能调用GYManager.getInstance().init(GyConfig config)方法。
  • 一旦App获取到《隐私政策》的用户授权,后续的App冷启动,开发者应该保证在Applicaiton.onCreate函数中调用初始化方法GYManager.getInstance().preInit(Context context)。注册 GYUID 方法GYManager.getInstance().init(GyConfig config)可以按需调用(可以在初始化方法之后紧接着调用,也可以放到后台线程中延迟调用,但还是必须调用,不能遗漏)。
  • 其他API接口详情见:https://docs.getui.com/geyan/mobile/android/api/

  6.2 IOS相关启动流程

  • 为确保App在集成SDK之后,能够满足工信部相关合规要求,您应确保App首次冷启动时,在用户阅读您的《隐私政策》并取得用户授权之后,再初始化SDK,此时SDK才会真正收集用户信息(设备信息、网络信息)并上报。反之,如果用户不同意《隐私政策》授权,则不能调用初始化方法。
/// 初始化个验SDK
/// @param appId 您申请的APPID
/// @param callback 初始化结果回调
+ (void)startWithAppId:(NSString *_Nonnull)appId withCallback:(GyCallback _Nonnull)callback;


  为帮助开发者高效制定隐私政策,个推针对不同细分领域的App整理输出了各个类型的App隐私政策模板,供开发者参考使用。

  模板下载地址https://docs.getui.com/templet

  同时,我们也建议您对接入的个推SDK版本进行更新,SDK下载地址https://docs.getui.com/download.html

  7.为保证您的App在集成一键认证SDK之后,能够满足工信部相关合规要求,您应确保征得最终用户同意后启动SDK,同意方式示例如下:

  7.1 要求内容:《SDK合规使用说明》应详细说明App获取最终用户授权同意的建议方式,其中需要取得最终用户单独同意的,应显著提示并给出示例。
  7.2 接入说明:App首次运行时应当有隐私弹窗,隐私弹窗中应公示简版隐私政策内容并附完整版隐私政策链接,并明确提示最终用户阅读并选择是否同意隐私政策;隐私弹窗应提供同意按钮和拒绝同意的按钮,并由最终用户主动选择。
  7.3 披露示例:
img

  8.在使用个推各项SDK产品时,开发者需在App《隐私政策》的 “与授权合作伙伴共享”条款中,将 个推的用户隐私政策 加入其中,并向终端用户逐一明示您嵌入的SDK收集使用个人信息的目的、方式和范围。

在APP自身隐私政策中添加个推各项SDK的隐私政策文本模版如下:

SDK名称 SDK厂商 合作目的 收集个人信息字段及用途 SDK隐私政策链接
个验认证SDK 每日互动股份有限公司 为App提供风控和认证服务 安卓端处理的信息:
(1)设备信息、网络信息:必选信息:设备平台、设备厂商、设备品牌、设备型号及系统版本、OAID、AndroidID、WIFI连接信息、运营商信息、IP地址、去标识化的手机号码。
可选信息:IMEI、MAC、Advertising ID、Serial Number、IMSI、ICCID、基站信息。用于有效识别设备、快速响应验证需求以提供高效、稳定、流畅的一键认证服务并生成唯一的客户端ID即GYUID(同时用于收费计算)
(2)应用列表信息、网络信息、以及位置相关信息:反欺诈扩展功能的必选信息,用于分析当前设备的风险等级,有效识别各种作弊行为,有效识别风险设备,可用于评估渠道质量,识别恶意刷量、恶意程序、保护用户账号安全等场景。
iOS端处理的信息:
(1)设备信息和手机号码:设备识别码(IDFA、IDFV)和去标识化的手机号码将被用于生成唯一的客户端ID,即GYUID;设备平台、设备厂商、设备品牌、设备型号及系统版本、设备序列号和去标识化的手机号码有助于我们保证一键认证的有效识别,快速响应。以提供高效、稳定、流畅的一键认证服务,这会提升我们的反欺诈能力。
(2)网络信息(包含IP地址、WIFI信息、基站信息、运营商信息)以及位置相关信息:我们通过上述信息分析当前设备的风险等级,可有效识别各种作弊行为,有效识别风险设备,可用于评估渠道质量,识别恶意刷量、恶意程序、保护您的账号安全。
通过上述信息,我们可以帮助开发者通过我们的认证和/或反欺诈服务为您提供更加安全的服务。
https://docs.getui.com/privacy

其他类型SDK及隐私政策模版样式可联系我们技术支持或商务进行确认。

  9.如果您和您的用户请求访问、更正、补充其用户信息,行使删除权,更改其授权同意的范围等,您可以查看《个推隐私政策》,或联系用户信息保护负责人邮箱support@getui.com的方式,向我们提出删除信息的请求。

三、合规文件指引

  为了更及时高效地落实合规要求,我们建议各位开发者充分了解现有以及陆续将发布的有关个人信息保护的法律、法规、政策、标准等,以下资料供您参考:

《GB/T 35273-2020信息安全技术 个人信息安全规范》

http://c.gb688.cn/bzgk/gb/showGb?type=online&hcno=4568F276E0F8346EB0FBA097AA0CE05E

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

http://www.cac.gov.cn/2019-12/27/c_1578986455686625.htm

《App违法违规收集使用个人信息自评估指南》

http://pip.tc260.org.cn/jbxt/privacy/detail/20190302114600934277

《网络安全标准实践指南—移动互联网应用程序(App)个人信息保护常见问题及处置指南》

https://www.tc260.org.cn/front/postDetail.html?id=20200918162332

《网络安全实践指南—移动互联网应用基本业务功能必要信息规范》

https://www.tc260.org.cn/front/postDetail.html?id=20190531230315

《网络安全标准实践指南—移动互联网应用程序(App)收集使用个人信息自评估指南(征求意见稿)》

https://www.tc260.org.cn/front/postDetail.html?id=20200319113609

《网络安全标准实践指南—移动互联网应用程序(App)个人信息安全防范指引(征求意见稿)》

https://www.tc260.org.cn/front/postDetail.html?id=20200330091643

《网络安全标准实践指南—移动互联网应用程序(App)系统权限申请使用指南》

https://www.tc260.org.cn/front/postDetail.html?id=20200918163359

《网络安全标准实践指南—移动互联网应用程序(App)中的第三方软件开发工具包(SDK)安全指引(征求意见稿)》

https://www.tc260.org.cn/front/postDetail.html?id=20200918155732



更多内容,您可点击查看《个推合规与安全指南》进一步了解。

如有任何问题,您可通过以下方式与我们联系:

电话:4006-808-606

邮箱:support@getui.com

文档中心搜索

技术
咨询

微信扫一扫

随时联系技术支持

在线
咨询