# obscura v0.1.0 - Table of Contents

## Pages

- 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.Plug](Obscura.Phoenix.Plug.md): Plug-compatible request sanitization helper.

- [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.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.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.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.

