Security

    iOS Keychain iCloud sync: synchronizable vs device-only

    A 2026 view of an iOS Keychain item syncing across a user's devices via end-to-end-encrypted iCloud Keychain, alongside a device-only item that stays on one device and out of backups

    The iOS Keychain can do more than store a secret on one device: it can sync that secret across all of a user's devices through iCloud Keychain. That is great for credentials a user expects on their iPhone and iPad alike, and a decision worth making deliberately for sensitive material, because syncing means the item leaves the single device. You control it per item with the synchronizable attribute, and for the most sensitive secrets you can choose a device-only accessibility that never syncs and never enters backups. Here is what keychain iCloud sync is, the trade-off, and how to decide per item.

    Short answer

    A Keychain item can be marked synchronizable so it syncs across the user's devices through iCloud Keychain, which is convenient for credentials the user wants on all their devices and means the item survives losing or replacing a device. Per Apple's Keychain documentation, syncing places the item in iCloud Keychain, which Apple end-to-end encrypts and ties to the user's account. For the most sensitive secrets that should never leave a single device, use a device-only accessibility attribute, the ThisDeviceOnly variants, which keep the item from syncing and from being included in backups. So decide per item: sync for convenience where appropriate, device-only for secrets that must stay on the one device.

    What you should know

    • Keychain items can sync: across the user's devices via iCloud Keychain.
    • Syncing means it leaves the device: stored in iCloud Keychain, end-to-end encrypted.
    • It is per item: the synchronizable attribute controls it.
    • Device-only attributes do not sync: the ThisDeviceOnly accessibility variants.
    • Decide deliberately: sync for convenience, device-only for the most sensitive.

    What is keychain iCloud sync?

    It is the Keychain syncing a stored item across a user's Apple devices. When you store a Keychain item and mark it synchronizable, the system propagates it through iCloud Keychain to the user's other devices signed into the same iCloud account, so a credential saved on the iPhone is available on the iPad. Apple end-to-end encrypts iCloud Keychain, so the synced item is protected in transit and at rest and tied to the user's account. The benefit, beyond cross-device convenience, is resilience: a synced credential survives the loss, replacement, or transfer of a single device, because it is not bound to that one device. The cost is that the item is no longer confined to a single device, which for most credentials is fine and for the most sensitive material is a decision to weigh.

    Sync versus device-only

    The choice is convenience and resilience against single-device confinement. The table contrasts them.

    AttributeBehavior
    SynchronizableSyncs across the user's devices via iCloud Keychain
    Cross-device availabilityThe credential is on all the user's devices
    Survives device lossYes, because it is not bound to one device
    Device-only accessibility (ThisDeviceOnly)Stays on the one device; does not sync
    Excluded from backupsYes, with the device-only attributes

    A synchronizable item trades single-device confinement for convenience and resilience, and since iCloud Keychain is end-to-end encrypted, that is appropriate for many credentials. A device-only item, using a ThisDeviceOnly accessibility attribute, never leaves the device it was created on and is excluded from backups, which is the strongest isolation and the right choice for a secret that should never exist anywhere but the one device. The decision is per item, so you can sync the user's login token while keeping a device-bound key local.

    How do you decide per item?

    Match the attribute to how sensitive the item is and how it is used. For credentials the user reasonably expects across their devices, a login token, a saved password, marking the item synchronizable gives a good experience and resilience, and iCloud Keychain's end-to-end encryption protects it. For the most sensitive material, a key that should be unique to the device, a secret tied to device-specific trust, or anything you do not want leaving the one device, use a device-only accessibility attribute so it does not sync and is not backed up. Consider whether the item should survive a device transfer, which favors syncing, or must be confined, which favors device-only. And remember the choice interacts with backups: device-only items are excluded, which is what you want for the most sensitive secrets. The principle is to decide consciously rather than defaulting, since the attribute determines whether a secret stays on one device or spreads across the user's account.

    What to watch out for

    The first trap is syncing a secret that should never leave one device, when a device-only accessibility attribute would confine it; choose deliberately per item. The second is assuming everything in the Keychain is device-local, when synchronizable items propagate across the user's devices. The third is forgetting that device-only attributes also keep an item out of backups, which is usually what you want for the most sensitive secrets. A pre-submission scan such as PTKD.com (https://ptkd.com) reads the compiled IPA against OWASP MASVS and assesses how your app uses the Keychain and stores secrets, which complements deciding the right sync and accessibility attributes. The per-item choice you make in your code.

    What to take away

    • Keychain items can be marked synchronizable to sync across the user's devices via iCloud Keychain, which is convenient and survives device loss but means the item leaves the single device.
    • iCloud Keychain is end-to-end encrypted, so syncing is appropriate for many credentials.
    • For the most sensitive secrets that must stay on one device, use a device-only accessibility attribute (a ThisDeviceOnly variant), which does not sync and is excluded from backups.
    • Decide per item, and use a pre-submission scan such as PTKD.com to assess how your app uses the Keychain and stores secrets.
    • #ios
    • #keychain
    • #icloud-keychain
    • #synchronizable
    • #secure-storage
    • #owasp-masvs
    • #app-security

    Frequently asked questions

    What is iOS Keychain iCloud sync?
    It is the Keychain syncing a stored item across a user's Apple devices. When you mark a Keychain item synchronizable, the system propagates it through iCloud Keychain to the user's other devices on the same iCloud account, so a credential saved on the iPhone is available on the iPad. Apple end-to-end encrypts iCloud Keychain, so the synced item is protected and tied to the user's account, and it survives the loss or replacement of a single device because it is not bound to that one device.
    Is it safe to sync secrets via iCloud Keychain?
    For many credentials, yes, because iCloud Keychain is end-to-end encrypted and tied to the user's account, so a synced login token or password is protected and conveniently available across devices. The consideration is that the item no longer stays on one device, which for most credentials is fine. For the most sensitive material that should never leave a single device, choose a device-only accessibility attribute instead, so the item does not sync and is excluded from backups.
    How do I keep a Keychain item on one device?
    Use a device-only accessibility attribute, the ThisDeviceOnly variants, when storing the item. These keep the item from syncing through iCloud Keychain and also exclude it from device backups, so it never leaves the device it was created on. That is the strongest isolation and the right choice for a key that should be unique to the device or a secret you do not want spreading across the user's account. The choice is per item, set when you store it.
    When should I sync versus keep device-only?
    Sync credentials the user reasonably expects across their devices, like a login token or saved password, where convenience and surviving a device transfer matter and iCloud Keychain's encryption protects them. Keep device-only the most sensitive material, a device-unique key or a secret you do not want leaving the one device, using a ThisDeviceOnly accessibility attribute. Consider whether the item should survive a device transfer, which favors syncing, or must be confined, which favors device-only.
    How do I check my app's Keychain usage?
    Scan the build. A pre-submission scan such as PTKD.com reads the compiled IPA against OWASP MASVS and assesses how your app uses the Keychain and stores secrets, which complements deciding the right synchronizable and accessibility attributes per item. With that assessment, you can confirm secrets are in the Keychain rather than plain storage and reason about which items should sync for convenience and which should stay device-only for the strongest isolation.

    Keep reading

    Scan your app in minutes

    Upload an APK, AAB, or IPA. PTKD returns an OWASP-aligned report with copy-paste fixes.

    Try PTKD free