# obscura v0.2.0 - Table of Contents ## Pages - [spaCy CPU (Experimental)](spacy-cpu.md) - [Efficient CPU profile](efficient.md) - Start Here - [Obscura](readme.md) - [Product Profiles](profiles.md) - [Public API Stability](public-api-stability.md) - [Security Threat Model](security-threat-model.md) - [Anonymizer Operators](operators.md) - [Third-Party Dependency And Model Asset Review](model-asset-licensing.md) - [Authoritative Benchmark Status](benchmark-status.md) - [Known Limitations](known-limitations.md) - Operations - [Optional Dependencies and Assets](optional-dependencies-and-assets.md) - [Runtime Diagnostics](runtime-diagnostics.md) - Guides - [CLI](cli.md) - [Recognizers](recognizers.md) - [Model-Backed Recognition](model-backed-recognition.md) - [Language Detection](language-detection.md) - [Context Enhancement](context-enhancement.md) - [Structured Redaction](structured-redaction.md) - [Vaults](vaults.md) - [Pseudonymization](pseudonymization.md) - [Rehydration](rehydration.md) - [LLM Workflows](llm-workflows.md) - [Streaming Rehydration](streaming-rehydration.md) - [Logger and Plug Helpers](logger-and-plug.md) - [Telemetry](telemetry.md) ## Modules - [Obscura](Obscura.md): Obscura is a library-first privacy toolkit for Elixir. - [Obscura.Analyzer](Obscura.Analyzer.md): String analyzer facade for Obscura recognizers. - [Obscura.Analyzer.Explanation](Obscura.Analyzer.Explanation.md): Basic recognizer explanation for deterministic decisions. - [Obscura.Analyzer.Result](Obscura.Analyzer.Result.md): Normalized analyzer result. - [Obscura.Anonymizer](Obscura.Anonymizer.md): String anonymizer facade for validated operators. - [Obscura.Anonymizer.Item](Obscura.Anonymizer.Item.md): Metadata for one anonymization replacement. - [Obscura.Anonymizer.Result](Obscura.Anonymizer.Result.md): Result of an anonymization run. - [Obscura.Capabilities](Obscura.Capabilities.md): Machine-readable optional dependency and model asset contracts. - [Obscura.Diagnostic](Obscura.Diagnostic.md): Structured, report-safe diagnostic returned by optional runtime setup paths. - [Obscura.LLM](Obscura.LLM.md): Provider-independent LLM message redaction and rehydration helpers. - [Obscura.Language](Obscura.Language.md): Safe language normalization for analyzer options. - [Obscura.Language.Detector](Obscura.Language.Detector.md): Behaviour for optional language detectors. - [Obscura.Logger](Obscura.Logger.md): Logger-safe helpers for redacting terms before applications log them. - [Obscura.NLP.Artifacts](Obscura.NLP.Artifacts.md): Dependency-light NLP artifacts for analyzer scoring. - [Obscura.NLP.Engine](Obscura.NLP.Engine.md): Behaviour and dispatcher for analyzer-level NLP artifact engines. - [Obscura.NLP.Engine.Bumblebee](Obscura.NLP.Engine.Bumblebee.md): Optional analyzer-level NLP engine for Bumblebee token-classification serving. - [Obscura.Operator.Custom](Obscura.Operator.Custom.md): Behaviour and guarded runtime for application-defined anonymizer operators. - [Obscura.Operator.Hash](Obscura.Operator.Hash.md): Versioned salted hashing for anonymizer replacements. - [Obscura.Phoenix.ChannelLogger](Obscura.Phoenix.ChannelLogger.md): Privacy-safe logging for Phoenix channel joins and incoming events. - [Obscura.Phoenix.Logger](Obscura.Phoenix.Logger.md): Privacy-safe Phoenix request logging backed by redacted Plug assigns. - [Obscura.Phoenix.Plug](Obscura.Phoenix.Plug.md): Plug-compatible request sanitization helper. - [Obscura.Phoenix.SocketLogger](Obscura.Phoenix.SocketLogger.md): Privacy-safe logging for Phoenix socket connection and drain events. - [Obscura.PrivacyFilter.Checkpoint](Obscura.PrivacyFilter.Checkpoint.md): Validation helpers for local native privacy-filter checkpoints. - [Obscura.PrivacyFilter.Checkpoint.Setup](Obscura.PrivacyFilter.Checkpoint.Setup.md): Development setup helper for local native privacy-filter checkpoints. - [Obscura.PrivacyFilter.Serving](Obscura.PrivacyFilter.Serving.md): Reusable native privacy-filter serving runtime. - [Obscura.Profile](Obscura.Profile.md): Product profiles and runtime requirement checks. - [Obscura.Profile.Preparer](Obscura.Profile.Preparer.md): Supervised asynchronous preparation and ownership of a reusable profile runtime. - [Obscura.Profile.Runtime](Obscura.Profile.Runtime.md): Explicit reusable runtime resources for product profiles. - [Obscura.Recognizer](Obscura.Recognizer.md): Behaviour for Obscura recognizers. - [Obscura.Recognizer.GLiNER](Obscura.Recognizer.GLiNER.md): Optional GLiNER recognizer facade. - [Obscura.Recognizer.GLiNER.Native](Obscura.Recognizer.GLiNER.Native.md): Experimental native Nx/Emily serving for the pinned Urchade GLiNER model. - [Obscura.Recognizer.GLiNER.Ortex](Obscura.Recognizer.GLiNER.Ortex.md): Optional Ortex-backed serving for GLiNER span models. - [Obscura.Recognizer.NER](Obscura.Recognizer.NER.md): Explicit NER recognizer for open-class entities. - [Obscura.Recognizer.NER.FakeServing](Obscura.Recognizer.NER.FakeServing.md): Deterministic fake NER serving used by fixtures and tests. - [Obscura.Recognizer.NER.ModelSpec](Obscura.Recognizer.NER.ModelSpec.md): Normalized configuration for an optional local NER model. - [Obscura.Recognizer.NER.Serving](Obscura.Recognizer.NER.Serving.md): Optional Nx/Bumblebee serving builder for local token-classification models. - [Obscura.Recognizer.PatternDefinition](Obscura.Recognizer.PatternDefinition.md): Data-backed custom pattern recognizer definition. - [Obscura.Recognizer.Phone.ExPhoneNumberValidator](Obscura.Recognizer.Phone.ExPhoneNumberValidator.md): Optional `ex_phone_number` validator for parser-backed phone recognition. - [Obscura.Recognizer.PrivacyFilter.Native](Obscura.Recognizer.PrivacyFilter.Native.md): Optional native privacy-filter recognizer. - [Obscura.Recognizer.Spacy](Obscura.Recognizer.Spacy.md): Experimental pinned spaCy NER recognizer using a prepared native CPU pool. - [Obscura.Redactable](Obscura.Redactable.md): Protocol for application data that can define its own Obscura redaction policy. - [Obscura.Rehydrator](Obscura.Rehydrator.md): Rehydrates vault tokens in strings. - [Obscura.Rehydrator.Structured](Obscura.Rehydrator.Structured.md): Structured data rehydration for vault tokens. - [Obscura.Spacy.Serving](Obscura.Spacy.Serving.md): Experimental, locally prepared macOS/Linux spaCy CPU pool. - [Obscura.Stream.Rehydrator](Obscura.Stream.Rehydrator.md): Streaming-safe vault token rehydration. - [Obscura.Structured](Obscura.Structured.md): Public structured data redaction API. - [Obscura.Structured.Item](Obscura.Structured.Item.md): Redaction metadata for one structured data leaf. - [Obscura.Structured.Result](Obscura.Structured.Result.md): Result of a structured redaction run. - [Obscura.Tiktoken](Obscura.Tiktoken.md): Tiktoken-compatible byte-pair encodings used by Obscura. - [Obscura.Tiktoken.Encoding](Obscura.Tiktoken.Encoding.md): A tiktoken-compatible byte-pair encoding. - [Obscura.Vault](Obscura.Vault.md): Facade for reversible pseudonymization vault backends. - [Obscura.Vault.Backend](Obscura.Vault.Backend.md): Behaviour for optional vault backends. - [Obscura.Vault.ETS](Obscura.Vault.ETS.md): Session-scoped ETS-backed vault. - [Obscura.Vault.Entry](Obscura.Vault.Entry.md): One reversible pseudonymization mapping. - [Obscura.Vault.Memory](Obscura.Vault.Memory.md): Session-scoped in-memory vault. - Exceptions - [Obscura.Anonymizer.Error](Obscura.Anonymizer.Error.md): Structured, value-safe anonymizer operator error. ## Mix Tasks - [mix obscura.detect](Mix.Tasks.Obscura.Detect.md): Detects PII in a file or stdin using Obscura. - [mix obscura.docs.verify](Mix.Tasks.Obscura.Docs.Verify.md): Verifies local links in repository Markdown files. - [mix obscura.efficient.install](Mix.Tasks.Obscura.Efficient.Install.md): Provisions the versioned, verified assets for the `:efficient` CPU profile. - [mix obscura.ner.smoke](Mix.Tasks.Obscura.Ner.Smoke.md): Runs opt-in real local NER model smoke validation. - [mix obscura.operational.benchmark](Mix.Tasks.Obscura.Operational.Benchmark.md): Runs authoritative operational benchmarks for measured product profiles. - [mix obscura.operational.promote](Mix.Tasks.Obscura.Operational.Promote.md): Promotes one complete operational report into its separate manifest. - [mix obscura.operational.soak](Mix.Tasks.Obscura.Operational.Soak.md): Runs one long-duration operational soak. - [mix obscura.operational.soak.promote](Mix.Tasks.Obscura.Operational.Soak.Promote.md): Promotes one complete soak report into the separate soak manifest. - [mix obscura.operational.soak.verify](Mix.Tasks.Obscura.Operational.Soak.Verify.md): Verifies the authoritative soak manifest and promoted artifact hashes. - [mix obscura.operational.verify](Mix.Tasks.Obscura.Operational.Verify.md): Verifies operational manifest structure and promoted report hashes. - [mix obscura.privacy_filter.checkpoint](Mix.Tasks.Obscura.PrivacyFilter.Checkpoint.md): Validates a local native privacy-filter checkpoint. - [mix obscura.privacy_filter.setup](Mix.Tasks.Obscura.PrivacyFilter.Setup.md): Downloads a local native privacy-filter checkpoint and validates it. - [mix obscura.profile.check](Mix.Tasks.Obscura.Profile.Check.md): Checks whether an Obscura product profile is ready. - [mix obscura.profile.prepare](Mix.Tasks.Obscura.Profile.Prepare.md): Explicitly prepares and validates a reusable Obscura profile runtime. - [mix obscura.redact](Mix.Tasks.Obscura.Redact.md): Redacts PII in a file or stdin using Obscura. - [mix obscura.spacy.build](Mix.Tasks.Obscura.Spacy.Build.md): Explicitly builds the pinned spaCy CPU executable for the current host.