dlpx-core: CM Numeric

Based >Extensible Algorithm Framework

The CM Numeric algorithm is an algorithm based on logic in the Character Mapping Algorithm Framework.

CM Numeric algorithm is intended for numeric-type data, but if applied to alphanumeric strings, digits will still be masked and a non-conformant warning will be generated.

The framework this algorithm is based on is not configurable and cannot be reused to create additional instances.

This algorithm masks all ASCII digit without the possibility of the first digit masking to "0". Leading and trailing zeros are preserved. The value "0" always masks to "0". Unlike the "CM digits" instance, the number of significant digits is always preserved for all numeric inputs.

Refer to the framework description for details of how masking is performed.

At least one character in the input must be masked, or Non-Conformant data handling will be triggered.

This algorithm can only be used for integer data in tokenization and reidentification jobs. Masking numbers with decimal points is not reversible.

For example:

  • "6379315274824970" → "5210366768740261"

  • "99" → "75"

  • "000051.1230" → "000072.9040"

  • "ABCxyz123" → "ABCxyz391" (This example demonstrates masking behavior but would trigger a non-conformant input warning in an actual masking job)

  • "0" → "0"

This algorithm may generate non-conformant data events.

Choosing between CM Numeric and CM Digits

  • CM Numeric: intended for numeric data types; masking still occurs in alphanumeric input but always triggers a non-conformant warning.

  • CM Digits: masks digits in any string, tolerant of letters/symbols.

    CM Digits is best for text fields containing numbers (e.g., account codes, IDs), while CM Numeric is best for numeric database columns.