I enabled iCloud sync on my iPad, and 1Password (silently?) merged a really old copy of my data!

semblance
semblance
Community Member
edited November 2013 in Mac

(Note: I posted this in the 1Password 4 for Mac forum because it concerns sync issues affecting all devices.)

Yesterday I noticed that many of the 1Password items on my Mac were appearing with much older passwords, with the correct password shown under a section called “Conflicts”. Some had also reverted to using an old tag that I’d deleted months ago, in place of the correct tag.

I started comparing various backups to find out when the corruption occurred, and it started a few days ago. I think I know what caused it. Around that time, without thinking much about it, I enabled iCloud syncing on my iPad. I did not do this because I wanted to sync over iCloud — I use Dropbox for that — but because I thought “it won’t do any harm to have my data backed up to another cloud service”.

How wrong I was. Unknown to me, iCloud already had a much older copy of my data that I'd forgotten about — and I suspect 1Password merged it, thereby corrupting my main dataset on all my devices, which are synced via Dropbox. I don't remember the iOS 1Password app informing me that old data existed, or that it was going merge it, or giving me a choice.

I then had to go through quite a complex process to fix the problem. Because I had no idea of the extent of the corruption, I had to revert to the last known good state, and then re-apply any changes I'd made since then. I eventually managed to accomplish this as follows:

  1. Make a backup of my current 1Password database on my Mac
  2. Switch off Dropbox syncing on all devices
  3. On my mobile devices, erase all local 1Password data (to erase all traces of the corrupted database)
  4. Delete (or archive) the agilekeychain from Dropbox (for the same reason)
  5. Load and compare older backups to find the date the corruption occurred
  6. Restore the most recent backup again to find find all the 1Password items I modified recently
  7. Click "All Items", then sort by "Date Modified" with most recent at the top
  8. Select all the items that were modified since the corruption occurred
  9. Export those items using File > Export > Selected Items
  10. Restore the last known good backup again (from just before the corruption occurred)
  11. Re-import the recently-modified items that were exported in step 9
  12. Make a backup of the fresh, new "fixed" database.
  13. Re-enable Dropbox syncing on my Mac, which creates a new agilekeychain
  14. Re-enable Dropbox syncing on all my local devices, so they pick up only the good data from the agilekeychain

The problem appears to be all fixed now — but this whole clean-up process took several hours (most of that was me figuring out how to do it)!

To avoid this kind of thing happening in future, it would be nice if 1Password could say “existing data was found on iCloud, do you want to merge it?” — like it already does with Dropbox. I can't be sure it didn't say this, but if it did I don't remember it.

A better solution

Better still would be if 1Password for Mac and iOS could do, for both Dropbox and iCloud, what Cultured Code's exemplary Things app does in the equivalent situation:

Image and video hosting by TinyPic

The advantage to this is it's crystal clear what's happening, the user is in control, and if you want to discard the data already in the cloud, you can do so in the app rather than faffing around like this.

Regardless, it should not be made easy to accidentally merge unknown or very old data when enabling any cloud sync option. I think you should avoid the "if in doubt, merge" mentality, whereby if you're not sure what to do, it's automatically assumed that the safest thing to do is just to merge all the data available. It isn't.

Also, why is it possible to enable both iCloud and Dropbox syncing at the same time? I now think I was daft for me to enable both at the same time — but even if there hadn't been old data in iCloud, I could imagine it potentially causing issues if done on more than one device.

Comments

  • Megan
    Megan
    1Password Alumni

    Hi @semblance,

    Thanks, as always, for providing such a detailed description of your process! I do apologize that you had to deal with this.

    When we initially launched 1Password 4 for iOS, we had hoped to allow users to enable multiple sync solutions at once. However, it soon became clear that the process was not working as smoothly as we intended, so we are currently recommending that users enable only one sync solution at a time, to avoid possible conflict issues like this.

    We are looking at ways to make this more clear for users in the future - your suggestion is much appreciated, and I'm passing it along to our developers :)

  • semblance
    semblance
    Community Member
    edited November 2013

    Hi @Megan.

    Thanks for the feedback.

    As I'm sure you understood, I think the underlying issue here is not so much that I enabled two sync solutions at the same time, but rather that I enabled a sync solution that had existing, stale data in its "cloud" — and 1Password (I believe) silently merged the stale cloud data into my DB without telling me, or giving me the option not to proceed.

    I think the same issue would have happened if I was not using Dropbox at all, and I'd simply enabled iCloud syncing after a long period of not using it.

    So it's really about lack of transparency and control in the UI over when a merge happens — especially where the data being merged is suspiciously much older than the main 1Password DB.

    Anyway, thanks for passing the info along to the developers.

  • Megan
    Megan
    1Password Alumni

    Hi @semblance,

    Thank you for clearing that up for me. I'll be sure my notes include a request for notification prior to merging data :)

  • semblance
    semblance
    Community Member

    Cool thanks @Megan.

    Or instead of mere notification (as in "data will be merged, do you want to proceed?"), you could go one step better — see screen shot above :-)

  • Megan
    Megan
    1Password Alumni

    You hold us to a high standard, @semblance!

    We shall do our best to perform to your expectations. :)

  • semblance
    semblance
    Community Member

    Yep, I don't give up :-D

  • Megan
    Megan
    1Password Alumni

    @semblance, we do love having such passionate users. Keep being awesome!

  • bobinpasadena
    bobinpasadena
    Community Member

    This just happened to me. Very frustrating. First clue was when I had to use an old log-in for the iPad version of the app that had been discarded after my iphone was stolen last spring. Second clue, the the first log-in I attempted to use was old, too. Scary part was that the iPad app also had newer items that had been added since I had discarded that log-in -- apparently mixing old and new items together. I haven't tried the above protocol yet but will report back as to efficacy. Agree with user, "semblance," that the app should ask you which version of the data file to sync with.

  • MartyS
    MartyS
    Community Member

    In case it helps anyone else, this is a Saved Smart Folder I've been using to be able to review the background merging.

    I have item counts enabled for the sidebar so I quickly catch anything that might match, and then review them to see what (if anything) needs to be corrected. As I review each item I then remove the conflicted section before I move on so that the item gets "removed" from the Smart Folder listing.

  • benfdc
    benfdc
    Community Member

    This discussion reminds me of my experience a few months ago when trying to switch the keychain in 1Password HD on my wife's iPad from hers to mine (since she now had her own keychain in 1Password 4). At one point the app became confused and disclosed to me the master password for my wife’s keychain. I had thought that the demise of Dropbox sync in the first-generation 1P/iOS apps might moot these sorts of concerns, but it seems that there may still be issues w/r/t data stored in iCloud from the legacy iOS apps.

  • semblance
    semblance
    Community Member

    Thanks @MartyS — I hadn't really looked at Smart Folders before, but this is a great way to confirm whether any of your items contain "Conflicted" fields.

This discussion has been closed.