---
title: CKModifyRecordsOperation.RecordSavePolicy.allKeys
framework: cloudkit
role: symbol
role_heading: Case
path: cloudkit/ckmodifyrecordsoperation/recordsavepolicy/allkeys
---

# CKModifyRecordsOperation.RecordSavePolicy.allKeys

A policy that instructs CloudKit to save all keys of a record, even those without changes.

## Declaration

```swift
case allKeys
```

## Discussion

Discussion important: This policy doesn’t compare record change tags. To only save changes to the most recent version of a record, use CKModifyRecordsOperation.RecordSavePolicy.ifServerRecordUnchanged instead. This policy causes CloudKit to overwrite any existing values on the server. It’s possible for a server record to contain keys that aren’t present locally. Another client might add keys to the record after you fetch it. Also, if you use the desiredKeys property to request a subset of keys during a fetch operation, saving that same record modifies only those keys that you include in the fetch and any keys you add to the record after that.

## See Also

### Save Policies

- [CKModifyRecordsOperation.RecordSavePolicy.ifServerRecordUnchanged](cloudkit/ckmodifyrecordsoperation/recordsavepolicy/ifserverrecordunchanged.md)
- [CKModifyRecordsOperation.RecordSavePolicy.changedKeys](cloudkit/ckmodifyrecordsoperation/recordsavepolicy/changedkeys.md)
