Safeguard Send is quite flexible when it comes to searching for particular bits of text - in this case Social Security Numbers (SSN).  This is because in addition to being able to support wildcards, the add-in can also accept regular expressions.

Regular expressions are a pattern matching language that you can use to find patterns like Social Security Numbers.

To do so, let's create a new rule in Safeguard Send and add our condition, which will be if there are any SSN's in the body of the text:

In the above screenshot, we can see that to signify that the information is a regular expression and not just a random string, that we enclose the entire regular expression with the keyword "RegExp:[]" - doing this causes the add-in to treat the text inside the brackets as a regular expression and not a typical text string.  There are many regular expressions that can be used to find any patterns, Social Security Numbers being just one of them.  Email addresses, telephone numbers, street addresses, credit card numbers, driver license numbers and many other patterns can all be found using this regular expression syntax.  A more complete list can be found at

The exact text to type in is:


RegExp:[(^|\s|#)((?!000)\d{3})([- ]?)((?!00)\d{2})([-  ]?)((?!0000)\d{4})(\s|$)]

(It's probably best to copy and paste this text so there are no mistakes)

Finally, we can add an HTML based prompt that warns us that an SSN was detected, along with a Yes/No button:

And that's it!  Let's send an email with a made up SSN, 111-22-3333:


Note that for completeness, you will probably also want to add another rule identical to this one that allows you to catch SSNs in the Subject as well, and possibly even in attachments depending on your situation.

Update Sept 4, 2018:

Do you need to catch UK National Insurance Numbers (NIN)?  Here's the regular expression for that: 

RegExp:[(^([a-zA-Z]){2}( )?([0-9]){2}( )?([0-9]){2}( )?([0-9]){2}( )?([a-zA-Z]){1}?($|\s))]

(It's probably best to copy and paste this text so there are no mistakes)