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 +57 -1
- package/dist/index.d.ts +112 -22
- package/dist/index.js +650 -223
- package/dist/index.mjs +592 -180
- package/package.json +12 -27
- package/dist/HealthCheck-A5OD4ATR.mjs +0 -12
- package/dist/HealthCheck-A5OD4ATR.mjs.map +0 -1
- package/dist/chunk-7OGNW2MU.mjs +0 -1701
- package/dist/chunk-7OGNW2MU.mjs.map +0 -1
- package/dist/chunk-MYYLGNXS.mjs +0 -149
- package/dist/chunk-MYYLGNXS.mjs.map +0 -1
- package/dist/chunk-WMJKH4XE.mjs +0 -34
- package/dist/chunk-WMJKH4XE.mjs.map +0 -1
- package/dist/chunk-ZRHGDEPC.mjs +0 -297
- package/dist/chunk-ZRHGDEPC.mjs.map +0 -1
- package/dist/cli/test-pattern.js +0 -430
- package/dist/document-AOMZP7UR.mjs +0 -26
- package/dist/document-AOMZP7UR.mjs.map +0 -1
- package/dist/index.cli.js +0 -15093
- package/dist/index.d.mts +0 -4111
- package/dist/index.js.map +0 -1
- package/dist/index.mjs.map +0 -1
- package/dist/workers-RMN5POM6.mjs +0 -10
- package/dist/workers-RMN5POM6.mjs.map +0 -1
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,
|
|
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?:
|
|
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
|
-
|
|
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 };
|