demo · v150

Storage Access Migration

The recommended path off RWS is the plain Storage Access API — the same one Safari and Firefox already ship. This page walks the four-step migration in-page: probe, request, use, and verify.

1
Probe — is the third-party storage already partitioned?
await document.hasStorageAccess()
not run.
2
Request — ask the user for unpartitioned access. Must be triggered by a real user gesture (a button click counts).
await document.requestStorageAccess()
not run.
3
Use — write a first-party cookie now that access is granted.
document.cookie = 'rws_demo=ok; SameSite=None; Secure'
not run.
4
Verify — read it back and re-probe to confirm.
not run.

why this works without RWS

Related Website Sets gave you a no-prompt grant inside a declared set of related origins. With RWS gone, the prompt comes back — but the API surface is identical. Sites that registered an RWS bundle were already calling requestStorageAccess; they just got auto-granted. After the deprecation, the call still works, the user is just asked once. For most relying parties the only code change is removing the assumption that the promise resolves silently.

see also

implementation reference

Need the exact API surface, compatibility boundaries, errors, lifecycle, and source links? Read the matching gendn reference ↗