UNPKG

humanbehavior-js

Version:

SDK for HumanBehavior session and event recording

88 lines 2.87 kB
export interface RedactionOptions { redactedText?: string; excludeSelectors?: string[]; userFields?: string[]; redactionStrategy?: { mode: 'privacy-first' | 'visibility-first'; unredactFields?: string[]; redactFields?: string[]; }; legacyRedactFields?: string[]; } export declare class RedactionManager { private redactedText; private unredactedFields; private redactedFields; private redactionMode; private excludeSelectors; constructor(options?: RedactionOptions); /** * Set specific fields to be redacted (for visibility-first mode) * @param fields Array of CSS selectors for fields to redact */ setFieldsToRedact(fields: string[]): void; /** * Set specific fields to be unredacted (everything else stays redacted by rrweb) * @param fields Array of CSS selectors for fields to unredact */ setFieldsToUnredact(fields: string[]): void; /** * Remove specific fields from unredaction (they become redacted again) * @param fields Array of CSS selectors for fields to redact */ redactFields(fields: string[]): void; /** * Clear all unredacted fields (everything becomes redacted again) */ clearUnredactedFields(): void; /** * Check if any fields are currently unredacted */ hasUnredactedFields(): boolean; /** * Get the current redaction mode */ getRedactionMode(): 'privacy-first' | 'visibility-first'; /** * Get the currently unredacted fields */ getUnredactedFields(): string[]; /** * Get CSS selectors for rrweb masking configuration * Returns null if no fields are unredacted (everything stays redacted) */ getMaskTextSelector(): string | null; /** * Apply redaction classes to DOM elements (for visibility-first mode) * Adds 'rr-mask' class to elements that should be redacted */ applyRedactionClasses(): void; /** * Apply unredaction classes to DOM elements * Removes 'rr-mask' class from elements that should be unredacted */ applyUnredactionClasses(): void; /** * Remove all unredaction classes from DOM elements */ removeUnredactionClasses(): void; /** * Check if a selector represents a password field */ private isPasswordSelector; /** * Get the original value of an element (for debugging) */ getOriginalValue(element: HTMLElement): string | undefined; /** * Check if an element is currently unredacted */ isElementUnredacted(element: HTMLElement): boolean; /** * Check if an element should be unredacted */ shouldUnredactElement(element: HTMLElement): boolean; } export declare const redactionManager: RedactionManager; export default RedactionManager; //# sourceMappingURL=redact.d.ts.map