Skip to main content

Data Collection and Security

The SAP Engagement Cloud SDK collects data to power engagement features, and provides mechanisms to support data security, along with guidance on handling user consent and data deletion requests.

Privacy Notice

This solution does not identify or link users across customer databases and apps using parameters tracked by the SDK or by any other means. It is your responsibility to ensure that you always obtain the necessary consent for that data from your consumers, meaning a natural person such as a customer, contact, or account.

Automatically Tracked Data

Device Information

ParameterDescriptionCollected When
PlatformOperating system (Android, iOS, or web)SDK initialization, device settings change
Platform CategoryDevice category (mobile or web)SDK initialization, device settings change
Application VersionHost application versionSDK initialization, device settings change
Device ModelHardware model identifierSDK initialization, device settings change
OS VersionOperating system versionSDK initialization, device settings change
SDK VersionEngagement Cloud SDK versionSDK initialization, device settings change
LanguageDevice language settingSDK initialization, language change
TimezoneDevice timezoneSDK initialization, device settings change
Client IDSDK-generated UUID, not tied to hardware or advertising identifiersSDK initialization
Notification SettingsPush notification statusSDK initialization, settings change
Platform WrapperWrapper framework (React Native, Flutter, etc.)SDK initialization (if applicable)
Platform Wrapper VersionWrapper framework versionSDK initialization (if applicable)

Application Events

Event NameDescriptionData Included
app:startApplication is launchedTimestamp, custom attributes (optional)
session:startSession beginsTimestamp, custom attributes (optional)
session:endSession endsTimestamp, session duration, custom attributes (optional)

Message Interactions

Event TypeDescriptionData Included
Push Notification ClickedUser taps push notificationCampaign metadata, reporting data, origin, timestamp
In-App Message ViewedIn-app message is displayedCampaign metadata, timestamp
In-App Button ClickedUser taps in-app buttonCampaign metadata, reporting data, origin, timestamp
On Event Action ExecutedAutomated action completesCampaign metadata, reporting data, origin, timestamp

Manually Tracked Data

Contact Management

API MethodPurposeData Sent
EngagementCloud.contact.link()Link user using a contact fieldContact field value
EngagementCloud.contact.linkAuthenticated()Link user using an OpenID tokenOpenID token

Push Notifications

API MethodPurposeData Sent
EngagementCloud.push.registerToken()Register push tokenDevice push token

Event Tracking

API MethodPurposeData Sent
EngagementCloud.event.track()Track eventsEvent name, attributes (optional), timestamp
API MethodPurposeData Sent
EngagementCloud.deepLink.track()Track deep link usageDeep link URL, tracking identifier

Configuration

API MethodPurposeData Sent
EngagementCloud.config.changeApplicationCode()Update application codeNew application code
EngagementCloud.config.setLanguage()Set language overrideLanguage code
EngagementCloud.config.resetLanguage()Reset language to device languageNone

Embedded Messaging

FeaturePurposeData Sent
Filter by unreadShow only unread messagesFilter state
Filter by categoriesShow specific categoriesSelected categories

Database

Data TypePurposeRetained Until
Device InformationChange detectionApp uninstall
Client IDDevice identificationApp uninstall
Authentication Token (OpenID)Session authenticationunlink() or disable()
Push TokenNotification deliveryToken replaced or app uninstall
Pending EventsOffline event queueSuccessful delivery
SDK ConfigurationApplication settingsApp uninstall or disable()
Language PreferenceCustom languageresetLanguage() or app uninstall

Platform-Specific Details

PlatformPush ServicePlatform IdentifierAdditional Data
Android (Google)Firebase Cloud Messaging (FCM)androidNotification channel settings, importance levels
Android (Huawei)Huawei Mobile Services (HMS)android-huaweiNotification channel settings, importance levels
iOSApple Push Notification Service (APNs)iosNotification settings, permission status
WebWeb Push (browser)webNotification permission status

iOS Privacy Manifest

For more information on how the SAP Engagement Cloud SDK complies with Apple's Privacy Manifest requirement, see iOS Privacy Manifest.

Data Transport Security

  • All network communication is encrypted using HTTPS.
  • The SDK does not add database-level encryption.

The SDK starts collecting data as soon as enable() is called. Do not call enable() until the user has given consent.

  • Allow users to revoke consent. When a user revokes consent, call disable(), which automatically unlinks the contact.
  • Calling disable() stops future data collection but does not delete previously collected data.

Handling Data Deletion Requests

When a user requests data deletion:

  1. Call unlink().
  2. Clear your app's local storage and caches. Remove the data stored by the SDK through the platform's storage settings.
  3. Verify deletion on the server side by checking the contact profile in SAP Engagement Cloud.

Security Testing Checklist

You are responsible for complying with the following security requirements:

ItemAction
Data TransportConfirm TLS with certificate pinning. Reject non-HTTPS image URLs for rich push.
LoggingEnsure that no OpenID tokens or PII is logged. Avoid sending tokens to third-party analytics tools unless required.
PermissionsVerify that push permission prompts for Android and iOS only occur when expected.
Consent RevocationVerify your consent revocation process end‑to‑end.
OpenID Token RotationRotate OpenID token and validate that the old token is rejected.