Autosave can save typing and still surprise a customer on a shared device. Before adding it to a multi-step brief, agree which fields may be retained, for how long and under which form version. A convenient resume button should not silently restore outdated choices or sensitive attachments.
Who should use this acceptance brief
Businesses collecting longer non-sensitive project briefs. Use this as a scoped website handover task. Where real system evidence is required, teaching examples are not a substitute.
Source-bound platform fact
sessionStorage is scoped to origin and a tab’s page session and can survive reloads. It is not a custom expiry mechanism or an access-control boundary. MDN: sessionStorage · Checked 16 October 2026.
Filled teaching example
Synthetic example, not a client case. Finite inputs, expected decisions and counterexamples follow; no live integration is claimed.
On narrow screens, scroll to read the complete table.
| Input / case | Check basis | Expected decision |
|---|---|---|
| version2, age10min, TTL30min | current non-sensitive draft | resume candidate |
| version1 → current2 | schema mismatch | discard/review |
| age30min, TTL30min | expiry boundary | expired |
Run the acceptance exercise
- Approve a minimal non-sensitive field list and disclose the expected draft behaviour.
- Test reload, expiry, clear-draft and form-version change in an isolated browser session.
- Require current validation before final submission; do not treat restored text as a received enquiry.
Interpret the result and retain evidence
The offline checker validates only a supplied version and age. It stores no data and does not exercise browser persistence. Record why a draft was resumed or rejected, and test shared-device/sign-out expectations in the actual implementation. If cross-device recovery is required, specify an authenticated design rather than assuming sessionStorage provides it.
Limits before implementation
Do not store credentials, health/legal details or private files in this teaching design. Not a privacy-law assessment or authorisation to change existing forms.
Replay the finite example
Save both files in one folder and run with Node22.13 or newer. The example sends no network requests and changes no account or site. Filled inputs and expected outputs · Inspectable functions
node decision-check.mjs multistep-enquiry-draft-expiry.json