Step 1 of 3 — Each step is a separate page load with different fields
Technique: Each step is a completely separate HTML page. Clicking "Next" navigates to a new URL, causing a full page reload. This is how traditional server-rendered multi-step forms work (PHP, Rails, Django, classic WordPress).
Why it matters: The SDK's fingerprint cache is an in-memory Map that is wiped on every page load. Each page has different fields, so each step will produce a different sh.
Expected result: The sh WILL be different on each step. This is a known limitation — the cache cannot survive page navigation. Each step's form is fingerprinted independently.
sh will be recomputed from whatever fields exist on this page. Compare sh values across Step 1, Step 2, and Step 3 in Preview — they will likely differ.