Rendro.Audit behaviour (Rendro v0.2.0)

Copy Markdown View Source

Behavior for rendering audit trails and lifecycle telemetry.

Defines the contract for persisting or forwarding Rendro render events (starts, stops, exceptions) to external systems (e.g. Threadline, logs) without coupling core rendering logic to those systems.

Summary

Types

Audit metadata map. Keys mirror Rendro telemetry metadata.

Stable identifier for a single render invocation

Callbacks

Records a render lifecycle event in the audit backend.

Functions

Removes reserved password-related keys from metadata before it crosses an audit boundary.

Types

metadata()

@type metadata() :: %{optional(atom()) => term()}

Audit metadata map. Keys mirror Rendro telemetry metadata.

render_id()

@type render_id() :: String.t()

Stable identifier for a single render invocation

Callbacks

track_render(render_id, metadata)

@callback track_render(render_id(), metadata()) :: :ok | {:error, term()}

Records a render lifecycle event in the audit backend.

Returns :ok on success. Returns {:error, reason} on failure; callers should NOT raise — audit failures must not break the render pipeline.

Functions

scrub_metadata(metadata)

@spec scrub_metadata(metadata()) :: metadata()

Removes reserved password-related keys from metadata before it crosses an audit boundary.