- STRING: ""
- BYTES: b''
- INTEGER: 0
- FLOAT: 0.0
- NUMERIC: 0
- BOOLEAN: FALSE
- TIMESTAMP: 1970-01-01 00:00:00 UTC
- DATE: 1970-01-01
- TIME: 00:00:00
- DATETIME: 1970-01-01T00:00:00
- GEOGRAPHY: POINT(0 0)
- BIGNUMERIC: 0
- ARRAY: []
- STRUCT: NOT_APPLICABLE
- JSON: NULL
LAST_FOUR_CHARACTERS (4):
Masking expression shows the last four characters of text.
The masking behavior is as follows:
- If text length > 4 characters: Replace text with XXXXX,
append last four characters of original text.
- If text length <= 4 characters: Apply SHA-256 hash.
FIRST_FOUR_CHARACTERS (5):
Masking expression shows the first four characters of text.
The masking behavior is as follows:
- If text length > 4 characters: Replace text with XXXXX,
prepend first four characters of original text.
- If text length <= 4 characters: Apply SHA-256 hash.
EMAIL_MASK (6):
Masking expression for email addresses. The masking behavior
is as follows:
- Syntax-valid email address: Replace username with XXXXX.
For example, cloudysanfrancisco@gmail.com becomes
XXXXX@gmail.com.
- Syntax-invalid email address: Apply SHA-256 hash.
For more information, see `Email
mask <https://cloud.google.com/bigquery/docs/column-data-masking-intro#masking_options>`__.
DATE_YEAR_MASK (7):
Masking expression to only show the year of `Date`,
`DateTime` and `TimeStamp`. For example, with the year
2076:
- DATE : 2076-01-01
- DATETIME : 2076-01-01T00:00:00
- TIMESTAMP : 2076-01-01 00:00:00 UTC
Truncation occurs according to the UTC time zone. To change
this, adjust the default time zone using the `time_zone`
system variable. For more information, see `System variables
reference <https://cloud.google.com/bigquery/docs/reference/system-variables>`__.
RANDOM_HASH (8):
Masking expression that uses hashing to mask
column data. It differs from SHA256 in that a
unique random value is generated for each query
and is added to the hash input, resulting in the
hash / masked result to be different for each
query. Hence the name "random hash".
Enums
Name
Description
PREDEFINED_EXPRESSION_UNSPECIFIED
Default, unspecified predefined expression. No masking will take place since no expression is specified.
SHA256
Masking expression to replace data with SHA-256 hash.
ALWAYS_NULL
Masking expression to replace data with NULLs.
DEFAULT_MASKING_VALUE
Masking expression to replace data with their default masking values. The default masking values for each type listed as below:
[[["Easy to understand","easyToUnderstand","thumb-up"],["Solved my problem","solvedMyProblem","thumb-up"],["Other","otherUp","thumb-up"]],[["Missing the information I need","missingTheInformationINeed","thumb-down"],["Too complicated / too many steps","tooComplicatedTooManySteps","thumb-down"],["Out of date","outOfDate","thumb-down"],["Samples / code issue","samplesCodeIssue","thumb-down"],["Other","otherDown","thumb-down"]],["Last updated 2025-08-28 UTC."],[],[],null,["# Class PredefinedExpression (0.6.16)\n\nVersion latestkeyboard_arrow_down\n\n- [0.6.16 (latest)](/python/docs/reference/bigquerydatapolicy/latest/google.cloud.bigquery_datapolicies_v2.types.DataMaskingPolicy.PredefinedExpression)\n- [0.6.15](/python/docs/reference/bigquerydatapolicy/0.6.15/google.cloud.bigquery_datapolicies_v2.types.DataMaskingPolicy.PredefinedExpression)\n- [0.5.3](/python/docs/reference/bigquerydatapolicy/0.5.3/google.cloud.bigquery_datapolicies_v2.types.DataMaskingPolicy.PredefinedExpression)\n- [0.4.0](/python/docs/reference/bigquerydatapolicy/0.4.0/google.cloud.bigquery_datapolicies_v2.types.DataMaskingPolicy.PredefinedExpression)\n- [0.3.2](/python/docs/reference/bigquerydatapolicy/0.3.2/google.cloud.bigquery_datapolicies_v2.types.DataMaskingPolicy.PredefinedExpression)\n- [0.2.0](/python/docs/reference/bigquerydatapolicy/0.2.0/google.cloud.bigquery_datapolicies_v2.types.DataMaskingPolicy.PredefinedExpression)\n- [0.1.1](/python/docs/reference/bigquerydatapolicy/0.1.1/google.cloud.bigquery_datapolicies_v2.types.DataMaskingPolicy.PredefinedExpression) \n\n PredefinedExpression(value)\n\nThe available masking rules. Learn more here:\n\u003chttps://cloud.google.com/bigquery/docs/column-data-masking-intro#masking_options\u003e. \n\n - STRING: \"\"\n - BYTES: b''\n - INTEGER: 0\n - FLOAT: 0.0\n - NUMERIC: 0\n - BOOLEAN: FALSE\n - TIMESTAMP: 1970-01-01 00:00:00 UTC\n - DATE: 1970-01-01\n - TIME: 00:00:00\n - DATETIME: 1970-01-01T00:00:00\n - GEOGRAPHY: POINT(0 0)\n - BIGNUMERIC: 0\n - ARRAY: []\n - STRUCT: NOT_APPLICABLE\n - JSON: NULL\n LAST_FOUR_CHARACTERS (4):\n Masking expression shows the last four characters of text.\n The masking behavior is as follows:\n\n - If text length \u003e 4 characters: Replace text with XXXXX,\n append last four characters of original text.\n - If text length \u003c= 4 characters: Apply SHA-256 hash.\n FIRST_FOUR_CHARACTERS (5):\n Masking expression shows the first four characters of text.\n The masking behavior is as follows:\n\n - If text length \u003e 4 characters: Replace text with XXXXX,\n prepend first four characters of original text.\n - If text length \u003c= 4 characters: Apply SHA-256 hash.\n EMAIL_MASK (6):\n Masking expression for email addresses. The masking behavior\n is as follows:\n\n - Syntax-valid email address: Replace username with XXXXX.\n For example, cloudysanfrancisco@gmail.com becomes\n XXXXX@gmail.com.\n - Syntax-invalid email address: Apply SHA-256 hash.\n\n For more information, see `Email\n mask \u003chttps://cloud.google.com/bigquery/docs/column-data-masking-intro#masking_options\u003e`__.\n DATE_YEAR_MASK (7):\n Masking expression to only show the year of `Date`,\n `DateTime` and `TimeStamp`. For example, with the year\n 2076:\n\n - DATE : 2076-01-01\n - DATETIME : 2076-01-01T00:00:00\n - TIMESTAMP : 2076-01-01 00:00:00 UTC\n\n Truncation occurs according to the UTC time zone. To change\n this, adjust the default time zone using the `time_zone`\n system variable. For more information, see `System variables\n reference \u003chttps://cloud.google.com/bigquery/docs/reference/system-variables\u003e`__.\n RANDOM_HASH (8):\n Masking expression that uses hashing to mask\n column data. It differs from SHA256 in that a\n unique random value is generated for each query\n and is added to the hash input, resulting in the\n hash / masked result to be different for each\n query. Hence the name \"random hash\"."]]