Skip to main content
Version: 0.10.0

Function: createPrivacyFilter()

createPrivacyFilter<Label>(config, runtime?): Promise<PrivacyFilter<Label>>

Defined in: extensions/nlp/tasks/privacyFilter.ts:129

Creates a privacy filter runner that detects personally identifiable information (PII) spans in text.

It loads the tokenizer and model, validates the forward signature against the configured label space, pre-computes the BIOES grammar tables, and registers clean disposal hooks to clear all native memory.

Works with any privacy-filter-style model exporting forward(input_ids, attention_mask) -> logits over a BIOES label space. Inputs longer than the model's exported window are processed in sliding windows with 50% overlap and never truncated; predictions near a window's edges are discarded in favor of the neighboring window's more centered context.

Type Parameters​

Label​

Label extends string

The model's BIOES label space.

Parameters​

config​

PrivacyFilterModel<Label>

Privacy filter task configuration containing the model and tokenizer paths plus the label space options. See PrivacyFilterModel.

runtime?​

WorkletRuntime

Optional worklet runtime thread on which to run the model execution.

Returns​

Promise<PrivacyFilter<Label>>

A promise resolving to the instantiated PrivacyFilter runner.

Throws​

With code INVALID_ARGUMENT if labelNames is empty or does not start with 'O', LOAD_FAILED if the model or tokenizer fails to load, or SCHEMA_MISMATCH if the loaded model schema does not match the privacy filter specification.