Multi-Step AJAX innerHTML

Fingerprint stability test: form body replaced via innerHTML on each step transition

Test Info

Technique: Only the current step's fields exist in the DOM. When the user clicks "Next", the form's inner HTML is completely replaced with the next step's fields (simulating an AJAX response from a server).

Why it matters: This is how HubSpot multi-step forms, enterprise portals, and server-rendered wizard forms work. Previous step fields are destroyed and new ones are injected.

Expected result: Hash should remain stable because the SDK caches the fingerprint on first form interaction (form_load event). Even though the DOM fields change, the cached hash is reused.

Step 1: Contact
Step 2: Company
Step 3: Details

DOM Inspector

Current Step 1
Fields in DOM 0

innerHTML Replacement Log