Currently, all bundles share the same origin in the browser PWA viewer. This means localStorage and IndexedDB data is not properly scoped per bundle — bundles can theoretically read each other's storage.
The fix is to serve each bundle from a synthetic origin (e.g. bundle-<id>.portableweb.org or using a hash-based path) so that the browser enforces origin-level storage isolation.
Approach options:
- Subdomain per bundle ID (requires wildcard DNS + TLS)
- Service Worker intercept with opaque origin headers
<iframe sandbox> with a unique src per bundle
This is a near-term spec compliance requirement before v1.0.
Currently, all bundles share the same origin in the browser PWA viewer. This means
localStorageandIndexedDBdata is not properly scoped per bundle — bundles can theoretically read each other's storage.The fix is to serve each bundle from a synthetic origin (e.g.
bundle-<id>.portableweb.orgor using a hash-based path) so that the browser enforces origin-level storage isolation.Approach options:
<iframe sandbox>with a uniquesrcper bundleThis is a near-term spec compliance requirement before v1.0.