Boundary for best-effort browser launch in interactive OAuth flows.
@callback open(String.t(), keyword()) :: :ok | {:error, term()}