Data Collection
Overview of data collection and controls provided by the Airship SDK.
Privacy Manager
Data collected by the Airship SDK can be controlled using Privacy Manager flags. Each flag enables additional Airship features within the SDK and controls what data is collected. The flags are for individual or groups of functional features within the SDK. Some Airship features, such as contact tags, require multiple feature flags to be enabled.
Privacy Manager Flag | Features |
---|---|
Push | Push notifications |
In-App Automation | In-App Automation, In-App Messages, Scenes, Surveys, and Landing Pages |
Message Center | Message Center |
Tags and Attributes | Tags, Attributes, Subscription Lists, and Preference Center |
Contacts | Contact Tags, Attributes, and Subscription Lists; Named User; and Associated Channels |
Analytics | Associated identifiers, Custom events, Screen tracking, Surveys |
Chat | In-App Chat |
Location | Location Lat/Long gathering for App (Not reported to Airship), Location status reporting |
SDK Data Collection
All SDK features are enabled by default, but the SDK can be configured to disable all or a subset of features on start. If the SDK is initialized without any features enabled, it will not store any data or make any network requests. If the SDK features are disabled after being previously enabled, it may make a few network requests to opt the channel out to prevent notifications.
The data collected automatically by the SDK is not used to track users across apps.
Data | Description | Privacy Manager Features |
---|---|---|
Channel ID | Airship app install identifier. | Any |
Locale | The app’s locale, comprised of language and language country. | Any |
Time zone | The device time zone. | Any |
Platform | The platform the device is running on, e.g., Amazon, Android, iOS. | Any |
Accengage device ID | The device ID on Accengage. Only collected if using the Accengage module for Accengage to Airship migration. | Any |
SDK version | The Airship SDK version. | Any |
Notification opt-In status | Notifications and background opt-in status. | Any |
Contact ID | Internal Airship ID that maps to contact. | Contacts |
App version | The app’s version. | Analytics, In-App Automation |
Message Center credentials | The message center credentials for message list access. | Message Center |
Message Center message status | Message reads and deletes. | Message Center |
Push token | The push address for push notifications. | Push |
Push provider | The push delivery platform, e.g., FCM, HMS. | Push |
Device model | The device model, e.g., Samsung GT-S5830L, iPad Air. | Analytics |
Device manufacturer | The device manufacturer name. | Analytics |
OS version | The device OS version. | Analytics |
Carrier | The device mobile carrier. | Analytics |
Connection Type | The connection type, e.g., Cell, Wifi. | Analytics |
Framework | Airship framework usage: React Native, Unity, Cordova, Flutter, Titanium, and Xamarin. | Analytics |
Lifecycle events | Init, foreground, background, and time in app. | Analytics |
Notification events | Push notification interaction events. | Analytics, Push |
Notification permissions | Authorized notification types and permissions. | Analytics, Push |
In-App Automation events | Events within an In-App display: displays, resolutions, page views, button taps, and survey results. | Analytics, In-App Automation |
Location permission | The location permission status. | Analytics, Location |
App Data Collection
In addition to the data automatically collected by the SDK, the app can provide data to the SDK for collection:
Data | Description | Privacy Manager Features |
---|---|---|
Channel Tags | Tags and tag groups set on the channel. | Tags and Attributes |
Channel Subscription Lists | Subscription Lists set on the channel. | Tags and Attributes |
Channel Attributes | Attributes set on the channel. | Tags and Attributes |
Contact Tags | Tags and tag groups set on the contact. | Tags and Attributes, Contacts |
Contact Subscription Lists | Subscription Lists set on the contact. | Tags and Attributes, Contacts |
Contact Attributes | Attributes set on the contact. | Tags and Attributes, Contacts |
Named User | Contact’s external ID. | Contacts |
Associated Channels | Email and email opt-in data, SMS and SMS opt-in data, etc. | Contacts |
Associated Identifiers | Additional analytics identifiers. | Analytics |
Custom Events | App’s custom events. | Analytics |
Screen Tracking | App’s screen tracking. | Analytics |
Data Privacy
Airship makes HTTPS encryption (also referred to as TLS connection) available for data in transit to or from the Service, for more information see Airship Security Measures. Data collected by the SDK is not transferred to any third parties unless a partner integration is enabled and configured by the application. For information on individual data requests, see Individual Data Privacy Rights.
Google Play Data Safety
Use this table to help fill out the Google Play data safety section in Play console. The Airship SDK can be configured to not require any data (all features disabled), but some data maybe be required based on the App’s usage of the SDK.
Data Category | Details |
---|---|
Location | If location module is used, lat/longs will be requested on behalf of the application but Airship does not upload or store the location lat/longs. |
Personal Info | Only collected if the app uses the Airship SDK to gather such data. (e.g., first name with attributes) |
Financial Info | Only collected if the app uses the Airship SDK to gather such data. (e.g., purchase history with custom events) |
Health and Fitness | Only collected if the app uses the Airship SDK to gather such data. (e.g., favorite type of workout with attributes) |
Messages | User messages are collected only if Chat module is enabled. |
Photos or videos | Airship does not collect photos or video files from users. |
Audio files | Airship does not collect audio or music files from users. |
Files and docs | Airship does not collect files or docs from users. |
Calendar | Airship does not collect calendar events or information from users. |
Contacts | Airship does not collect contacts from users. |
App activity | Some app activity data is collected if analytics is enabled, including analytic lifecycle events (e.g., app foreground and background), message center message status, notification opt-in status, in-app automation events, and push responses (e.g., buttons, quick reply). Other app activity data may be collected, such as custom events and screen views, if the app uses the Airship SDK to gather such data. |
Web browsing | Airship does not collect browsing history from users |
App info and performance | Airship does not collect crash logs or diagnostics. |
Device or other IDs | Airship creates a device-level ID called a channel ID for functionality and analytics purposes. It is not linked to a user’s identity. If using push notifications, push token is collected. If using Contacts, Airship creates a Contact ID that is linked to the channel ID. It can be tied to the user’s identity if configured by the app. Otherwise, it is anonymous. If using Message Center, Airship generates Message Center user credentials. Other identifiers may be collected, such as Advertising ID, if the app uses the Airship SDK to gather such data. |
Using Privacy Manager
The Privacy Manager allows setting default enabled features as well as modifying the enabled features at runtime. This table provides a mapping of the Android flags:
Privacy Manager Flag | Android Constant | AirshipConfig.properties Value |
---|---|---|
Push | PrivacyManager.FEATURE_PUSH | push |
In-App Automation | PrivacyManager.FEATURE_IN_APP_AUTOMATION | in_app_automation |
Message Center | PrivacyManager.FEATURE_MESSAGE_CENTER | message_center |
Tags and Attributes | PrivacyManager.FEATURE_TAGS_AND_ATTRIBUTES | tags_and_attributes |
Contacts | PrivacyManager.FEATURE_CONTACTS | contacts |
Analytics | PrivacyManager.FEATURE_ANALYTICS | analytics |
Chat | PrivacyManager.FEATURE_CHAT | chat |
Location | PrivacyManager.FEATURE_LOCATION | location |
All | PrivacyManager.FEATURE_ALL | all |
None | PrivacyManager.FEATURE_NONE | none |
Configuring Default Enabled Features
Default enabled features can be declared by extending AirshipConfigOptions or by setting the enabledFeatures
flag in airshipconfig.properties
. For instance, to default to just push:
enabledFeatures = push
AirshipConfigOptions options = AirshipConfigOptions.newBuilder()
...
.setEnabledFeatures(PrivacyManager.FEATURE_PUSH)
.build();
val options = AirshipConfigOptions.newBuilder()
...
.setEnabledFeatures(PrivacyManager.FEATURE_PUSH)
.build()
To fully disable data collection by default, just set the enabled features in your config to PrivacyManager.FEATURE_NONE
:
enabledFeatures = none
AirshipConfigOptions options = AirshipConfigOptions.newBuilder()
...
.setEnabledFeatures(PrivacyManager.FEATURE_NONE)
.build();
val options = AirshipConfigOptions.newBuilder()
...
.setEnabledFeatures(PrivacyManager.FEATURE_NONE)
.build()
Modifying Enabled Features
Features can enabled and disabled at any time after takeOff. Once a feature set is modified from the default, those settings will be persisted in the SDK between app inits.
UAirship.shared().getPrivacyManager.enable(PrivacyManager.FEATURE_PUSH, PrivacyManager.FEATURE_ANALYTICS);
UAirship.shared().privacyManager.enable(PrivacyManager.FEATURE_PUSH, PrivacyManager.FEATURE_ANALYTICS)
UAirship.shared().getPrivacyManager.disable(PrivacyManager.FEATURE_PUSH, PrivacyManager.FEATURE_ANALYTICS);
UAirship.shared().privacyManager.disable(PrivacyManager.FEATURE_PUSH, PrivacyManager.FEATURE_ANALYTICS)
UAirship.shared().getPrivacyManager().setEnabledFeatures(PrivacyManager.FEATURE_ALL);
UAirship.shared().privacyManager.setEnabledFeatures(PrivacyManager.FEATURE_ALL)
Categories