Socket
Socket
Sign inDemoInstall

@npmcli/redact

Package Overview
Dependencies
0
Maintainers
5
Versions
5
Alerts
File Explorer

Advanced tools

Install Socket

Detect and block malicious and high-risk dependencies

Install

    @npmcli/redact

Redact sensitive npm information from output


Version published
Weekly downloads
1.8M
decreased by-18.8%
Maintainers
5
Install size
14.6 kB
Created
Weekly downloads
 

Package description

What is @npmcli/redact?

@npmcli/redact is a utility for redacting sensitive information from strings. It is particularly useful for logging and debugging purposes where you want to ensure that sensitive data such as passwords, API keys, or personal information is not exposed.

What are @npmcli/redact's main functionalities?

Redact sensitive information

This feature allows you to redact specified sensitive information from a string. In this example, the words 'password' and 'secret' are redacted.

const { create } = require('@npmcli/redact');
const redactor = create(['password', 'secret']);
const redactedString = redactor('My password is password and my secret is secret.');
console.log(redactedString); // Output: My ****** is ****** and my ****** is ******.

Custom redaction patterns

This feature allows you to use custom regular expressions to define what should be redacted. In this example, a pattern for credit card numbers is used.

const { create } = require('@npmcli/redact');
const redactor = create([/\b\d{4}-\d{4}-\d{4}-\d{4}\b/]);
const redactedString = redactor('My credit card number is 1234-5678-1234-5678.');
console.log(redactedString); // Output: My credit card number is ********************.

Redact multiple patterns

This feature allows you to redact multiple patterns at once. In this example, both the word 'password' and a credit card number pattern are redacted.

const { create } = require('@npmcli/redact');
const redactor = create(['password', /\b\d{4}-\d{4}-\d{4}-\d{4}\b/]);
const redactedString = redactor('My password is password and my credit card number is 1234-5678-1234-5678.');
console.log(redactedString); // Output: My ****** is ****** and my credit card number is ********************.

Other packages similar to @npmcli/redact

Changelog

Source

2.0.1 (2024-06-05)

Bug Fixes

  • 670847f #15 filter properties of error (#15) (@reggi)
  • 826b60d #14 prevent redact for buffers (#14) (@reggi)

Readme

Source

@npmcli/redact

Redact sensitive npm information from output.

API

This will redact npm_ prefixed tokens and UUIDs from values.

It will also replace passwords in stringified URLs.

redact(string)

Redact values from a single value

const { redact } = require('@npmcli/redact')

redact('https://user:pass@registry.npmjs.org/')
// https://user:***@registry.npmjs.org/

redact(`https://registry.npmjs.org/path/npm_${'a'.repeat('36')}`)
// https://registry.npmjs.org/path/npm_***

redactLog(string | string[])

Redact values from a string or array of strings.

This method will also split all strings on \s and = and iterate over them.

const { redactLog } = require('@npmcli/redact')

redactLog([
  'Something --x=https://user:pass@registry.npmjs.org/ foo bar',
  '--url=http://foo:bar@registry.npmjs.org',
])
// [
//   'Something --x=https://user:***@registry.npmjs.org/ foo bar',
//   '--url=http://foo:***@registry.npmjs.org/',
// ]

FAQs

Last updated on 05 Jun 2024

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.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc