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.