Mac OS X 10.10.5 - How can I encrypt only my home folder without Apple FileVault
I do this on my own Mac at home with scripts that run at boot and mount a Core Storage volume. I'm on 10.11.6, but the same principles should apply.

To be clear, FileVault is much simpler, but it is possible to do what you ask. I went down a rabbit hole to get an encrypted $HOME working, and so I still use it, but FileVault is superior in just about every way.

I wrote up an article detailing how I did this. I'd post the vital steps here, but it is a fairly long and involved process.

Here's the gist of it. You need to do the following:


Format a USB drive
Add a keyfile (max 1023 chars) to that drive
Create a core storage volume somewhere
Encrypt that core storage volume with your keyfile
Migrate files to your new encrypted home
Create a Launchd task that runs a mount script on boot
Create that mount script.


The mount script will read the keyfile from your USB drive
The mount script will attempt to unlock your core storage volume using the contents of the keyfile
The mount script must unmount the core storage volume from /Volumes
The mount script must mount the core storage volume to /Users

Unmount the USB drive so the keyfile isn't just sitting there


It took me a lot of trial and error.

There are probably ways to improve my steps like using an exported keychain rather than a plain text keyfile. You could probably also re-define the location of $HOME for your user in System Preferences, but I opted to mount the encrypted home over the normal home so that the path would be standard.

I tried changing $HOME to /Volumes/THE_ENCRYPTED_DRIVE, but I immediately noticed things like my iTunes library were messed up. All the library file references were stale and needed to be updated. That's an example of how screwing with $HOME can get messy.

Really, FileVault would be way easier if you can get it going. If FileVault is not an option, you should check out VeraCrypt, which is a fork of TrueCrypt that was recently audited and seems legit.