Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
@@ -0,0 +1,49 @@
(function executeRule(current, previous /*null when async*/) {



// 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);
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
Automatically replaces sensitive patterns (like credit card numbers) with masked text
<img width="1607" height="501" alt="image" src="https://github.com/user-attachments/assets/94b9b9a4-59e0-4319-a36d-bb40c8124c1d" />

maked details
<img width="1392" height="473" alt="image" src="https://github.com/user-attachments/assets/e79cf7f9-b08d-4107-b28c-bbfa79dccb84" />
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@

1 change: 1 addition & 0 deletions Server-Side Components/Business Rules/Readme.md
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
Automatically replaces sensitive patterns (like credit card numbers) with masked text
Loading