ExIcaoVds.Policy behaviour (ex_icao_vds v0.3.2)

Copy Markdown

Behaviour for document-level business rule checks applied after signature verification. Policies are separate from cryptographic validity.

Examples: document not expired, status is :active, issuing authority is in the accepted list, profile version is still supported.

Summary

Callbacks

Run business-rule checks on the decoded features and header.

Types

policy_result()

@type policy_result() :: %{rule: atom(), passed?: boolean(), message: String.t()}

Callbacks

check(features, header, opts)

@callback check(
  features :: [ExIcaoVds.Feature.t()],
  header :: ExIcaoVds.Header.t(),
  opts :: keyword()
) :: {:ok, [policy_result()]} | {:error, ExIcaoVds.Error.t()}

Run business-rule checks on the decoded features and header.