Secure Shuffle
The Secure Shuffle algorithm masks by shuffling the values of a particular field or column to different lines or rows. For example, values for the FIRST_NAME column might be shuffled among a number of database rows within a table as shown below:
Before
Id | FIRST_NAME
===============
10 | John
11 | Rohan
12 | Steve
13 | Jennifer
After
Id | FIRST_NAME
===============
10 | Steve
11 | John
12 | Jennifer
13 | Rohan
Because shuffling data does not redact or modify the individual data values in any way, careful consideration must be given to whether this form of obfuscation is sufficient to meet your security requirements.
It guarantees that each value is moved to a different line or row, but will not prevent an input from masking to the same output in the case where the values shuffled are not unique. The maximum number positions any particular value will be moved within the input is equal to the batch size. If the algorithm is applied to two or more fields, values in those fields will be shuffled independently.
The Secure Shuffle algorithm requires at least two values to shuffle, or else it will throw a non-conformant error. This constraint poses following limitations:
If the algorithm is applied to a field of a Salesforce object, ensure that the object contains at least two records in the masking job.
If the algorithm is applied to a field of Account object that contains both Person Accounts and Business Accounts, ensure that there are at least two Person Accounts and two Business Accounts in the masking job.