From cd542798602819280b94cbba628b19eb58e30352 Mon Sep 17 00:00:00 2001 From: vijaykumar7177 <68215714+vijaykumar7177@users.noreply.github.com> Date: Fri, 17 Oct 2025 14:01:18 +0530 Subject: [PATCH 1/9] Create Mask Sensitive Data in Descriptions Create Mask Sensitive Data in Descriptions --- .../Business Rules/Mask Sensitive Data in Descriptions | 1 + 1 file changed, 1 insertion(+) create mode 100644 Server-Side Components/Business Rules/Mask Sensitive Data in Descriptions diff --git a/Server-Side Components/Business Rules/Mask Sensitive Data in Descriptions b/Server-Side Components/Business Rules/Mask Sensitive Data in Descriptions new file mode 100644 index 0000000000..8b13789179 --- /dev/null +++ b/Server-Side Components/Business Rules/Mask Sensitive Data in Descriptions @@ -0,0 +1 @@ + From b596b799ee4728bc34c63638692d9e94cbd763ea Mon Sep 17 00:00:00 2001 From: vijaykumar7177 <68215714+vijaykumar7177@users.noreply.github.com> Date: Fri, 17 Oct 2025 14:01:55 +0530 Subject: [PATCH 2/9] Readme.md Automatically replaces sensitive patterns (like credit card numbers) with masked text --- Server-Side Components/Business Rules/Readme.md | 1 + 1 file changed, 1 insertion(+) create mode 100644 Server-Side Components/Business Rules/Readme.md diff --git a/Server-Side Components/Business Rules/Readme.md b/Server-Side Components/Business Rules/Readme.md new file mode 100644 index 0000000000..71a0f2c2a0 --- /dev/null +++ b/Server-Side Components/Business Rules/Readme.md @@ -0,0 +1 @@ +Automatically replaces sensitive patterns (like credit card numbers) with masked text From 86954dc6257a9874d6de6dbe845e86410e52adc2 Mon Sep 17 00:00:00 2001 From: vijaykumar7177 <68215714+vijaykumar7177@users.noreply.github.com> Date: Fri, 17 Oct 2025 14:04:08 +0530 Subject: [PATCH 3/9] Rename Server-Side Components/Business Rules/Mask Sensitive Data in Descriptions to Server-Side Components/Business Rules/Mask Sensitive Data in Descript/readme.md Mask Sensitive Data in Descriptions --- .../readme.md} | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename Server-Side Components/Business Rules/{Mask Sensitive Data in Descriptions => Mask Sensitive Data in Descript/readme.md} (100%) diff --git a/Server-Side Components/Business Rules/Mask Sensitive Data in Descriptions b/Server-Side Components/Business Rules/Mask Sensitive Data in Descript/readme.md similarity index 100% rename from Server-Side Components/Business Rules/Mask Sensitive Data in Descriptions rename to Server-Side Components/Business Rules/Mask Sensitive Data in Descript/readme.md From e1751ce3aea1f617622c81fa2ccd94c5ff331d83 Mon Sep 17 00:00:00 2001 From: vijaykumar7177 <68215714+vijaykumar7177@users.noreply.github.com> Date: Fri, 17 Oct 2025 14:05:01 +0530 Subject: [PATCH 4/9] Update readme.md Automatically replaces sensitive patterns (like credit card numbers) with masked text --- .../Business Rules/Mask Sensitive Data in Descript/readme.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Server-Side Components/Business Rules/Mask Sensitive Data in Descript/readme.md b/Server-Side Components/Business Rules/Mask Sensitive Data in Descript/readme.md index 8b13789179..71a0f2c2a0 100644 --- a/Server-Side Components/Business Rules/Mask Sensitive Data in Descript/readme.md +++ b/Server-Side Components/Business Rules/Mask Sensitive Data in Descript/readme.md @@ -1 +1 @@ - +Automatically replaces sensitive patterns (like credit card numbers) with masked text From 71a417462307a1b087fa3d7eec5ef3b6ade6ab20 Mon Sep 17 00:00:00 2001 From: vijaykumar7177 <68215714+vijaykumar7177@users.noreply.github.com> Date: Fri, 17 Oct 2025 14:06:11 +0530 Subject: [PATCH 5/9] Create MaskData.js Automatically replaces sensitive patterns (like credit card numbers) with masked text --- .../Business Rules/Mask Sensitive Data in Descript/MaskData.js | 1 + 1 file changed, 1 insertion(+) create mode 100644 Server-Side Components/Business Rules/Mask Sensitive Data in Descript/MaskData.js diff --git a/Server-Side Components/Business Rules/Mask Sensitive Data in Descript/MaskData.js b/Server-Side Components/Business Rules/Mask Sensitive Data in Descript/MaskData.js new file mode 100644 index 0000000000..8b13789179 --- /dev/null +++ b/Server-Side Components/Business Rules/Mask Sensitive Data in Descript/MaskData.js @@ -0,0 +1 @@ + From d13f885900fee2721fd512703c4fbad05af32d5d Mon Sep 17 00:00:00 2001 From: vijaykumar7177 <68215714+vijaykumar7177@users.noreply.github.com> Date: Fri, 17 Oct 2025 14:07:35 +0530 Subject: [PATCH 6/9] Create Mask Sensitive Data in Description --- .../Business Rules/Mask Sensitive Data in Description | 1 + 1 file changed, 1 insertion(+) create mode 100644 Server-Side Components/Business Rules/Mask Sensitive Data in Description diff --git a/Server-Side Components/Business Rules/Mask Sensitive Data in Description b/Server-Side Components/Business Rules/Mask Sensitive Data in Description new file mode 100644 index 0000000000..8b13789179 --- /dev/null +++ b/Server-Side Components/Business Rules/Mask Sensitive Data in Description @@ -0,0 +1 @@ + From 0e0a6f45f06ffad179fdf5cbe2d405d42b758b74 Mon Sep 17 00:00:00 2001 From: vijaykumar7177 <68215714+vijaykumar7177@users.noreply.github.com> Date: Fri, 17 Oct 2025 14:42:39 +0530 Subject: [PATCH 7/9] Update MaskData.js --- .../Mask Sensitive Data in Descript/MaskData.js | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/Server-Side Components/Business Rules/Mask Sensitive Data in Descript/MaskData.js b/Server-Side Components/Business Rules/Mask Sensitive Data in Descript/MaskData.js index 8b13789179..8ff14921b1 100644 --- a/Server-Side Components/Business Rules/Mask Sensitive Data in Descript/MaskData.js +++ b/Server-Side Components/Business Rules/Mask Sensitive Data in Descript/MaskData.js @@ -1 +1,9 @@ +(function executeRule(current, previous /*null when async*/) { + var desc = current.description + ""; + var ccRegex = /\b\d{4}[- ]?\d{4}[- ]?\d{4}[- ]?\d{4}\b/g; + if (ccRegex.test(desc)) { + current.description = desc.replace(ccRegex, "****-****-****-****"); + gs.addInfoMessage("Sensitive data was masked automatically."); + } +})(current, previous); From 5331f0c0eba71fd75e49a2e7a29b5f58510bd808 Mon Sep 17 00:00:00 2001 From: vijaykumar7177 <68215714+vijaykumar7177@users.noreply.github.com> Date: Fri, 17 Oct 2025 14:52:44 +0530 Subject: [PATCH 8/9] Update readme.md --- .../Business Rules/Mask Sensitive Data in Descript/readme.md | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/Server-Side Components/Business Rules/Mask Sensitive Data in Descript/readme.md b/Server-Side Components/Business Rules/Mask Sensitive Data in Descript/readme.md index 71a0f2c2a0..ca7980d192 100644 --- a/Server-Side Components/Business Rules/Mask Sensitive Data in Descript/readme.md +++ b/Server-Side Components/Business Rules/Mask Sensitive Data in Descript/readme.md @@ -1 +1,5 @@ Automatically replaces sensitive patterns (like credit card numbers) with masked text +image + +maked details +image From cf9decf8acd63a8dbd47d6a173d206667432e38b Mon Sep 17 00:00:00 2001 From: vijaykumar7177 <68215714+vijaykumar7177@users.noreply.github.com> Date: Fri, 17 Oct 2025 14:53:58 +0530 Subject: [PATCH 9/9] Update MaskData.js --- .../MaskData.js | 50 +++++++++++++++++-- 1 file changed, 45 insertions(+), 5 deletions(-) diff --git a/Server-Side Components/Business Rules/Mask Sensitive Data in Descript/MaskData.js b/Server-Side Components/Business Rules/Mask Sensitive Data in Descript/MaskData.js index 8ff14921b1..8a033efad5 100644 --- a/Server-Side Components/Business Rules/Mask Sensitive Data in Descript/MaskData.js +++ b/Server-Side Components/Business Rules/Mask Sensitive Data in Descript/MaskData.js @@ -1,9 +1,49 @@ (function executeRule(current, previous /*null when async*/) { - var desc = current.description + ""; - var ccRegex = /\b\d{4}[- ]?\d{4}[- ]?\d{4}[- ]?\d{4}\b/g; - if (ccRegex.test(desc)) { - current.description = desc.replace(ccRegex, "****-****-****-****"); - gs.addInfoMessage("Sensitive data was masked automatically."); + + + // Only run if description has a value + if (current.description) { + var desc = current.description.toString(); + + + // Regex patterns for sensitive data + var ccRegex = /\b\d{13,16}\b/g; // 13–16 continuous digits + var ccSpaced = /\b(\d{4}[- ]?){3}\d{4}\b/g; // 4-4-4-4 with spaces/dashes + var ssnRegex = /\b\d{3}-\d{2}-\d{4}\b/g; // US SSN + var phoneRegex = /(\+?\d{1,2}[- ]?)?\(?\d{3}\)?[- ]?\d{3}[- ]?\d{4}/g; // phone + + var masked = desc; + + // Apply masking with messages + if (ccRegex.test(desc)) { + gs.addInfoMessage("Credit card pattern found → masking"); + masked = masked.replace(ccRegex, "****-****-****-****"); + } + + if (ccSpaced.test(desc)) { + gs.addInfoMessage("Spaced/dashed credit card pattern found → masking"); + masked = masked.replace(ccSpaced, "****-****-****-****"); + } + + if (ssnRegex.test(desc)) { + gs.addInfoMessage("SSN pattern found → masking"); + masked = masked.replace(ssnRegex, "***-**-****"); + } + + if (phoneRegex.test(desc)) { + gs.addInfoMessage("Phone number pattern found → masking"); + masked = masked.replace(phoneRegex, "**********"); + } + + // If changes were made, update the description + if (masked !== desc) { + current.description = masked; + gs.addInfoMessage("Final masked description: " + masked); + gs.log("Masking rule triggered on record: " + current.number, "MaskingRule"); + } else { + gs.addInfoMessage("No sensitive data detected, nothing masked."); + } } + })(current, previous);