Email Notifications - Data Redaction Patterns Fail to Match in Initial Inbound Email Due to HTML Encoded SpacesIssue <!-- /*NS Branding Styles*/ --> .ns-kb-css-body-editor-container { p { font-size: 12pt; font-family: Lato; color: var(--now-color--text-primary, #000000); } span { font-size: 12pt; font-family: Lato; color: var(--now-color--text-primary, #000000); } h2 { font-size: 24pt; font-family: Lato; color: var(--now-color--text-primary, black); } h3 { font-size: 18pt; font-family: Lato; color: var(--now-color--text-primary, black); } h4 { font-size: 14pt; font-family: Lato; color: var(--now-color--text-primary, black); } a { font-size: 12pt; font-family: Lato; color: var(--now-color--link-primary, #00718F); } a:hover { font-size: 12pt; color: var(--now-color--link-primary, #024F69); } a:target { font-size: 12pt; color: var(--now-color--link-primary, #032D42); } a:visited { font-size: 12pt; color: var(--now-color--link-primary, #00718f); } ul { font-size: 12pt; font-family: Lato; } li { font-size: 12pt; font-family: Lato; } img { display: ; max-width: ; width: ; height: ; } } Custom data redaction patterns fail to redact sensitive data in initial inbound email but successfully redact the same data during inbound action processing. Symptoms<!-- /*NS Branding Styles*/ --> .ns-kb-css-body-editor-container { p { font-size: 12pt; font-family: Lato; color: var(--now-color--text-primary, #000000); } span { font-size: 12pt; font-family: Lato; color: var(--now-color--text-primary, #000000); } h2 { font-size: 24pt; font-family: Lato; color: var(--now-color--text-primary, black); } h3 { font-size: 18pt; font-family: Lato; color: var(--now-color--text-primary, black); } h4 { font-size: 14pt; font-family: Lato; color: var(--now-color--text-primary, black); } a { font-size: 12pt; font-family: Lato; color: var(--now-color--link-primary, #00718F); } a:hover { font-size: 12pt; color: var(--now-color--link-primary, #024F69); } a:target { font-size: 12pt; color: var(--now-color--link-primary, #032D42); } a:visited { font-size: 12pt; color: var(--now-color--link-primary, #00718f); } ul { font-size: 12pt; font-family: Lato; } li { font-size: 12pt; font-family: Lato; } img { display: ; max-width: ; width: ; height: ; } } Sensitive data visible in initial inbound email body field (HTML)Same sensitive data successfully redacted in body_text field (plain text)Redaction works correctly during inbound action processingRedaction works correctly in incident comments created from emailCustom regex pattern successfully identifies data when tested manuallyPattern matching fails only for initial HTML email contentSome patterns match successfully while others fail in same emailRedaction engine log shows "Email record redacted" but not all patterns applied Facts<!-- /*NS Branding Styles*/ --> .ns-kb-css-body-editor-container { p { font-size: 12pt; font-family: Lato; color: var(--now-color--text-primary, #000000); } span { font-size: 12pt; font-family: Lato; color: var(--now-color--text-primary, #000000); } h2 { font-size: 24pt; font-family: Lato; color: var(--now-color--text-primary, black); } h3 { font-size: 18pt; font-family: Lato; color: var(--now-color--text-primary, black); } h4 { font-size: 14pt; font-family: Lato; color: var(--now-color--text-primary, black); } a { font-size: 12pt; font-family: Lato; color: var(--now-color--link-primary, #00718F); } a:hover { font-size: 12pt; color: var(--now-color--link-primary, #024F69); } a:target { font-size: 12pt; color: var(--now-color--link-primary, #032D42); } a:visited { font-size: 12pt; color: var(--now-color--link-primary, #00718f); } ul { font-size: 12pt; font-family: Lato; } li { font-size: 12pt; font-family: Lato; } img { display: ; max-width: ; width: ; height: ; } } Email redaction processes body field (HTML) for initial inbound emailsInbound action processing converts email to body_text field (plain text)HTML email bodies may contain (non-breaking space) entities is HTML entity for non-breaking space (Unicode U+00A0)Regex patterns using standard space character do not match Plain text conversion normalizes to regular space characterEmail clients and HTML editors automatically insert in formatted contentRedaction engine processes email fields without modifying contentCustom data patterns use regex for pattern matchingStandard space character in regex: \s or literal spaceNon-breaking space Unicode character: \u00A0 Release<!-- /*NS Branding Styles*/ --> .ns-kb-css-body-editor-container { p { font-size: 12pt; font-family: Lato; color: var(--now-color--text-primary, #000000); } span { font-size: 12pt; font-family: Lato; color: var(--now-color--text-primary, #000000); } h2 { font-size: 24pt; font-family: Lato; color: var(--now-color--text-primary, black); } h3 { font-size: 18pt; font-family: Lato; color: var(--now-color--text-primary, black); } h4 { font-size: 14pt; font-family: Lato; color: var(--now-color--text-primary, black); } a { font-size: 12pt; font-family: Lato; color: var(--now-color--link-primary, #00718F); } a:hover { font-size: 12pt; color: var(--now-color--link-primary, #024F69); } a:target { font-size: 12pt; color: var(--now-color--link-primary, #032D42); } a:visited { font-size: 12pt; color: var(--now-color--link-primary, #00718f); } ul { font-size: 12pt; font-family: Lato; } li { font-size: 12pt; font-family: Lato; } img { display: ; max-width: ; width: ; height: ; } } All Cause<!-- /*NS Branding Styles*/ --> .ns-kb-css-body-editor-container { p { font-size: 12pt; font-family: Lato; color: var(--now-color--text-primary, #000000); } span { font-size: 12pt; font-family: Lato; color: var(--now-color--text-primary, #000000); } h2 { font-size: 24pt; font-family: Lato; color: var(--now-color--text-primary, black); } h3 { font-size: 18pt; font-family: Lato; color: var(--now-color--text-primary, black); } h4 { font-size: 14pt; font-family: Lato; color: var(--now-color--text-primary, black); } a { font-size: 12pt; font-family: Lato; color: var(--now-color--link-primary, #00718F); } a:hover { font-size: 12pt; color: var(--now-color--link-primary, #024F69); } a:target { font-size: 12pt; color: var(--now-color--link-primary, #032D42); } a:visited { font-size: 12pt; color: var(--now-color--link-primary, #00718f); } ul { font-size: 12pt; font-family: Lato; } li { font-size: 12pt; font-family: Lato; } img { display: ; max-width: ; width: ; height: ; } } The redaction engine processes initial inbound emails using the HTML body field, which contains HTML-encoded entities including (non-breaking space). Custom regex patterns that use standard space characters or \s for matching do not recognize as a space, causing pattern matching to fail. During inbound action processing, the email content is converted to plain text in the body_text field, where entities are normalized to regular space characters. This normalization allows the same regex pattern to match successfully, explaining why redaction works during inbound actions but not for the initial email HTML body. Resolution<!-- /*NS Branding Styles*/ --> .ns-kb-css-body-editor-container { p { font-size: 12pt; font-family: Lato; color: var(--now-color--text-primary, #000000); } span { font-size: 12pt; font-family: Lato; color: var(--now-color--text-primary, #000000); } h2 { font-size: 24pt; font-family: Lato; color: var(--now-color--text-primary, black); } h3 { font-size: 18pt; font-family: Lato; color: var(--now-color--text-primary, black); } h4 { font-size: 14pt; font-family: Lato; color: var(--now-color--text-primary, black); } a { font-size: 12pt; font-family: Lato; color: var(--now-color--link-primary, #00718F); } a:hover { font-size: 12pt; color: var(--now-color--link-primary, #024F69); } a:target { font-size: 12pt; color: var(--now-color--link-primary, #032D42); } a:visited { font-size: 12pt; color: var(--now-color--link-primary, #00718f); } ul { font-size: 12pt; font-family: Lato; } li { font-size: 12pt; font-family: Lato; } img { display: ; max-width: ; width: ; height: ; } } Solution - Update Regex Pattern to Match Non-Breaking Spaces: Modify custom data redaction patterns to include both regular spaces and non-breaking spaces: Navigate to System Security > Data PatternsOpen the affected custom data pattern recordLocate the Pattern field containing the regex expressionReplace standard space characters with [\s\u00A0] to match both regular and non-breaking spaces Before (Standard Space): regex My birthday is (\w+ \d{1,2}, \d{4}) After (Includes Non-Breaking Space): regex My[\s\u00A0]birthday[\s\u00A0]is[\s\u00A0](\w+[\s\u00A0]\d{1,2},[\s\u00A0]\d{4}) Click Update to save the patternTest the pattern using Test Pattern buttonSend test email to verify redaction works in initial email Example 1 - Date of Birth Pattern: regex # Before - standard space only My DOB is (\d{1,2}/\d{1,2}/\d{2,4}) # After - includes non-breaking space My[\s\u00A0]DOB[\s\u00A0]is[\s\u00A0](\d{1,2}/\d{1,2}/\d{2,4}) Example 2 - SSN Pattern: regex # Before - standard space only SSN is (\d{3}-\d{2}-\d{4}) # After - includes non-breaking space SSN[\s\u00A0]is[\s\u00A0](\d{3}-\d{2}-\d{4}) Example 3 - Multiple Word Pattern: regex # Before - standard space only social security number is (\d{3}-\d{2}-\d{4}) # After - includes non-breaking space social[\s\u00A0]security[\s\u00A0]number[\s\u00A0]is[\s\u00A0](\d{3}-\d{2}-\d{4}) Explanation of Pattern Components: \s - Matches any whitespace character (space, tab, newline)\u00A0 - Matches non-breaking space (Unicode U+00A0)[\s\u00A0] - Matches either regular whitespace OR non-breaking spaceReplace every space in pattern with [\s\u00A0] for HTML compatibility Important Notes: is HTML entity for non-breaking space (Unicode U+00A0)Regex \s does not match by default[\s\u00A0] matches both regular spaces and non-breaking spacesUpdate all space characters in custom patterns, not just someTest patterns in both HTML and plain text contextsThis is working as designed, not a product defectNo system property available to change HTML processing behavior Verification Steps: Update custom data pattern with [\s\u00A0] syntaxSend test email containing sensitive data with patternCheck initial inbound email body field for redactionVerify sensitive data is redacted in HTML email previewConfirm redaction also works in body_text fieldTest with multiple email clients to verify consistent behavior Best Practice: Always use [\s\u00A0] in place of spaces for email redaction patternsTest custom patterns with HTML-formatted email contentInclude both regular spaces and non-breaking spaces in all patternsTest patterns using Test Pattern button before deploymentSend test emails from multiple email clientsDocument pattern syntax for team referenceReview all existing custom patterns for space character usage Related Links<!-- /*NS Branding Styles*/ --> .ns-kb-css-body-editor-container { p { font-size: 12pt; font-family: Lato; color: var(--now-color--text-primary, #000000); } span { font-size: 12pt; font-family: Lato; color: var(--now-color--text-primary, #000000); } h2 { font-size: 24pt; font-family: Lato; color: var(--now-color--text-primary, black); } h3 { font-size: 18pt; font-family: Lato; color: var(--now-color--text-primary, black); } h4 { font-size: 14pt; font-family: Lato; color: var(--now-color--text-primary, black); } a { font-size: 12pt; font-family: Lato; color: var(--now-color--link-primary, #00718F); } a:hover { font-size: 12pt; color: var(--now-color--link-primary, #024F69); } a:target { font-size: 12pt; color: var(--now-color--link-primary, #032D42); } a:visited { font-size: 12pt; color: var(--now-color--link-primary, #00718f); } ul { font-size: 12pt; font-family: Lato; } li { font-size: 12pt; font-family: Lato; } img { display: ; max-width: ; width: ; height: ; } } Data Redaction for Emails Documentation