I think data masking technique is what you are looking for.
The main reason for applying masking to a data field is to protect data that is classified as personal identifiable data, personal sensitive data or commercially sensitive data, however the data must remain usable for the purposes of undertaking valid test cycles.
Take your santander problem for example, there is an age feature in the original dataset. As we all know, $1\leqslant \text{age}\leqslant 200$ (nobody survives 201 years right?). If we do something like $\text{new_age}:=(\ln{(\pi* \text{age}+\sqrt{2})})^2$, new_age is kind of "encrypted" and no one knows the actual age of John Doe.
References
https://en.wikipedia.org/wiki/Data_masking