DataMasker FAQ

DataMasker: Every Question Answered

35 questions from Salesforce architects, admins, and DevOps teams: sourced from real customer conversations.

Home/FAQs/DataMasker

Installation & Setup

8 questions

Q1

How do I install DataMasker?

Deployment

DataMasker installs directly from the Salesforce AppExchange: search for 'Cloud Compliance DataMasker'. Installation takes under 5 minutes. No code required. After installation, configure your first masking profile by selecting objects, fields, and substitution types through a point-and-click table interface. Most teams complete their first sandbox masking run within the same day as installation.

Q2

Does DataMasker require custom Apex development?

Deployment

No. DataMasker is fully configured through Salesforce screens: no Apex, no Flow, no custom code required for standard implementations. You select objects and fields, choose substitution types (realistic name, email, phone, etc.), and save the profile. Advanced use cases like REST API triggering from CI/CD pipelines require a connected app setup but no custom Apex.

Q3

Which Salesforce editions does DataMasker support?

Deployment

DataMasker works with Enterprise, Unlimited, and Performance editions. It supports all sandbox types: Developer, Developer Pro, Partial Copy, and Full Copy. It also works with scratch orgs for DX-based development workflows.

Q4

How long does DataMasker take to deploy?

Deployment

Most teams complete initial deployment: AppExchange install, masking profile configuration, and first sandbox masking run: within one business day. Full production deployment with CI/CD integration typically takes 1-2 weeks. Cloud Compliance's implementation timeline is 3 weeks for all three products combined.

Q5

Does DataMasker pass Salesforce AppExchange Security Review?

Security

Yes. DataMasker has passed Salesforce's AppExchange Security Review: a rigorous independent assessment covering OWASP Top 10, data handling, encryption, and access controls. Review documentation is available for your security team on request.

Q6

Can DataMasker mask data in production?

Data Masking

DataMasker is designed for non-production environments: sandboxes and scratch orgs. It does not modify production data. This is intentional: the purpose is to ensure non-production environments contain realistic but fake data, eliminating PII exposure in developer and QA environments.

Q7

How do I create different masking profiles for different sandboxes?

Data Masking

DataMasker supports multiple named masking profiles. Create a 'Developer' profile with aggressive masking (all PII fields), a 'QA' profile with selective masking (preserve some data patterns for testing), and a 'Demo' profile with specific substitutions for sales demo environments. Apply the appropriate profile when triggering each sandbox refresh.

Q8

What permissions does DataMasker require?

Deployment

DataMasker requires System Administrator profile or a custom profile with the DataMasker permission set assigned. The running user must have access to all objects being masked. For automated triggering via REST API, a connected app with appropriate OAuth scopes is required. No special Salesforce license add-ons are needed.

Masking Rules & Configuration

10 questions

Q9

What substitution types does DataMasker support?

Data Masking

DataMasker supports: realistic name generation (first/last names by locale), email address substitution (preserving domain structure), phone number masking (by country format), address masking (realistic but fake addresses), date offset (preserving relative timing while shifting absolute dates), numeric range masking (preserving statistical distributions), picklist value substitution, free-text replacement, and custom pattern masking using regex. All substitutions are format-preserving: masked data looks like real data.

Q10

Can DataMasker mask formula fields?

Data Masking

Formula fields cannot be directly masked because they are calculated, not stored values. DataMasker masks the source fields that feed the formula: so the formula result changes automatically. For example, masking FirstName and LastName causes a Full_Name__c formula field to show the masked values. If you need the formula field output masked independently, contact Cloud Compliance: there are configuration options for specific scenarios.

Q11

Does DataMasker support picklist fields?

Data Masking

Yes. DataMasker can mask picklist fields by substituting values with other valid picklist options from the same field. You configure substitution mappings: e.g., 'Healthcare' → 'Technology', 'Enterprise' → 'SMB'. This preserves the picklist's data integrity constraints while obscuring the real value.

Q12

How does DataMasker handle related records to maintain referential integrity?

Data Masking

DataMasker's grouping and sequencing feature maintains referential integrity. You define groups of related objects (e.g., Contact + related Cases + related Opportunities) and DataMasker processes them in sequence: ensuring that Contact.Name changes propagate consistently to all related records that reference the same contact. Without grouping, related records could end up with inconsistent data.

Q13

Can I mask only specific records, not all records of an object?

Data Masking

Yes. DataMasker supports filter conditions on masking rules. Apply masking only to records matching specific criteria: e.g., mask only Contacts where RecordType = 'Customer', or only Opportunities where CloseDate > 2020-01-01. This is useful for partial copy sandboxes where you want to preserve some reference data while masking customer PII.

Q14

What happens to encrypted fields (Salesforce Shield Platform Encryption)?

Security

DataMasker works alongside Shield Platform Encryption. Shield encrypts field values at rest: only authorized users see decrypted values. DataMasker masks the decrypted values with realistic substitutes. The two products work together: Shield provides production-level encryption, DataMasker provides non-production PII elimination. They address different problems and are fully compatible.

Q15

Can DataMasker preserve email domain structure during masking?

Data Masking

Yes. DataMasker can mask the local part of an email address (before @) while preserving the domain. For example, john.smith@enterprise.com becomes a.johnson@enterprise.com. This is useful when email domain is used as a proxy for customer company: preserving domain structure maintains test data coherence.

Q16

How does DataMasker handle Person Accounts?

Data Masking

Person Accounts are fully supported. DataMasker treats Person Account records as a unified Contact+Account object and applies masking rules to both the Account Name (which mirrors the person's name) and the associated Contact fields simultaneously. The grouping feature ensures Account and Contact fields are masked consistently.

Q17

Can DataMasker mask data in Experience Cloud (Community) objects?

Data Masking

Yes. DataMasker supports Experience Cloud objects including portal user records, community member data, and associated CRM objects. Configure masking rules for the relevant objects: DataMasker processes them the same as standard Salesforce objects. This is important because Experience Cloud sandboxes often contain both internal and external user PII.

Q18

Does DataMasker support custom objects?

Data Masking

Yes. DataMasker works with all custom objects and custom fields. In the masking profile configuration, all objects in your org: standard and custom: are available for selection. Custom objects with lookup or master-detail relationships to standard objects can be included in grouping/sequencing configurations.

Performance & Scale

8 questions

Q19

How fast does DataMasker process records?

Data Masking

DataMasker processes approximately 5 million records per hour under standard conditions. For large orgs, this scales to 99 million records in 24 hours using parallel batch processing. Processing speed depends on org configuration, batch size settings, and the number of fields being masked per record.

Q20

How does DataMasker handle Salesforce governor limits?

Architecture

DataMasker uses Apex Batch processing with configurable batch sizes (default 200 records, tunable up to 2,000). Each batch respects CPU timeout limits and heap size constraints. For very large volumes, DataMasker spawns parallel batch jobs against different record subsets: governor limits are never hit because no single transaction processes the full volume.

Q21

What is the recommended batch size for large orgs?

Data Masking

For orgs with complex object schemas or many fields per record, start with 200 records/batch. For simpler schemas with few masked fields, 500-1,000 records/batch is safe. Avoid maximum batch sizes when masking objects with many relationships: the grouping/sequencing overhead increases per-record processing time. Cloud Compliance's implementation team can advise on optimal settings for your org.

Q22

Can DataMasker run multiple masking jobs in parallel?

Data Masking

Yes. DataMasker can run simultaneous masking jobs against different objects. This is how 99M records in 24 hours is achieved: parallel batch jobs process Contact, Account, Opportunity, and custom object records simultaneously. Configure parallelism in the job settings, subject to your org's concurrent Apex batch job limits (typically 5 concurrent batch jobs).

Q23

How long does a typical full-copy sandbox masking run take?

Data Masking

For a typical enterprise org (1-5M records), a full masking run takes 2-4 hours. For large orgs (10-50M records), 8-12 hours is typical with standard parallelism. Resolution Life masked 125M records in 48 hours: this required maximum parallelism configuration. Actual time depends on record count, fields per record, and org performance during the masking window.

Q24

Does DataMasker slow down the sandbox environment during masking?

Data Masking

DataMasker uses Apex Batch, which runs asynchronously in Salesforce's background job queue. During masking, the sandbox remains accessible: users can continue working. For very large jobs, some users may notice slower query performance as the batch jobs consume processing resources. Schedule masking runs during off-hours for large orgs to minimise impact.

Q25

What happens if a masking job fails mid-run?

Data Masking

DataMasker logs all masking operations. If a batch job fails, completed batches are preserved: only the failed batch needs to re-run. DataMasker includes a job resume feature: re-run from the point of failure rather than starting over. All errors are logged with the specific record ID and field that caused the failure, enabling targeted debugging.

Q26

Does DataMasker support Salesforce Financial Services Cloud row-locking?

Integration

Yes: this was developed specifically for FSC deployments. DataMasker's grouping and sequencing feature resolves FSC row-locking by processing related FSC records (Person Accounts, Financial Accounts, Financial Holdings) in a dependency-aware sequence that prevents concurrent lock contention. Resolution Life (125M records, full FSC deployment) is a production example.

DevOps & CI/CD Integration

9 questions

Q27

How do I trigger DataMasker from a Copado pipeline?

Integration

DataMasker exposes a REST API endpoint. In Copado, add a post-deployment step that calls the DataMasker API with your masking job configuration as JSON. The API returns a job ID; Copado polls for completion before marking the pipeline stage complete. Full Copado integration documentation available from Cloud Compliance.

Q28

Does DataMasker work with Gearset?

Integration

Yes. Use Gearset's post-deployment webhook feature to call the DataMasker REST API after a sandbox deployment. Pass the sandbox name and masking profile as parameters. Gearset marks the deployment complete after DataMasker confirms the masking job has finished.

Q29

Can I trigger DataMasker from GitHub Actions or GitLab CI?

Integration

Yes. DataMasker's REST API can be called from any CI/CD platform that supports HTTP requests. Use a `curl` command or your preferred HTTP client to POST the masking job configuration to the DataMasker endpoint. Add the API call as a pipeline step after sandbox refresh and before developer access is granted.

Q30

What does the DataMasker REST API request look like?

Integration

A typical DataMasker API call specifies the target sandbox, masking profile name, and optional overrides. The response includes a job ID for status polling. Authentication uses a Salesforce connected app (OAuth 2.0). Cloud Compliance provides sample payloads and Postman collections for common integration scenarios.

Q31

Can DataMasker be scheduled to run automatically after sandbox refresh?

Integration

Yes: two methods: (1) REST API trigger from your CI/CD pipeline immediately after refresh, or (2) Scheduled Apex within Salesforce to run at a configured time after refresh. The API method is recommended for teams with active DevOps pipelines. The scheduled method works for teams with periodic (not continuous) refresh cycles.

Q32

Does DataMasker support Salesforce DX scratch orgs?

Deployment

Yes. DataMasker can mask scratch orgs via REST API after org creation and data loading. In a DX workflow: create scratch org → load seed data → call DataMasker API → grant developer access. The masking profile is the same as for sandbox environments.

Q33

How do I validate that masking ran successfully in my pipeline?

Integration

DataMasker's REST API returns a job status endpoint. Poll until status = 'Completed' or 'Failed'. On completion, the response includes a summary: objects processed, records masked, fields masked, and any errors. Log this summary as a pipeline artifact. For additional validation, DataMasker creates a masking audit log record in Salesforce that your pipeline can query.

Q34

Can multiple team members configure DataMasker simultaneously?

Deployment

Yes. DataMasker profiles are stored as Salesforce records: multiple users with appropriate permissions can create and edit profiles simultaneously. Profile changes are subject to standard Salesforce record-level access controls. Version control for masking profiles can be achieved by exporting profile configurations as metadata.

Q35

What support is available for DataMasker integration?

Integration

Cloud Compliance provides: implementation documentation, API reference, sample integrations for Copado/Gearset/GitLab CI, and Customer Success Manager support. Enterprise customers receive dedicated implementation support for CI/CD pipeline integration. Contact support at cloudcompliance.app for integration assistance.

Still have questions?

We'll answer them directly: no sales pitch required.