July 30, 2023

tPatternMasking Standard properties – Docs for ESB 7.x

tPatternMasking Standard properties

These properties are used to configure tPatternMasking running
in the Standard Job framework.

The Standard
tPatternMasking component belongs to the Data Quality family.

Basic settings

Schema and Edit Schema

A schema is a row description. It defines the number of fields
(columns) to be processed and passed on to the next component. When you create a Spark
Job, avoid the reserved word line when naming the

Click Sync
to retrieve the schema from the previous component connected in the

Click Edit
to make changes to the schema. If the current schema is of the Repository type, three options are available:

  • View schema: choose this
    option to view the schema only.

  • Change to built-in property:
    choose this option to change the schema to Built-in for local changes.

  • Update repository connection:
    choose this option to change the schema stored in the repository and decide whether
    to propagate the changes to all the Jobs upon completion. If you just want to
    propagate the changes to the current Job, you can select No upon completion and choose this schema metadata
    again in the Repository Content

The output schema of this component contains read-only

  • TWEAK: Is generated when the
    Use tweaks with FF1 Encryption check box is
    selected. This column contains the tweak necessary to decrypt the data.
  • ORIGINAL_MARK: Identifies by true or false if the record
    is an original record or a substitute record respectively.


Built-In: You create and store the schema locally for this component


Repository: You have already created the schema and stored it in the
Repository. You can reuse it in various projects and Job designs.


Define in the table what fields to change and how to change

Column to mask: Select the column from the input
flow for which you want to generate similar data by modifying its

You can mask data from different columns but you need to follow the order
of the fields you want to mask.

Each column is processed sequentially, meaning that data masking
operations will be performed on the data from the first column, the
second column, and so on.

In a colum, each data field is a fixed length field, except the last data

For fixed length fields, each value must contain the same number of
characters, for example: "30001,30002,30003" or

In a column, the last Enumeration or Enumeration
from file
data field is a variable length field.

For variable length fields, each value might not always contain the same
number of characters, for example:
"30001,300023,30003" or

Field type: Select the field type the data belongs to.

  • Interval: When selected, set a range
    of numeric values used for masking purposes in the
    Range field, using the following
    syntax: "<min>,<max>".

    The number of masked characters from the input data
    corresponds to the number of characters of the maximum

    For example, "1,999" will be
    interpreted as "001,999", which means
    that three characters from the input data will be masked by
    a value randomly selected from the defined range of

  • Enumeration: When selected, enter a
    comma-separated list of values to be used for masking data
    in the Values field, using the
    following syntax:

  • Enumeration from
    : When selected, set the path to the CSV
    file containing a list of values to be used for masking data in
    the Path field. The file
    must contain one value per row and each value must be
  • Date pattern (YYYYMMDD): When
    selected, set a range of years in the Date
    field, using the following syntax:

    Years can only have four digits, for example:

    The input dates to be masked must follow the YYYYMMDD
    pattern, for example: 20180101.

    For example, if the input date is
    20180101 and the value in the
    Date Range is
    19221221 could be the output date.

In the Values, Path,
Range and Date Range,
values must be enclosed in double quotes.

When the input data is invalid, meaning that a value does not match the pattern defined in
the component, the generated value is null.

Advanced settings


The component uses Format-Preserving Encryption (FPE)
methods to generate masked output values in the same format as the input values.

The FPE methods are bijective methods, except when
using tweaks.

The Basic method is the default

Note: As the masking methods are stronger, it is recommended to use the FF1
algorithms rather than the Basic method.

The FF1 with AES method is based
on the Advanced Encryption Standard in CBC mode. The FF1 with
method depends on the secure hash function HMAC-256.

You can use those methods only if the number of possible
values the component can generate from the input pattern is greater than
or equal to 1,000,000.

Note: Java 8u161 is the minimum
required version to use the FF1 with AES method.
To be able to use this FPE method with Java versions earlier than 8u161, download the
Java Cryptography Extension (JCE) unlimited strength jurisdiction policy files from
Oracle website.

The FF1 with AES and
FF1 with SHA-2 methods require a password to
be specified in the Password for FF1 methods
field of the Advanced settings to generate unique
masked values.

Password for FF1

Set the password
required for the FF1 with AES and FF1 with SHA-2 methods to generate unique masked
values. If the password is not set, a random password is created at each Job execution.
When using the FF1 with AES and FF1 with SHA-2 methods and a password, the seed from
the Seed for random generator field is not

Use tweaks with FF1 Encryption

Select this
check box to use tweaks. A unique tweak is generated for each record and applies to
all data of a record.

If bijective
masking is necessary, do not use this functionality. For more information about
tweaks, see the data
masking functions

Seed for random generator

Set a random number if you want to generate
the same sample of substitute data in each execution of the Job. The seed is not set by

If you do not set the seed, the component
creates a new random seed for each Job execution. Repeating the execution with a
different seed will result in a different sample being generated.


Select the encoding from the list or select Custom and define it manually. If you select Custom and leave the field empty, the supported
encodings depend on the JVM that you are using. This field is compulsory for the file

When you set Field
to Enumeration from file,
define the file path in Path (CSV File).

Output the original row?

Select this check box to output original data rows in addition to the
substitute data. Outputting both the original and substitute data can be useful in debug
or test processes.

Should Null input return NULL?

This check box is selected by
default. When selected, the component outputs null when
input values are null. Otherwise, the component returns
the default value when the input is null, that is an
empty string for string values, 0 for numeric values
and the current date for date values.

If the input is
null, the Generate
function will not return null,
even if the check box is selected.

Should EMPTY input return EMPTY?

When this check box is selected, empty values are left unchanged in
the output data. Otherwise, the selected functions are applied to the input

Send invalid data to
“Invalid” output flow
This check box is selected by default.

  • Selected: When the data can be masked, they are sent to the
    main flow. Otherwise, the data are sent to the “Invalid” output flow.
  • Cleared: The data are sent to the main flow.

Invalid data are any values that do not match the pattern.

tStat Catcher Statistics

Select this check box to gather the Job processing metadata at the Job level
as well as at each component level.


Usage rule

This component is an intermediary step. It requires an input and
output flows.

Parent topic: tPatternMasking

Document get from Talend https://help.talend.com
Thank you for watching.
Notify of
Inline Feedbacks
View all comments
Would love your thoughts, please comment.x