iCloud sync security

Options
sevenam
sevenam
Community Member

I`m a bit curious on how iCloud sync actually works. Could you please give a brief step-by-step intro to how it works?

I assume only encrypted data is stored on iCloud.
I also assume data is deleted from iCloud as soon as the sync is complete.
What about the sync itself - is it performed on intervals? How often? How does it know which device has the newest data. What about conflicts?

I would like to know these things to determine if I should be using the feature or not.

Comments

  • Stephen_C
    Stephen_C
    Community Member
    Options

    Some of your questions will be answered by the iCloud FAQ in the knowledgebase. Yes, only your encrypted data is stored. The sync is performed pretty well on Apple's whim: AgileBits has no specific control over timing and it can sometimes take a while for the sync to be completed.

    I will leave others to answer any questions you still have unanswered, if I may, as I don't personally use iCloud sync.

    Stephen

  • littlebobbytables
    littlebobbytables
    1Password Alumni
    Options

    Hi @sevenam‌

    Now depending on the level of detail required I may have to ask a dev to pop in and respond.

    1. Your vault data is encrypted no matter where it is stored, be it locally or in a sync repository such as Dropbox or iCloud.
    2. The data remains in the sync repository until you disable sync on all devices and delete the sync data.
    3. CloudKit works on a database so my understanding is changes should be pushed to the database immediately rather than experiencing the delays that the old iCloud was known for when syncing on it's own timeframe.
    4. As it's a database new data should be pushed as often as required.

    Here's where I start to get hazy. Databases in general have lots of ways to ensure data integrity, atomic write, locks etc. but I don't know specifically how Apple ensure it. As for conflicts, if it's handled in the same way as Dropbox we would merge the two records and place one set in a conflict section so that the user can decide, assuming something integral to CloudKit means conflicts aren't handled elsewhere.

    Let us know if you're after more detail or not and we'll see about getting a dev to pop in and respond.

This discussion has been closed.