Archive for February, 2009

Espionage 2.0.2 Released!

Saturday, February 28th, 2009

Version 2.0.2 adds more bugfixes:

  • FIXED: situation where the helper could hang if an association went missing
  • FIXED: apps with names longer than 16 characters were not being watched for quit
  • FIXED: finder sometimes bringing up password prompt upon login
  • IMPROVED: will not stop or update helper while associated apps running (prevents their data from being locked)

Don’t worry, we don’t plan on doing an update every other day, but if we catch any critical bugs (like the first one in the list above) we’ll put one out.

Espionage 2.0.1 Released!

Thursday, February 26th, 2009

Version 2.0.1 adds a bugfix for one annoying bug related to backups not working immediately, and whitelists fseventsd:

  • FIXED: Backups not backing up recently added folder
  • IMPROVED: fseventsd added to default whitelist

Now when you enable backups for a folder, it will also begin backing up immediately if the destination is present.

It also includes the silent fix mention in the previous blog post, so you can just ignore that one and do a “Check for Updates…” to get the latest fixes.

Notice: Silent Fix for 2.0

Wednesday, February 25th, 2009

If you downloaded Espionage 2.0 before midnight on the 24th of February, then you may run into a bug if you attempt to encrypt a folder on an external drive. I’m not sure how this one slipped past us, but the bug was silently fixed as soon as it was discovered, and immediately uploaded to the site.

You can check to see if your copy is one of those affected by dragging a folder from an external drive onto Espionage (while Espionage is unlocked). If the sheet doesn’t appear then you’ve got it! Getting the fix is easy though:

  1. Download Espionage.
  2. Move your current copy of Espionage to the trash (you can’t overwrite it because the helper which is inside of it is running).
  3. Copy Espionage out of the downloaded disk image to wherever you wish.

For good measure you might want to restart the helper, you can do that from the preferences.

Espionage 2.0 Released! (Updated 2x)

Tuesday, February 24th, 2009

After months of development, Espionage 2.0 is finally here, and it’s brimming with new features:

  • NEW: Support for separate keychain = support for separate master password!
  • NEW: Application Associations – Tightly integrates applications with their encrypted folders (no need to auto-unlock)
  • NEW: DelayedLauncher built-in. Check “Launch at login” in Application Associations
  • NEW: Stupid-Proof safety checks for folders with application associations (won’t lock/restore while app is running)
  • NEW: Sparsebundle support
  • NEW: Moved to setup-assistant based architecture
  • NEW: Automatic backups of the database and keychain stored in the support folder (keeps 30 of each)
  • NEW: Uninstaller options allow fine-grained control over what’s uninstalled
  • NEW: Bult-in backups allow easy and efficient backups of encrypted folders. Enable them from the preferences.
  • FIXED: Several issues relating to multiple user accounts
  • FIXED: Bug that caused lots of notifications to appear on login when auto-fixing dir in certain situation
  • FIXED: Bug that could cause folder restore to fail in certain situation
  • FIXED: Bug that could cause Espionage to fail to fix a broken folder
  • IMPROVED: Significantly faster encryption (tests have shown over 300% improvement for small folders)
  • IMPROVED: Installer more robust, should handle more system configurations
  • IMPROVED: Installer overhauled to use new setup-assistant architecture
  • IMPROVED: Error handling in case of failure to create image
  • IMPROVED: Password cover is now completely opaque
  • IMPROVED: Unlocking a folder is safer, won’t delete it before making the link unless there are no files in it
  • IMPROVED: Added error checking to prevent encrypting a parent folder of the Espionage application itself
  • IMPROVED: Preferences resize themselves to fit selected view
  • IMPROVED: Better support for backup apps that synchronize over the network
  • IMPROVED: Added new “Tools” menu, currently contains ignore list and application associations
  • IMPROVED: Preferences are unlocked if application is unlocked, no need to re-enter password
  • IMPROVED: Re-enabling a folder will “fix” it if it was left in a poor state (disk image in parent)
  • IMPROVED: Much of the help documentation has been updated or rewritten
  • IMPROVED: Optimizations, quality-of-code improvements, minor bug fixes, lots of polish

One of the most significant new features in Espionage 2.0 was only barely mentioned in the video that’s up on the front page, and so I’d like to discuss it here in depth:

Built-in Backups

The reason this is so significant is because of what Espionage does when it locks, or unlocks a folder. When a folder is locked, the folder’s contents (stored in a hidden encrypted disk image) are inside of the folder, but when it’s unlocked, that disk image is moved into the parent folder (so that a link can be established to the mount point).

This meant that each time Espionage 1.1.2 locked, and then unlocked a folder (or vice versa), backup applications like Time Machine, SugarSync, and Dropbox would think that a file had been deleted, and a new file had been created, potentially culminating in the result that the entire folder would have to be re-backed up (as opposed to only the changes). It also resulted in confusion if users tried to restore the folder from a backup of the folder’s unlocked state.

Built-in backups solves all of that. You can now use Espionage with online backup services like SugarSync and Dropbox, just set the backup destination to a folder that those services backup and you’re done. If you’re using sparsebundles (which Espionage now supports), only the changed “bands” will be sent. Additionally, it no longer matters whether the folder is locked or unlocked, Espionage will make sure that the backup contains a folder in a locked state that’s ready to be restored.

Restoring a folder from a backup is easy, just drag the folder onto Espionage and make sure to select the same encryption settings, and the same password. Espionage will recognize that the folder is already encrypted and will not re-encrypt the folder.

Database & Keychain Backups

Another backup-related feature in Espionage is that Espionage keeps up to 30 backups of its database and its keychain (if you’re using the separate keychain).

You can find the backups in the Espionage’s Application Support directory located here:

/Users/<username>/Library/Application Support/Espionage/Backups

Unlike the contents of the folders themselves (which are backed up through Espionage’s built-in backups), the contents of the database and the keychain file are not vital in order to be able to restore things back to normal in the event of “catastrophic” data loss. As long as you have the backups of the folders, you can restore them (as described above) as long as you know the encryption settings and password for each folder. Having the database & keychain just means that you only need to remember the master password.

Wrapping Up

Much more detailed information is available through Espionage’s built-in help (accessible from the Help menu). We know that many Mac users are used to the help in third-party apps being poor, but believe me, we spent a while writing it, so check it out! :-)

What applications would you encrypt data for?

Friday, February 13th, 2009

Thank you for your responses to our previous question: Should unencrypted folder support be removed?

Based on your responses we’re leaving it in, but some UI changes will make choosing no encryption much more deliberate.

We’re cooking up an incredible update for you guys. It’s going to be here really soon. If you can’t tell by the italics, I’m quite excited.

We’d like to know: What applications would you encrypt data for?

Here’s the list that we have as of this writing (and hopefully it’ll grow a lot): Address Book, Mail, iCal, Safari, Camino, Firefox, iChat, Adium, Colloquy, X-Chat Aqua, and Things.

Update: Please restrict suggestions to applications that store their data to a specific location (not determined by the user). For example, document-based applications that let users save documents to any location don’t count.