
Security News
The Next Open Source Security Race: Triage at Machine Speed
Claude Opus 4.6 has uncovered more than 500 open source vulnerabilities, raising new considerations for disclosure, triage, and patching at scale.
Anonymize values in an object based on property name patterns.
npm install anonymize
Let's say you want to anonymize the environment variables so that passwords, tokens and other secrets are not exposed, in effect turning this:
{
AWS_S3_KEY: 'BF73GVD903GFKSHFU2FJ',
AWS_S3_SECRET: 'f6+ddWfgd2&dfbs3/dfgj&jkdbcds1234dsfgsss',
DB_PASSWORD: 'FT^&*UHGFDRTYUJHVG',
NODE_ENV: 'production'
}
Into this:
{
AWS_S3_KEY: 'BF73GVD903GFKSHFU2FJ',
AWS_S3_SECRET: '******',
DB_PASSWORD: '******',
NODE_ENV: 'production'
}
You would simply:
var anonymize = require('anonymize')();
var anonEnv = anonymize(process.env);
You can control both the patterns used to match the properties and the replacement values.
By default properties containing the words secret, pass, auth or
token have their values replaced with ****** The default patterns
are case insensitive.
Both the patterns and the replacement value can be individually overridden by initializing the module with either an array of patterns or a replacement string (or an options hash containing both an array of patterns and a replacement value).
Create an anonymizer that replaces the value of any property whos name
either contains foo or bar:
// ['foo', 'bar'] is equivalent to [/foo/i, /bar/i]
var anonymize = require('anonymize')(['foo', 'bar']);
Create an anonymizer that replaces any property value with the string
hidden:
var anonymize = require('anonymize')('hidden');
Combine both custom patterns and a custom replacement string:
var anonymize = require('anonymize')({
patterns: ['foo', 'bar'],
replace: 'hidden'
});
If the replacement value is undefined, the property will be deleted
instead of having its value replaced.
If you instead of a string for the replacement use a function, you can control how a value is overwritten by conditionally returning the value that should be used for overwriting.
var anonymize = require('anonymize')({
replace: function (key, val) {
if (typeof val === 'number') return 0;
return 'hidden';
}
});
Yes, anonymize will also work on nested objects. So:
{
foo: { password: 'secret' },
bar: [ { token: 'secret' }]
}
Will be correctly anonymized to:
{
foo: { password: '******' },
bar: [ { token: '******' } ]
}
MIT
FAQs
Anonymize values in a list based on key name patterns
The npm package anonymize receives a total of 1,031 weekly downloads. As such, anonymize popularity was classified as popular.
We found that anonymize demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Security News
Claude Opus 4.6 has uncovered more than 500 open source vulnerabilities, raising new considerations for disclosure, triage, and patching at scale.

Research
/Security News
Malicious dYdX client packages were published to npm and PyPI after a maintainer compromise, enabling wallet credential theft and remote code execution.

Security News
gem.coop is testing registry-level dependency cooldowns to limit exposure during the brief window when malicious gems are most likely to spread.