You can find information regarding the three ways of storing information locally in a Cordova app here
. They are LocalStorage, IndexedDB and WebSQL. All have their pros and cons and all of them get backed up to iCloud. In fact, you can have problems with that since according to their guidelines Apple rejects all apps that back up data not generated by the user. If you are using any of the three storage methods to persist settings or user data, you should manually state that you don't want them to be backed up. In short, local storage gets backed up to iCloud by default.
Regarding your second problem, you trigger the create, destroy or update functions when you call the sync()
method. This allows you to create, update or delete bulk data. In your current scenario it is best for you to call the .sync() method after every .add().
I hope this works for you and the information was helpful. Let me know should you need anything else.