Allowing Your Users to Manage Data Stored in iCloud
To help developers comply with the European Union’s upcoming General Data Protection Regulation (GDPR), Apple is providing tools that help you to fulfill data requests made by your users in the EU or around the world. These requests can include the ability to get a copy of data associated with a user, the ability to temporarily deactivate or restrict access to the data associated with a user, and the ability to delete the data associated with a user completely. Users may make requests to Apple or to developers directly.
Providing Ways to Export Data and Delete Data
You can let users manage data that’s associated with your app and stored in iCloud by using native APIs and Web APIs.
Providing User Access to CloudKit Data
Give users access to the data stored by your app on their behalf.
When a user requests a copy of the data associated with their Apple ID, it includes only the data that Apple maintains directly, such as documents in iCloud Drive. Data stored in third-party CloudKit containers are not included in any export that Apple provides. Developers should provide their own method for users to get a copy of data stored in their CloudKit containers.
Responding to Requests to Delete Data
Provide options for users to delete their CloudKit data from your app.
Providing Ways to Restrict Data
When a user requests to temporarily deactivate their Apple ID, no additional data will be stored in iCloud, and the account will be locked until the user reactivates it. In this case, CloudKit APIs will return errors that your application will need to handle.
To allow users to restrict their account in your app, use the restrict API provided by CloudKit Web Services to temporarily restrict a specific CloudKit container. If a user temporarily restricts a specific container, existing CloudKit APIs will also return errors that you'll need to handle. To learn more about restricting access on a user's data at their request, see Changing Access Controls on User Data.
To learn more about CloudKit and iCloud Drive APIs, see iCloud for Developers.