We have a few givens:
- Developers need a replica of the production database on their machines.
- Developers have the password to said database in the App.config files.
- We don't want the data in said database compromised.
A few suggested solutions and their drawbacks:
- Full-disk-encryption. This solves all problems, but degrades the laptop's performance, and we are a start-up, so don't have money for powerhorses.
- Creating a VM with encrypted hard disk, and store the database on it. It works well, but it doesn't help too much, since there's a password in Web.Config.
- Solution number 2 + requiring the developer to type the database password every time he runs anything. It solves all problems, but it is really cumbersome for developers that sometimes fire up the application multiple times a minute. Also, we have multiple applications that connect to the same database, and implementation of a password screen will have to differ in each.
So, my question is, if there's any common solution to such problem, or any suggestions on how to make any of the above solutions workable?