UNPKG

octocode-data-masker

Version:

A TypeScript library for masking sensitive data in strings, including PII, tokens, API keys, and more

63 lines (58 loc) 1.63 kB
type PatternName = string; interface MaskResult { output: string; found: { [name: string]: number; }; matches: string[]; masked: string[]; } interface MaskingOptions { maskChar?: string; preserveLength?: boolean; maskPercentage?: number; excludePatterns?: PatternName[]; onlyPatterns?: PatternName[]; matchAccuracy?: 'high' | 'medium' | 'low'; } /** * Masks sensitive content in a string */ declare function mask(input: string, options?: MaskingOptions): MaskResult; /** * Check if input contains sensitive data */ declare function hasSensitiveContent(input: string, options?: { matchAccuracy?: 'high' | 'medium' | 'low'; excludePatterns?: PatternName[]; onlyPatterns?: PatternName[]; }): boolean; /** * Get pattern matches with positions */ declare function getPatternMatches(input: string, options?: { matchAccuracy?: 'high' | 'medium' | 'low'; excludePatterns?: PatternName[]; onlyPatterns?: PatternName[]; }): Array<{ pattern: string; matches: Array<{ match: string; startIndex: number; endIndex: number; }>; }>; interface SensitiveDataPattern { name: string; description: string; regex: RegExp; isGeneralId?: boolean; fileContext?: RegExp; matchAccuracy?: 'high' | 'medium' | 'low'; } declare const regexPatterns: { all: SensitiveDataPattern[]; }; declare const sensitiveFilePatterns: SensitiveDataPattern[]; export { getPatternMatches, hasSensitiveContent, mask, regexPatterns, sensitiveFilePatterns }; export type { MaskResult, MaskingOptions, SensitiveDataPattern };