Skip to main content

lib/application/features/masking/masking_config.ex

defmodule EcsElixirCore.Application.Features.Masking.MaskingConfig do
  @moduledoc """
  Configuration for the masking feature.

  Masking allows sensitive fields in logs to be redacted before emission.
  This module is a placeholder — the feature is not yet implemented.

  ## Configuration

      config :ecs_elixir_core,
        masking_enabled: true,
        masking_fields: ["authorization", "password", "token"]
  """

  @app :ecs_elixir_core

  @doc "Returns true if the masking feature is enabled."
  @spec enabled?() :: boolean()
  def enabled? do
    Application.get_env(@app, :masking_enabled, false)
  end

  @doc "Returns the list of field names to be masked."
  @spec masked_fields() :: [String.t()]
  def masked_fields do
    Application.get_env(@app, :masking_fields, [])
  end
end