hide-secrets

for when you want to log an object but hide certain restricted fields, e.g., password

ISC License

Downloads
18.2K
Stars
23

hide-secrets

var hide = require('hide-secrets')

var obj = {
  innerObject: {
    password: 'abc123',
    email: '[email protected]',
    token: 'my-secret-token'
  },
  auth: '' // empty strings are left empty.
}

console.log(hide(obj))

outputs

{
  innerObject: {
    password: '[SECRET]',
    email: '[email protected]',
    token: '[SECRET]'
  },
  auth: ''
}

Currently the following fields are obfuscated by default:

password, pass, token, auth, secret, passphrase.

If you want to override this list of obfuscated terms, simply:

  1. create your own list of terms:

    const badWords = [
      'super-secret-1', 'double-secret-probation'
    ]
    
  2. pass this as configuration to hide-secrets:

    console.log(hide(obj, {badWords}))
    

Any keys within obj that are contained within the badWords array will be hidden.

License

ISC