Data Masking helps you comply with privacy regulations and protect sensitive information during testing or sharing. It allows you to transform your data using various techniques while maintaining the database’s integrity and usability. You can apply masking to specific tables and columns.
Note: Available only for MySQL, Oracle, PostgreSQL, SQLite, SQL Server, MariaDB, MongoDB and Snowflake.
Note: Except for MongoDB, performing Data Masking requires the table to have a primary key.
Navicat provides two ways to apply masking to your workflow:
Transfer masked data to another database - Secure data while transferring existing records between databases.
Mask data in existing tables - Directly mask columns within your current tables to update existing data.
Navicat allows you to mask sensitive information during the transfer process between databases or schemas. This ensures that the destination tables only receive protected, non-identifiable data.
Steps to Mask Data During Transfer
In the main window, choose Tools -> Data Masking.
Select Transfer masked data to another database and click Next.
Choose your source and target connections, database, and schemas.
Click Options and select advanced settings. Once configured, click OK.
Select the specific objects you wish to transfer and set your preferred transfer mode. Click Next.
Choose the specific columns that require protection and click Next.
For each selected column, assign the appropriate data masking technique to transform the data. Click Next.
Review your settings and click Start.
Navicat allows you to apply masking directly to the columns of an existing table. This is particularly useful when you need to sanitize a dataset that has already been populated within your database environment.
Note: Mask data in existing tables modifies your data directly. It is highly recommended to perform a backup before proceeding.
Steps to Mask Existing Table Columns
In the main window, choose Tools -> Data Masking.
Select Mask data in existing tables and click Next.
Select the connection, database, and schema where the table resides. Choose the specific table you wish to modify and click Next.
Choose the specific columns that require protection and click Next.
For each selected column, assign the appropriate data masking technique to transform the data. Click Next.
Review your settings and click Start.
Advanced Options
You can click the Options button to configure advanced settings. These options allow you to control how the masking process handles errors and manages system resources. Note that available options may vary based on your connection server type.
Option |
Description |
Continue on error |
Ignore errors that are encountered during the data masking process. |
Use transaction |
Execute the masking process within a database transaction. This ensures that if a major failure occurs, changes can be rolled back to maintain data consistency. |
Fetch records in batches |
Retrieve data in small groups rather than all at once. This reduces memory consumption when masking very large tables. |
Number of records per fetch |
Specify the number of records to be retrieved in each batch from the source table. |
Update records in batches |
Write masked data back to the database in groups, which can significantly improve performance and reduce log overhead. |
Number of records per update |
Specify the number of records to be committed in each update operation. |
Navicat automatically assigns a masking technique to each column based on its column name, data type, and length.
You can choose from the following techniques depending on your data requirements:
Technique |
Description |
Substitution |
Replace data with realistic but fake values from a pre-defined library. |
Variance |
Adjust numeric or date values by a specified percentage or range to maintain distribution. |
Hashing |
Transform data into a unique, fixed-length string using cryptographic algorithms. |
Nulling |
Replace sensitive data with NULL or empty values. |
Shuffling |
Randomly rearrange values within the same column across different rows. |
You can save your settings as a profile for future use or for setting up automation tasks. To open a saved profile, click the Load Profile button and select a profile from the list.
Hint: Profiles are saved under the Profiles Location.