Sigra.Audit.Cursor (Sigra v0.2.3)

Copy Markdown View Source

Base64URL cursor encoding for audit log pagination (D-13).

Format: Base64URL("<inserted_at_usec>|<uuid>") — no padding, no signing. Cursors carry only timestamp + id, so tampering only shifts the pagination window; no sensitive data is disclosed.

Summary

Functions

decode(cursor)

@spec decode(binary() | nil) ::
  {:ok, {DateTime.t(), binary()}} | {:error, :invalid_cursor}

encode(dt, id)

@spec encode(DateTime.t(), binary()) :: String.t()