pii-mask

Masking Modes

The six masking modes and when to use each.

Overview

pii-mask supports six masking modes. Each mode controls how detected PII values are transformed.

ModeBehaviourReversible
maskPartial obscure — preserve type shapeNo
redactFull [REDACTED] replacementNo
pseudonymizeConsistent label (EMAIL_1) per sessionNo
anonymizeConsistent label (EMAIL_1) per sessionNo
tokenizeRandom token, stored in tokenMap, restorableYes
substitutePlausible fake via @faker-js/fakerNo

Examples

Mask

import { createMasker } from '@pii-mask/core';

const masker = createMasker({ mode: 'mask' });
const { result } = masker.maskString('emeka@example.com');
// → 'em***a@example.com'

Redact

import { createMasker } from '@pii-mask/core';

const masker = createMasker({ mode: 'redact' });
const { result } = masker.maskString('emeka@example.com');
// → '[REDACTED]'

Tokenize

import { createMasker } from '@pii-mask/core';

const masker = createMasker({ mode: 'tokenize' });
const { result, tokenMap } = masker.maskString('emeka@example.com');
// result: '<<PII_a1b2c3d4>>'
// tokenMap: { '<<PII_a1b2c3d4>>': 'emeka@example.com' }

const restored = masker.restore(result, tokenMap);
// → 'emeka@example.com'

Try it in the browser ↗