Appearance
GDPR Compliance
Overview
As per GDPR's data protection laws, it is mandatory for all applications to implement the following methods. These methods allow users to control the information that they share with Upshot.ai.
The Upshot iOS SDK provides comprehensive tools to help your application comply with GDPR (General Data Protection Regulation) requirements, including user data deletion, marketing opt-outs, and data collection controls.
Disable User (Right to be Forgotten)
This method is used to delete all recorded data and disable Upshot.ai for a user (appuid).
Important Notes:
- Once a data subject requests deletion, all data coming from any device associated with that user will be stopped.
- Events and user profile updates are blocked for disabled users.
- Only campaigns for unregistered users will be available for displaying.
- When a user profile is deleted, no future data is tracked about the user
- If the user wants to start sending data again, appropriate APIs must be invoked
dart
import 'package:flutter_upshot_plugin/flutter_upshot_plugin.dart';
// Disable user and delete all data
FlutterUpshotPlugin.disableUser(true);
Marketing Optout/OptIn
In compliance with GDPR, to ensure opt out of the user from all marketing channels, you can set bool to that property against that user as shown below.
Push Opt Out
Our SDK has a flag 'pushOptout' which if set to yes, will ensure that push notifications are blocked for the specific device. When this flag is set to yes for a specific data subject identity Upshot.ai will suppress all the devices associated to the data subject.
SMS Opt Out
Our SDK has a flag 'smsOptout' which if set to yes, will ensure that sms notifications are blocked for the specific data subject. When this flag is set to yes for a specific data subject identity. Upshot.ai will suppress all the phone numbers associated to the data subject.
Email Opt Out
Our SDK has a flag 'emailOptout' which if set to yes, will ensure that email messages are blocked for the specific data subject. When this flag is set to yes for a specific data subject identity Upshot.ai will suppress all the email addresses associated to the data subject.
IP Opt Out
Our SDK has a flag 'ipOptout' which if set to yes, will ensure that we capture IP address but will not use for reverse geocode for any reports.
Sample Code for Optout
dart
Map<dynamic, dynamic> profileAttributes = {
UpshotProfileAttributes.push_opt: true,
UpshotProfileAttributes.sms_opt: true,
UpshotProfileAttributes.email_opt: true,
UpshotProfileAttributes.ip_opt: true,
};
FlutterUpshotPlugin.sendUserDetails(profileAttributes);
Sample Code for OptIn
dart
Map<dynamic, dynamic> profileAttributes = {
UpshotProfileAttributes.push_opt: false,
UpshotProfileAttributes.sms_opt: false,
UpshotProfileAttributes.email_opt: false,
UpshotProfileAttributes.ip_opt: false,
};
FlutterUpshotPlugin.sendUserDetails(profileAttributes);
Data OptOut
This right allows users to opt out of sharing any data with Data Processors.
When a user opts out of data collection:
- No personal data will be collected or processed
- Analytics and tracking will be disabled
- User profile updates will be blocked
- Only essential app functionality will continue
Sample Code for Data Optout
dart
Map<dynamic, dynamic> profileAttributes = {
UpshotProfileAttributes.data_opt: true,
};
FlutterUpshotPlugin.sendUserDetails(profileAttributes);
Sample Code for Data OptIn
dart
Map<dynamic, dynamic> profileAttributes = {
UpshotProfileAttributes.data_opt: false,
};
FlutterUpshotPlugin.sendUserDetails(profileAttributes);