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 FlagFeatures
PushPush notifications
In-App AutomationIn-App Automation, In-App Messages, Scenes, Surveys, and Landing Pages
Message CenterMessage Center
Tags and AttributesTags, Attributes, Subscription Lists, and Preference Center
ContactsContact Tags, Attributes, and Subscription Lists; Named User; and Associated Channels
AnalyticsAssociated identifiers, Custom events, Screen tracking, Surveys
ChatIn-App Chat
LocationLocation 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.

 Note

The data collected automatically by the SDK is not used to track users across apps.

DataDescriptionPrivacy Manager Features
Channel IDAirship app install identifier.Any
LocaleThe app’s locale, comprised of language and language country.Any
Time zoneThe device time zone.Any
PlatformThe platform the device is running on, e.g., Amazon, Android, iOS.Any
Accengage device IDThe device ID on Accengage. Only collected if using the Accengage module for Accengage to Airship migration.Any
SDK versionThe Airship SDK version.Any
Notification opt-In statusNotifications and background opt-in status.Any
Contact IDInternal Airship ID that maps to contact.Contacts
App versionThe app’s version.Analytics, In-App Automation
Message Center credentialsThe message center credentials for message list access.Message Center
Message Center message statusMessage reads and deletes.Message Center
Push tokenThe push address for push notifications.Push
Push providerThe push delivery platform, e.g., FCM, HMS.Push
Device modelThe device model, e.g., Samsung GT-S5830L, iPad Air.Analytics
Device manufacturerThe device manufacturer name.Analytics
OS versionThe device OS version.Analytics
CarrierThe device mobile carrier.Analytics
Connection TypeThe connection type, e.g., Cell, Wifi.Analytics
FrameworkAirship framework usage: React Native, Unity, Cordova, Flutter, Titanium, and Xamarin.Analytics
Lifecycle eventsInit, foreground, background, and time in app.Analytics
Scheduled summary1Scheduled summary notification status. Only collected if it is being used.Analytics
Time sensitive1Time sensitive notification status. Only collected if it is being used.Analytics
Notification eventsPush notification interaction events.Analytics, Push
Notification permissionsAuthorized notification types and permissions.Analytics, Push
In-App Automation eventsEvents within an In-App display: displays, resolutions, page views, button taps, and survey results.Analytics, In-App Automation
Location permissionThe location permission status.Analytics, Location

1. iOS 15+ only

App Data Collection

In addition to the data automatically collected by the SDK, the app can provide data to the SDK for collection:

DataDescriptionPrivacy Manager Features
Channel TagsTags and tag groups set on the channel.Tags and Attributes
Channel Subscription ListsSubscription Lists set on the channel.Tags and Attributes
Channel AttributesAttributes set on the channel.Tags and Attributes
Contact TagsTags and tag groups set on the contact.Tags and Attributes, Contacts
Contact Subscription ListsSubscription Lists set on the contact.Tags and Attributes, Contacts
Contact AttributesAttributes set on the contact.Tags and Attributes, Contacts
Named UserContact’s external ID.Contacts
Associated ChannelsEmail and email opt-in data, SMS and SMS opt-in data, etc.Contacts
Associated IdentifiersAdditional analytics identifiers.Analytics
Custom EventsApp’s custom events.Analytics
Screen TrackingApp’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 CategoryDetails
LocationIf 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 InfoOnly collected if the app uses the Airship SDK to gather such data. (e.g., first name with attributes)
Financial InfoOnly collected if the app uses the Airship SDK to gather such data. (e.g., purchase history with custom events)
Health and FitnessOnly collected if the app uses the Airship SDK to gather such data. (e.g., favorite type of workout with attributes)
MessagesUser messages are collected only if Chat module is enabled.
Photos or videosAirship does not collect photos or video files from users.
Audio filesAirship does not collect audio or music files from users.
Files and docsAirship does not collect files or docs from users.
CalendarAirship does not collect calendar events or information from users.
ContactsAirship does not collect contacts from users.
App activitySome 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 browsingAirship does not collect browsing history from users
App info and performanceAirship does not collect crash logs or diagnostics.
Device or other IDsAirship 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 FlagAndroid ConstantAirshipConfig.properties Value
PushPrivacyManager.FEATURE_PUSHpush
In-App AutomationPrivacyManager.FEATURE_IN_APP_AUTOMATIONin_app_automation
Message CenterPrivacyManager.FEATURE_MESSAGE_CENTERmessage_center
Tags and AttributesPrivacyManager.FEATURE_TAGS_AND_ATTRIBUTEStags_and_attributes
ContactsPrivacyManager.FEATURE_CONTACTScontacts
AnalyticsPrivacyManager.FEATURE_ANALYTICSanalytics
ChatPrivacyManager.FEATURE_CHATchat
LocationPrivacyManager.FEATURE_LOCATIONlocation
AllPrivacyManager.FEATURE_ALLall
NonePrivacyManager.FEATURE_NONEnone

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:

airshipconfig.properties
  enabledFeatures = push
AirshipConfigOptions
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:

airshipconfig.properties
  enabledFeatures = none
AirshipConfigOptions
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.

Enabling features
  UAirship.shared().getPrivacyManager.enable(PrivacyManager.FEATURE_PUSH, PrivacyManager.FEATURE_ANALYTICS);
  UAirship.shared().privacyManager.enable(PrivacyManager.FEATURE_PUSH, PrivacyManager.FEATURE_ANALYTICS)
Disabling features
  UAirship.shared().getPrivacyManager.disable(PrivacyManager.FEATURE_PUSH, PrivacyManager.FEATURE_ANALYTICS);
  UAirship.shared().privacyManager.disable(PrivacyManager.FEATURE_PUSH, PrivacyManager.FEATURE_ANALYTICS)
Setting the current set of features
  UAirship.shared().getPrivacyManager().setEnabledFeatures(PrivacyManager.FEATURE_ALL);
  UAirship.shared().privacyManager.setEnabledFeatures(PrivacyManager.FEATURE_ALL)