Privacy
The Contentsquare SDK is compliant with the App Store Privacy guidelines as well as with the EU General Data Protection Regulation (GDPR).
Consult our Privacy Center and Privacy Policy.
Privacy practices to declare to App Store
Section titled Privacy practices to declare to App StoreFrom December 8th, 2020, Apple is going to ask Apps publishers to declare app’s privacy practices, including third-party partners such as Contentsquare. See Apple’s website for more information.
Types of data
Section titled Types of dataHere is the list of data type we collect:
Categories | Data type | Storage retention |
---|---|---|
Identifiers | User ID | 13 months |
Usage Data | Product Interaction | 13 months |
Diagnostics | Crashes | 13 months |
Purpose
Section titled PurposeContentsquare’s purpose should be categorized as: Analytics.
Data linked to the user
Section titled Data linked to the userAll collected data is linked to the user via the Contentsquare User ID we generate. This user ID and all collected data are stored for 13 months.
Tracking
Section titled TrackingContentsquare does not match the “tracking” definition of Apple which is related to advertising or sharing with data broker.
Personally Identifiable Information
Section titled Personally Identifiable InformationUser ID
Section titled User IDWe do not use Advertising ID or any ad related or third-party information to identify the user. The SDK generates a unique user ID (UUID) (random hash) which is specific to users on their device. Contentsquare can’t identify a user across devices. We don’t persist the UUID when the app is deleted and re-installed. The SDK generates a new UUID after install or re-install. This user ID is not shared with any third parties.
What is not collected
Section titled What is not collected- IDFA or any other ad related user identifier
- Passwords from password fields
- Geo location information
- Information from contacts, emails, or any other user identifiable information.
- Text from labels, buttons, and any other widget which contains text
- Accessibility information from any widget which the user interacts with
- Labels printed on the screen of any kind.
Handling User Consent
Section titled Handling User ConsentThe App Store guidelines regarding privacy (see section 5.1.1 ii Permissions) states that:
“Apps that collect user or usage data must secure user consent for the collection, even if such data is considered to be anonymous at the time of or immediately following collection.”
Contentsquare collects usage data on your app. By default, the SDK will consider every new user to be opted-out. To start tracking, the SDK Opt-in API must be called.
You are responsible for creating the UI asking users for their consent and allowing them to manage their privacy settings and then calling the appropriate Contentsquare following functions (opt-in, opt-out, forget me…).
Opt-in
Section titled Opt-inUse the Opt-in API to get user consent. Calling this API will generate a user ID and initiate tracking.
Contentsquare.optIn()
[Contentsquare optIn];
Opt-Out
Section titled Opt-OutPermanently breaking the link and stopping all data collection.
When this API is called, tracking stops immediately, all settings are reset (Session number, Page number…) and all files and directory regarding to Contentsquare are deleted. This means that the user ID is deleted. The SDK will never track and collect any data from the user’s phone unless the Opt-in API is called again.
Contentsquare.optOut()
[Contentsquare optOut];
Forget me
Section titled Forget mePermanently breaking the link between the collected data and actual user.
This resets all settings and deletes all files and directories from the user’s device (User ID is deleted). If user is opted in, next time user starts the app, the SDK will re-start its collection mechanisms as if this was the first ever run for a new user, under a new user id. Configurations will be fetched from the server and application tracking will be on.
Contentsquare.forgetMe()
[Contentsquare forgetMe];
Give me my data
Section titled Give me my dataWe 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.
Contentsquare.userID
[Contentsquare userID];
Pause / Resume Tracking
Section titled Pause / Resume TrackingAlthough 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 pausing and resuming the complete tracking mechanism.
Contentsquare.stopTracking()// ...Contentsquare.resumeTracking()
[Contentsquare stopTracking];// ...[Contentsquare resumeTracking];
Disable user tracking across sessions
Section titled Disable user tracking across sessionsIf you don’t want to link the different sessions of a user to the same userID, follow these instructions to reset the userID at each app start:
-
Implement the following:
func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?) {Contentsquare.start()Contentsquare.optOut()Contentsquare.optIn()…}Starting the SDK manually using
start()
will ensure that opt-out is called right after the start of the SDK (no event tracked in between).Calling
optOut()
will delete the previous userID.Calling
optIn()
will set a new one.