Obscura (obscura v0.1.0)

Copy Markdown View Source

Obscura is a library-first privacy toolkit for Elixir.

Public APIs return explicit success or error tuples.

Summary

Functions

Analyzes a string for supported PII entities.

Analyzes multiple strings while preserving input order.

Applies anonymization operators to analyzer results or fixture-compatible spans.

Analyzes and anonymizes a string in one call.

Rehydrates vault-backed pseudonym tokens in strings or supported structured data.

Functions

analyze(text, opts \\ [])

@spec analyze(
  String.t(),
  keyword()
) :: {:ok, [Obscura.Analyzer.Result.t()]} | {:error, term()}

Analyzes a string for supported PII entities.

analyze_many(texts, opts \\ [])

@spec analyze_many(
  [String.t()],
  keyword()
) :: {:ok, [[Obscura.Analyzer.Result.t()]]} | {:error, term()}

Analyzes multiple strings while preserving input order.

anonymize(text, analyzer_results, opts \\ [])

@spec anonymize(String.t(), [map() | struct()], keyword()) ::
  {:ok, Obscura.Anonymizer.Result.t()} | {:error, term()}

Applies anonymization operators to analyzer results or fixture-compatible spans.

redact(input, opts \\ [])

@spec redact(
  String.t(),
  keyword()
) :: {:ok, Obscura.Anonymizer.Result.t()} | {:error, term()}

Analyzes and anonymizes a string in one call.

rehydrate(input, opts \\ [])

@spec rehydrate(
  term(),
  keyword()
) :: {:ok, term()} | {:error, term()}

Rehydrates vault-backed pseudonym tokens in strings or supported structured data.