One of the biggest failings of Evernote as it stands is the inability to encrypt notes and/or notebooks. While Evernote does now offer the ability to encrypt the text of a note, any attached documents are not encrypted, so it cannot be used to store financial or tax documents (at least not securely). Note: The other failing (IMHO) is the overly simplistic editor.

So while perusing the Evernote forums the other day, I came across an application called Saferoom which offers the ability to encrypt the entirety of a note. Unfortunately, the workflow is still rather clunky, i.e. one has to move a note to a special Encrypt folder, then encrypt it via the installed Mac app (button click), then move it to wherever you want to keep it, and finally, you have to delete the original note still in the Encrypt folder. Decryption follows a similar procedure.

They are working on a Saferoom Pro app which may offer this functionality via the Right-click menu, but as Evernote has no Mac SDK, they are porting functionality from IOS at this time. However, if you merely want to create and encrypt notes quickly, they do have a Linux app which streamlines a bit of this, but rather than using the Evernote app, the Linux client works in your web browser via a local Python-based website. Since I am using this a fair amount, I thought I'd post my quick install instructions.

I tend to keep most apps and their required modules separated in virtual environments, so the following steps are based around using Virtualenvwrapper, though the pieces could just as easily be installed into the standard system locations. Also, despite being labelled as a Linux application, being Python, it runs fine on a Mac, which is where I am using it.


Create the virtual environment (which auto-activates the environment), and install the dependencies (Note: while they have laid a foundation for Python 3 support, in many places they still use the statement form of print, i.e. print text, so the app is not yet Python 3 compliant):

$ mkvirtualenv saferoom
$ pip install flask requests evernote pycrypto beautifulsoup4

Clone the software from Github and change into that directory:

$ git clone saferoom
$ cd saferoom

To use the software, you need to give it an Evernote developer token, available here. Once retrieved, add it to config.ini:

$ vim config.ini

evernote_developer = <put long token ID here >

Create, or add your Saferoom key to the repository (if you are already using the official Mac app, use the same here):

$ python

Once those steps are complete, start up the server which can then be accessed at http://localhost:5000.

$ python

One thing I have noticed is that when opening a notebook, depending on the contents I occasionally receive an error message indicate that the contents could not be decoded. It appears that on first pass, they are trying to encode a (probably already encoded) string to UTF-8, which throws the error (it forces Python to try s.decode().encode('UTF-8')). Simply clicking on the notebook again should display the contents properly.

If all is working, you should now be able to browse your notes, and add new encrypted notes and attachments.

Saferoom Add Note

The nice part about using this app, is that it lets you decrypt notes in place. It displays the contents in a popup window immediately, rather than making you go through all of the steps mentioned above.

Saferoom View Note

Best of luck!

Toying With OmniFocus

<p>A week or so ago my brother mentioned that one of the Mac podcasts had done an episode about application launchers and asked if...
Continue reading

Homebrew, PHP 7.0 and Sierra

Published on 02 October 2016