<!--
{
  "documentType" : "article",
  "framework" : "CloudKit",
  "identifier" : "/documentation/CloudKit/responding-to-requests-to-delete-data",
  "metadataVersion" : "0.1.0",
  "role" : "article",
  "title" : "Responding to Requests to Delete Data"
}
-->

# Responding to Requests to Delete Data

Provide options for users to delete their CloudKit data from your app.

## Discussion

If your app stores data in CloudKit on behalf of your users, give them a simple way to delete their data.

### Identify Containers

To be sure that you delete all of a user’s data that your app stores in CloudKit, cross-reference the list of containers your app has access to in Xcode and assemble a list of those containers’ identifiers. [Identifying an App’s Containers](/documentation/CloudKit/identifying-an-app-s-containers) describes this process.

The example below stores containers in an array to use later for enumeration:

```swift
let containers: [CKContainer] = [
    CKContainer.default(),
    .init(identifier: "iCloud.com.example.myexampleapp.documents"),
    .init(identifier: "iCloud.com.example.myexampleapp.settings")
]
```

### Delete Records

The example below uses an instance of [`CKModifyRecordZonesOperation`](/documentation/CloudKit/CKModifyRecordZonesOperation) to delete all records in each container’s private database:

```swift
for container in containers {
    container.privateCloudDatabase.fetchAllRecordZones { zones, error in
        guard let zones = zones, error == nil else {
            print("Error fetching zones.")
            return
        }
        
        let zoneIDs = zones.map { $0.zoneID }
        let deletionOperation = CKModifyRecordZonesOperation(recordZonesToSave: nil, recordZoneIDsToDelete: zoneIDs)
        
        deletionOperation.modifyRecordZonesCompletionBlock = { _, deletedZones, error in
            guard error == nil else {
                let error = error!
                
                print("Error deleting records.", error)
                return
            }

            print("Records successfully deleted in this zone.")
        }
        
        container.privateCloudDatabase.add(deletionOperation)
    }
}
```

---

Copyright &copy; 2026 Apple Inc. All rights reserved. | [Terms of Use](https://www.apple.com/legal/internet-services/terms/site.html) | [Privacy Policy](https://www.apple.com/privacy/privacy-policy)