RC Chat SDK privacy policy
This version takes effect on: September 28, 2023
The RC Chat SDK (hereinafter referred to as the "SDK Product") provides developers with instant messaging and real-time audio and video technical services, developed by Beijing Yunzhong Rongxin Network Technology Co., Ltd. (hereinafter referred to as "we"). The "RC Chat SDK Privacy Policy" (hereinafter referred to as "this Policy") includes the SDK and other versions we may provide or update from time to time.
This Policy mainly explains to developers and their end users (hereinafter referred to as "End Users") how our SDK collects and processes End Users' data after developers integrate our SDK Product into their developed and/or operated applications and products (including apps, mini-programs, web pages, etc., collectively referred to as "Applications" or "Developer Applications"). "Processing" includes collecting, storing, using, processing, transmitting, providing, and disclosing personal information, etc. In the aforementioned scenarios, the developer, as the personal information processor, determines the purpose and method of processing End Users' data. We, as the entrusted party for personal information processing, only collect data on behalf of the developer in the process of providing specific business functions of the relevant SDK and process the data according to the developer's instructions.
Special Instructions
Special Instructions for Developers
If you are a developer, please be aware that:
- You should fully understand and agree to this Policy before integrating the SDK Product. If you do not agree to any content of this Policy, you should immediately stop accessing and using the SDK Product.
- You should only integrate the SDK Product and process End Users' personal information after obtaining the End Users' consent.
- You should comply with laws and regulations regarding the collection, use, and processing of End Users' personal information, including but not limited to formulating and publishing a privacy policy related to personal information protection, providing End Users with an easy-to-operate mechanism to realize their rights that meets legal and regulatory requirements, and informing End Users how to access, copy, modify, delete personal information, withdraw consent, restrict personal information processing, transfer personal information, obtain a copy of personal information, and deactivate accounts, etc.
Special Instructions for End Users
If you are an End User, please be aware that:
- This Privacy Policy cannot replace the privacy policy of the Developer Application.
- The developer should disclose a privacy policy for its application to declare how it collects, processes, and protects your personal information.
- If you seek access to data, or attempt to correct, modify, or delete incorrect data, or if you no longer wish to use the application integrated with the SDK Product, please contact the relevant developer (the personal information processor) directly.
SDK Privacy Policy
This Policy will help you understand the following:
I. Personal Information Collected and How Personal Information is Used
II. How Personal Information is Shared, Transferred, and Disclosed
III. Rights of End Users
IV. How Children's Personal Information is Handled
V. How Personal Information Security is Protected
VI. Storage of Personal Information
VII. How This Policy is Updated
VIII. How to Contact Us
I. Personal Information Collected and How Personal Information is Used
We do not require developers to actively provide personal information. The information we collect cannot independently identify a specific natural person, and based on the technical characteristics of the SDK, the SDK cannot obtain information that can independently identify a specific natural person during its operation.
(1) IMLib SDK
The basic business function is to provide real-time message communication functions and services.
If the Developer Application uses the integrated IMLib SDK, the SDK will collect the following information on behalf of the developer through programmatic methods:
Personal Information Type | Purpose and Use | Required or Optional | Processing Method | Operating System |
---|---|---|---|---|
Device Brand | Distinguish between different device brands to ensure product service compatibility across different devices, and to adapt and troubleshoot compatibility/crash issues | Required | Encrypted transmission | Android, iOS, HarmonyOS |
Device Model | Distinguish between different device models to ensure product service compatibility across different devices, and to adapt and troubleshoot compatibility/crash issues | Required | Encrypted transmission | Android, iOS, HarmonyOS |
Android Device ID (ANDROID_ID) | Adapt and troubleshoot compatibility/crash issues. Starting from version 5.1.3.10, ANDROID_ID is no longer collected. | Required | Encrypted transmission | Android |
iOS Device ID (deviceToken) | Used for push notifications. Adapt and troubleshoot compatibility/crash issues. | Required | Encrypted transmission | iOS |
HarmonyOS Device ID (AAID) | Used for push notifications. Adapt and troubleshoot compatibility/crash issues. | Required | Encrypted transmission | HarmonyOS |
Operating System Version | Distinguish between different device system versions to ensure product service compatibility across different devices, and to adapt and troubleshoot compatibility/crash issues | Required | Encrypted transmission | Android, iOS, HarmonyOS |
CPU Information | Distinguish between different device CPU models to ensure product service compatibility across different devices, and to adapt and troubleshoot compatibility/crash issues | Required | Encrypted transmission | Android, iOS |
Memory Usage | Distinguish between different device memory to ensure product service compatibility across different devices, and to adapt and troubleshoot compatibility/crash issues | Required | Encrypted transmission | Android, iOS |
IP Address | Determine server connection | Required | Encrypted transmission | Android, iOS |
Network Access Method and Type | Determine network access and connectivity | Required | Encrypted transmission | Android, iOS, HarmonyOS |
User ID under App Key (a non-repeating numeric or string ID that identifies the user under the same App Key) | Only used to identify users in conversations, ensuring that users under the same App Key are not duplicated | Required | Encrypted transmission | Android, iOS, HarmonyOS |
Application Package Name | Used for push notifications | Required | Encrypted transmission | Android, iOS, HarmonyOS |
Time Zone | Determine language based on time zone. Ensure product service compatibility across different devices, and to adapt and troubleshoot compatibility/crash issues | Required | Encrypted transmission | Android, iOS, HarmonyOS |
Language | Multilingual. Ensure product service compatibility across different devices, and to adapt and troubleshoot compatibility/crash issues | Required | Encrypted transmission | Android, iOS |
App Version Number | Ensure product service compatibility across different devices, and to adapt and troubleshoot compatibility/crash issues | Required | Encrypted transmission | Android, iOS, HarmonyOS |
App's AppKey | Ensure product service compatibility across different devices, and to adapt and troubleshoot compatibility/crash issues | Required | Encrypted transmission | Android, iOS, HarmonyOS |
User Token | Ensure product service compatibility across different devices, and to adapt and troubleshoot compatibility/crash issues | Required | Encrypted transmission | Android, iOS, HarmonyOS |
Idfv | Ensure product service compatibility across different devices, and to adapt and troubleshoot compatibility/crash issues. Starting from version 5.2.1, Idfv is no longer collected. | Required | Encrypted transmission | iOS |
RC SDK Version Number | Ensure product service compatibility across different devices, and to adapt and troubleshoot compatibility/crash issues | Required | Encrypted transmission | Android, iOS, HarmonyOS |
Operator Code MNO | Ensure product service compatibility across different devices, and to adapt and troubleshoot compatibility/crash issues | Optional | Encrypted transmission | Android, iOS |
Interface Call Error Code | Ensure product service compatibility across different devices, and to adapt and troubleshoot compatibility/crash issues | Required | Encrypted transmission | Android, iOS, HarmonyOS |
Connection Failure Error Code | Ensure product service compatibility across different devices, and to adapt and troubleshoot compatibility/crash issues | Required | Encrypted transmission | Android, iOS, HarmonyOS |
Permissions Required to Achieve IMLib SDK Product Functions
Permission Type | Purpose and Use | Required or Optional | Operating System |
---|---|---|---|
WRITE_EXTERNAL_STORAGE Storage | Image caching, messages, conversations, logs | Required | Android |
NSFileProviderAddUsageDescription Storage | Image caching, messages, conversations, logs | Required | iOS |
ohos.permission.GET_NETWORK_INFO | Obtain network information after network changes for IM reconnection | Required | HarmonyOS |
ohos.permission.INTERNET | Connect to IM, send and receive messages requires network connection | Required | HarmonyOS |
ohos.permission.STORE_PERSISTENT_DATA | Message database requires local storage | Required | HarmonyOS |
(2) Global IM UIKit SDK
Core function: Provides real-time messaging communication services.
If the Developer Application integrates the Global IM UIKit SDK, the SDK collects the following information on behalf of the developer:
Personal Information Type | Purpose and Use | Required or Optional | Processing Method | Operating System |
---|---|---|---|---|
Device Brand | Ensures compatibility across devices and troubleshoots issues | Required | Encrypted Transmission | Android, iOS |
Device Model | Ensures compatibility across devices and troubleshoots issues | Required | Encrypted Transmission | Android, iOS |
iOS Device ID (deviceToken) | Used for push notifications. Troubleshoots issues. | Required | Encrypted Transmission | iOS |
OS Version | Ensures compatibility across devices and troubleshoots issues | Required | Encrypted Transmission | Android, iOS |
CPU Information | Ensures compatibility across devices and troubleshoots issues | Required | Encrypted Transmission | Android, iOS |
Memory Usage | Ensures compatibility across devices and troubleshoots issues | Required | Encrypted Transmission | Android, iOS |
IP Address | Determines server connection | Required | Encrypted Transmission | Android, iOS |
Network Access Type | Determines network access and connectivity | Required | Encrypted Transmission | Android, iOS |
User ID under App Key | Identifies users in sessions | Required | Encrypted Transmission | Android, iOS |
Application Package Name | Used for push notifications | Required | Encrypted Transmission | Android, iOS |
Time Zone | Determines language. Ensures compatibility and troubleshoots issues | Required | Encrypted Transmission | Android, iOS |
Language | Multilingual support. Ensures compatibility and troubleshoots issues | Required | Encrypted Transmission | Android, iOS |
App Version | Ensures compatibility and troubleshoots issues | Required | Encrypted Transmission | Android, iOS |
App Key | Ensures compatibility and troubleshoots issues | Required | Encrypted Transmission | Android, iOS |
User Token | Ensures compatibility and troubleshoots issues | Required | Encrypted Transmission | Android, iOS |
RC SDK Version | Ensures compatibility and troubleshoots issues | Required | Encrypted Transmission | Android, iOS |
MNO Code | Ensures compatibility and troubleshoots issues | Optional | Encrypted Transmission | Android, iOS |
API Error Code | Ensures compatibility and troubleshoots issues | Required | Encrypted Transmission | Android, iOS |
Connection Failure Error Code | Ensures compatibility and troubleshoots issues | Required | Encrypted Transmission | Android, iOS |
Permissions Required for Global IM UIKit SDK Functionality
Permission Type | Purpose and Use | Required or Optional | Operating System |
---|---|---|---|
CAMERA | Provides camera and audio/video call functionality | Optional | Android |
READ_EXTERNAL_STORAGE | Sends images and videos (for devices with Android API level below 33) | Optional | Android |
READ_MEDIA_IMAGES | Sends images and videos (for devices with Android API level 33 or above) | Optional | Android |
READ_MEDIA_VIDEO | Sends images and videos (for devices with Android API level 33 or above) | Optional | Android |
RECORD_AUDIO | Provides voice messages and audio/video calls | Optional | Android |
MODIFY_AUDIO_SETTINGS | Adjusts audio/video call settings | Optional | Android |
WRITE_EXTERNAL_STORAGE | Image caching, messages, conversations, logs, user info | Required | Android |
NSCameraUsageDescription | Provides camera functionality | Optional | iOS |
NSPhotoLibraryAddUsageDescription | Saves images to the photo library | Optional | iOS |
NSPhotoLibraryUsageDescription | Saves images to the photo library | Optional | iOS |
NSMicrophoneUsageDescription | Provides camera and voice message functionality | Optional | iOS |
NSFileProviderAddUsageDescription | Image caching, messages, conversations, logs, user info | Required | iOS |
Third-Party SDKs
RC SDK integrates third-party SDKs. Developers can choose whether to integrate them. For data collected by these third-party SDKs, developers and End Users should refer to their respective privacy policies.
RC SDK Name | Third-Party SDK Name | Privacy Policy | Purpose |
---|---|---|---|
Android IMLib | Huawei Push SDK | Huawei Developer Alliance Privacy Statement | 1. Improves push delivery rate 2. Optional for developers |
Android IMLib | Xiaomi Push SDK | Xiaomi Push Privacy Agreement | 1. Improves push delivery rate 2. Optional for developers |
Android IMLib | Meizu Push SDK | Meizu Privacy Statement | 1. Improves push delivery rate 2. Optional for developers |
Android IMLib | vivo Push SDK | vivo Privacy Agreement | 1. Improves push delivery rate 2. Optional for developers |
Android IMLib | OPPO Push SDK | OPPO Push Service Privacy Policy | 1. Improves push delivery rate 2. Optional for developers |
Android IMLib | Google FCM SDK | Google Privacy Policy | 1. FCM is the system-level channel for overseas Android devices 2. Optional for developers |
FaceUnity Beauty Plugin | FaceUnity Beauty SDK | FaceUnity Privacy Statement | 1. Required for beauty-related features 2. Optional for developers |
Notes and Exceptions
Note:
The way permissions are displayed and disabled may vary across devices and operating systems. End Users should refer to the instructions provided by their device and OS developers.
When End Users disable permissions, it means they’ve revoked the corresponding authorization. We and the developer will no longer be able to collect and use the associated personal information or provide the related functionality.
Exceptions to End User Consent Under Laws and Regulations
- Necessary for concluding or performing a contract with the End User.
- Necessary for fulfilling our legal obligations.
- Necessary for responding to public health emergencies or protecting End Users’ life, health, and property in emergencies.
- Necessary for public interest activities like news reporting and public opinion supervision, within a reasonable scope.
- Processing of personal information already disclosed by the End User or otherwise legally disclosed, within a reasonable scope.
- Other circumstances stipulated by laws and regulations.
Special Note: If the information we collect can’t identify a specific natural person alone or in combination with other information, it’s not considered personal information under the law.
2. How Personal Information Is Shared, Transferred, and Disclosed
- We may disclose your personal information to our affiliates. "Affiliates" refers to any entity that directly or indirectly controls us, is controlled by us, or is under common control with us.
- We strictly limit third parties involved in data processing and require them to comply with our personal information protection measures. Except as described in This Policy or specifically stated when collecting End User information, we won’t share End User information with third parties without the developer’s explicit consent.
- We won’t transfer End Users’ personal information to any company, organization, or individual, except in the following cases:
- After informing the developer and/or End User of the type, purpose, method, and scope of the transfer and obtaining their separate consent;
- In cases of merger, acquisition, or bankruptcy liquidation, if personal information is involved, we’ll require the new holder to comply with This Policy or obtain reauthorization. If the recipient changes the purpose or method of processing, we’ll require them to obtain End User consent again.
- We won’t publicly disclose End Users’ personal information, except in the following cases:
- After informing the developer and/or End User of the type, purpose, method, and scope of the disclosure and obtaining their separate consent;
- When required by law, legal proceedings, litigation, or government authorities.
3. End User Rights
If you’re a developer, you must provide End Users with mechanisms to access, copy, modify, delete, transfer, restrict processing, and deactivate their personal information, as well as withdraw consent.
If you’re an End User, since you’re not our direct user, we process your personal information as the Personal Information Processing Trustee according to our agreement with the developer and their instructions. The developer, as the Personal Information Processor, is responsible for processing your personal information and must disclose how it processes and protects your information. You should contact the developer to exercise your rights as a data subject.
4. How Children’s Personal Information Is Processed
If developers use our SDK Product to provide services to children, the developer is responsible for obtaining parental or guardian consent. If you’re a parent or guardian and believe the developer has collected your child’s information without your consent, contact the developer to request deletion. We’ll assist in deleting the data after verifying the situation.
5. How Personal Information Security Is Protected
We’re committed to complying with Chinese laws and regulations, taking necessary and appropriate security measures to store, manage, and transmit users’ personal information, ensuring its accuracy and integrity, and preventing unauthorized access, alteration, disclosure, or destruction.
We’ve implemented physical, administrative, and technical safeguards to protect personal information from accidental or unlawful destruction, loss, alteration, unauthorized disclosure, or access. We’ve passed the Level 3 cybersecurity protection assessment and established an information security management system. We use encryption and other reasonable measures to protect End Users’ personal information and employ security mechanisms to prevent malicious attacks. We’ve established dedicated security teams, policies, and data security processes to ensure End User information security. We strictly limit access to personal information, require confidentiality, and conduct regular reviews.
Despite these measures, due to technological limitations and potential malicious methods, we can’t guarantee 100% security. We’ll do our best to ensure the security of the personal information we process. In the event of a personal information security incident, we’ll notify the developer via email as required by law.
6. Storage of Personal Information
(1) Storage Period
We only retain End Users’ personal information for the period necessary to provide services to the developer. After the agreed storage period or upon the developer’s request, we’ll delete or anonymize End Users’ personal information, unless required by law or for other legitimate purposes.
(2) Storage Location
In principle, personal information collected and generated in China is stored within China. If the developer transfers this information overseas, the developer must comply with relevant legal obligations.
In such cases, we’ll require the data recipient to process personal information in accordance with This Policy and other security measures.
7. How This Policy Is Updated
This Policy may be updated periodically and published on our website. Please revisit this page regularly to stay informed of any changes. Your continued use of our services after the updated Policy is published constitutes your acceptance of the changes.
For significant changes that materially reduce End Users’ rights under This Policy, we’ll provide more prominent notice (e.g., via email or website announcements) before the changes take effect. If you’re a developer, when This Policy is updated in a way that significantly affects the processing of End Users’ personal information, you must update your Privacy Policy, notify End Users via pop-ups, and obtain their consent. If End Users don’t agree to This Policy, stop integrating the SDK Product.
8. How to Contact Us
For questions, feedback, or suggestions, contact us by submi a ticket.