This document will go over the available attributes and scrub types ShamWow allows users to leverage when removing PII.
ShamWow supports all primitive types such as
- Strings
- Decimal
- Double
- Integer
- Long
- Short
- Byte (Only Arrays)
- Arrays of any type above
ShamWow offers two types of scrubbing modes, which are pretty self explanatory.
- Marked
- Full
Marked will only scrub value which have a scrubbing attribute on the property, whereas full mode will scrub any property that is accessible and not null.
//Basic scrub that will default to lorem ipsum text
public ScrubString() { }
//Allows user to select the string scrubber to use
public ScrubString(StringScrubber scrubber) { }
//Allows a user to replace scrubbed text with a redacted string
public ScrubString(StringScrubber scrubber, bool IsRedacted) { }
//Allows a user to define the length for lorem ipsum text
public ScrubString(StringScrubber scrubber, int length) { }
//Alows a user to generate an id or number as a string
public ScrubString(StringScrubber, int minValue, int maxValue) { }
- Address
- AddressTwo
- City
- State
- StateCode
- Zip
- CountyFIPS
- CountyName
- Phone
- DOB
- SSN
- FullName
- FirstName
- MiddleName
- LastName
- UserName
- Number
//Uses default scrub to generate random number
public ScrubDecimal() { }
//Defines a scrubber to use
public ScrubDecimal(DecimalScrubber scrubber) { }
Currently Decimal scrubbing only supports default at the moment, so no specific scrubbers are defined as of right now.
- Default (Currently generates random number)
//Uses default scrub to generate random number
public ScrubDouble() { }
//Defines a scrubber to use
public ScrubDouble(DoubleScrubber scrubber) { }
Currently Double scrubbing only supports default at the moment, so no specific scrubbers are defined as of right now.
- Default (Currently generates random number)
//Uses default scrub to generate random number
public ScrubInteger() { }
//Defines a scrubber to use
public ScrubInteger(IntegerScrubber scrubber) { }
- Zip (First 5 only)
- Phone
- VIN
//Uses default scrub to generate random number
public ScrubLong() { }
//Defines a scrubber to use
public ScrubLong(LongScrubber scrubber) { }
- Phone
//Uses default scrub to generate random number
public ScrubShort() { }
//Defines a scrubber to use
public ScrubShort(ShortScrubber scrubber) { }
Currently Short scrubbing only supports default at the moment, so no specific scrubbers are defined as of right now.
- Default (Currently generates random number)
The Byte format currently does not support custom scrubbing and does not have an attribute for itself. Currently only Byte Arrays work, which will always be treated as a document.
Arrays currently work as treating each of their items as its own individual property and scrubbing them individually then joining them back into an array
//Allows a user to define the scrub value before-hand
public PredefinedValue(object value) { }
This scrubber allows a user to create a scrub value to replace the original value within the object.
Note type must be the same as original type
//Marks the property as do not scrub, leaving the original value intact
public PreserveValue() { }
//Allows a user to define a variable name to store scrub state
public StatefulScrub(string value) { }
This attribute allows a user to define a key that will allow all other properties using the same key to have consistent state across the entire object.