Skip to content

mask sensitive

awekrx edited this page May 29, 2026 · 1 revision

mask-sensitive

Import

import { maskSensitive } from '@dev-suite/decorators/mask-sensitive'

Category

  • parameter

Use Case

Mask sensitive argument values before downstream use/logging.

Replaces

  • Manual masking inside methods
  • Inconsistent redaction rules

Example 1

Without decorator

class AuthLogService {
  save(token: string) {
    const masked = token.slice(0, 4) + '***';
    return this.logs.write(masked);
  }
}

With decorator

import { maskSensitive } from '@dev-suite/decorators/mask-sensitive';

class AuthLogService {
  save(@maskSensitive() token: string) {
    return this.logs.write(token);
  }
}

Why better

  • Centralizes cross-cutting behavior.
  • Method/class/property code stays focused on domain logic.

Example 2

Without decorator

class AuditService {
  logSsn(ssn: string) {
    return this.audit.write(ssn.replace(/\d(?=\d{4})/g, '*'));
  }
}

With decorator

import { maskSensitive } from '@dev-suite/decorators/mask-sensitive';

class AuditService {
  logSsn(@maskSensitive({ mask: '*' }) ssn: string) {
    return this.audit.write(ssn);
  }
}

Why better

  • Second scenario reuses same policy without duplication.
  • Behavior is more consistent and easier to audit.

Clone this wiki locally