UNPKG

webssh2-server

Version:

A Websocket to SSH2 gateway using xterm.js, socket.io, ssh2

41 lines (40 loc) 1.03 kB
// app/utils/data-masker.ts // Pure functions for masking sensitive data import maskObject from 'jsmasker'; /** * Default properties to mask */ export const DEFAULT_MASK_PROPERTIES = [ 'password', 'privateKey', 'passphrase', 'key', 'secret', 'token' ]; /** * Create masking options with defaults * Pure function - no side effects * * @param options - Optional custom masking options * @returns Complete masking options with defaults */ export function createMaskingOptions(options) { return { properties: DEFAULT_MASK_PROPERTIES, ...options }; } /** * Mask sensitive data in an object * Pure function wrapper around jsmasker * * @param data - Data object potentially containing sensitive information * @param options - Optional masking options * @returns Object with sensitive data masked */ export function maskSensitive(data, options) { const maskingOptions = createMaskingOptions(options); const masker = maskObject; return masker(data, maskingOptions); }