1.0.14 • Published 4 months ago

@visulima/redact v1.0.14

Weekly downloads
-
License
MIT
Repository
github
Last release
4 months ago

compromise and dot-prop.

typescript-image npm-image license-image



Why Redact?

  • Easy to use
  • Anonymize specific categories in a text, including emails, monetary values, organizations, people, and phone numbers and more.
  • Customizable anonymization: Specify which categories to anonymize and which to exclude.
  • Built-in compatibility with nlp NER - compromise.
  • Does not modify input objects
  • Performs a deep copy of the input object
  • Handles circular references
  • Filters valid JSON strings
  • Filters valid and malformed URL query params
  • Filters Errors, Arrays, Maps, Sets, and simple objects
  • Includes a default set of rules
    • apikey
    • awsid
    • awskey
    • bankacc
    • basic_auth
    • token
    • crypto
    • id
    • creditcard
    • date
    • dl
    • domain
    • ip
    • mac_address
    • phonenumber
    • routing
    • ssn
    • time
    • uk_nin
    • url
    • us_social_security
    • isbn
    • zip_code
    • firstname
    • lastname
    • organization
    • money
    • bankcc
    • email
    • passport
    • password
    • username
    • auth
    • bearer
    • credit
    • CVD
    • CVV
    • encrypt
    • PAN
    • pass
    • secret
  • TypeScript support
  • Fast and powerful, see the benchmarks

Install

npm install @visulima/redact
yarn add @visulima/redact
pnpm add @visulima/redact

Usage

  • redact(input, rules, options)
const input = {
    admin: {
        user: {
            email: "test@example.com",
            password: "123456",
        },
    },
    password: "123456",
    user: {
        email: "test@example.com",
        password: "123456",
    },
};

const result = redact(input, ["password", "user.password", "admin.user.password"]);

console.log(result);

//{
//    admin: {
//        user: {
//            email: "test@example.com",
//            password: "<ADMIN.USER.PASSWORD>",
//        },
//    },
//    password: "<PASSWORD>",
//    user: {
//        email: "test@example.com",
//        password: "<USER.PASSWORD>",
//    },
//}
  • stringAnonymize(input, rules, options)

    It uses Natural Language Processing (NLP) and Regular Expressions (Regex) to identify and mask sensitive information in a string.

import { stringAnonymize } from "@visulima/redact";

const input = "John Doe will be 30 on 2024-06-10.";
const result = stringAnonymize(input, defaultModifiers);

console.log(result);

//"<FIRSTNAME> <LASTNAME> will be 30 on <DATE>"

API

redact(input, rules, options?)

input

Type: any

The input value to redact.

rules

Type: (Anonymize | StringAnonymize | number | string)[]

An array of rules to redact.

options

Type: object

exclude

Type: (string | number)[]

Exclude a rule for the rules array.

logger

Type: object

debug

Type: (message?: any, ...optionalParameters: any[]) => void

A function to log debug messages.

stringAnonymize(input, rules, options?)

input

Type: string

The input value to redact.

rules

Type: (Anonymize | StringAnonymize | number | string)[]

An array of rules to redact.

options

Type: object

exclude

Type: (string | number)[]

Exclude a rule for the rules array.

logger

Type: object

debug

Type: (message?: any, ...optionalParameters: any[]) => void

A function to log debug messages.

Related

  • fast-redact - very fast object redaction
  • fast-unset - 🪄 Efficiently remove, replace, set or default object properties.
  • masker - Composite data masking utility
  • sensitive-param-filter - A package for filtering sensitive data (parameters, keys) from a variety of JS objects
  • anonymize-nlp - Anonymize-NLP is a lightweight and robust package for text anonymization. It uses Natural Language Processing (NLP) and Regular Expressions (Regex) to identify and mask sensitive information in a string.

Supported Node.js Versions

Libraries in this ecosystem make the best effort to track Node.js’ release schedule. Here’s a post on why we think this is important.

Contributing

If you would like to help take a look at the list of issues and check our Contributing guild.

Note: please note that this project is released with a Contributor Code of Conduct. By participating in this project you agree to abide by its terms.

Credits

License

The visulima redact is open-sourced software licensed under the MIT

typescript-url: https://www.typescriptlang.org/ "TypeScript" "typescript"

1.0.14

4 months ago

1.0.13

6 months ago

1.0.12

6 months ago

1.0.11

6 months ago

1.0.10

7 months ago

1.0.9

9 months ago

1.0.8

10 months ago

1.0.7

10 months ago

1.0.6

10 months ago

1.0.5

10 months ago

1.0.4

11 months ago

1.0.3

12 months ago

1.0.2

1 year ago

1.0.1

1 year ago

1.0.0

1 year ago