Skip to content

Conversation

@vijaykumar7177
Copy link
Contributor

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

  • Put an x inside of the square brackets to check each item.
  • I have read and understood the CONTRIBUTING.md guidelines
  • My pull request has a descriptive title that accurately reflects the changes and the description has been filled in above.
  • I've included only files relevant to the changes described in the PR title and description
  • I've created a new branch in my forked repository for this contribution

Code Quality

  • My code is relevant to ServiceNow developers
  • My code snippets expand meaningfully on official ServiceNow documentation (if applicable)
  • I've disclosed use of ES2021 features (if applicable)
  • I've tested my code snippets in a ServiceNow environment (where possible)

Repository Structure Compliance

  • I've placed my code snippet(s) in one of the required top-level categories:
    • Core ServiceNow APIs/
    • Server-Side Components/
    • Client-Side Components/
    • Modern Development/
    • Integration/
    • Specialized Areas/
  • I've used appropriate sub-categories within the top-level categories
  • Each code snippet has its own folder with a descriptive name

Documentation

  • I've included a README.md file for each code snippet
  • The README.md includes:
    • Description of the code snippet functionality
    • Usage instructions or examples
    • Any prerequisites or dependencies
    • (Optional) Screenshots or diagrams if helpful

Restrictions

  • My PR does not include XML exports of ServiceNow records
  • My PR does not contain sensitive information (passwords, API keys, tokens)
  • My PR does not include changes that fall outside the described scope

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.
@bird-03 bird-03 self-assigned this Oct 17, 2025
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.
@bird-03
Copy link
Contributor

bird-03 commented Oct 17, 2025

@vijaykumar7177

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

@bird-03 bird-03 merged commit 2c89449 into ServiceNowDevProgram:main Oct 17, 2025
1 check passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants