Customer records in your CRM are often accessible across multiple teams, but not every team needs to see every field. A non-sales team has no real need to view a contact's mobile number, and a support agent verifying a caller's identity does not need to see the number in full either.
Field Masking lets you restrict this. Instead of the actual data, a field can display asterisks (for example, a fully hidden value) or only partial values (for example, a mobile number shown as 98******21). This keeps sensitive data protected while still letting your teams do their jobs. Even when a phone number is masked, agents can still place a call directly by clicking the phone icon next to the field, so calling workflows are not affected.
Consider a typical support call where the agent needs to confirm a caller's identity without seeing the complete phone number or policy ID. With Field Masking:
Sensitive fields, such as phone numbers, account numbers, or policy IDs, are masked by default
Agents see only partial values, such as the last 4 digits
The agent can ask, "Can you confirm the last 4 digits of your registered number?" and proceed with verification
The agent can still place the call by clicking the phone icon next to the field, even though the number is masked
Field Masking is equally useful for protecting other sensitive data, such as Aadhaar numbers, social security numbers, email addresses, and policy numbers. It can be applied to both system-defined fields and custom fields, giving you the flexibility to protect exactly the data that matters to your organization.
Field Masking is available in the Enterprise and Ultimate editions of Zoho CRM, with up to 10 masked fields per module in the Enterprise edition and up to 20 masked fields per module in the Ultimate edition.
Note: Field Masking is available across all modules except the Users module.Users who have permission to Module Customization, can mask fields.
Field Masking can be applied to the following field types:
Single Line
Phone
Date
Date/Time
Number
Currency
Decimal
Long Integer
URL

Note:
Masking is also supported for Subform fields
Custom Masking is supported for Single Line, Email, and Phone fields.
Field Masking is enabled in two stages: first you turn the feature on and set how masked data should behave when it leaves CRM, then you choose which individual fields to mask.
Turn on Field Masking and set data preferences
Go to Setup > Customization > Modules and Fields > Field Masking.
Toggle on Field Masking. A Points to Consider dialog will appear.
You can change these preferences later from the Field Masking page.
Once enabled, data is masked within Zoho CRM. Every time data leaves CRM, whether through an integration, an API call, or an export, you control how masked fields behave at that exit point. You can set a preference for each of the following:
Data Transfer to Zoho Apps
Data Transfer to Third-Party Apps
Data Access through APIs
Data in Export
For each exit point, the following options are available:
Without Masking: The original value is shared as-is. Suitable when the receiving system or user is trusted and needs the complete data.
Based on User's Masking Permission: The masked or unmasked value is shared depending on what that user is allowed to see within CRM. A user who cannot view a phone number in CRM will not receive it in an export or API response either.
Restrict Masked Fields: The field is excluded entirely from the transfer. Useful when there is no legitimate reason for sensitive data to leave CRM at all.
With Masking (available for APIs and Export only): The masked format, such as 98******21, is shared instead of the original value. This is useful when sharing data with teams who need to reference records without seeing the underlying values.
Within CRM, masked values are shown with asterisks (*). When data is shared outside CRM, values are replaced as follows:
Field type | Masked value outside CRM |
Single Line, Email, Phone, URL | * |
Date | 01/01/1600 |
Date/Time | 01/01/1600 00:00 |
Number, Currency, Decimal, Long Integer | 101010101 (regardless of the number of digits in the field) |
Note: Data sent to telephony via calling functionality won't come under any preference.After the feature is enabled, mask individual fields from the field's properties.
Navigate to Setup > Customization > Modules and Fields > Module [leads, contacts, etc.] and select the module layout.
Open Edit Properties for the field you want to mask.
Select the Mask Field option.
Choose a masking type:
Full Masking: The entire field value is hidden (for example, ********).
Custom Masking: Define how the masking should work. You can choose to mask only the first few characters or only the last few characters.
Note: For email fields, predefined masking formats are available. These let you mask email addresses in a standardized way. For example, partially hiding the username while keeping the domain visible.While configuring masking for a field, you can also define which users can view the unmasked data. All profile types, whether system-defined or custom, are available for selection and can view the unmasked data based on your preference.
For users who have permission to view the unmasked data:
An eye icon is displayed next to the field.
Clicking the eye icon reveals the actual value.
Even when a phone number is masked, users can place a call directly by clicking the phone icon next to the field. The masking does not interrupt the calling workflow.
Masked field values are applied across the following areas:
Create
Edit
Details
Canvas Pages
Wizards
List View
Kanban View
Print View
Reports
Home Page
Dashboards
Templates
Forecasts
Portals
Export
When a masked field is edited:
Users with access to masked data see the original value and can edit it directly.
Users without access to masked data see the masked value. To edit the field, the masked value must be removed fully before entering the new data.
Keep the following in mind when working with masked fields.
Rules:
Masked fields cannot be used in Layout Rules, Validation Rules, Canvas Rules, or Wizard Conditional Rules. If a field is already used in any of these rules, it cannot be masked.
Reports:
To view unmasked values in a report, open the Show Details menu and select View Masked Data. This unmasks the columns for which the user has access to the masked data.
How report data is shared on export depends on the Data in Export preference:
For With Masking, Without Masking, and Restrict Masked Fields, the data is shared according to the selected option.
For Based on User's Masking Permission, the data in the report export and in the report email matches the report's last state.
For scheduled reports, the last saved state of the report is used to determine how the data is shared.
Templates:
In templates, a preference is available to choose whether the original data or the masked data is sent.
Notes: In templates, the Mail data with Masking preference lets you control how merge field data is shared when mails are sent using the template. This preference applies to all masked fields, regardless of profile permissions.Email fields:
If an email field is masked, a user who does not have access to view the masked data for that field cannot send emails using that email field.
Global Search:
Global Search evaluates masked field values when returning results, even for a user who does not have permission to view the masked data.
These users cannot use a masked field in:
Smart Filters
Criteria in Custom Views, Find and Merge, Mass Transfer, and Mass Delete
Report Filters and Grouping
Dashboard Component Filters and Grouping
In addition:
If a masked field is already used in a saved filter, it will be removed from that filter.
If a masked field is already used in Report or Dashboard Filters and Grouping, the report or dashboard component cannot be accessed by the user.
Masked field columns cannot be sorted.

Note: For all three cases above, masked fields continue to work as usual for users who have access to the masked data.
The following are the current limitations of Field Masking, including areas where masking is not yet supported (masking is exposed):
Email Views - Emails Related List, Conversation View, SalesInbox, Mail Magnet, Email Reports, Mass Mail Delivery Stats and record preview in composer.
If the From/To field in the Calls module is masked but the number is not associated with a record, the number will be visible when the call is placed.
Signal notification
Zia Features
In Whatsapp Integration, the Messaged From field in the Messages module.
Note: Once this feature is enabled for your org, the phone number will not be shown in the call subject in calls module, whether or not Field Masking is enabled.