one Scope of application and explanation of terms

Shence Network Technology (Beijing) Co., Ltd. (hereinafter referred to as "Shence" or "we"), as the operator of Shence official website, Shence software products and services, always attaches great importance to the protection of users' personal information. In order to help enterprise customers using Shence software products (hereinafter referred to as "customers") better implement matters related to the protection of personal information of end users, and at the same time, to facilitate customers to better understand the compliance of Shence software products and the adopted security protection technology capabilities, especially the methods and measures to protect personal information and privacy, Shence specially prepared this version of Compliance Instructions This description is applicable to all Shence products and services as well as specific software products and services that may be involved (hereinafter referred to as "Shence software products and services"), including but not limited to the official website SDK one APIs, plug-ins, components, codes, tools, and software products (Shence analysis, Shence intelligent operation, Shence intelligent recommendation, etc.) and services that are constantly innovated and developed

two Description of data storage and application of Shence software products

2.1. Shence solemnly promises not to contact customer data without authorization

For users of Shence software products with privatization deployment, that is, the system is deployed in the customer's machine room or the public cloud used by the customer (including but not limited to Alibaba Cloud, Tencent Cloud, Huawei Cloud AWS Azure The relevant security measures and authority restrictions are all controlled by the customer, and the customer has no right to obtain the data in the computer room.

For using SaaS Users of Shence software products in the deployment mode, that is, multi node distributed deployment on the server side of the customer system. Shence also has no access to customer data, and only manages service resources for service purposes.

Shence promises that in the process of providing software products and services, it will not contact the statistical results in the form of relevant data or statements without the authorization of customers.

2.2. The software products and services provided by Shence can only be used for legal purposes

Customers can only use Shence software products and services for legal purposes. Customers need to ensure that they use Shence Software Product and service Behavioral compliance relevant The provisions of laws and regulations and regulatory requirements shall not infringe the intellectual property rights and other legitimate rights and interests of any third party, nor violate the provisions of the legal documents binding on them. Shence has the right to suspend if the customer violates the above agreement Provide products and services, and If this agreement is terminated, the service fees charged will not be refunded If Shence is subject to third-party recourse, administrative investigation or other legal proceedings, the customer shall also compensate Shence for all losses (including but not limited to litigation response costs, costs incurred in cooperation with the investigation, third-party recourse compensation, compensation, attorney fees, etc.).

In order to comply with the requirements of the Personal Information Protection Law on "obtaining the authorized consent of the right owner when collecting data", customers who use Shence software products to collect compliance data need to disclose the third party in the User Privacy Instructions SDK And Shence software products.

2.3. Disclaimer

If customers use Shence software products for data collection, they should ensure that the data sources are legal and compliant, or have obtained authorization from interested parties and end users.

The customer's information processing to the end user should be legal and compliant, otherwise Shence has the right to require the customer to stop using Shence software products for data collection and processing, and reserves the right to investigate the responsibility, and it will not be deemed as Shence's breach of contract.

If the customer uses Shence software products to collect and process data from the third party designated by the customer, Shence has the right to require the customer to bear or compensate for the third party's demands and corresponding responsibilities arising from this behavior.

three Description of Shence's security measures for data processing

3.1. Data collection safety instructions

3.1.1. SDK Delay Initialization

3.1.1.1. Android Compliance Steps

Android   SDK in v6.0.0 Version and above provide a way to delay initialization to meet compliance customer stay his After the user agrees to the Privacy Policy, initialize   S DK   conduct Data collection. Refer to the following steps for details:

First call Call SensorsDataAPI. startWithConfigOptions() after agreeing to the privacy terms to initialize the SDK, and then the main thread initializes the SDK in the onCreate() method of Application

 //The main thread initializes the SDK in the onCreate() method of Application If (agree to the privacy clause){ SAConfigOptions saConfigOptions = new SAConfigOptions(SA_SERVER_URL); //Initialize SDK SensorsDataAPI.startWithConfigOptions(this, saConfigOptions);  }
JAVA
 //Initialize SDK after agreeing to privacy terms in activity If (does not agree to the privacy clause){ //Privacy protocol pop-up related logic If (agree to the privacy clause){ //Initialize Configuration SAConfigOptions saConfigOptions = new SAConfigOptions(SA_SERVER_URL); //Initialize the SDK and delay the initialization of the scenario context. Activity needs to be passed SensorsDataAPI.startWithConfigOptions(this, saConfigOptions);  } }
JAVA
  1. Delayed initialization only supports the incoming context as Activity
  2. Disable initialization in onDestroy
  3. The Deeplink call page should be consistent with the initialization page
  4. For the delayed initialization scenario, the triggered $AppStart event will fail to carry the static public attribute. You need to use the Attribute plug-in in advanced functions Set properties in initialization

If some buttons (such as the secure keyboard for entering the user password) contain privacy information, the Android full burial point provides the API to ignore the click event collection of controls:

 SensorsDataAPI.shareInstance().ignoreView(View view);
CODE

Android SensorsFocus   SDK in v0.5.0 Version and above provide a way to delay initialization to meet compliance customer stay his After the user agrees to the Privacy Policy, initialize   S DK Refer to the following steps for details:

First call Call SensorsFocusAPI.startWithConfigOptions (this, new SFConfigOptions ("pop-up server address")) after agreeing to the privacy terms; Initialize the SDK, and then the main thread initializes the SDK in the onCreate() method of Application

 //The main thread initializes the SDK in the onCreate() method of Application If (agree to the privacy clause){ //Initialize SDK SensorsFocusAPI. startWithConfigOptions (this, new SFConfigOptions ("pop-up server address")); }
JAVA
 //Initialize SDK after agreeing to privacy terms in activity If (does not agree to the privacy clause){ //Privacy protocol pop-up related logic If (agree to the privacy clause){ SensorsFocusAPI. startWithConfigOptions (this, new SFConfigOptions ("pop-up server address"));   } }
JAVA
  1. Delayed initialization only supports the incoming context as Activity
  2. Disable initialization in onDestroy

3.1.1.2. IOS Compliance Steps

The customer ensures that the user initializes the i OS SDK。

 - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {     // Override point for customization after application launch.       //Judge whether to open the app for the first time, if it is the code related to entering the privacy agreement If (<# Open the app for the first time | | Not the first time to open the app but have not agreed to the user agreement #>){ //Privacy protocol pop-up related logic If (<# Agree to the User Agreement #>){ //Initialize SDK             SAConfigOptions *options = [[SAConfigOptions alloc] initWithServerURL:SA_SERVER_URL launchOptions:launchOptions];             options.autoTrackEventType = SensorsAnalyticsEventTypeAppStart | SensorsAnalyticsEventTypeAppEnd | SensorsAnalyticsEventTypeAppClick | SensorsAnalyticsEventTypeAppViewScreen;             [SensorsAnalyticsSDK startWithConfigOptions:options];         }     }else{ //Initialize SDK         SAConfigOptions *options = [[SAConfigOptions alloc] initWithServerURL:SA_SERVER_URL launchOptions:launchOptions];         options.autoTrackEventType = SensorsAnalyticsEventTypeAppStart | SensorsAnalyticsEventTypeAppEnd | SensorsAnalyticsEventTypeAppClick | SensorsAnalyticsEventTypeAppViewScreen;         [SensorsAnalyticsSDK startWithConfigOptions:options];     }     ...     return YES; }
CODE

If some buttons (such as the secure keyboard for entering the user password) contain privacy information, the iOS full burial point provides the collection of click events that can be ignored by the API:

 button.sensorsAnalyticesIgnoreView = YES;
CODE

3.1.1.3. Web JS SDK Compliance Steps

Web JS   SDK in v1.21.1 Version and above provide a way to delay initialization to meet compliance customer stay his After the user agrees to the Privacy Policy, initialize   S DK   conduct Data collection. Refer to the following steps for details:

 <script> window.sensors_data_pre_config = { is_compliance_enabled: true } </script> <script charset='UTF-8 'src="Download a new version of sensorsdata.min.js at github"></script> If (agree to the privacy clause){ sensors.init({ server_url: ' http://test-syg.datasink.sensorsdata.cn/sa?token=xxxxx&project=xxxxxx ', Is_track_single_page: true,//Single page configuration, enabled by default. If there is an anchor design in the page, you need to delete the configuration, otherwise triggering the anchor will trigger more $pageview events use_client_time:true, send_type:'beacon', heatmap: { //Whether or not to enable the click map. Default means enabled. $WebClick events are automatically collected. You can set 'not_collect' to disable. clickmap:'default', //Whether to enable touchmap, not_collect indicates that it is off, and $Webstay events will not be automatically collected. You can set 'default' to indicate that it is on. scroll_notice_map:'not_collect' }   });    sensors.quick('autoTrack');   }
CODE
  1. Set the window global variable sensors_data_pre_config before loading the Web JS SDK.
  2. Compliance does not support the use of callback functions in the Web JS SDK API.
  3. Compliance does not support importing the Web JS SDK by asynchronous loading.

3.1.1.4. WeChat applet SDK compliance steps

WeChat applet   The SDK can first call sensors. disableSDK() to disable data collection.

After agreeing to the privacy policy, use sensors. enableSDK() to enable data collection.

 import sensors from '../sensorsdata.esm.js'; sensors.init(...) sensors.disableSDK(); If (agree to the privacy policy){ sensors.enableSDK(); }
CODE

3.1.1.5. React Native Compliance Steps

React Native Module  v2.2.5 Versions and above provide delayed initialization to meet compliance customer stay his After the user agrees to the Privacy Policy, initialize   S DK   conduct Data collection. Refer to the following steps for details:

 //Program Portal Initialization SDK import sensors, {SAAutoTrackType} from 'sensorsdata-analytics-react-native' If (does not agree to the privacy clause){ //Privacy protocol pop-up related logic If (<# Agree to the User Agreement #>){ //Initialize SDK sensors.init({ Server_url: 'Data receiving address',     	auto_track:SAAutoTrackType. START|SAAutoTrackType.END|SAAutoTrackType.CLICK|SAAutoTrackType.VIEW_SCREEN })   } else { //Initialize SDK sensors.init({ Server_url: 'Data receiving address',     	auto_track:SAAutoTrackType. START|SAAutoTrackType.END|SAAutoTrackType.CLICK|SAAutoTrackType.VIEW_SCREEN })  }
CODE


3.1.2. SDK local data encryption

3.1.2.1. Android SDK compliance steps

Version requirements

Android SDK   v6.2.0   Version and above

The Android SDK provides encryption of the contents in the cache, which needs to be manually enabled. If there are requirements for the encryption method, Shence default encryption can not meet the requirements, and you can implement custom encryption. You can consult the SDK students on duty for custom encryption methods.

Use default encryption

The Android SDK implements encryption by default. AES encryption is used, and AES 128 is offset by 16 bits. Encryption can be enabled by pressing the following code:

 SAConfigOptions configOptions=new SAConfigOptions ("data receiving address"); //Register the MuPlugin plug-in configOptions.registerStorePlugin(new SAEncryptStorePlugin(this)); SensorsDataAPI.startWithConfigOptions(this, configOptions);
JAVA

Once compliant encryption or custom encryption is implemented, Encrypted data cannot be recovered to unencrypted data

3.1.2.2. IOS SDK compliance steps

Version requirements

iOS SDK   v4.2.0   Version and above

The iOS SDK provides encryption of the contents in the cache, which needs to be manually enabled. If there are requirements for the encryption method, Shence default encryption can not meet the requirements, and you can implement custom encryption. You can consult the SDK students on duty for custom encryption methods.

Use default encryption

Encryption is implemented by default in the iOS SDK. AES 128 is offset by 16 bits using the AES encryption method. Encryption can be enabled by pressing the following code:

 SAConfigOptions * options=[[SAConfigOptions alloc] initWithServerURL:<# data receiving address #>launchOptions: launchOptions]; //Register encryption plug-in SAAESStorePlugin *plugin = [[SAAESStorePlugin alloc] init]; [options registerStorePlugin:plugin];  [SensorsAnalyticsSDK startWithConfigOptions:options];
CODE
 Let options=SAConfigOptions. init (serverURL:<# data receiving address #>, launchOptions: launchOptions) //Register encryption plug-in let plugin = SAAESStorePlugin() options.register(plugin) SensorsAnalyticsSDK.start(configOptions: options)
CODE

Once compliant encryption or custom encryption is implemented, Encrypted data cannot be recovered to unencrypted data

3.1.2.3. Web JS SDK Compliance Steps

Currently, cookies saved by the Web JS SDK contain user information and attribute information set by register, which can be deeply encrypted to ensure security

When using the encryption function, you must ensure that the SDK of all pages is the latest version; Otherwise, if some pages use the function of encrypting cookies, then cookies are encrypted. Once individual pages use the old version of the SDK without the decryption function, cookies will not be parsed, resulting in new users and users cannot be unified

Version requirements

Function configuration

 <script charset="UTF-8"> var sensors = window["sensorsDataAnalytic201505"]; //Initialize SDK sensors.init({ Server_url: "Data receiving address", //Enable cookie encryption configuration, default is false encrypt_cookie: true }); sensors.quick("autoTrack"); </script>
JS

3.1.2.4. Applet SDK compliance steps

At present, the information stored in the storage by the SDK includes user information and attribute information set by register. The data in the storage can be deeply encrypted to ensure security

Version requirements

Function configuration

 // app.js var sensors = require('sensorsdata.min.js'); sensors.setPara({ name: 'sensors', Server_url: 'Data receiving address', Encrypt_storage: true//Whether to enable local encrypted storage });
JS

3.1.3. App Store Privacy Guidelines

Please refer to: https://manual.sensorsdata.cn/sa/latest/tech_sdk_client_app_store_compliance-41845311.html

3.1.4. Android SDK Configuration Item

3.1.4.1. Forbid getting Android ID

Call SensorsDataUtils.enableAndroidId (boolean   enab Led) interface is used to control the opening and closing of Android ID acquisition. True indicates that it can be collected. False indicates that it cannot be collected.

 //Close collecting Android IDs SensorsDataUtils.enableAndroidId(false);
CODE

3.1.4.2. Prohibit obtaining OAID

Call SensorsDataUtils. enableOAID (boolean enabled)   The interface is used to control the opening and closing of OAID collection. True indicates that it can be collected. False indicates that it cannot be collected.

 //Close OAID collection SensorsDataUtils.enableOAID(false);
CODE

3.1.4.3. Mac address, IMEI number, MEID number, operator information, IMSI information

The business logic processing of obtaining Mac address, IMEI number, MEID number, operator information and IMSI information has been deleted in Android SDK v6.8.0 and above, that is, the SDK does not involve the reading and use of the above identifiers.

3.1.4.4. Turn off the screen direction sensor

After initializing the SDK, you can actively turn on/off screen direction acquisition.

 //Turn off screen direction acquisition and direction sensor SensorsDataAPI.sharedInstance().enableTrackScreenOrientation(false)
CODE

3.2. Description of Shence Information Desensitization

3.2.1. Encrypt the specified display information

In Shence software products, display information can be configured according to roles, and corresponding encryption user attributes and encryption event attributes can be configured for each role. It can effectively desensitize important information without affecting the analysis.

Configuration reference document link: https://manual.sensorsdata.cn/sa/latest/guide_role-41844972.html#id -. Members and roles v2.3 - Specify encrypted information

3.3. Safety instructions for Shence destruction

3.3.1. Support the EU General Data Protection Regulation (GDPR), can Delete underlying user data

  • Scheme 1: Use the sa_clean data cleaning tool to delete

Configuration reference document link: https://manual.sensorsdata.cn/sa/latest/tech_assist_delete-22255166.html#id -. sa_clean Data Cleanup Tool Instructions v1.17 - supports GDPR EU standards and deletes underlying user data (currently only supports stand-alone and cloud versions)

  • Solution 2: contact Shence staff and delete the data after the customer's authorization is confirmed.

    If data deletion is required, the customer can contact Shence staff , get customers to grant authorization After confirmation Shence staff Cooperate with customers Data deletion

four Shence SDK Attribute Collection Compliance Description

4.1. Shence SDK Product Permission Description

4.1.1. Android SDK Product Permission Description

by ensure Support customers Normal expansion of data collection A ndroid  SDK The following system permissions are required

jurisdiction

purpose

Must

remarks

INTERNET

Allow app to send statistics

The permission is required. The SDK needs this permission to send the buried point data


ACCESS_NETWORK_STATE

Allow app to detect network status

You must have permission. The SDK will choose whether to send data according to the network status


READ_PHONE_STATE

Allow applications to acquire device IMEI, MEID and Android 11 and above system versions to acquire network types

Optional permission, which will be used when promoting and collecting the $carrier attribute in the App

Android v6.8.0 and above Shence SDK is only used to obtain network types for Android 11 and above system versions

ACCESS_WIFI_STATE

Allow application to obtain MAC address

Optional permission, which will be used when promoting in app

Shence SDK for Android v6.8.0 and above does not need to be authorized to open this permission. The permission statement has been deleted

Although Shence Android SDK requires the above system permissions

  • The Android SDK will not apply for permissions other than the above permissions. If it is detected that an SDK with the same name as the Shence SDK has permissions other than the above permissions, please timely Contact Shence staff and Shence will work together Together with the customer Troubleshoot to avoid data security accidents.
  • The Android SDK will not initiate authorization requests to users. Shence will inform customers when they integrate the SDK that they need the above permissions to ensure the normal operation of the system. Customers need to call them before the SDK is initialized.
  • Notes on Android ID: use Android SDK   When collecting anonymous IDs, considering the accuracy of the collection, Android IDs are usually used Possible Certain compliance risks If the customer does not need use Android ID, Please call Disable Android ID interface If you have other questions, please contact Shence staff in time.

  • Note on OAID: When collecting anonymous IDs using the Android SDK, if the customer has integrated the OAID SDK, considering the accuracy of the collection, OAID may be collected. If you have other questions, please contact Shence staff in time.

4.1.2. IOS SDK Product Permission Description

To ensure the normal development of customer data collection, iOS The SDK requires the following system permissions:

jurisdiction

purpose

Must

Network (special for national service)

Allow app to send data

The permission is required. The SDK needs this permission to send the buried point data

location

Allow app to get GPS data

Optional permission, which is required when the SDK collects GPS data

IDFA Allow app to obtain IDFA Optional permission, which will be used when promoting in app

Although it's a masterstroke iOS SDK  The above system permissions are required, but:

  • The iOS SDK will not apply for permissions beyond the above permissions. If it is detected that an SDK with the same name as the Shence SDK has permissions beyond the above permissions, please contact the Shence staff take Cooperation Together with the customer Troubleshoot to avoid data security accidents.
  • Due to the characteristics of iOS system The iOS SDK may initiate authorization for users, but only for the above permissions.
  • Note on IDFA: Use i OS SDK   When collecting anonymous IDs and Channel matching In consideration of the accuracy of collection, IDFA will be used routinely Possible Certain compliance risks If the customer does not need to collect IDFA, please remove the reference to the framework in the project project, and do not import AdSupport related header files in the project If you have other questions, please timely Contact Shence staff.

4.2. SDK collection, data transmission and exception handling strategies

See Android SDK&iOS SDK Security Notes

4.3. Description of general collection of Shence SDK preset attribute data

use  SDK   When collecting data, The preset attributes involved are as follows:

category English variable name Display Name

data

type

whether

automatic

collection

whether

support

close

default

whether

hide

effect

(Analysis

technology

Debug)

Information privacy risk assessment Risk assessment remarks
Retention Properties distinct_id User ID STRING yes no / analysis No risk
time time DATETIME yes no / analysis No risk
Basic preset attribute $app_state App status STRING yes
no technology No risk
$app_id Application Unique ID STRING yes no no analysis No risk
$app_name apply name STRING yes no no analysis No risk
$app_version Application version STRING yes no no analysis Low risk
$is_first_day First day visit or not BOOL yes no no analysis Low risk Secondary correction on the server
$is_first_time Whether the event is triggered for the first time BOOL yes yes no analysis Low risk Secondary correction on the server
$timezone_offset Time zone offset NUMBER yes no no analysis Low risk
$event_duration Event duration NUMBER yes yes no analysis Low risk
$latitude latitude NUMBER no yes no analysis high-risk
$longitude longitude NUMBER no yes no analysis high-risk
$title Page Title STRING yes yes no analysis Low risk
$screen_name page name STRING yes yes no technology Low risk
app_crashed_reason Cause of collapse STRING no yes no Debug No risk
$url Page address STRING no no no analysis Low risk
$url_query Page Parameters STRING yes yes no analysis Low risk
$url_path Page Path STRING yes yes no analysis Low risk
$referrer Forward address STRING yes yes no analysis Medium risk
$referrer_host Forward domain name STRING yes yes no analysis Medium risk
$referrer_title Forward Page Title STRING no yes no analysis No risk
$user_agent UserAgent STRING no yes yes technology Medium risk
$scene Launch scenario STRING yes yes no analysis Low risk
$share_depth Sharing times NUMBER yes yes no analysis Medium risk
$share_distinct_id Sharers STRING yes yes no analysis Medium risk
$share_url_path Share Path STRING yes yes no analysis Low risk
$share_method Ways to share STRING yes yes no analysis Low risk
$source_package_name Source application package name STRING yes yes no analysis Medium risk
$bot_name Crawler name STRING yes yes no analysis Low risk
$viewport_height Viewport height NUMBER no yes no analysis Low risk
$viewport_position Position of the viewport from the top NUMBER no yes no analysis Low risk
$viewport_width Viewport width NUMBER no yes no analysis Low risk
$item_join Item matching mode - no yes no technology No risk
$receive_time $receive_time NUMBER yes no yes technology No risk
$lib_plugin_version SDK plug-in version number  LIST yes no yes technology No risk
Equipment related $brand Equipment brand STRING yes no no analysis Medium risk
$manufacturer Equipment manufacturer STRING yes no no analysis Medium risk
$model Equipment model STRING yes no no analysis Medium risk
$os operating system STRING yes no no analysis Medium risk
$os_version Operating system version STRING yes no no analysis Medium risk
$screen_height Screen height NUMBER yes no no analysis Low risk
$screen_width Screen width NUMBER yes no no analysis Low risk
$wifi WIFI or not BOOL yes no no analysis Low risk
$carrier Operator STRING yes no no analysis Medium risk Android SDK v6.8.0 and above are not collected
$network_type Network type STRING yes no no analysis Low risk
$device_id Device ID STRING no no no analysis high-risk
$screen_orientation Screen orientation STRING no no no analysis Low risk
Browser related $browser browser STRING yes no no analysis Medium risk
$browser_version Browser version STRING yes no no analysis Medium risk
Click Event Related $element_id Element ID STRING yes yes no technology Low risk
$element_name Element Name STRING yes yes no technology Low risk
$element_type Element Type STRING yes yes no technology Low risk
$element_content Element Content STRING yes yes no analysis Low risk
$element_position Element position STRING yes yes no technology Low risk
$element_selector element selector STRING no yes no technology Low risk
$element_target_url Element Link Address STRING yes yes no technology Low risk
$element_class_name Element Style Name STRING yes yes no technology Low risk
Latest related properties $latest_referrer Last offsite address STRING yes yes no analysis Medium risk
$latest_referrer_host Last external domain name STRING yes yes no analysis Medium risk
$latest_search_keyword Last search engine keyword STRING yes yes no analysis Medium risk
$latest_traffic_source_type Last flow source type STRING yes yes no analysis Medium risk
$latest_landing_page Last landing page STRING yes yes no analysis Medium risk
$latest_utm_campaign Name of the latest advertising series STRING yes yes no analysis Medium risk
$latest_utm_content Content of the latest advertising series STRING yes yes no analysis Medium risk
$latest_utm_medium The latest advertising series media STRING yes yes no analysis Medium risk
$latest_utm_source Source of the latest advertising series STRING yes yes no analysis Medium risk
$latest_utm_term Words of the latest advertising series STRING yes yes no analysis Medium risk
$latest_scene Last startup scenario STRING yes yes no analysis Low risk
$latest_share_method Path of last sharing STRING yes yes no analysis Low risk
SDK related $lib SDK Type STRING yes no no Debug No risk
$lib_version SDK version STRING yes no yes Debug No risk
$lib_method Burial method STRING yes no yes Debug No risk
$lib_detail Embedded point details STRING yes yes yes Debug No risk
Channel related $ios_install_source Device fingerprint information required for App channel matching STRING no yes / technology high-risk

Attribute not received

The server deletes the attribute after channel matching

$channel_device_info Device fingerprint information required for App channel matching (different from the above event variable name) STRING no yes / technology high-risk

Attribute not received

The server deletes the attribute after channel matching

$ios_install_disable_callback Whether to do not track and callback BOOL no yes no technology Low risk
$is_channel_callback_event Whether to conduct channel matching callback BOOL no yes yes technology Low risk
$channel_extra_information Channel Additional Information STRING no yes yes technology high-risk
$utm_matching_type Channel tracking matching mode STRING no yes no technology Low risk
$utm_source Source of advertising series STRING no yes no analysis Medium risk
$utm_medium Advertising series media STRING no yes no analysis Medium risk
$utm_term Advertising series words STRING no yes no analysis Medium risk
$utm_content Advertising series content STRING no yes no analysis Medium risk
$utm_campaign Advertising series name STRING no yes no analysis Medium risk
$matched_key Channel matching keywords STRING no yes no technology high-risk
$matching_key_list Channel matching keyword list STRING no yes yes technology high-risk
$short_url_key Short chain key STRING no yes no technology Low risk
$short_url_target Short link target address STRING no yes no technology Low risk
$channel_active_period_day Effective activation window (days) NUMBER yes no no analysis No risk
$channel_callback_period_day Depth return attribution window period (days) NUMBER yes no no analysis No risk
$channel_attribute_period_hour Activate attribution window (hours) NUMBER yes no no analysis No risk
$channel_name Channel name STRING yes no no analysis No risk
$channel_account_id Channel advertiser ID STRING yes no yes analysis No risk
$channel_campaign_id Channel advertising plan ID STRING yes no yes analysis No risk
$channel_adgroup_id Channel advertising group ID STRING yes no yes analysis No risk
$channel_ad_id Channel advertising creativity ID STRING yes no yes analysis No risk
$ channel_ click_id Channel monitoring click ID STRING yes no no analysis No risk
$first_channel_name First channel name STRING yes no no analysis No risk
$first_channel_account_id First time channel advertiser ID STRING yes no yes analysis No risk
$first_channel_campaign_id First channel advertising plan ID STRING yes no yes analysis No risk
$first_channel_adgroup_id First channel advertising group ID STRING yes no yes analysis No risk
$first_channel_ad_id First channel advertising creative ID STRING yes no yes analysis No risk
$first_channel_click_id First channel monitoring click ID STRING yes no no analysis No risk
$channel_active_result Channel effective activation mark BOOL yes no no analysis No risk
IP related $ip IP STRING yes no no technology No risk √ (Nginx analysis)
$city city STRING yes no no analysis No risk √ (Resolved according to IP)
$province province STRING yes no no analysis No risk √ (Resolved according to IP)
$country country STRING yes no no analysis No risk √ (Resolved according to IP)
$ip_isp IP operator STRING yes no no analysis No risk √ (Resolved according to IP)
User association related $is_login_id Login ID or not BOOL yes no yes technology Low risk √ (added when the event is warehoused)
$track_signup_original_id Associate Original ID STRING yes no no technology No risk
Item related preset attributes

$is_valid Whether it is prohibited BOOL




$receive_time arrival time NUMBER




$update_time Update time DATETIME





  • All preset attributes involve more than 100 types. The table above lists the preset attributes of conventional acquisition. If you need to view the full number of preset attributes, please contact the support personnel of Shence.
  • At the same time, Shence SDK provides a variety of interfaces for calling, to meet the customer's need to close the collection of specific attributes. If you need to avoid the risks brought by $ios_install_source, you can choose the following methods:
    • Method 1: Avoid using the channel tracking function, and do not call "activation event" and "channel information event".
    • Method 2: Upgrade to Android SDK v6.8.0 and above, and IMEI number, MAC address, and MEID number identifiers are no longer used;

if need More details Please contact Shence staff.

4.4. Description of Information Privacy Risk Assessment Grading Standards

come from: National standard GB/T 35273-2020 Information Security Technology Personal Information Security Specification (hereinafter referred to as the "Specification")

As mentioned in the above specifications“ personal information ”, It refers to various information recorded electronically or in other ways that can identify the identity of a specific natural person or reflect the activities of a specific natural person independently or in combination with other information, such as name, date of birth, ID card number, personal biometric information, address, communication contact information, communication records and contents, account passwords, property information, credit information Track, accommodation information, health and physiological information, transaction information, etc.

Determine whether a certain item of information belongs to personal information, The following two aspects can be referred to: The first is identification, that is, from information to individuals, specific natural persons are identified by the particularity of information itself. Personal information should help identify specific individuals. The second is association, that is, from individual to information. If a specific natural person is known, the information generated by the specific natural person in its activities (such as personal location information, personal call records, personal browsing records, etc.) is personal information. Information that meets one of the above two conditions shall be judged as personal information.

Table A.1 Examples of personal information.

Personal sensitive information refers to personal information that, once disclosed, illegally provided or abused, may endanger personal and property safety, and may easily lead to damage to personal reputation, physical and mental health or discriminatory treatment. Generally, the personal information of children under 14 years of age and information involving the privacy of natural persons are personal sensitive information. Whether it belongs to personal sensitive information can be determined from the following perspectives

leakage Once personal information is disclosed, it will cause the personal information subject and the organizations and institutions that collect and use personal information to lose the ability to control personal information, resulting in uncontrollable scope and use of personal information diffusion. After the disclosure of some personal information, it is directly used against the will of the personal information subject or is associated with other information for analysis, which may bring significant risks to the rights and interests of the personal information subject, and should be judged as personal sensitive information. For example, the ID copy of the personal information subject is used by others for real name registration of mobile phone number cards, bank account opening and card handling.

Illegal provision Some personal information can bring significant risks to the rights and interests of the personal information subject only because it spreads outside the scope of authorization and consent of the personal information subject, and should be judged as personal sensitive information. For example, sexual orientation, deposit information, infectious disease history, etc.

abuse Some personal information may bring significant risks to the rights and interests of the personal information subject when it is used beyond the reasonable limit of authorization (such as changing the purpose of processing, expanding the scope of processing, etc.), and should be judged as personal sensitive information. For example, when not authorized by the personal information subject, health information is used for insurance company marketing and determining the level of individual premium.

Table B.1 Examples of personal sensitive information.

4.5. Custom Attribute Collection Disclaimer

Information related to business or end user's own data needs customers Of Developers bury code points (manually write data collection code) To collect , SDK will not actively collect.

customer Data source shall be guaranteed Of Legal compliance, or authorization from interested parties and end users after Can collect custom attribute data through Shence software products

five Shence Compliance Self inspection Instructions

5.1. Shence SDK Compliance Description

Divine plan The data type collected by the SDK is only "Device ID" Mainly used for analysis Customers need to collect Other types of data Need customers according to business demand And select the Shence SDK function to be opened:

  • Call login: interface: continue to select "User ID"

  • Open the full burial point: continue to select "product interaction"

  • Enable crash collection: continue to select "crash data"

  • Open longitude and latitude collection: continue to select "accurate position"

In addition, customer Can be based on his Timely update the privacy policy for business adjustment.

Shence meets the data related laws and regulations of many countries

According to the self inspection, Shence software products meet the requirements of the Basic Specification for Information Security Technology Mobile Internet Application (App) Collection of Personal Information (Draft), and also comply with the EU General Data Protection Regulations( GDPR )And the California Consumer Privacy Act (CCPA). For the above standards, Shence SDK provides the following functions:

  • Start data collection after initialization
  • Turn off/on data collection for the current App
  • Prohibit collection of specific attributes
  • Prohibit the collection of specific burial points
  • Prohibit the collection of specific attributes under specific burial points
  • Identification ID of the current user, used to export data
  • The ability to delete specific user data
  • Function of deleting data based on interface/tool

5.1.1.   Self inspection results based on the Network Security Law of the People's Republic of China

According to the self inspection, the Shence software products (including SDKs) provided by Shence to customers do not violate the mandatory provisions of the Network Security Law.

5.1.2. Self inspection results based on the Personal Information Protection Law of the People's Republic of China

According to the self inspection, Shence software products (including SDK) provided by Shence to customers do not violate the mandatory provisions of the Personal Information Protection Law.

5.1.3. Self inspection results based on the Data Security Law of the People's Republic of China

According to the self inspection, the Shence software products (including SDKs) provided by Shence to customers do not violate the mandatory provisions of the Data Security Law.

six Shence Qualification Certification Description

6.1. Information security management certification

Shence has passed the information security management system certification ISO 27001 

Shence has passed the privacy information management system ISO 27701

Shence has passed the quality management system certification ISO 9001

Shence has passed CMMI 3 certification

Shence Analysis Cloud, Shence Marketing Cloud and Shence Advertising Cloud have passed the three-level filing and evaluation of network security level protection

6.2. Industry qualification

Shence actively practices data compliance and participates in numerous compliance activities in the industry.


In 2020 (the 6th) China Internet Rule of Law Conference, 46 enterprises/institutions and research institutions including Shence, Alibaba, Byte Beat, Huawei, Baidu and Xiaomi were approved to join the work organization related to information security protection of mobile Internet users.


On November 27, 2020, the National APP Personal Information Protection Supervision Committee organized by the Ministry of Industry and Information Technology issued 10 standards in the Evaluation Specification for the Protection of the Rights and Interests of APP Users and 8 standards in the Minimum Necessary Evaluation Specification for the Collection and Use of Personal Information by APP. As a member of the Internet Association, Sang Wenfeng, founder and CEO of Shence, read out the Commitment Letter on the Protection and Disclosure of Personal Information by APP, The letter of commitment is as follows:

6.3.

6.4. Safety audit report

Shence Android SDK Source Code Security Audit Report

Shence iOS SDK Source Code Security Audit Report

Shence JS SDK Source Code Security Audit Report

Shence WeChat applet source code security audit report

Shence Privacy Policy


Customers can contact Shence Customer Success/Project Manager to obtain the above safety audit report

seven Noun exegesis

1.SDK ( Software Development Kit, Hereinafter referred to as SDK )It refers to the software development kit. The SDK provided by Shence includes but is not limited to the Android SDK iOS SDK、Web JS SDK 、 Applet SDK, Games SDK, C SDK, C # SDK, Java SDK, etc. Preset attributes refer to attribute information collected by the SDK in general.