The objective is to copy a production system for testing purposes with designated data values disguised without having to scramble the data.
1. This would assume that the database would be encrypted to avoid direct examination of the database files.
2. Properties would be "marked" in some way as part of the normal development process.
3. Some data (such as post codes) would need to be translated to specified value(s) because validation is performed against a third party system. This could be just another type of "marking" the property.
4. Some data (such as credit card numbers) need to have some (or all) of their contents masked - once again, this could be just another type of "marking" the property.
5. Any disguising of data would need to be done in a consistent manner - for example, a customer's name may be present on multiple objects having different attribute names, but it would need to be presented the same.
6. Functions like jade audit access, journal dumps, stack dumps, and debugger would need to present the disguised values.
7. Any new data (or changes to existing data) made in the test database would not be subject to these rules. The data would be presented in its original form.