01 / A SMALLER, MORE USEFUL DATASET
Start with the test case.
Choose the rows that explain it.
Copy selected records instead of restoring a whole production dump. Use a WHERE condition, primary-key selection or a row limit. Review the scope and target permissions before copying.
country = 'GB'A filter defines the subset. A row limit alone does not guarantee a representative sample.
02 / KEEP THE RELATIONSHIPS IN VIEW
A row rarely stands alone.
An order needs its customer. A useful order test may also need its line items. Choose the related parent and child rows to include, then inspect dependency order and constraints.
Related-row inclusion is a choice. Review cycles, existing target rows and required references for your dataset.
03 / REPLACE SELECTED DETAILS
Keep useful structure.
Review what gets replaced.
Assign masking rules column by column. Consistent rules and deterministic seeds can map repeated values to consistent replacements across related records.
- customer_id
- 10492
- name
- Alex Morgan
- [email protected]
- phone
- 000-000-0107
- customer_id
- 10492
- name
- Alex Morgan
- [email protected]
- phone
- 000-000-0192
Synthetic example. Only selected columns change; identifiers and unselected values remain.
Test Reusable Masking Rules
Experience how dbhydrate masks columns in local workstation memory before sending data over the network. Deterministic replacements maintain parent/child foreign key integrity across tables.
The same seed ensures identical masked outputs across related tables (e.g. users.id and orders.user_id).
customer_email : varchar(255)Architectural Guarantee
Row values are never written to disk unencrypted, and never sent to third-party AI APIs. Masking takes place directly in volatile workstation memory through local streaming buffers before batch INSERT into your target database.
04 / REVIEW BEFORE YOU COPY
The final values deserve
a final look.
Review connections, tables, masking and target settings together. Inspect warnings, confirm the copy and validate that the resulting dataset supports the intended test.

Masking is one part of a privacy review. Check indirect identifiers, access and retention requirements for the resulting dataset.
THE LAST MILE / ENVIRONMENT SETTINGS
Set the values your
test environment needs.
Column overrides run after masking. Inspect their final values and constraints. For example, set notifications to off, choose sandbox payment settings, or use a local authentication callback.
notifications_enabled = FALSEpayment_gateway_mode = 'sandbox'auth_domain = 'localhost:3000'Keep the review practical.
Connections, row transformation and masking run locally on your computer. Local history preserves SQL and run results; it is not a tamper-proof compliance ledger. Masking rules do not certify compliance or guarantee anonymization.
Read security & privacy details