Apple - How do I password protect iPhoto '11?
I solved this by creating a separate iPhoto Library and storing that Library within a password-protected encrypted sparse image. (You create sparse images using Disk Utility.) I've appended a step-by-step tutorial to the end of this answer.
I then created an alias to the private library and stored that alias in my Pictures folder alongside my regular libraries.
To open the private Library, double click on the alias icon. You will be prompted for a password so that the encrypted image can mount on the desktop. When you're done, be sure to "eject" the disk image.
iPhoto defaults to opening the last Library opened, so if you want the program to open the "regular" file next time, go ahead and open that Library. (You can either double click its Library icon or open iPhoto while holding down the Option key.) I've just developed the habit of opening iPhoto using the appropriate Library icon from my Pictures folder.
The disadvantage of this method is that you can't mix "private" images into your iPhone sync and it's possible that leaving iPhoto with the wrong "default" library could interfere with an iOS sync. (I use Aperture for my main photo collection/iOS sync anyway, so I haven't fully explored this.)
Creating an encrypted, Password-Protected iPhoto Library — Step-by-Step
The reality is that many of us have pictures we want to keep but don't necessarily want to share with partners, children or grandparents. What happens at Burning Man stays at Burning Man. Right? To keep those pictures from prying eyes — and inadvertently displaying them on your big screen TV via Apple TV — I advocate using a separate iPhoto library for your private pictures and protecting that library by storing it inside an encrypted container.
I'm keying this tutorial to Mac OS X 10.7 Lion and iPhoto '11 (current at time of writing), but this system will work for previous versions of the software. (To a point — the encrypted disk image was added to the OS in 10.3.) You can use this method to safeguard Aperture libraries as well.
Open your existing iPhoto Library and select the images you want to put into the encrypted library. One way of doing this is to assign a unique keyword to those pictures. I used fmeo (short for for my eyes only). Next, create a smart album that includes the images you tagged.
Export or copy the tagged images into a folder on your desktop. Leave the images in your original iPhoto Library until you're sure you've successfully completed this entire process — but don't forget to go back and delete the images once you're satisfied with the results.
Next, you need to create a new iPhoto library for your private images. Quit iPhoto if it's open. Open iPhoto while holding the Option key down. Create a new library from the dialog box displayed. I named mine FMEO. I strongly suggest you not give it a name like Pictures I Don't Want My Spouse To See because the filename will be visible in the Finder if you follow my complete plan.
Import the images you want to protect into iPhoto (making sure you're using the FMEO library) and organize them as you see fit. When you're happy with the results, quit iPhoto. You can safely delete the Finder folder containing these images. Use Secure Empty Trash if you're concerned that someone will try to recover the deleted files.
So far, all you've done is created a separate library for your private photos. It isn't protected in any way. In fact, assuming the FMEO library was the last library used, iPhoto will display your private images the next time it's opened. The secret to keeping those images from prying eyes is to store the library inside an encrypted container. Fortunately, Apple provides everything you need to create this container free of charge in OS X (10.3+).
Open Disk Utility. (It's in your Utilities folder.) Create an encrypted sparse image:
Choose New > Blank Disk Image from the menu
Enter a name. Again, be discreet as this name will definitely be visible from the Finder.
Choose a size for your container. It must be big enough to contain the current library and, assuming you want the ability to add images in the future, should allow ample room for future growth. You can afford to be a little generous with this because you're going to use a sparse disk image format, meaning the container will initially only take up as much disk space as its contents plus a little overhead and will grow (but never shrink) as necessary up to its maximum formatted size. Don't worry too much about creating an image that you might outgrow someday as you can always create a new sparse image file and transfer the library into a bigger home if your library becomes too large.
For Format, just use the default Mac OS X Extended (Journaled) unless you have a compelling reason not to. Same for Partition settings, just leave them be unless you know better. Encryption: I'd suggest 128-bit (more than adequate for most purposes) but you're free to use a higher level if you think it's necessary. Click Create button.
Enter a good password when prompted. Do not store the password in the Keychain because that would allow anyone browsing your computer to open your secret stash — rendering this entire exercise moot. Store your password securely through other means.
A brief interlude about organization. I've created a folder inside my ~/Pictures folder called iPhoto Libraries. Inside that folder, I've placed my non-sensitive iPhoto libraries and the encrypted image files containing my eyes only libraries. I have a shortcut to the iPhoto Libraries folder on my dock. This allows me to quickly open iPhoto by clicking on the library I want to use.
Once your encrypted sparse disk image is created and mounted on the desktop, copy your private iPhoto library into it. Leave the original copy of the library in place until you've tested the encrypted version to your satisfaction — you might want to rename the original at this point to avoid confusion.
Create an alias of the library file contained within the encrypted sparse image. Place that alias in a convenient place, I put it in ~/Pictures/iPhoto Libraries alongside my non-secure libraries.
Unmount (eject) the sparse disk image. Then open the private image library by double-clicking on the alias to the file. You should be prompted for the password to the encrypted sparse disk image. Once you've entered that password (again, do not save it in the Keychain), iPhoto should open and display your private photos. Once you're done working with those photos, close iPhoto and unmount (eject) the sparse disk image. It is critical that you unmount the encrypted image, otherwise anyone can come along and open your private library.
Once the sparse image is unmounted, if you try to open iPhoto you will again be prompted for the password. You can prevent this by opening your default iPhoto library after you've closed the private library. I do this by clicking on the appropriate library file from the shortcut in my dock.
Now that you've successfully created and tested your Eyes Only library, be sure to delete the version of that library that isn't inside the sparse image (again, using Secure Empty Trash if it makes you more comfortable) and open your original iPhoto Library and delete the private images still contained within.
That's how I do it. It's not as complicated as it seems. In fact, it took me more time to write this up than it did for me to create-do-test the first time (excluding selecting the pictures).