IGG Developers' Blog

Cloud. Sync. Now.

January 16th, 2015

Our free Cloud Sync solution is now available. In order to use our new Cloud Sync you must have these versions of our products (or higher):

iBank Mac 5.5

iBank for iPhone 2.5

iBank for iPad 2.5

Cloud Sync



We are currently releasing it as “BETA” as we monitor server performance and work out any unexpected data issues. The legacy sync options, wifi and webdav, will remain available until Cloud Sync comes out of beta. We’ve also had some questions about if a user’s data, once pushed to the cloud server, remains on their local device as well. The answer to that is yes, an entire copy of your data always remains on your device. If you missed our previous post that goes into the details of the workings and security of Cloud Sync, you can see it here.

I’m really excited that these new versions are out and I hope you enjoy using them as much as I do!


Cloud Sync…Almost There

December 18th, 2014

This is a brief update on where we are with cloud sync. We’ve been working relentless hours to get cloud sync ready. It’s going to be rolled out in all three of our products, iBank for Mac, iPhone and iPad at the same time. We also have the server component up and running with our new hosting company and with new hardware security features. We’ve even released it to a few people and I’ve personally been using it every day for the past couple of months.

We are very close now. But like all good software, the last little bits of polish and tweaking often take a disproportionate amount of time. Our current plan is to release cloud sync next month, in January.

For those of you new to iBank, or new to the concept of syncing, I’d like to say this: we are not implementing some half-baked “cloud sync” that uses DropBox or iCloud Drive. Those types of solutions are prone to data overwrites and other types of data loss and quickly become a nightmare when you are trying to make new versions of your product. This is a full blown, true cloud sync solution and I can’t wait to get it in your hands.

I always like to include at least one screenshot so I’ll close out this short post with an image of the new option to set up Cloud Sync in our new document setup assistant:

New Doc Setup


This will likely be the last blog post before the end of the year. Please have a safe and happy holiday!



iBank Cloud Sync

November 6th, 2014

As I write this, I’m uploading a fully encrypted copy of my personal iBank document to our new iBank Cloud Sync server. The initial upload takes a few minutes, but subsequent updates are very fast. I’m going to devote this entire blog post to our new cloud-based sync solution. Specifically, I want to talk about where we are with development, some details of the implementation, the release timeframe and most important, security, in terms of implementation and user experience.

Development Status

We hit a major milestone this week: we have all data syncing on both Mac and iOS. That means you could push a full copy of your data on your Mac and pull down a full copy to a document on another Mac, or on your iPad or iPhone. I want to be clear too: this isn’t some baby sync, like sharing a file via Dropbox, which is prone to data overwrite errors. This is a full, cloud-based sync solution with end-to-end encryption for any number of devices. If you can’t tell, I’m really excited to get this in the hands of our customers. The user experience is unparalleled.

For the rest of the development process we need to continue to test internally and uncover as many of the sneaky sync bugs as possible. I’m sure there are some in there, because sync is really hard. We’ve been developing this for over a year and we are now seeing the light at the end of the tunnel. As we continue to fix bugs we also need to finish putting in some of the polish and management utilities, like being able to rename a document on the server, delete documents from the server, reset data on the server with local data, etc.


Once we’ve finished our internal testing and have the few remaining supporting components in place, we will introduce this feature in free updates to iBank for Mac, iPhone and iPad. The new iBank Cloud Sync will first be rolled out as a beta. It will likely remain in beta until the current sync solution is finally removed in a future release, sometime next year. Our goal is to release iBank Cloud Sync as a beta by the end of the year.


This is the most important topic of this blog post. We take security and privacy very seriously at IGG. When we first discussed implementing iBank Cloud Sync, the first question was how to do it securely. So what I want to describe next is what happens to your data, with some heavy security vocabulary for those that are interested. Before I get into the nitty gritty of what happens with the syncing, I want to let users know our Cloud Sync will be rolled out on a brand new server. We implemented this new server setup because we wanted to have a secure backend serving up the data. I don’t want to go into the details of the server setup, but we are having it tested by a third-party security firm, as we’ve done with our other services in the past. An independent audit is a critical step in making sure our servers are secure.

Now let’s talk about what happens during sync. The first thing you will do is choose to push your document to the Cloud Sync server. To do this, you will need a free iBank ID. You will then be asked to name the document as it will appear on the server. However, before iBank uploads anything from your document, it encrypts it. That means no unencrypted data ever makes it to our server. Some companies choose to encrypt the data when it lands on the server, but this did not seem secure enough, so we implemented device-based, end-to-end encryption. First we generate a cypher and use that to encrypt the actual data, we then use a customer supplied password to encrypt the cypher. Only the encrypted cypher is stored on our server. We use the maximum level of encryption natively available on iOS 8, which is AES 128.

Here is a list of the data types that are actually sent to the server:

– Accounts, categories, account groups and smart accounts

– Account connectivity info (e.g. Direct Access and OFX settings, but not passwords)

– Transactions (but not attachments), transaction templates, scheduled transactions and import rules

– Budgets and reports

Here is a screenshot of part of the setup process for sending an iBank document to the Cloud Sync Server for the first time (screenshot is NOT final):



Once all of that data is uploaded to the iBank Cloud Sync server, it can be accessed from either iBank for Mac, iPhone or iPad, or any combination thereof. To pull this data down onto a new device you’ll create a new document that is linked/synced to a Cloud Document. When you login with your iBank ID you’ll be shown a list of all of your cloud documents that are available for syncing. After you choose one, you’ll need to enter the same document key to decrypt the data. If you forget that key/password, you won’t be able to decrypt and see your data. No one at IGG will be able to help you recover this key, because it is yours and yours alone. You will be able to delete the cloud document from the server and start fresh by uploading a new document.

Bringing Cloud Sync to the iBank family of products is major advancement. It makes it easier than ever to have all of your data up-to-date on any device. It also “frees” you from having the Mac be the central hub of your finances. For those that have gone iOS-only, you’ll be able to sync just your iPads and iPhones. One other “side-effect” is that you will also always have a backup of their data. We are really looking forward to getting this exciting technology in your hands.