Name (Algorithm frameworks)
Starting in version 6.0.8.0, Delphix has introduced a builtin Extensible Name Algorithm Framework, co-existing with the legacy FIRST NAME SL and LAST NAME SL ones. Name Framework provides masking functionality for String type input. It's based on Secure Lookup mechanism, and includes additional configuration flags making it more flexible and robust.
Similar to Secure Lookup it creates masking results which are deterministic (i.e. the same algorithm with the same configuration and security key will provide the same result for the same input) and not unique. If you are looking for a framework whose algorithm(s) will provide unique masking results, you should consider using other frameworks (for example Character Mapping).
The new framework uses SHA256 hashing method and allows case configurations for input and output (i.e. masked) values. It also allows filtering accents and configuring the maximum length of the masked value and the maximum number of masked names returned. A multi-word input name may contain particles, such as prefixes, suffixes, titles, etc. The new framework allows configuring which particles are to be preserved and removed.
Creating a Name Algorithm via UI
At the top right of the Algorithms page, click + Algorithm.
Enter an Algorithm Name.
Info: This MUST be unique.
Enter a Description.
Select Name as the Framework Name and click Next.
Choose the Case Sensitive Lookup configuration. The default is false (unchecked), which means the lookup is not case-sensitive, so the same input of different cases will be masked to the same value. For example:
CODEPeter -> John peter -> john
If the Case Sensitive Lookup box is checked, then the same input of different cases will be masked to the different values, for example:
CODEPeter -> John peter -> andrew
Choose the Filter Accent configuration. The default is true (checked). If the Filter Accent box is checked, then similar input with and without accented symbols will be masked to the same values. For example:
CODEAdrián -> John Adrian -> John
If the Filter Accent box is unchecked, it will be masked to the different values, for example:
CODEAdrián -> John Adrian -> Peter
Choose the Output (Masked) Case configuration. (Default is Preserve Input Case)
Output (Masked) case options:
Preserve Lookup File Case - keep the masked value as found in the Lookup File.
Preserve Input Case (Default) - check the input case, which can be one of the following three:
All uppercase - in that case, force the whole masked value to uppercase
All lowercase - in that case, force the whole masked value to lowercase
Mixed (if at least 1 character case is different from others) - in that case keep the masked value as found in the Lookup File
Force all Uppercase - forces the whole masked value to uppercase
Force all lowercase - forces the whole masked value to lowercase
Choose the Maximum Number of Names. (Range 1-4, default 2). This is the maximum number of names to be masked and returned. The rest are dropped.
Choose the Maximum Masked Name Length. (A number greater than or equal to 0, default is 0). This is the maximum number of characters or length of the masked output string. The masked result is trimmed to fit that length. Value 0 means length is unlimited.
Info:
We also try to detect the length of the destination field. Some Data Sources provide that value, while others don't. For example: if Data Source provides value 10 for the destination column length and the current configuration field is set to 0 or any value longer than 10 - the shortest value wins, i.e. in this example masked result would be trimmed to 10 characters.
Warning:
Some UTF-8 characters might take 2 bytes. If the lookup file contains those characters - the trimmed result might be not as expected since we trim by the number of characters and not the number of bytes. There is a bug open for that mismatch.
Specify a Lookup File. (Required. A locally chosen file or a FileReference)
This file is a single list of values. It does not require a header. Every line of the Lookup File might be used as a masked value. The Lookup File must be ASCII or UTF-8 encoding compatible. The following is sample file content:
CODEAnn Marie Tomas Ann-Marie Basil Mark
Specify a Particles to Preserve File. (Optional. A locally chosen file or a FileReference) Contains a list of particles to be preserved. These particles are not masked. For example, if the file contains the particle "von":
CODEvon Froum -> von Smith
Specify a Particles to Remove File. (Optional. A locally chosen file or a FileReference) Contains a list particles to be removed. These particles are removed before masking and do not affect the masking result. For example, if the file contains the particle "von":
CODEvon Froum -> Smith Froum -> Smith
Info:
If the particle is found in both the "Preserve" and "Remove" files - it will be removed.
If the input contains only particles, a particle will be masked as if it were a name.Click Next to verify details on the Summary step.
Click Save.
For information on creating Name algorithms through the API, see API Calls for Creating Algorithms - Name.