Sensitive Data Masking Script for Description Field#2225
Merged
bird-03 merged 5 commits intoServiceNowDevProgram:mainfrom Oct 17, 2025
Merged
Sensitive Data Masking Script for Description Field#2225bird-03 merged 5 commits intoServiceNowDevProgram:mainfrom
bird-03 merged 5 commits intoServiceNowDevProgram:mainfrom
Conversation
This script scans the description field of a record for patterns that resemble sensitive personal data and masks them to ensure privacy and compliance. It targets the following data types using regular expressions: Credit Card Numbers: Detects both continuous digits (13–16 digits) and spaced/dashed formats (e.g., 1234-5678-9012-3456). Social Security Numbers (SSNs): Matches the standard US format (XXX-XX-XXXX). Phone Numbers: Identifies various formats including international and local styles. If any of these patterns are found, the script replaces them with masked placeholders (e.g., ****-****-****-**** for credit cards) and updates the description field accordingly. It also logs messages to the system and displays info messages to notify users of the masking actions taken.
This script is designed to automatically convert the value of the Annual Budget field (annual_budget) from its original currency to USD. It uses the fx_currency and fx_rate tables to fetch the latest exchange rates and performs the conversion only when valid data is available.
🔍 Key Features:
Field Focus: Converts the annual_budget field based on the currency specified in budget_currency.
Validation: Ensures both the currency code and amount are valid before proceeding.
Currency Check: If the currency is already USD, it bypasses conversion.
Exchange Rate Lookup: Retrieves the most recent exchange rates for both the source currency and USD.
Conversion Logic: Applies the formula
USD Amount=(Original AmountSource Rate)×USD Rate\text{USD Amount} = \left(\frac{\text{Original Amount}}{\text{Source Rate}}\right) \times \text{USD Rate}USD Amount=(Source RateOriginal Amount)×USD Rate
Error Handling: Clears the USD field if any required data is missing or invalid.
This script ensures accurate and up-to-date currency conversion for budgeting purposes and is well-commented for maintainability and clarity.
Currency conversion
Contributor
|
Good contribution @vijaykumar7177 !!! Sensitive data is critical to any organization to be compliant and responsible for handling customer information. Masking can help to handle this carefully Keep contributing and Happy Hacking |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
PR Description:
Sensitive Data Masking Script for Description Field
This script scans the description field of a record for patterns that resemble sensitive personal data and masks them to ensure privacy and compliance. It targets the following data types using regular expressions:
Credit Card Numbers: Detects both continuous digits (13–16 digits) and spaced/dashed formats (e.g., 1234-5678-9012-3456).
Social Security Numbers (SSNs): Matches the standard US format (XXX-XX-XXXX).
Phone Numbers: Identifies various formats including international and local styles.
If any of these patterns are found, the script replaces them with masked placeholders (e.g., --- for credit cards) and updates the description field accordingly. It also logs messages to the system and displays info messages to notify users of the masking actions taken.
Pull Request Checklist
Overview
Code Quality
Repository Structure Compliance
Core ServiceNow APIs/Server-Side Components/Client-Side Components/Modern Development/Integration/Specialized Areas/Documentation
Restrictions