openredaction 1.0.0 → 1.0.8

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -20,6 +20,62 @@ console.log(result.redacted);
20
20
  // "Email [EMAIL_9619] or call [PHONE_UK_MOBILE_9478]"
21
21
  ```
22
22
 
23
+ ## Optional AI Assist
24
+
25
+ OpenRedaction supports an optional AI-assisted detection mode that enhances regex-based detection by calling a hosted AI endpoint. This feature is **OFF by default** and requires explicit configuration.
26
+
27
+ ### Configuration
28
+
29
+ ```typescript
30
+ import { OpenRedaction } from 'openredaction';
31
+
32
+ const detector = new OpenRedaction({
33
+ // ... other options ...
34
+ ai: {
35
+ enabled: true,
36
+ endpoint: 'https://your-api.example.com' // Optional: defaults to OPENREDACTION_AI_ENDPOINT env var
37
+ }
38
+ });
39
+
40
+ // detect() is now async when AI is enabled
41
+ const result = await detector.detect('Contact John Doe at john@example.com');
42
+ ```
43
+
44
+ ### How It Works
45
+
46
+ 1. **Regex Detection First**: The library always runs regex detection first (existing behavior)
47
+ 2. **AI Enhancement**: If `ai.enabled === true` and an endpoint is configured, the library calls the `/ai-detect` endpoint
48
+ 3. **Smart Merging**: AI entities are merged with regex detections, with regex taking precedence on conflicts
49
+ 4. **Graceful Fallback**: If the AI endpoint fails or is unavailable, the library silently falls back to regex-only detection
50
+
51
+ ### Environment Variables
52
+
53
+ In Node.js environments, you can set the endpoint via environment variable:
54
+
55
+ ```bash
56
+ export OPENREDACTION_AI_ENDPOINT=https://your-api.example.com
57
+ ```
58
+
59
+ ### Important Notes
60
+
61
+ - **AI is optional**: The library works exactly as before when `ai.enabled` is `false` or omitted
62
+ - **Regex is primary**: AI only adds additional entities; regex detections always take precedence
63
+ - **No breaking changes**: When AI is disabled, behavior is identical to previous versions
64
+ - **Browser support**: In browsers, you must provide an explicit `ai.endpoint` (env vars not available)
65
+ - **Network dependency**: AI mode requires network access to the endpoint
66
+
67
+ ### For Sensitive Workloads
68
+
69
+ For maximum security and privacy, keep AI disabled and rely purely on regex detection:
70
+
71
+ ```typescript
72
+ const detector = new OpenRedaction({
73
+ // AI not configured = pure regex detection
74
+ includeNames: true,
75
+ includeEmails: true
76
+ });
77
+ ```
78
+
23
79
  ## Documentation
24
80
 
25
81
  Full documentation available at [GitHub](https://github.com/sam247/openredaction)
@@ -33,7 +89,7 @@ Full documentation available at [GitHub](https://github.com/sam247/openredaction
33
89
  - 🧠 **Semantic Detection** - Hybrid NER + regex with 40+ contextual rules
34
90
  - 🎨 **Multiple Redaction Modes** - Placeholder, mask-middle, mask-all, format-preserving, token-replace
35
91
  - ✅ **Built-in Validators** - Luhn, IBAN, NHS, National ID checksums
36
- - 🔒 **Compliance Presets** - GDPR, HIPAA, CCPA, PCI-DSS
92
+ - 🔒 **Compliance Presets** - GDPR, HIPAA, CCPA plus finance, education, healthcare, and transport presets
37
93
  - 🎭 **Deterministic Placeholders** - Consistent redaction for same values
38
94
  - 🌍 **Global Coverage** - 50+ countries
39
95
  - 📄 **Structured Data Support** - JSON, CSV, XLSX with path/cell tracking
package/dist/index.d.ts CHANGED
@@ -87,6 +87,7 @@ type RedactionMode = 'placeholder' | 'mask-middle' | 'mask-all' | 'format-preser
87
87
  /**
88
88
  * Configuration options for OpenRedaction
89
89
  */
90
+ type PresetName = 'gdpr' | 'hipaa' | 'ccpa' | 'healthcare' | 'healthcare-provider' | 'healthcare-research' | 'finance' | 'financial-services' | 'education' | 'transport-logistics' | 'transportation' | 'logistics';
90
91
  interface OpenRedactionOptions {
91
92
  /** Include name detection (default: true) */
92
93
  includeNames?: boolean;
@@ -96,6 +97,8 @@ interface OpenRedactionOptions {
96
97
  includePhones?: boolean;
97
98
  /** Include email detection (default: true) */
98
99
  includeEmails?: boolean;
100
+ /** Pattern categories to include (e.g., ['personal', 'financial']) */
101
+ categories?: string[];
99
102
  /** Whitelist specific patterns only */
100
103
  patterns?: string[];
101
104
  /** Add custom patterns */
@@ -107,7 +110,7 @@ interface OpenRedactionOptions {
107
110
  /** Redaction mode (default: 'placeholder') */
108
111
  redactionMode?: RedactionMode;
109
112
  /** Compliance preset */
110
- preset?: 'gdpr' | 'hipaa' | 'ccpa';
113
+ preset?: PresetName;
111
114
  /** Enable context-aware detection (default: true) */
112
115
  enableContextAnalysis?: boolean;
113
116
  /** Minimum confidence threshold for detections (0-1, default: 0.5) */
@@ -146,6 +149,17 @@ interface OpenRedactionOptions {
146
149
  rbacManager?: IRBACManager;
147
150
  /** Predefined role name (admin, analyst, operator, viewer) */
148
151
  role?: RoleName;
152
+ /** Optional AI assist configuration */
153
+ ai?: AIOptions;
154
+ }
155
+ /**
156
+ * AI assist configuration options
157
+ */
158
+ interface AIOptions {
159
+ /** Enable AI assist mode (default: false) */
160
+ enabled?: boolean;
161
+ /** AI endpoint URL (defaults to OPENREDACTION_AI_ENDPOINT env var if available) */
162
+ endpoint?: string;
149
163
  }
150
164
  /**
151
165
  * Validator function type
@@ -775,29 +789,30 @@ declare class ExplainAPI {
775
789
  /**
776
790
  * Explain why text was or wasn't detected as PII
777
791
  */
778
- explain(text: string): TextExplanation;
792
+ explain(text: string): Promise<TextExplanation>;
779
793
  /**
780
794
  * Explain a specific detection
781
795
  */
782
- explainDetection(detection: PIIDetection, text: string): {
796
+ explainDetection(detection: PIIDetection, text: string): Promise<{
783
797
  detection: PIIDetection;
784
798
  pattern?: PIIPattern;
785
799
  contextAnalysis?: ContextAnalysis;
786
800
  reasoning: string[];
787
- };
801
+ suggestions: string[];
802
+ }>;
788
803
  /**
789
804
  * Suggest why text wasn't detected
790
805
  */
791
- suggestWhy(text: string, expectedType: string): {
806
+ suggestWhy(text: string, expectedType: string): Promise<{
792
807
  text: string;
793
808
  expectedType: string;
794
809
  suggestions: string[];
795
810
  similarPatterns: PIIPattern[];
796
- };
811
+ }>;
797
812
  /**
798
813
  * Get debugging information for entire detection process
799
814
  */
800
- debug(text: string): {
815
+ debug(text: string): Promise<{
801
816
  text: string;
802
817
  textLength: number;
803
818
  enabledFeatures: string[];
@@ -806,7 +821,7 @@ declare class ExplainAPI {
806
821
  performance: {
807
822
  estimatedTime: string;
808
823
  };
809
- };
824
+ }>;
810
825
  }
811
826
  /**
812
827
  * Helper to create explain API from detector
@@ -996,8 +1011,9 @@ declare class OpenRedaction {
996
1011
  private processPatterns;
997
1012
  /**
998
1013
  * Detect PII in text
1014
+ * Now async to support optional AI assist
999
1015
  */
1000
- detect(text: string): DetectionResult;
1016
+ detect(text: string): Promise<DetectionResult>;
1001
1017
  /**
1002
1018
  * Restore redacted text using redaction map
1003
1019
  */
@@ -1021,12 +1037,12 @@ declare class OpenRedaction {
1021
1037
  /**
1022
1038
  * Get severity-based scan results
1023
1039
  */
1024
- scan(text: string): {
1040
+ scan(text: string): Promise<{
1025
1041
  high: PIIDetection[];
1026
1042
  medium: PIIDetection[];
1027
1043
  low: PIIDetection[];
1028
1044
  total: number;
1029
- };
1045
+ }>;
1030
1046
  /**
1031
1047
  * Record a false positive (incorrectly detected as PII)
1032
1048
  */
@@ -1792,7 +1808,7 @@ declare class JsonProcessor {
1792
1808
  /**
1793
1809
  * Detect PII in JSON data
1794
1810
  */
1795
- detect(data: any, detector: OpenRedaction, options?: JsonProcessorOptions): JsonDetectionResult;
1811
+ detect(data: any, detector: OpenRedaction, options?: JsonProcessorOptions): Promise<JsonDetectionResult>;
1796
1812
  /**
1797
1813
  * Redact PII in JSON data
1798
1814
  */
@@ -1840,7 +1856,7 @@ declare class JsonProcessor {
1840
1856
  /**
1841
1857
  * Detect PII in JSON Lines format
1842
1858
  */
1843
- detectJsonLines(input: Buffer | string, detector: OpenRedaction, options?: JsonProcessorOptions): JsonDetectionResult[];
1859
+ detectJsonLines(input: Buffer | string, detector: OpenRedaction, options?: JsonProcessorOptions): Promise<JsonDetectionResult[]>;
1844
1860
  }
1845
1861
  /**
1846
1862
  * Create a JSON processor instance
@@ -1957,7 +1973,7 @@ declare class CsvProcessor {
1957
1973
  /**
1958
1974
  * Detect PII in CSV data
1959
1975
  */
1960
- detect(input: Buffer | string, detector: OpenRedaction, options?: CsvProcessorOptions): CsvDetectionResult;
1976
+ detect(input: Buffer | string, detector: OpenRedaction, options?: CsvProcessorOptions): Promise<CsvDetectionResult>;
1961
1977
  /**
1962
1978
  * Redact PII in CSV data
1963
1979
  */
@@ -2114,7 +2130,7 @@ declare class XlsxProcessor {
2114
2130
  /**
2115
2131
  * Detect PII in XLSX data
2116
2132
  */
2117
- detect(buffer: Buffer, detector: OpenRedaction, options?: XlsxProcessorOptions): XlsxDetectionResult;
2133
+ detect(buffer: Buffer, detector: OpenRedaction, options?: XlsxProcessorOptions): Promise<XlsxDetectionResult>;
2118
2134
  /**
2119
2135
  * Detect PII in a single sheet
2120
2136
  */
@@ -2370,6 +2386,26 @@ declare const hipaaPreset: Partial<OpenRedactionOptions>;
2370
2386
  * CCPA compliance preset - California consumer privacy
2371
2387
  */
2372
2388
  declare const ccpaPreset: Partial<OpenRedactionOptions>;
2389
+ /**
2390
+ * Healthcare operations preset - provider-centric coverage
2391
+ */
2392
+ declare const healthcarePreset: Partial<OpenRedactionOptions>;
2393
+ /**
2394
+ * Healthcare research preset - clinical research and trials
2395
+ */
2396
+ declare const healthcareResearchPreset: Partial<OpenRedactionOptions>;
2397
+ /**
2398
+ * Financial services preset - banking, trading, and payments
2399
+ */
2400
+ declare const financePreset: Partial<OpenRedactionOptions>;
2401
+ /**
2402
+ * Education preset - FERPA-style coverage for schools and universities
2403
+ */
2404
+ declare const educationPreset: Partial<OpenRedactionOptions>;
2405
+ /**
2406
+ * Transportation and logistics preset - fleet, shipping, and mobility
2407
+ */
2408
+ declare const transportLogisticsPreset: Partial<OpenRedactionOptions>;
2373
2409
  /**
2374
2410
  * Get preset configuration by name
2375
2411
  */
@@ -2770,6 +2806,7 @@ declare class StreamingDetector {
2770
2806
  overlap: number;
2771
2807
  estimatedMemory: number;
2772
2808
  };
2809
+ private escapeRegex;
2773
2810
  }
2774
2811
  /**
2775
2812
  * Helper to create a streaming detector from OpenRedaction instance
@@ -2937,7 +2974,7 @@ declare class BatchProcessor {
2937
2974
  /**
2938
2975
  * Process multiple documents sequentially
2939
2976
  */
2940
- processSequential(documents: string[], options?: BatchOptions): BatchResult;
2977
+ processSequential(documents: string[], options?: BatchOptions): Promise<BatchResult>;
2941
2978
  /**
2942
2979
  * Process multiple documents in parallel
2943
2980
  */
@@ -3004,15 +3041,15 @@ interface OpenRedactionRequest extends Request {
3004
3041
  /**
3005
3042
  * Create Express middleware for PII detection
3006
3043
  */
3007
- declare function openredactionMiddleware(options?: OpenRedactionMiddlewareOptions): (req: Request, res: Response, next: NextFunction) => void | Response<any, Record<string, any>>;
3044
+ declare function openredactionMiddleware(options?: OpenRedactionMiddlewareOptions): (req: Request, res: Response, next: NextFunction) => Promise<void | Response<any, Record<string, any>>>;
3008
3045
  /**
3009
3046
  * Express route handler for PII detection
3010
3047
  */
3011
- declare function detectPII(options?: OpenRedactionOptions): (req: Request, res: Response) => void;
3048
+ declare function detectPII(options?: OpenRedactionOptions): (req: Request, res: Response) => Promise<void>;
3012
3049
  /**
3013
3050
  * Express route handler for generating reports
3014
3051
  */
3015
- declare function generateReport(options?: OpenRedactionOptions): (req: Request, res: Response) => void;
3052
+ declare function generateReport(options?: OpenRedactionOptions): (req: Request, res: Response) => Promise<void>;
3016
3053
 
3017
3054
  /**
3018
3055
  * Hook for PII detection in React components
@@ -3032,7 +3069,7 @@ declare function generateReport(options?: OpenRedactionOptions): (req: Request,
3032
3069
  * ```
3033
3070
  */
3034
3071
  declare function useOpenRedaction(options?: OpenRedactionOptions): {
3035
- detect: (text: string) => DetectionResult;
3072
+ detect: (text: string) => Promise<DetectionResult>;
3036
3073
  result: DetectionResult | null;
3037
3074
  isDetecting: boolean;
3038
3075
  hasPII: boolean;
@@ -3095,7 +3132,7 @@ declare function useFormFieldValidator(options?: OpenRedactionOptions & {
3095
3132
  value: string;
3096
3133
  error: string | null;
3097
3134
  result: DetectionResult | null;
3098
- validate: (inputValue: string) => boolean;
3135
+ validate: (inputValue: string) => Promise<boolean>;
3099
3136
  getFieldProps: () => {
3100
3137
  value: string;
3101
3138
  'aria-invalid': string;
@@ -4108,4 +4145,57 @@ declare function validatePattern(pattern: string | RegExp): void;
4108
4145
  */
4109
4146
  declare function compileSafeRegex(pattern: string | RegExp, flags?: string): RegExp;
4110
4147
 
4111
- export { ADMIN_ROLE, ALL_PERMISSIONS, ANALYST_ROLE, type APIRequest, type APIResponse, APIServer, type APIServerConfig, type AuditBackend, type AuditDatabaseConfig, type AuditLogEntry, type AuditQueryFilter, type AuditStats, type BatchOptions, BatchProcessor, type BatchResult, type CellMatch$1 as CellMatch, type ChunkResult, type ColumnStats$1 as ColumnStats, ConfigExporter, ConfigLoader, ConsoleAuditLogger, type ContextAnalysis, type ContextFeatures, type ContextRulesConfig, ContextRulesEngine, type CsvDetectionResult, CsvProcessor, type CsvProcessorOptions, DEFAULT_DOMAIN_VOCABULARIES, DEFAULT_PROXIMITY_RULES, DEFAULT_SEVERITY_MAP, DEFAULT_TIER_QUOTAS, type DetectTask, type DetectionPass, type DetectionResult, type DocumentFormat, type DocumentMetadata, type DocumentOptions, DocumentProcessor, type DocumentResult, type DocumentTask, type DomainVocabulary, type ErrorSuggestion, ExplainAPI, type ExportedConfig, type FalsePositiveRule, GRAFANA_DASHBOARD_TEMPLATE, type HashedAuditLogEntry, type HealthCheckOptions, type HealthCheckResult, type HealthCheckStatus, HealthChecker, type HybridMatch, type IAuditDatabaseAdapter, type IAuditLogger, type IDocumentProcessor, type IMetricsCollector, type IMetricsExporter, type IOCRProcessor, type IRBACManager, type ImageFormat, InMemoryAuditLogger, InMemoryMetricsCollector, type JsonDetectionResult, JsonProcessor, type JsonProcessorOptions, type LearningData, type LearningStats, LocalLearningStore, type MultiPassStats, NERDetector, type NEREntityType, type NERMatch, type OCRLanguage, type OCROptions, OCRProcessor, type OCRResult, OPERATOR_ROLE, OpenRedaction, type OpenRedactionConfig, OpenRedactionError, type OpenRedactionMiddlewareOptions, type OpenRedactionOptions, type OpenRedactionRequest, type OptimizerOptions, type PIIDetection, type PIIMatch, type PIIPattern, type PatternAdjustment, type PatternMatchResult, type PatternStats, type Permission, PersistentAuditLogger, type PersistentAuditLoggerOptions, PriorityOptimizer, PrometheusServer, type PrometheusServerOptions, type ProximityRule, RBACManager, type RedactionMetrics, type RedactionMode, RegexMaxMatchesError, RegexTimeoutError, type ReportFormat, ReportGenerator, type ReportOptions, type ReportType, type RetentionPolicy, type RiskScore, type Role, type RoleName, SEVERITY_SCORES, type SafeRegexOptions, type SeverityClassification, SeverityClassifier, type SeverityLevel, type SheetDetectionResult, StreamingDetector, type StreamingOptions, type TenantConfig, TenantManager, TenantNotFoundError, TenantQuotaExceededError, type TenantQuotas, TenantSuspendedError, type TenantUsage, type TextExplanation, VIEWER_ROLE, type Validator, type WebhookConfig, type WebhookDelivery, type WebhookDeliveryStatus, type WebhookEvent, type WebhookEventType, WebhookManager, type WebhookStats, type WhitelistEntry, WorkerPool, type WorkerPoolConfig, type WorkerPoolStats, type WorkerResult, type WorkerTask, type XlsxDetectionResult, XlsxProcessor, type XlsxProcessorOptions, allPatterns, analyzeContextFeatures, analyzeFullContext, calculateContextConfidence, calculateRisk, ccpaPreset, commonFalsePositives, compileSafeRegex, contactPatterns, createAPIServer, createBatchProcessor, createCacheDisabledError, createConfigLoadError, createConfigPreset, createContextRulesEngine, createCsvProcessor, createCustomRole, createDocumentProcessor, createExplainAPI, createHealthChecker, createHighMemoryError, createInvalidPatternError, createJsonProcessor, createLearningDisabledError, createMultiPassDisabledError, createNERDetector, createOCRProcessor, createOptimizationDisabledError, createPersistentAuditLogger, createPriorityOptimizer, createPrometheusServer, createRBACManager, createReportGenerator, createSeverityClassifier, createSimpleMultiPass, createStreamingDetector, createTenantManager, createValidationError, createWebhookManager, createWorkerPool, createXlsxProcessor, defaultPasses, detectPII, exportForVersionControl, extractContext, filterFalsePositives, financialPatterns, gdprPreset, generateReport, getPatternsByCategory, getPredefinedRole, getPreset, getSeverity, governmentPatterns, groupPatternsByPass, healthCheckMiddleware, hipaaPreset, inferDocumentType, isFalsePositive, isUnsafePattern, mergePassDetections, networkPatterns, openredactionMiddleware, personalPatterns, safeExec, safeExecAll, useAutoRedact, useBatchDetector, useFormFieldValidator, useOpenRedaction, usePIIDetector, validateEmail, validateIBAN, validateLuhn, validateNHS, validateNINO, validateName, validatePattern, validateSSN, validateSortCode, validateUKPassport, verifyWebhookSignature };
4148
+ /**
4149
+ * AI Assist utilities for enhanced PII detection
4150
+ * Calls the hosted OpenRedaction AI endpoint to get additional entities
4151
+ */
4152
+
4153
+ /**
4154
+ * AI endpoint response entity structure
4155
+ */
4156
+ interface AIEntity {
4157
+ type: string;
4158
+ value: string;
4159
+ start: number;
4160
+ end: number;
4161
+ confidence?: number;
4162
+ }
4163
+ /**
4164
+ * AI endpoint response structure
4165
+ */
4166
+ interface AIResponse {
4167
+ entities: AIEntity[];
4168
+ aiUsed: boolean;
4169
+ }
4170
+ /**
4171
+ * Get the AI endpoint URL from options or environment
4172
+ */
4173
+ declare function getAIEndpoint(aiOptions?: {
4174
+ enabled?: boolean;
4175
+ endpoint?: string;
4176
+ }): string | null;
4177
+ /**
4178
+ * Call the AI endpoint to get additional PII entities
4179
+ * Returns null if AI is disabled, endpoint unavailable, or on error
4180
+ */
4181
+ declare function callAIDetect(text: string, endpoint: string, debug?: boolean): Promise<AIEntity[] | null>;
4182
+ /**
4183
+ * Validate an AI entity
4184
+ */
4185
+ declare function validateAIEntity(entity: AIEntity, textLength: number): boolean;
4186
+ /**
4187
+ * Check if two detections overlap significantly
4188
+ * Returns true if they overlap by more than 50% of the shorter detection
4189
+ */
4190
+ declare function detectionsOverlap(det1: PIIDetection, det2: PIIDetection): boolean;
4191
+ /**
4192
+ * Convert AI entity to PIIDetection format
4193
+ */
4194
+ declare function convertAIEntityToDetection(entity: AIEntity, text: string): PIIDetection | null;
4195
+ /**
4196
+ * Merge AI entities with regex detections
4197
+ * Prefers regex detections on conflicts
4198
+ */
4199
+ declare function mergeAIEntities(regexDetections: PIIDetection[], aiEntities: AIEntity[], text: string): PIIDetection[];
4200
+
4201
+ export { ADMIN_ROLE, type AIEntity, type AIOptions, type AIResponse, ALL_PERMISSIONS, ANALYST_ROLE, type APIRequest, type APIResponse, APIServer, type APIServerConfig, type AuditBackend, type AuditDatabaseConfig, type AuditLogEntry, type AuditQueryFilter, type AuditStats, type BatchOptions, BatchProcessor, type BatchResult, type CellMatch$1 as CellMatch, type ChunkResult, type ColumnStats$1 as ColumnStats, ConfigExporter, ConfigLoader, ConsoleAuditLogger, type ContextAnalysis, type ContextFeatures, type ContextRulesConfig, ContextRulesEngine, type CsvDetectionResult, CsvProcessor, type CsvProcessorOptions, DEFAULT_DOMAIN_VOCABULARIES, DEFAULT_PROXIMITY_RULES, DEFAULT_SEVERITY_MAP, DEFAULT_TIER_QUOTAS, type DetectTask, type DetectionPass, type DetectionResult, type DocumentFormat, type DocumentMetadata, type DocumentOptions, DocumentProcessor, type DocumentResult, type DocumentTask, type DomainVocabulary, type ErrorSuggestion, ExplainAPI, type ExportedConfig, type FalsePositiveRule, GRAFANA_DASHBOARD_TEMPLATE, type HashedAuditLogEntry, type HealthCheckOptions, type HealthCheckResult, type HealthCheckStatus, HealthChecker, type HybridMatch, type IAuditDatabaseAdapter, type IAuditLogger, type IDocumentProcessor, type IMetricsCollector, type IMetricsExporter, type IOCRProcessor, type IRBACManager, type ImageFormat, InMemoryAuditLogger, InMemoryMetricsCollector, type JsonDetectionResult, JsonProcessor, type JsonProcessorOptions, type LearningData, type LearningStats, LocalLearningStore, type MultiPassStats, NERDetector, type NEREntityType, type NERMatch, type OCRLanguage, type OCROptions, OCRProcessor, type OCRResult, OPERATOR_ROLE, OpenRedaction, type OpenRedactionConfig, OpenRedactionError, type OpenRedactionMiddlewareOptions, type OpenRedactionOptions, type OpenRedactionRequest, type OptimizerOptions, type PIIDetection, type PIIMatch, type PIIPattern, type PatternAdjustment, type PatternMatchResult, type PatternStats, type Permission, PersistentAuditLogger, type PersistentAuditLoggerOptions, type PresetName, PriorityOptimizer, PrometheusServer, type PrometheusServerOptions, type ProximityRule, RBACManager, type RedactionMetrics, type RedactionMode, RegexMaxMatchesError, RegexTimeoutError, type ReportFormat, ReportGenerator, type ReportOptions, type ReportType, type RetentionPolicy, type RiskScore, type Role, type RoleName, SEVERITY_SCORES, type SafeRegexOptions, type SeverityClassification, SeverityClassifier, type SeverityLevel, type SheetDetectionResult, StreamingDetector, type StreamingOptions, type TenantConfig, TenantManager, TenantNotFoundError, TenantQuotaExceededError, type TenantQuotas, TenantSuspendedError, type TenantUsage, type TextExplanation, VIEWER_ROLE, type Validator, type WebhookConfig, type WebhookDelivery, type WebhookDeliveryStatus, type WebhookEvent, type WebhookEventType, WebhookManager, type WebhookStats, type WhitelistEntry, WorkerPool, type WorkerPoolConfig, type WorkerPoolStats, type WorkerResult, type WorkerTask, type XlsxDetectionResult, XlsxProcessor, type XlsxProcessorOptions, allPatterns, analyzeContextFeatures, analyzeFullContext, calculateContextConfidence, calculateRisk, callAIDetect, ccpaPreset, commonFalsePositives, compileSafeRegex, contactPatterns, convertAIEntityToDetection, createAPIServer, createBatchProcessor, createCacheDisabledError, createConfigLoadError, createConfigPreset, createContextRulesEngine, createCsvProcessor, createCustomRole, createDocumentProcessor, createExplainAPI, createHealthChecker, createHighMemoryError, createInvalidPatternError, createJsonProcessor, createLearningDisabledError, createMultiPassDisabledError, createNERDetector, createOCRProcessor, createOptimizationDisabledError, createPersistentAuditLogger, createPriorityOptimizer, createPrometheusServer, createRBACManager, createReportGenerator, createSeverityClassifier, createSimpleMultiPass, createStreamingDetector, createTenantManager, createValidationError, createWebhookManager, createWorkerPool, createXlsxProcessor, defaultPasses, detectPII, detectionsOverlap, educationPreset, exportForVersionControl, extractContext, filterFalsePositives, financePreset, financialPatterns, gdprPreset, generateReport, getAIEndpoint, getPatternsByCategory, getPredefinedRole, getPreset, getSeverity, governmentPatterns, groupPatternsByPass, healthCheckMiddleware, healthcarePreset, healthcareResearchPreset, hipaaPreset, inferDocumentType, isFalsePositive, isUnsafePattern, mergeAIEntities, mergePassDetections, networkPatterns, openredactionMiddleware, personalPatterns, safeExec, safeExecAll, transportLogisticsPreset, useAutoRedact, useBatchDetector, useFormFieldValidator, useOpenRedaction, usePIIDetector, validateAIEntity, validateEmail, validateIBAN, validateLuhn, validateNHS, validateNINO, validateName, validatePattern, validateSSN, validateSortCode, validateUKPassport, verifyWebhookSignature };