redactyl.js
v1.6.0
Published
Redact sensitive information from JSON for logging
Maintainers
Readme
redactyl.js
Redact sensitive information from JSON for logging (Node.js)
Installation
npm install -S redactyl.jsUsage
Instantiate a new instance of Redactyl, specifying the properties you wish to redact
const Redactyl = require('redactyl.js');
let redactyl = new Redactyl({
// Required
'properties': [ 'apiKey', 'password', 'phone' ],
// Optional
'text': '[REDACTED]',
'replacer': myCustomReplacerFunction
});Optional - provide your own replacer function:
function myReplacer(key, value) {
...some custom replacer logic here
}
redactyl.setReplacer(myReplacer);Then run your sensitive data through the redact function!
const data = {
'apiKey': 'a1b2c3',
'password': 'P@$$w0rd',
'phone': 1234567890,
'device': 'ms-7821'
};
const redacted = redactyl.redact(data);
/* Result:
{
'apiKey': '[REDACTED]',
'password': '[REDACTED]',
'phone': '[REDACTED]',
'device': 'ms-7821'
}
*/Constructor Options - Object
properties-Array- An array of property names that should be redacted.text-String- Custom text to replace the redacted properties with.replacer-Function- Custom replacer function that alters the behavior of the stringification process
API
addProperties(properties)
Add the names of properties that should be redacted.
setText(text)
Set the text to replace the redacted properties with. Default: [REDACTED]
setReplacer(function)
Set the replacer function, altering the behavior of the stringification process
redact(json)
Traverse through the specified JSON and replace all properties that match the property names set through the constructor options object, or the setText function.
