Denis Gladkikh

outcoldman

My personal blog about software development

  • 12 Jun 2013
  • outcoldman, lifehack, keepass, dropbox
  • 0 comments

There are many different ways to store all your passwords in one place and synchronize them between devices. The easiest way probably is to store them in browser. For example, Internet Explorer on Windows 8 or Chrome on any supported platform can store and synchronize all your passwords between devices. However, you can have some reasons to not use this. Maybe because you don't want to store your passwords in online services. Or maybe it does not work for you, because of multiply accounts you have for one site. Or maybe it is not enough for you, because browsers store only passwords and they cannot store and synchronize custom sensitive information (like SSN, Serial numbers, passwords from desktop applications, etc).

I tried different ways to store my personal information. One of the last solutions was OneNote with protected pages. However, I found that not everywhere you could open protected notes in OneNote (you could not do this from Web Browser or in Windows Store / Phone Apps, maybe situation is different now). So when I tried to find a replacement for OneNote I found pretty simple application, which actually were written specially to keep all your passwords and sensitive information in one safe place. This is KeePass.

KeePass is open source application with custom database format. Because this application is open source and widely used, all platforms (iOS, Android, Windows) have different applications, which can read this database and let you to work with it. The only one issue is that KeePass is desktop application and it does not synchronize database between devices from the box. But you can fix this with DropBox or SkyDrive (or any other online storage, which you use). You just need to store database in one of the folders which you synchronize with your online storage (just make sure that you use good password for your KeePass database). Most application, which I tried to use on Android and Windows Phone support downloading (and synchronizing) database from online storages (most of them support DropBox, some of them SkyDrive).

In additional I would like to recommend two settings for you. First one is to enable "Lock workspace after KeePass inactivity (seconds)". Very often I forget to close KeePass, so it is good to set this to make sure that in most cases your database will be locked and nobody can read it while you will be out of your PC.

The second option is to enable auto saving. I use it because of the same reason: sometimes I forget to save and close KeePass after I add new password. This issue can be painful, if you will keep some information unsaved on two machines at the same time. Like you used first PC where you did not save new information, and after you used second PC, where you kept everything unsaved as well. Because your online storage will need to resolve conflicts between these two versions of databases and because it does not know this format – it does not know how to do this, so you will need to do this manually. So, my recommendation is to use auto save, which will protect you from this problem in most cases (you still can meet it in case if both of your machine will be offline for a while).

KeePass is very advanced tool, so you will not find option "auto save on change", instead you will need to write a trigger to do this:

  1. Open KeePass application. Click on Tools menu. Choose Triggers.
  2. Click on Add button.
  3. Insert some name for your trigger, like Autosave on change. Click Next button.

  1. Next step is a tab Events. Click on Add button. Choose User interface state updated. From KeePass documentation: "This event occurs when KeePass has finished updating the state of the user interface (menus, toolbar, ...). The user interface state is updated after most user actions, like adding / editing / deleting entries and groups, etc." This means that this trigger will be raised often and definitely on all user interactions, like Add / Remove entities. After this click Next button.

  1. On next step you will see Conditions tab. We will add Condition, which will stop this trigger from execution if our database does not have any changes in it. Click Add button. Choose Active database has unsaved changes. Click Next button.

  1. Last step Actions tab. Click Add button. Choose Save active database.

  1. Click Finish.

DropBox recommends you to synchronize copy of your database instead of working copy, check this Synchronizing with Dropbox / other PC synchronization software. However, I actually keep in my online storage not only database, but also KeePass application, so I will synchronize not only database, but also latest version of KeePass and its settings. You can do it too, if you will download portable version of KeePass from official site. This version keeps all settings in the same folder where KeePass.exe is located, so if you will keep KeePass with database in the online storage you will get not only synchronization of database, but also for KeePass settings and application itself (if you will need to update it – you will need to do this once).

If you do not have DropBox account yet, feel free to use my referral link to get additional 500Mb after you will register and install DropBox client.

Comments