Handling Personal Data
Common questions about GDPR and handling data with OneSignal
Can I use OneSignal and be GDPR compliant?
You can use OneSignal and be GDPR compliant, even on our Free Plan!
See the Data Handling Guide below for methods for Getting User Consent and other data-handling best practices.
If you need DPA and Model Clauses for compliance purposes, please see our Paid Plan Benefits for details on signing up for a paid plan.
Data Handling Guide
The OneSignal SDK collects data once it is initialized on your app or website. See Data Collected by the OneSignal SDK for more information.
The data collected is generally not PII (Personally Identifiable Information), with the exception of any sensitive user information you pass to us as Data Tags.
This guide will go over how to use OneSignal without sending Personal User Data.
IP Address Collection
IP Addresses is typically not considered to be private, but in the EU, it is considered personal data in some cases. For this reason, OneSignal will automatically not collect IP Addresses from all EU Users.
If you wish to additionally prevent the storage of IP addresses from non-EU users, you will need to contact [email protected] with each of your app's OneSignal App ID and first 5 digits of your REST API key for verification.
Personal Information Sent As Data Tags
OneSignal requires that you have appropriate consent for any data you send to us, including any personal data you may send to us as data tags or other fields.
For example, if you send us the user's email using the sendEmail
method, or if you send us the user's phone number using sendTags
, you must make sure you have all necessary consent to do so.
Some data is automatically collected by the OneSignal SDK. For example, on mobile devices, this typically includes the device's advertising id, purchases they have made in your app, the timezone setting of the device, and location data (if your app has location permission). A complete list of automatically-collected information is available here: Data Collected by the OneSignal SDK.
Each of these fields can be customized by modifying our SDK code to exclude the field, or using helper methods such as setLocationShared(false)
. Instructions and examples on each of these methods is available below.
Getting User Consent
In order to comply with GDPR or other regulations, you should make sure you appropriately disclose and get consent to send data to OneSignal.
For EU GDPR compliance in particular, we recommend displaying a dialog to users and having them provide unambiguous consent for data to be shared with OneSignal (and any other services you send personal data to).
To simplify this process, we've introduced an optional method to each of our SDKs to delay initialization and prevent any data from being sent to OneSignal until the user has provided consent.
Your application should call this method before initialization of the SDK. If you pass in true
, your application will need to call provideConsent(true)
before the OneSignal SDK gets fully initialized.
Until this happens, you can continue to call methods (such as sendTags()
), but nothing will happen.
The consent setting is persisted between sessions. This means that your application only ever needs to call provideConsent
a single time, and the setting will be persisted (remembered) by the SDK.
SDK | Method |
---|---|
Android Native | setRequiresUserPrivacyConsent |
iOS Native | setRequiresUserPrivacyConsent |
Unity | setRequiresUserPrivacyConsent |
Cordova/Ionic/PhoneGap/Intel XDK | setRequiresUserPrivacyConsent |
Xamarin | setRequiresUserPrivacyConsent |
React Native | setRequiresUserPrivacyConsent |
Web Push | requiresUserPrivacyConsent |
A note for Wordpress clients
By default, the OneSignal WordPress plugin does not handle Personally Identifiable Information (PII) or EU personal data, and does not have any built-in mechanisms for getting user consent. Clients that use OneSignal's Wordpress Plugin should work with their legal counsel for compliance recommendations specific to their company if there are any concerns.
Location Sharing
OneSignal provides a method to disable Location sharing within each mobile SDK.
SDK | Method |
---|---|
iOS Native | setLocationShared |
Android Native | setLocationShared |
Unity | setLocationShared |
Xamarin | setLocationShared |
Cordova | setLocationShared |
Ionic | setLocationShared |
Phonegap | setLocationShared |
Intel XDK | setLocationShared |
React Native | setLocationShared |
Web Push | Never sends Location |
Deleting Your Data From OneSignal
Deleting User Data
See the Delete Users guide for more details on deleting user data.
Deleting Notification Data
Records of notifications that have been sent through OneSignal's dashboard can be deleted via the dashboard, but will otherwise be stored indefinitely unless you delete your OneSignal app.
Records of notifications sent through OneSignal's API will be deleted around 30 days of delivery.
Deleting Other Data
All other data is typically stored until your app is deleted. See Managing your Account for more information.
Updated almost 3 years ago