Update, restore, "are you sure you want to do this?", "pick the right destination", etc are user unfriendly concepts, and will make people nervous. Auto-update apps, but let people undo. Make restores undoable. Change "are you really sure?" to "don't worry, you can always undo".
Of course, you could argue, this will waste storage space. Well, with a good diff algorithm to rely on, not really that much. And even if so, you can always merge older states together (e.g. the detail of change is mostly relevant to very recent events - a few weeks back, I only care about major things like when I deleted all my contacts and didn't realize until now).