{"_id":"pino-noir","_rev":"27-7674fc2f781391ffc63cf20a83e47a3d","name":"pino-noir","dist-tags":{"latest":"3.0.0"},"versions":{"0.0.0":{"name":"pino-noir","version":"0.0.0","author":{"name":"David Mark Clements"},"license":"MIT","_id":"pino-noir@0.0.0","maintainers":[{"name":"davidmarkclements","email":"huperekchuno@googlemail.com"}],"homepage":"https://github.com/davidmarkclements/pino-noir#readme","bugs":{"url":"https://github.com/davidmarkclements/pino-noir/issues"},"dist":{"shasum":"5d328083977e87a7028db85b1bc598e4133ec5f1","tarball":"https://registry.npmjs.org/pino-noir/-/pino-noir-0.0.0.tgz","integrity":"sha512-jQsRngL6YEEN1VcrjuMKKFpThF3LI/wD0mXQLvlTDziqwDRarMI+NUd3mKozr/Ql4sLHWrB8UrWFtY1WoIGlCA==","signatures":[{"sig":"MEUCIAu68D/8we/QdbdzBFg/+ajv97K3sYYh1vqqG0Mcn7wRAiEAozRE+JDkeXFmhf/6CHbh8IwlLwktlaYzDuv8duF0aNQ=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"main":"index.js","_from":".","_shasum":"5d328083977e87a7028db85b1bc598e4133ec5f1","gitHead":"351e5b42242e5582ec7ec61686cee9f8e0c0851c","scripts":{"test":"standard && tap test"},"_npmUser":{"name":"davidmarkclements","email":"huperekchuno@googlemail.com"},"repository":{"url":"git+https://github.com/davidmarkclements/pino-noir.git","type":"git"},"_npmVersion":"2.14.17","description":"## Status: Experimental","directories":{"test":"test"},"_nodeVersion":"6.3.0","dependencies":{"tap":"^6.2.0","standard":"^7.1.2"},"_npmOperationalInternal":{"tmp":"tmp/pino-noir-0.0.0.tgz_1469721382306_0.18371649668551981","host":"packages-12-west.internal.npmjs.com"}},"0.0.1":{"name":"pino-noir","version":"0.0.1","author":{"name":"David Mark Clements"},"license":"MIT","_id":"pino-noir@0.0.1","maintainers":[{"name":"davidmarkclements","email":"huperekchuno@googlemail.com"},{"name":"matteo.collina","email":"hello@matteocollina.com"},{"name":"nexxy","email":"emily@contactvibe.com"}],"homepage":"https://github.com/davidmarkclements/pino-noir#readme","bugs":{"url":"https://github.com/davidmarkclements/pino-noir/issues"},"dist":{"shasum":"a9697b4b8bd842b5120785ab9d698193217150f5","tarball":"https://registry.npmjs.org/pino-noir/-/pino-noir-0.0.1.tgz","integrity":"sha512-4AKdh+ME7tFhLMD48bwWqH7rwZ6qaYZfd9LUI8T590svqxDugmku7g7fjIfA5C/YdVSmE3bDzFR7mT7NjaD7jQ==","signatures":[{"sig":"MEQCIGGfyFlrwDzAP0vH082h28aIvKWVuGSukmJlAB3/gys4AiBbfTV/b6Ewy3HpGj3IzLWdsGgrOTyk0ifkXRC9yN5tpw==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"main":"index.js","_from":".","_shasum":"a9697b4b8bd842b5120785ab9d698193217150f5","gitHead":"fbe1372a9794c01f29bf2ee0509be5e22b798132","scripts":{"test":"standard && tap test"},"_npmUser":{"name":"davidmarkclements","email":"huperekchuno@googlemail.com"},"repository":{"url":"git+https://github.com/davidmarkclements/pino-noir.git","type":"git"},"_npmVersion":"2.14.17","description":"## API","directories":{"test":"test"},"_nodeVersion":"6.3.0","dependencies":{"get":"^1.4.0","set":"^1.1.1","tap":"^6.2.0","standard":"^7.1.2","lodash.get":"^4.4.0","lodash.set":"^4.3.0","lodash.topath":"^4.5.0","lodash.groupby":"^4.5.0"},"devDependencies":{"pino":"^2.7.5"},"_npmOperationalInternal":{"tmp":"tmp/pino-noir-0.0.1.tgz_1469841639495_0.0979039806406945","host":"packages-16-east.internal.npmjs.com"}},"1.0.0":{"name":"pino-noir","version":"1.0.0","author":{"name":"David Mark Clements"},"license":"MIT","_id":"pino-noir@1.0.0","maintainers":[{"name":"davidmarkclements","email":"huperekchuno@googlemail.com"},{"name":"matteo.collina","email":"hello@matteocollina.com"},{"name":"nexxy","email":"emily@contactvibe.com"}],"homepage":"https://github.com/davidmarkclements/pino-noir#readme","bugs":{"url":"https://github.com/davidmarkclements/pino-noir/issues"},"dist":{"shasum":"7be103d739fae53db5de96a3bc8193bf17e637c8","tarball":"https://registry.npmjs.org/pino-noir/-/pino-noir-1.0.0.tgz","integrity":"sha512-Fm7QaV3Tl5uuwDsnm88tWNmbBxV4ukuT1scWM8Lbx4/WJ2+M6NYyIuN6Z3KdEAgNuQyeqviKEzP6sOyprkK4EA==","signatures":[{"sig":"MEYCIQDsfSiEPEq5fpTX/fCxxaiwcEJrg/SoN22CzU4GdPSLZgIhAJatle+nVGoRTcLtj8iLtgQZUb7VsCOqzf/KJEYozmDc","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"main":"index.js","_from":".","_shasum":"7be103d739fae53db5de96a3bc8193bf17e637c8","gitHead":"c96bed9e91dfda2706f6ab2e103d3664d8f7db9e","scripts":{"cov":"tap test --cov","test":"standard && tap test","cov-badge":"tap --coverage-report=lcov && codecov -t 346eeb5b-38b7-4ff5-b0ec-eb2da6a1254f"},"_npmUser":{"name":"davidmarkclements","email":"huperekchuno@googlemail.com"},"repository":{"url":"git+https://github.com/davidmarkclements/pino-noir.git","type":"git"},"_npmVersion":"2.14.17","description":"Redact sensitive information from your pino logs.","directories":{"test":"test"},"_nodeVersion":"6.7.0","devDependencies":{"tap":"^6.2.0","pino":"v2.12.1","codecov":"^1.0.1","standard":"^8.2.0","fastbench":"^1.0.1","fast-safe-stringify":"^1.1.0"},"_npmOperationalInternal":{"tmp":"tmp/pino-noir-1.0.0.tgz_1475518873888_0.043082927353680134","host":"packages-12-west.internal.npmjs.com"}},"1.0.1":{"name":"pino-noir","version":"1.0.1","author":{"name":"David Mark Clements"},"license":"MIT","_id":"pino-noir@1.0.1","maintainers":[{"name":"davidmarkclements","email":"huperekchuno@googlemail.com"},{"name":"matteo.collina","email":"hello@matteocollina.com"},{"name":"nexxy","email":"emily@contactvibe.com"}],"homepage":"https://github.com/davidmarkclements/pino-noir#readme","bugs":{"url":"https://github.com/davidmarkclements/pino-noir/issues"},"dist":{"shasum":"85ecb4d6a5937758736d8c960a5fe115ea367b28","tarball":"https://registry.npmjs.org/pino-noir/-/pino-noir-1.0.1.tgz","integrity":"sha512-NIrno2sqnEVTCqn4aTe5Cypu8dSVsP4Z2ihRSO5OVxPnbmPcOC0q1FCSIbLGuOPg4uTH620fxgm0yHGjWn7RPA==","signatures":[{"sig":"MEQCIF0KwTjI10okq3D87D5RmYq74mliHTpc4rHkLZGa7S+zAiBntbVxJTc6XoykP7Kptjkpe44LaaicYkzxAoktDmKVXA==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"main":"index.js","_from":".","_shasum":"85ecb4d6a5937758736d8c960a5fe115ea367b28","gitHead":"7bd40ff5490297edfc18a68c9563a0a22c78bb6d","scripts":{"cov":"tap test --cov","test":"standard && tap test","cov-badge":"tap --coverage-report=lcov && codecov -t 346eeb5b-38b7-4ff5-b0ec-eb2da6a1254f"},"_npmUser":{"name":"davidmarkclements","email":"huperekchuno@googlemail.com"},"repository":{"url":"git+https://github.com/davidmarkclements/pino-noir.git","type":"git"},"_npmVersion":"2.14.17","description":"Redact sensitive information from your pino logs.","directories":{"test":"test"},"_nodeVersion":"6.7.0","devDependencies":{"tap":"^6.2.0","pino":"v2.12.1","codecov":"^1.0.1","standard":"^8.2.0","fastbench":"^1.0.1","fast-safe-stringify":"^1.1.0"},"_npmOperationalInternal":{"tmp":"tmp/pino-noir-1.0.1.tgz_1475518942764_0.9710163110867143","host":"packages-16-east.internal.npmjs.com"}},"1.0.2":{"name":"pino-noir","version":"1.0.2","author":{"name":"David Mark Clements"},"license":"MIT","_id":"pino-noir@1.0.2","maintainers":[{"name":"davidmarkclements","email":"huperekchuno@googlemail.com"},{"name":"matteo.collina","email":"hello@matteocollina.com"},{"name":"nexxy","email":"emily@contactvibe.com"}],"homepage":"https://github.com/davidmarkclements/pino-noir#readme","bugs":{"url":"https://github.com/davidmarkclements/pino-noir/issues"},"dist":{"shasum":"5b1d59d0b72d20cf8ec4e2d3c7091f5a1317cf34","tarball":"https://registry.npmjs.org/pino-noir/-/pino-noir-1.0.2.tgz","integrity":"sha512-WqhGp+SBsWPnQHNYz74QWFuyh3+/UNydir+CeCCRXhcoHLtFFusZTYhT+KSz6R1tb5qFXyhmW4mmM3bgmsNL3Q==","signatures":[{"sig":"MEYCIQDyGVcaPnUHPImicbr3rIqoX3biWdVBG16yhLpr752lkgIhALbXW1AIf4HejWAionZy5nRH5gkq1p1AQrqowOUS2rRJ","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"main":"index.js","_from":".","_shasum":"5b1d59d0b72d20cf8ec4e2d3c7091f5a1317cf34","gitHead":"2f947b4147ab9fc213fb9127522cb8c15bd9f355","scripts":{"cov":"tap test --cov","test":"standard && tap test","cov-badge":"tap --coverage-report=lcov && codecov -t 346eeb5b-38b7-4ff5-b0ec-eb2da6a1254f"},"_npmUser":{"name":"davidmarkclements","email":"huperekchuno@googlemail.com"},"repository":{"url":"git+https://github.com/davidmarkclements/pino-noir.git","type":"git"},"_npmVersion":"2.14.17","description":"Redact sensitive information from your pino logs.","directories":{"test":"test"},"_nodeVersion":"6.7.0","devDependencies":{"tap":"^6.2.0","pino":"v2.12.1","codecov":"^1.0.1","standard":"^8.2.0","fastbench":"^1.0.1","fast-safe-stringify":"^1.1.0"},"_npmOperationalInternal":{"tmp":"tmp/pino-noir-1.0.2.tgz_1475520757724_0.20971092954277992","host":"packages-12-west.internal.npmjs.com"}},"1.0.3":{"name":"pino-noir","version":"1.0.3","author":{"name":"David Mark Clements"},"license":"MIT","_id":"pino-noir@1.0.3","maintainers":[{"name":"davidmarkclements","email":"huperekchuno@googlemail.com"},{"name":"matteo.collina","email":"hello@matteocollina.com"},{"name":"nexxy","email":"emily@contactvibe.com"}],"homepage":"https://github.com/davidmarkclements/pino-noir#readme","bugs":{"url":"https://github.com/davidmarkclements/pino-noir/issues"},"dist":{"shasum":"29f08b5b156df3dea7eeb30d89fa79fc130e7515","tarball":"https://registry.npmjs.org/pino-noir/-/pino-noir-1.0.3.tgz","integrity":"sha512-5KI7Ng1OCeXvu2gocp8oS89xpXFNkFcUcnls0EYK1BZ8PU2oRCNtbJ4/BtWCsqHmOLcXwEdpaWaPWQpWwPUmfg==","signatures":[{"sig":"MEUCIQDcM0IJ3MZ4Q30aKhweoKfrUqndGkvW8To23nmzRP0+RQIgbCxHXG5O+5IrAdcLn518d6c+j2hxdvlE9VloIcH9gVY=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"main":"index.js","_from":".","_shasum":"29f08b5b156df3dea7eeb30d89fa79fc130e7515","gitHead":"f6f8df77225154341618fba777b03f71d8a8ee87","scripts":{"cov":"tap test --cov","test":"standard && tap test","cov-badge":"tap --coverage-report=lcov && codecov -t 346eeb5b-38b7-4ff5-b0ec-eb2da6a1254f"},"_npmUser":{"name":"davidmarkclements","email":"huperekchuno@googlemail.com"},"repository":{"url":"git+https://github.com/davidmarkclements/pino-noir.git","type":"git"},"_npmVersion":"2.14.17","description":"Redact sensitive information from your pino logs. ","directories":{"test":"test"},"_nodeVersion":"6.7.0","devDependencies":{"tap":"^6.2.0","pino":"v2.12.1","codecov":"^1.0.1","standard":"^8.2.0","fastbench":"^1.0.1","fast-safe-stringify":"^1.1.0"},"_npmOperationalInternal":{"tmp":"tmp/pino-noir-1.0.3.tgz_1475521132710_0.9134724664036185","host":"packages-12-west.internal.npmjs.com"}},"1.0.4":{"name":"pino-noir","version":"1.0.4","author":{"name":"David Mark Clements"},"license":"MIT","_id":"pino-noir@1.0.4","maintainers":[{"name":"davidmarkclements","email":"huperekchuno@googlemail.com"},{"name":"matteo.collina","email":"hello@matteocollina.com"},{"name":"nexxy","email":"emily@contactvibe.com"}],"homepage":"https://github.com/davidmarkclements/pino-noir#readme","bugs":{"url":"https://github.com/davidmarkclements/pino-noir/issues"},"dist":{"shasum":"fe7639278b2685ae8135a74f68faeb242c454204","tarball":"https://registry.npmjs.org/pino-noir/-/pino-noir-1.0.4.tgz","integrity":"sha512-gjr7XV41WRY9zuc77LpNdGsPJeKjMkS+5FxSUU6tFUgMoZ4Pcq0zcfxYzLDqQOOVvObhIxNFVRXZBfWgiuHZBA==","signatures":[{"sig":"MEUCIQDetsuNKPenITc00U8rqS8ORzMuLrMfajd//vxNfud8MQIgPPe2MbhxrG0Nf7QjrkH74Qb55jeiW1eb+Rd8LkrvYI0=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"main":"index.js","_from":".","_shasum":"fe7639278b2685ae8135a74f68faeb242c454204","gitHead":"4ca918e8e65bbcbed17e114f0c86cdeade118847","scripts":{"cov":"tap test --cov","test":"standard && tap test","cov-badge":"tap --coverage-report=lcov && codecov -t 346eeb5b-38b7-4ff5-b0ec-eb2da6a1254f"},"_npmUser":{"name":"davidmarkclements","email":"huperekchuno@googlemail.com"},"repository":{"url":"git+https://github.com/davidmarkclements/pino-noir.git","type":"git"},"_npmVersion":"2.14.17","description":"Redact sensitive information from your pino logs. ","directories":{"test":"test"},"_nodeVersion":"6.7.0","devDependencies":{"tap":"^6.2.0","pino":"v2.12.1","codecov":"^1.0.1","standard":"^8.2.0","fastbench":"^1.0.1","fast-safe-stringify":"^1.1.0"},"_npmOperationalInternal":{"tmp":"tmp/pino-noir-1.0.4.tgz_1475580854480_0.31822849554009736","host":"packages-12-west.internal.npmjs.com"}},"1.0.5":{"name":"pino-noir","version":"1.0.5","keywords":[],"author":{"name":"David Mark Clements"},"license":"MIT","_id":"pino-noir@1.0.5","maintainers":[{"name":"davidmarkclements","email":"huperekchuno@googlemail.com"},{"name":"matteo.collina","email":"hello@matteocollina.com"},{"name":"nexxy","email":"emily@contactvibe.com"}],"homepage":"https://github.com/pinojs/pino-noir#readme","bugs":{"url":"https://github.com/pinojs/pino-noir/issues"},"dist":{"shasum":"b773e4f35ce9e1ac658dbbaa1901509d6adc0871","tarball":"https://registry.npmjs.org/pino-noir/-/pino-noir-1.0.5.tgz","integrity":"sha512-dFYRVPVrj23vSeYv38vQDNUdJ7ZSb4zxLgLijVAY0EGi8gG/TuxseUkOFnVOLqRc8Mi9AeDAcmtpE7gkrcsx7g==","signatures":[{"sig":"MEYCIQDTx070hNBUCRdFFpQrdqI8jquO34wgwFjlU5SwdYZxbgIhAPxjejqMZwK7rGbGiPpKPd7DYs5SdTDcvhpujheE22aE","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"main":"index.js","_from":".","_shasum":"b773e4f35ce9e1ac658dbbaa1901509d6adc0871","gitHead":"ba2241e50fb24ab8037455ae2c90adf29e42bef2","scripts":{"cov":"tap test --cov","test":"standard && tap test","cov-badge":"tap --coverage-report=lcov && codecov -t 346eeb5b-38b7-4ff5-b0ec-eb2da6a1254f"},"_npmUser":{"name":"davidmarkclements","email":"huperekchuno@googlemail.com"},"repository":{"url":"git+https://github.com/pinojs/pino-noir.git","type":"git"},"_npmVersion":"2.14.17","description":"Redact sensitive information from your pino logs. ","directories":{"test":"test"},"_nodeVersion":"6.9.0","devDependencies":{"tap":"^6.2.0","pino":"v2.12.1","codecov":"^1.0.1","standard":"^8.2.0","fastbench":"^1.0.1","fast-safe-stringify":"^1.1.0"},"_npmOperationalInternal":{"tmp":"tmp/pino-noir-1.0.5.tgz_1477380382170_0.8999164572451264","host":"packages-12-west.internal.npmjs.com"}},"1.0.6":{"name":"pino-noir","version":"1.0.6","keywords":[],"author":{"name":"David Mark Clements"},"license":"MIT","_id":"pino-noir@1.0.6","maintainers":[{"name":"davidmarkclements","email":"huperekchuno@googlemail.com"},{"name":"matteo.collina","email":"hello@matteocollina.com"},{"name":"nexxy","email":"emily@contactvibe.com"}],"homepage":"https://github.com/pinojs/pino-noir#readme","bugs":{"url":"https://github.com/pinojs/pino-noir/issues"},"dist":{"shasum":"7810ed0fec1c4239326b18044b4248f7447e54a2","tarball":"https://registry.npmjs.org/pino-noir/-/pino-noir-1.0.6.tgz","integrity":"sha512-8id6EjgS4ayzu0/jIIarOgdWvC0jy5x34fzL941UOS0DrQEEra0HMJbSxSZF8s0C5l6vTgT68n4hul/Dxz5YPA==","signatures":[{"sig":"MEUCIAW6i07ieqsmvQxLQZptcU4AUsMZluWPoOSwoco/hvxBAiEAwLcAwxdQ49wK03PfHf0wp48SbZyXKO6kC9kZvj/9NBQ=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"main":"index.js","_from":".","_shasum":"7810ed0fec1c4239326b18044b4248f7447e54a2","gitHead":"3f87f84362fb7b2b700372053c7dcc89986495c3","scripts":{"cov":"tap test --cov","test":"standard && tap test","cov-badge":"tap --coverage-report=lcov && codecov -t 346eeb5b-38b7-4ff5-b0ec-eb2da6a1254f"},"_npmUser":{"name":"davidmarkclements","email":"huperekchuno@googlemail.com"},"repository":{"url":"git+https://github.com/pinojs/pino-noir.git","type":"git"},"_npmVersion":"2.14.17","description":"Redact sensitive information from your pino logs. ","directories":{"test":"test"},"_nodeVersion":"6.9.0","devDependencies":{"tap":"^6.2.0","pino":"v2.12.1","codecov":"^1.0.1","standard":"^8.2.0","fastbench":"^1.0.1","fast-safe-stringify":"^1.1.0"},"_npmOperationalInternal":{"tmp":"tmp/pino-noir-1.0.6.tgz_1477382463402_0.5078765209764242","host":"packages-12-west.internal.npmjs.com"}},"1.1.0":{"name":"pino-noir","version":"1.1.0","keywords":[],"author":{"name":"David Mark Clements"},"license":"MIT","_id":"pino-noir@1.1.0","maintainers":[{"name":"davidmarkclements","email":"huperekchuno@googlemail.com"},{"name":"jsumners","email":"james.sumners@gmail.com"},{"name":"matteo.collina","email":"hello@matteocollina.com"},{"name":"nexxy","email":"emily@contactvibe.com"},{"name":"watson","email":"w@tson.dk"}],"homepage":"https://github.com/pinojs/pino-noir#readme","bugs":{"url":"https://github.com/pinojs/pino-noir/issues"},"dist":{"shasum":"fd4a06726b6de8fc6486d6040ab41c1555d0fb9c","tarball":"https://registry.npmjs.org/pino-noir/-/pino-noir-1.1.0.tgz","integrity":"sha512-jQKBO+iBXb/bImfPK/y5cnxq8JHcCsKimWZWJ9Cz1jTfC9QsT3A0bagjCxQqZKFRqG7Wycp3cVrmWyFfmKd9mg==","signatures":[{"sig":"MEQCIBqakzwGclt6NamvOBoIulCTtH954JjGTsStBvxrvY2dAiBdf7nnUhJbwByrU7Ov6dAFBjqhuxbjVGaeVQWPpR2kSg==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"main":"index.js","_from":".","_shasum":"fd4a06726b6de8fc6486d6040ab41c1555d0fb9c","gitHead":"0d2323b97e927481626041203e1f7fb5833aa961","scripts":{"cov":"tap test --cov","test":"standard && tap test","cov-badge":"tap --coverage-report=lcov && codecov -t 346eeb5b-38b7-4ff5-b0ec-eb2da6a1254f"},"_npmUser":{"name":"matteo.collina","email":"hello@matteocollina.com"},"repository":{"url":"git+https://github.com/pinojs/pino-noir.git","type":"git"},"_npmVersion":"4.6.1","description":"Redact sensitive information from your pino logs. ","directories":{"test":"test"},"_nodeVersion":"6.10.1","devDependencies":{"tap":"^10.0.0","pino":"v4.0.0","codecov":"^2.2.0","standard":"^10.0.0","fastbench":"^1.0.1","fast-safe-stringify":"^1.2.0"},"_npmOperationalInternal":{"tmp":"tmp/pino-noir-1.1.0.tgz_1495444053446_0.6246397821232677","host":"s3://npm-registry-packages"}},"1.2.0":{"name":"pino-noir","version":"1.2.0","keywords":[],"author":{"name":"David Mark Clements"},"license":"MIT","_id":"pino-noir@1.2.0","maintainers":[{"name":"davidmarkclements","email":"huperekchuno@googlemail.com"},{"name":"jsumners","email":"james.sumners@gmail.com"},{"name":"matteo.collina","email":"hello@matteocollina.com"},{"name":"nexxy","email":"emily@contactvibe.com"},{"name":"watson","email":"w@tson.dk"}],"homepage":"https://github.com/pinojs/pino-noir#readme","bugs":{"url":"https://github.com/pinojs/pino-noir/issues"},"dist":{"shasum":"0497d47abb6dc043895c117609bf6d68f61cc049","tarball":"https://registry.npmjs.org/pino-noir/-/pino-noir-1.2.0.tgz","integrity":"sha512-zzlyZTQ7FV3iFaU73ZMoDVxbFEqnmq9trZeXxk4V5NStz13jopQ02b/1GwNUnfQe65qJo1PDSzci+oQaWSfdSA==","signatures":[{"sig":"MEUCIQDwF2sj07nW8vMMyzUlfG4W9eOUCNVygtKMr7z25HsUWwIgUFBwt7SPuu/284U4sqTMIVhzuSTp9Rj2K+r6vsd7nII=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"main":"index.js","_from":".","_shasum":"0497d47abb6dc043895c117609bf6d68f61cc049","gitHead":"6fb4cc1e86db913aa190c7b97dd3c0741c3c40aa","scripts":{"cov":"tap test --cov","test":"standard && tap test","cov-badge":"tap --coverage-report=lcov && codecov -t 346eeb5b-38b7-4ff5-b0ec-eb2da6a1254f"},"_npmUser":{"name":"matteo.collina","email":"hello@matteocollina.com"},"repository":{"url":"git+https://github.com/pinojs/pino-noir.git","type":"git"},"_npmVersion":"4.6.1","description":"Redact sensitive information from your pino logs. ","directories":{"test":"test"},"_nodeVersion":"6.10.1","devDependencies":{"tap":"^10.0.0","pino":"^4.0.0","codecov":"^2.2.0","standard":"^10.0.0","fastbench":"^1.0.1","fast-safe-stringify":"^1.2.0"},"_npmOperationalInternal":{"tmp":"tmp/pino-noir-1.2.0.tgz_1495542789135_0.40249435883015394","host":"s3://npm-registry-packages"}},"2.0.0":{"name":"pino-noir","version":"2.0.0","keywords":[],"author":{"name":"David Mark Clements"},"license":"MIT","_id":"pino-noir@2.0.0","maintainers":[{"name":"davidmarkclements","email":"huperekchuno@googlemail.com"},{"name":"jsumners","email":"james.sumners@gmail.com"},{"name":"matteo.collina","email":"hello@matteocollina.com"},{"name":"nexxy","email":"emily@contactvibe.com"},{"name":"watson","email":"w@tson.dk"}],"homepage":"https://github.com/pinojs/pino-noir#readme","bugs":{"url":"https://github.com/pinojs/pino-noir/issues"},"dist":{"shasum":"6e2f58fa14a3edb3d3444df3c58a720a8830bb3c","tarball":"https://registry.npmjs.org/pino-noir/-/pino-noir-2.0.0.tgz","integrity":"sha512-xMMaWvmZbTqq8fi00pd0t4wLSggj75myZixgRClOPkrYbWq0Cuc7L97OcfJYRJryU9vEVjtW/X15Lop30Plk3Q==","signatures":[{"sig":"MEYCIQCfEgxTtHoGIyve6bVko+r48JnoiJKvllN9gTeWrhrSGwIhAL0x6gvj/+Um7YWF56oChwJa7jJV0C2zBNtKTXaSudft","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"main":"index.js","gitHead":"35ecd116eabb6043d8d5167d1d1508106cc30668","scripts":{"cov":"tap test --cov","test":"standard && tap test","cov-badge":"tap --coverage-report=lcov && codecov -t 346eeb5b-38b7-4ff5-b0ec-eb2da6a1254f"},"_npmUser":{"name":"matteo.collina","email":"hello@matteocollina.com"},"repository":{"url":"git+https://github.com/pinojs/pino-noir.git","type":"git"},"_npmVersion":"5.4.0","description":"Redact sensitive information from your pino logs. ","directories":{"test":"test"},"_nodeVersion":"6.11.1","devDependencies":{"tap":"^10.0.0","pino":"^4.0.0","clone":"^2.1.1","codecov":"^2.2.0","standard":"^10.0.0","fastbench":"^1.0.1","pre-commit":"^1.2.2","fast-safe-stringify":"^1.2.0"},"_npmOperationalInternal":{"tmp":"tmp/pino-noir-2.0.0.tgz_1504851559255_0.7365928716026247","host":"s3://npm-registry-packages"}},"2.2.0":{"name":"pino-noir","version":"2.2.0","keywords":[],"author":{"name":"David Mark Clements"},"license":"MIT","_id":"pino-noir@2.2.0","maintainers":[{"name":"davidmarkclements","email":"huperekchuno@googlemail.com"},{"name":"jsumners","email":"james.sumners@gmail.com"},{"name":"matteo.collina","email":"hello@matteocollina.com"},{"name":"nexxy","email":"emily@contactvibe.com"},{"name":"watson","email":"w@tson.dk"}],"homepage":"https://github.com/pinojs/pino-noir#readme","bugs":{"url":"https://github.com/pinojs/pino-noir/issues"},"dist":{"shasum":"14e526442496d05643deb7c9dcf61924f31ac31a","tarball":"https://registry.npmjs.org/pino-noir/-/pino-noir-2.2.0.tgz","fileCount":8,"integrity":"sha512-4QDInfo6kgEKN2f4OZWOAGHMGIzMk+OXu1FtIuRR+oti+n+h2sjse+GJ4MPOC2L09/VD0Vtm0vMW3PcKindYKQ==","signatures":[{"sig":"MEYCIQCBmieAlZT5KemlMeR7AcOo1lLS2ghx0gft/vQ/GHdwKgIhAJqu+7stpWyTgDojhYVDoxFyJiofDVOGDsi0bGYFg+ur","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":23681},"main":"index.js","gitHead":"0689b2f05bd8a5a638ec97cc5380aa07c611f562","scripts":{"cov":"tap test --cov","test":"standard && tap test","benchmark":"node benchmarks","cov-badge":"tap --coverage-report=lcov && codecov -t 346eeb5b-38b7-4ff5-b0ec-eb2da6a1254f"},"_npmUser":{"name":"davidmarkclements","email":"huperekchuno@googlemail.com"},"repository":{"url":"git+https://github.com/pinojs/pino-noir.git","type":"git"},"_npmVersion":"5.6.0","description":"Redact sensitive information from your pino logs. ","directories":{"test":"test"},"_nodeVersion":"8.9.4","_hasShrinkwrap":false,"devDependencies":{"tap":"^10.0.0","pino":"^4.0.0","clone":"^2.1.1","codecov":"^2.2.0","standard":"^10.0.0","fastbench":"^1.0.1","pre-commit":"^1.2.2","fast-safe-stringify":"^1.2.0"},"_npmOperationalInternal":{"tmp":"tmp/pino-noir_2.2.0_1520411559749_0.8019011264038394","host":"s3://npm-registry-packages"}},"2.2.1":{"name":"pino-noir","version":"2.2.1","keywords":[],"author":{"name":"David Mark Clements"},"license":"MIT","_id":"pino-noir@2.2.1","maintainers":[{"name":"davidmarkclements","email":"huperekchuno@googlemail.com"},{"name":"jsumners","email":"james.sumners@gmail.com"},{"name":"matteo.collina","email":"hello@matteocollina.com"},{"name":"nexxy","email":"emily@contactvibe.com"},{"name":"watson","email":"w@tson.dk"}],"homepage":"https://github.com/pinojs/pino-noir#readme","bugs":{"url":"https://github.com/pinojs/pino-noir/issues"},"dist":{"shasum":"2f9bb51a8eacda976b26f412ed5af468d8f0106c","tarball":"https://registry.npmjs.org/pino-noir/-/pino-noir-2.2.1.tgz","fileCount":8,"integrity":"sha512-qGIG4fYMqokNb5Ho21YNH9uB4NELYTb9oADiuzoL2+n1gs6QyoUKaTN+7eqT4VDC6syvcyark3YP9o2UmCk32A==","signatures":[{"sig":"MEUCIHBhk2o7HA6/1dWmXrhl+Ug8VWQd4RCZdYpOBFb31c7hAiEArml/3TVSt/UFqHfKj1l3+bZGZ5kgS8RMQhpd/TfPauc=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":24333},"main":"index.js","gitHead":"a7dd6a2ed9b2d9da2d1890ea2a0208b4e9c0e4e9","scripts":{"cov":"tap test --cov","test":"standard && tap test","benchmark":"node benchmarks","cov-badge":"tap --coverage-report=lcov && codecov -t 346eeb5b-38b7-4ff5-b0ec-eb2da6a1254f"},"_npmUser":{"name":"davidmarkclements","email":"huperekchuno@googlemail.com"},"repository":{"url":"git+https://github.com/pinojs/pino-noir.git","type":"git"},"_npmVersion":"5.6.0","description":"Redact sensitive information from your pino logs. ","directories":{"test":"test"},"_nodeVersion":"8.10.0","_hasShrinkwrap":false,"devDependencies":{"tap":"^10.0.0","pino":"^4.0.0","clone":"^2.1.1","codecov":"^2.2.0","standard":"^10.0.0","fastbench":"^1.0.1","pre-commit":"^1.2.2","fast-safe-stringify":"^1.2.0"},"_npmOperationalInternal":{"tmp":"tmp/pino-noir_2.2.1_1522148115241_0.6828515099880699","host":"s3://npm-registry-packages"}},"3.0.0":{"name":"pino-noir","version":"3.0.0","keywords":[],"author":{"name":"David Mark Clements"},"license":"MIT","_id":"pino-noir@3.0.0","maintainers":[{"name":"matteo.collina","email":"hello@matteocollina.com"},{"name":"jsumners","email":"james.sumners@gmail.com"},{"name":"watson","email":"w@tson.dk"},{"name":"nexxy","email":"emily@contactvibe.com"},{"name":"davidmarkclements","email":"huperekchuno@googlemail.com"}],"homepage":"https://github.com/pinojs/pino-noir#readme","bugs":{"url":"https://github.com/pinojs/pino-noir/issues"},"dist":{"shasum":"e187dd29f7b10de411053c1bbc39ec90a4342848","tarball":"https://registry.npmjs.org/pino-noir/-/pino-noir-3.0.0.tgz","fileCount":12,"integrity":"sha512-LutuTF+SZj2Mb3AeJE9QGsdTO8hWDOE0ZanS4qBneOKyuTd8QOyV3MNixXe/2GY6Oimz1cYEMitrdOj86qYkfA==","signatures":[{"sig":"MEUCIHwpj9E+aeannpnYGsW93lTIIzOiiv6b+UDEAT7SE5yxAiEAxyFMlSvlWKLGSh/2zOuvlvory56LdIy7bFAtwZZ0+74=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":26638},"main":"index.js","gitHead":"4f0a760261e09bd5451f7d2a836ac3e0c89d8543","scripts":{"lint":"eslint .","test":"c8 node --test","benchmark":"node benchmarks"},"_npmUser":{"name":"jsumners","email":"james.sumners@gmail.com"},"repository":{"url":"git+https://github.com/pinojs/pino-noir.git","type":"git"},"_npmVersion":"11.6.1","description":"Redact sensitive information from your pino logs. ","directories":{"test":"test"},"_nodeVersion":"24.10.0","_hasShrinkwrap":false,"devDependencies":{"c8":"^10.1.3","pino":"^10.1.0","clone":"^2.1.1","eslint":"^9.39.1","fastbench":"^1.0.1","neostandard":"^0.12.2","fast-safe-stringify":"^1.2.0"},"_npmOperationalInternal":{"tmp":"tmp/pino-noir_3.0.0_1764626481387_0.04133834079230159","host":"s3://npm-registry-packages-npm-production"}}},"time":{"created":"2016-07-28T15:56:22.550Z","modified":"2026-07-29T19:41:23.840Z","0.0.0":"2016-07-28T15:56:22.550Z","0.0.1":"2016-07-30T01:20:43.676Z","1.0.0":"2016-10-03T18:21:15.608Z","1.0.1":"2016-10-03T18:22:24.206Z","1.0.2":"2016-10-03T18:52:39.512Z","1.0.3":"2016-10-03T18:58:54.658Z","1.0.4":"2016-10-04T11:34:16.252Z","1.0.5":"2016-10-25T07:26:24.378Z","1.0.6":"2016-10-25T08:01:05.427Z","1.1.0":"2017-05-22T09:07:34.330Z","1.2.0":"2017-05-23T12:33:10.095Z","2.0.0":"2017-09-08T06:19:20.241Z","2.2.0":"2018-03-07T08:32:39.909Z","2.2.1":"2018-03-27T10:55:15.335Z","3.0.0":"2025-12-01T22:01:21.589Z"},"bugs":{"url":"https://github.com/pinojs/pino-noir/issues"},"author":{"name":"David Mark Clements"},"license":"MIT","homepage":"https://github.com/pinojs/pino-noir#readme","keywords":[],"repository":{"url":"git+https://github.com/pinojs/pino-noir.git","type":"git"},"description":"Redact sensitive information from your pino logs. ","maintainers":[{"email":"hello@matteocollina.com","name":"matteo.collina"},{"email":"james.sumners@gmail.com","name":"jsumners"},{"email":"emily@contactvibe.com","name":"nexxy"},{"email":"huperekchuno@googlemail.com","name":"davidmarkclements"}],"readme":"# pino-noir\n\nRedact sensitive information from your pino logs.\n\nNote: pino 5+ has built-in redaction using the [`redact`](https://github.com/pinojs/pino/blob/master/docs/redaction.md) config option. `pino-noir` provides the same functionality for pino 4 and below.\n\n🍾🍷\n\n## API\n\n```js\nnoir([serializers = {}], paths = [], censor = '[Redacted]') => {Pino Serializer Object}\n```\n### `paths`\n\nThe `paths` parameter should be an array of strings, describing the nested location of a key in an object.\n\nThe path can be represented in dot notation, `a.b.c`, and/or bracket notation\n`a[b[c]]`, `a.b[c]`, `a[b].c`.\n\nPaths also supports the asterisk wildcard (`*`) to redact all keys within\nan object. For instance `a.b.*` applied to the object `{a: b: {c: 'foo', d: 'bar'}}` will result in the redaction of properties `c` and `d` in that object (`{\"a\": \"b\": {\"c\": \"[Redacted]\", \"d\": \"[Redacted]\"}}`).\n\n### `censor`\n\nThe `censor` can be of any type, for instance an object like `{redacted: true}`\nis allowed, as is `null`. Explicitly passing `undefined` as the `censor` will\nin most cases cause the property to be stripped from the object. Edge cases occur when an array key is redacted, in which case `null` will appear in the array (this is ultimately a nuance of `JSON.stringify`, try `JSON.stringify(['a', undefined, 'c'])`)\n\n`censor` can also accept a function. This is helpful in cases where you want to redact dynamically instead of a fixed value. A common use case could be to mask partially (e.g. `{ test: 1234567890 }` => `{ \"test\": \"xxxxxx7890\" }`). Check the tests to see this in action.\n\n### `serializers` (optional)\n\nAn object containing a previous\n[serializers](https://github.com/pinojs/pino/blob/master/docs/API.md#example) object. The output of those\nserializers will be redacted. In this way it is possible to chain\nstandard serializers with pino-noir.\n\n## Example\n\n```js\nvar noir = require('pino-noir')\n\nvar redaction = noir([\n  'key', 'path.to.key', 'path.leading.to.another.key', 'check.*', 'also[*]'\n], 'Ssshh!')\n\nvar pino = require('pino')({\n  serializers: redaction\n})\n\npino.info({\n  key: 'will be redacted',\n  path: {\n    to: {key: 'sensitive', another: 'thing'},\n    leading: {to: {another: {key: 'wow'}}}\n  },\n  check: {out: 'the', wildards: 'yo!'},\n  also: ['works', {with: 'arrays'}]\n})\n// {\"pid\":89590,\"hostname\":\"x\",\"level\":30,\"time\":1475104592035,\"key\":\"Ssshh!\",\"path\":{\"to\":{\"key\":\"Ssshh!\",\"another\":\"thing\"},\"leading\":{\"to\":{\"another\":{\"key\":\"Ssshh!\"}}}},\"check\":{\"out\":\"Ssshh!\",\"wildards\":\"Ssshh!\"},\"also\":[\"Ssshh!\",\"Ssshh!\"],\"v\":1}\n\nvar redaction2 = noir(['key'], (val) => 'was ' + val.substr(-8))\n\nvar pino2 = require('pino')({\n  serializers: redaction2\n})\n\npino2.info({\n  key: 'will be redacted'\n})\n// {\"pid\":89590,\"hostname\":\"x\",\"level\":30,\"time\":1475104592035,{\"key\":\"was redacted\"},\"v\":1}\n```\n\n## Pino Web Loggers\n\nPino-noir is also directly compatible with [hapi-pino](http://npm.im/hapi-pino), [express-pino-logger](http://npm.im/express-pino-logger), [koa-pino-logger](http://npm.im/koa-pino-logger), [restify-pino-logger](http://npm.im/restify-pino-logger).\n\nIn each case, use the same `serializers` option as with `pino`.\n\nFor instance, with `express-pino-logger`:\n\n```js\nvar express = require('express')\nvar noir = require('pino-noir')\nvar app = express()\napp.use(require('express-pino-logger')({\n  serializers: noir(['key', 'path.to.key', 'check.*', 'also[*]'], 'Ssshh!')\n}))\n```\n\nAnother example, with Hapi:\n\n```js\nconst Hapi = require('hapi')\nconst noir = require('pino-noir')\nconst server = new Hapi.Server()\nserver.register({\n  register: require('hapi-pino'),\n  options: {\n    serializers: noir(['key', 'path.to.key', 'check.*', 'also[*]'], 'Ssshh!')\n  }\n}, (err) => { /* etc. */ })\n```\n\n## Benchmarks\n\nOverhead in benchmarks ranges from 0% to 20% depending on the case.\n\n```\nbenchPinoTopLevel*10000: 293.869ms\nbenchNoirTopLevel*10000: 367.033ms\nbenchPinoNested*10000: 463.412ms\nbenchNoirNested*10000: 441.725ms\nbenchPinoDeepNested*10000: 599.449ms\nbenchNoirDeepNested*10000: 519.669ms\nbenchPinoVeryDeepNested*10000: 569.447ms\nbenchNoirVeryDeepNested*10000: 638.181ms\nbenchPinoWildcardStructure*10000: 538.458ms\nbenchNoirWildcards*10000: 624.209ms\nbenchPinoFunctionCensor*10000: 375.109ms\nbenchNoirFunctionCensor*10000: 462.107ms\n```\n\nIn these benchmarks, redacting top level keys adds no overhead to logging, redacting using wildcards in a deep nested structure adds 20% overhead.\n\nRedacting various nested structures adds between 8-13% overhead.\n\nOther benchmark runs showed (roughly speaking) deviation of around ±3%.\n\n## Acknowledgements\n\n* Sponsored by [nearForm](http://nearform.com)\n* [Emily Rose](https://twitter.com/nexxylove) for inspiration on the name and idea\n\n## License\n\nMIT\n","readmeFilename":"readme.md","users":{"shanewholloway":true}}