Live Chat Mobile - Storage Details
Updated
Overview
This article provides an overview of how Sprinklr’s Live Chat Mobile SDK—available for React Native, Native, and Flutter applications—ensures a secure and personalised messaging experience. It details the types of data stored locally on the user’s device, the purpose of this data, and the secure, encrypted storage mechanisms used across supported mobile platforms.
Data Stored on Device
The following information is stored locally on the user’s device as part of the Live Chat Mobile experience:
Data Type | Description | Encryption (Yes/No) |
Pusher Token | Contains an FCM (Android) or APNS (iOS) token, which is a unique identifier for push notifications. It ensures that notifications reach the correct device. | No |
User Token | Contains a JWT, which uniquely identifies a user. It ensures that conversations persist for the user across sessions in the mobile application. | Yes |
Selected Environment | Stores the last selected environment (e.g., PROD), indicating the Sprinklr environment where live chat is active. | No |
Selected Locale | Stores the user’s preferred language or locale setting for the live chat experience. | No |
Document & Media Caching | Remote media URLs shared during the conversation are cached and mapped to local URLs to improve loading speed and performance. | No |
Security Consideration
The Live Chat Mobile SDK encrypts certain types of data before storing it locally to ensure user privacy and safeguard against unauthorized access. All data is confined to the app’s sandboxed environment and is automatically deleted when the app is uninstalled.
No data is stored in shared or external device storage.
Additional Features
Co-browsing
Sprinklr integrates a third-party SDK to enable co-browsing, allowing agents to collaborate with customers in real-time. This feature also supports agent screen sharing, enabling a more interactive and effective support experience.
Below is a detailed list of elements stored locally on the user’s device, and their purposes:
Data Type
Description
Encrypted
Cobrowse Session state
Tracks the lifecycle of the session, including states such as initiated, resumed, failed, setup, ended, and started.
Yes
Message ID
Represents the specific message through which the co-browsing session is initiated.
Yes
Conversation ID
Refers to the case ID associated with the co-browsing session
Yes
Agent ID
Refers to the agent participating in the co-browsing session
Yes
Agent Present URL
URL used for establishing the agent screen sharing session
Yes
Storage Mechanism by Platform
Sprinklr utilizes the Async Storage dependency by default across all supported frameworks—React Native, Native, and Flutter, for managing local data storage.
Android
Data is stored in the app’s sandboxed SQLite database, making it inaccessible to other apps. This data is automatically cleared when the app is uninstalled.
iOS
Small values (less than 1,024 characters) are stored in a shared manifest.json file.
Larger values (more than 1,024 characters) are stored in separate files named using MD5-hashed keys. All files reside within the app’s secure storage container.
As with Android, all data is automatically deleted upon app uninstallation.
Note: In React Native apps, Async Storage is used by default to store data locally on the device, adhering to the same encryption and sandboxing principles outlined above.
However, if your app implements a custom storage implementation , this default behavior may not apply. In such cases, data storage and security will depend on the specifics of your custom implementation.