本文介紹Web Application FirewallAPP防護SDK的合規使用方式。為協助開發人員更好地落實使用者個⼈資訊保護相關要求,避免因使用第三⽅SDK的業務⽽出現侵害終端使用者個人資訊權益的行為,特製定本合規使用說明,供開發人員在接入風險識別SDK服務時進行合理配置,滿足監管合規要求。
SDK隱私政策披露樣本
APP營運者應向終端使用者明確告知我們的SDK處理個人資訊相關規則,包括SDK名稱、業務功能、處理個人資訊目的、收集個人資訊類型、隱私政策連結等內容。
APP需要制定單獨的隱私政策,且《隱私權政策》中向使用者告知使用Web Application FirewallAPP防護SDK,如在您APP的《第三方共用清單》中告知如下內容:
SDK名稱:Web Application FirewallAPP防護SDK。
業務功能:提供APP反爬防護能力,檢測異常裝置和風險裝置。
收集個人資訊類型:按照實際配置採集資訊的情況填寫。
使用許可權情況:按照實際配置的許可權情況填寫。
SDK申請系統許可權的說明
安卓作業系統應用許可權
許可權內容 | 是否必選 | 使用目的 | 申請時機 |
INTERNET | 是 | 用於擷取網路存取權限 沒有該許可權將導致SDK功能不可用。 | 調用資訊採集介面之前 |
ACCESS_WIFI_STATE | 否(推薦賦予) | 用於擷取裝置WIFI狀態資訊。 | 調用資訊採集介面之前 |
ACCESS_NETWORK_STATE | 否(推薦賦予) | 用於擷取裝置網路狀態資訊。 | 調用資訊採集介面之前 |
BLUETOOTH_CONNECT | 否(推薦賦予) | 用於擷取藍芽MAC地址。 | 調用資訊採集介面之前 |
READ_PHONE_STATE | 否(推薦賦予) | 用於擷取裝置指紋相關的ID欄位。 | 調用資訊採集介面之前 |
WRITE_EXTERNAL_STORAGE READ_EXTERNAL_STORAGE | 否(推薦賦予) | 用於緩衝設定檔在上。本地磁碟。 | 調用資訊採集介面之前 |
ACCESS_FINE_LOCATION ACCESS_COARSE_LOCATION | 否(推薦賦予) | 擷取位置資訊 | 調用資訊採集介面之前 |
iOS作業系統應用許可權
許可權 | 是否必選 | 使用目的 | 申請時機 |
NSLocalNetworkUsageDescription | 否(推薦賦予) | 擷取區域網路內裝置連通性,用於發現裝置牧場、群控等風險。 | 調用資訊採集介面之前 |
NSUserTrackingUsageDescription | 否 | 用於擷取 IDFA 資訊,增強裝置ID穩定性。 | 調用資訊採集介面之前 |
可選個人資訊配置的說明
對於可選收集的個人資訊的控制,開發人員可以參考Android接入手冊或iOS接入手冊的內容進行配置操作。因相關資訊的不收集將會對其對應的功能造成一定影響,請開發人員結合業務實際需要進行合理配置。以下是iOS跟Android端選擇採集個人資訊的配置方法。
Android端配置方法
通過調整初始化資訊採集介面中type配置可選個人資訊的操作,採集分為三種模式:全量採集、自訂隱私採集、非隱私採集。
TT_DEFAULT:表示採集全量資料。
TT_NO_X | TT_NO_Y :既不採集X又不採集Y,表示自訂隱私採集。
TT_NOT_GRANTED:表示不採集所有隱私資料。
個人資訊欄位 | 說明 | CollectType配置欄位 |
裝置基礎資訊、裝置標識資訊、裝置網路資訊、裝置位置資訊、裝置日誌資訊等 | 採集全量資料 | TT_DEFAULT |
裝置名稱(Build.DEVICE)、Android版本號碼(Build.VERSION#RELEASE)、螢幕解析度。 | 不採集基礎裝置資料 | TT_NO_BASIC_DATA |
IMEI、IMSI、SimSerial、BuildSerial(SN)、MAC地址 | 不採集裝置標識資料 | TT_NO_IDENTIFY_DATA |
OAID、Google廣告ID、Android ID | 不採集唯一標識資料 | TT_NO_UNIQUE_DATA |
黑灰產App列表、區域網路IP、DNS IP、串連的WIFI資訊(SSID、BSSID)、附近WIFI列表、定位資訊、感應器資訊 | 不採集擴充裝置資料 | TT_NO_EXTRA_DATA |
除所有隱私欄位的其他資料 | 不採集所有隱私資料 | TT_NOT_GRANTED |
通過調整初始化資訊採集介面中Type可選採集個人資訊範圍。以下是程式碼範例:
// 全量採集
int ret = TigerTallyAPI.init(this.getApplicationContext(), appkey, TigerTallyAPI.TT_DEFAULT, options, null);
// 指定隱私資料擷取,不同的隱私資料可以通過"|"進行拼接
int privacyFlag = TigerTallyAPI.TT_NO_BASIC_DATA | TigerTallyAPI.TT_NO_UNIQUE_DATA;
int ret = TigerTallyAPI.init(this.getApplicationContext(), appkey, privacyFlag, options, null);
// 不採集隱私欄位
int ret = TigerTallyAPI.init(this.getApplicationContext(), appkey, TigerTallyAPI.TT_NOT_GRANTED, options, null);
Log.d("AliSDK", "ret:" + ret);iOS 配置方法
通過選擇不同Framework SDK檔案配置是否採集IDFA欄位。
個人資訊欄位
說明
IDFA
廣告標識符
iOS SDK分為IDFA(Identifier for Advertising,簡稱IDFA)版本和非IDFA版本,對應的SDK檔案分別是:
AliTigerTally_IDFA.framework
AliTigerTally_NOIDFA.framework
當您的SDK檔案是AliTigerTally_IDFA.framework時,會採集iOS的隱私欄位IDFA;SDK檔案是AliTigerTally_NOIDFA.framework時不會採集iOS的隱私欄位IDFA。
通過調整初始化資訊採集介面中type參數配置可選個人資訊欄位採集範圍。採集分為三種模式:全量採集、自訂隱私採集、非隱私採集。
TT_DEFAULT:表示採集全量資料。
TT_NO_X | TT_NO_Y:表示既不採集X又不採集Y,表示自訂隱私採集。
TT_NOT_GRANTED:表示不採集所有隱私資料。
個人資訊欄位
說明
collectType配置
裝置基礎資訊、裝置標識資訊、裝置網路資訊、裝置日誌資訊等
全量資料
TT_DEFAULT
裝置名稱、系統版本號碼、螢幕解析度
基礎裝置資料
TT_NO_BASIC_DATA
IDFV、IDFA
唯一標識資料
TT_NO_UNIQUE_DATA
串連的WIFI資訊(SSID、BSSID)、附近WIFI列表
擴充裝置資料
TT_NO_EXTRA_DATA
除所有隱私欄位的其他資料
不採集所有隱私資料
TT_NOT_GRANTED
通過調整初始化資訊採集介面中Type參數控制採集個人資訊範圍。以下是程式碼範例:
// 全量採集 int ret = [[AliTigerTally sharedInstance] init:appkey collectType:TT_DEFAULT options:options listener:nil]; // 指定隱私資料擷取, 不同的隱私資料可以通過"|"進行拼接 TTCollectType collectPrivacy = TT_NO_BASIC_DATA | TT_NO_EXTRA_DATA; int ret = [[AliTigerTally sharedInstance] init:appkey collectType:collectPrivacy options:options listener:nil]; // 不採集隱私欄位 int ret = [[AliTigerTally sharedInstance] init:appkey collectType:TT_NOT_GRANTED options:options listener:nil];
SDK初始化和業務功能調用時機
使用者初次開機App時,請務必在使用者同意您App中的隱私政策後,且使用者主動使用本SDK提供的功能時再進行相關介面調用。如無必要,請勿在同意隱私政策後立即採集裝置資訊,避免過度或過早採集。資訊採集介面配置文檔可以查看接入手冊,並在Android在文檔導讀中初始化SDK處進行查看,iOS在導讀中初始化SDK處進行查看。
相關文檔
《Web Application FirewallAPP防護SDK隱私政策》:Web Application FirewallAPP防護SDK隱私政策
《Android接入手冊》:Android應用整合SDK
《iOS接入手冊》:iOS應用整合SDK
《鴻蒙接入手冊》:Harmony應用整合SDK