added client-side helpers to determine `natural_key` based on metadata