This guide helps developers use the Simple Log Service (SLS) software development kit (SDK) in compliance with personal information protection requirements. It explains how to perform self-checks and correctly configure the SDK to meet regulatory compliance requirements and protect the personal information of end users.
SDK privacy policy disclosure example
App operators must clearly inform end users how the SLS SDK processes personal information. This disclosure must include the SDK name, its business functions, the purpose of data processing, the types of personal information collected, and a link to the privacy policy. To meet these requirements, you must create a privacy policy for your app. In the policy, state that you use the Simple Log Service (SLS) SDK. For example, include the following details in your app's third-party sharing checklist:
SDK name: Enter the SDK name.
Business function: Describe the SDK's function.
Types of personal information collected: List the information collected based on your actual configuration.
Privacy policy link: https://terms.aliyun.com/legal-agreement/terms/suit_bu1_ali_cloud/suit_bu1_ali_cloud202112131013_69952.html
When to initialize the SDK and call business functions
When an end user first launches the app, call the relevant interfaces only after the end user agrees to your app's privacy policy and actively uses a feature provided by the SDK. Do not collect device information immediately after the end user agrees to the privacy policy unless it is necessary. This prevents excessive or premature data collection. For information about how to configure the initialization and information collection interfaces, see the Collect Information section of the integration manual.
SDK system permission requests
Android operating system application permissions:
Permission | Required | Purpose | When to request |
INTERNET | Yes | To obtain network access permissions. The SDK features are not available without this permission. | Before calling the information collection interface |
ACCESS_NETWORK_STATE | Yes | To obtain the device's network status information. | Before calling the information collection interface |
iOS operating system application permissions:
Permission | Required | Purpose | When to request |
NSLocalNetworkUsageDescription | Yes | To get the connectivity of devices within the local area network (LAN). This is used to detect threats such as modem pools and device farms. | Before calling the information collection interface |
Configuration example
// Pre-initialize. Features will work, but sensitive information will not be collected.
[[SLSCocoa sharedInstance] preInit:credentials configuration:configuration];
// After the user reads your Privacy Policy and grants authorization, call the formal initialization.
[[SLSCocoa sharedInstance] initialize:credentials configuration:configuration];