---
title: Privacy - React Native (classic)
description: Learn how Contentsquare deals with Personal Data and related APIs
lastUpdated: 07 April 2026
source_url:
  html: https://docs.contentsquare.com/en/react-native/privacy/
  md: https://docs.contentsquare.com/en/react-native/privacy/index.md
---

> Documentation index: https://docs.contentsquare.com/llms.txt
> Use this file to discover all available pages before exploring further.

The latest CSQ SDK is here! Learn how to [upgrade your app](https://docs.contentsquare.com/en/csq-sdk-react-native/experience-analytics/upgrade-from-cs-sdk/).

The Contentsquare React Native Bridge and SDKs are compliant with the **Play Store and App Store Privacy guidelines** and with the **EU General Data Protection Regulation (GDPR)**.

Consult our [Privacy Center ↗](https://contentsquare.com/privacy-center/) and [Privacy Policy ↗](https://contentsquare.com/privacy-center/privacy-policy/).

## Handling User Consent

Even though Contentsquare only collects usage data on your app, we will consider every new user to be opted-out. To start tracking, the Opt-in API must be called.

Note

If for some reason you think that securing user consent is not required for your app, discuss it during the Implementation process with your main contact.

## Opt-in

Use the Opt-in API to get user consent. Calling this API will generate a user ID and initiate tracking.

```javascript
import Contentsquare from "@contentsquare/react-native-bridge";


Contentsquare.optIn();
```

## Opt-Out

**Permanently breaking the link and stopping all data collection.**

When this API is called, tracking stops immediately, all settings are reset (session number, page number, user ID...) and all files related to Contentsquare tracking are deleted. Contentsquare will never track and collect any data from the user's phone unless the Opt-in API is called again.

```javascript
import Contentsquare from "@contentsquare/react-native-bridge";


Contentsquare.optOut();
```

## Give me my data

**We allow the client to provide to their users their Contentsquare user ID.**

This ID is a non binding identifier which can be used to make a data request to Contentsquare. You are able to get an ID only if the user is not Opted-out. To do so, pass a callback as a parameter to the function.

```javascript
import Contentsquare from "@contentsquare/react-native-bridge";


const [userId, setUserId] = useState("not retrieved yet");


// Contentsquare.getUserId(string => {})
Contentsquare.getUserId((newUserId) => {
  console.log(`Your Contentsquare UserID is ${newUserId}`);
  setUserId(newUserId);
});
```

## Stop / Resume Tracking

Although we do not gather any humanly readable text from the user's screens, we understand that there may be some areas that you want to completely exclude from tracking. For this reason, we also support stopping and resuming the complete tracking mechanism.

```javascript
import Contentsquare from "@contentsquare/react-native-bridge";


// Stop tracking
Contentsquare.stopTracking();


// Resume tracking
Contentsquare.resumeTracking();
```

Note

As this mechanism stops the tracking, make sure that you call resume once your user exits the sensitive screen. Best practice would be to link these method calls to lifecycle events.
