I've been doing software consulting/contracting for a while now and one of the biggest challenges I have faced is figuring out how to best isolate client data, particularly ensuring that I don't accidentally display/leave behind source code/databases/etc from one client at the site of another. It's possible that I'm overly paranoid about this, but it's something that I feel is important, so I'm looking for tips from others who deal with the same issues.<p>So far my approach has been to run two different laptops and a VM, but juggling the IT overhead is getting tiresome, and VMs have certain drawbacks as well (e.g. some client products are too demanding for VMs). Switching between client tasks is also a pain as I have to maintain two workspaces at my home office, and one isn't as nice as the other.<p>I've considered external drives (all of my drives are encrypted), but that's cumbersome as well, and doesn't protect against things that cannot be installed on the external drives, nor swap files, temp files, etc.<p>So... has anybody come up with a system that works for them? My dream would be for my laptops to all have easily swapped drive bays, but that's not currently an option, and doesn't solve the IT overhead issue -- backups are a pain as it is! Multi-boot would be similar, but requires larger drives, increases the risk of losing everything at once, still has the same IT burden, and doesn't always go smoothly. (and is a pain with UEFI!)<p>So, I ask you HN: What are your best tips for juggling multiple clients' installations?