Enables secure cross-domain localStorage sharing between browser windows/tabs using an iframe-based hub-client architecture.
Cross Storage is a JavaScript library that provides cross-domain local storage with granular permissions. It enables multiple browser windows or tabs across different domains to securely share a single localStorage instance, overcoming the same-origin policy limitations of standard web storage. It offers a lightweight alternative to cookies for client-side data sharing across domains.
Frontend developers building web applications that require sharing client-side data across multiple subdomains or different domains, such as SaaS platforms, micro-frontends, or federated authentication systems.
Developers choose Cross Storage over alternatives because it provides a secure, permission-based way to share up to ~2.49 million characters of data across domains without the size limitations of cookies, using a familiar localStorage-like API with ES6 promises for clean asynchronous operations.
Cross domain local storage, with permissions
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Uses origin-based RegExp permissions to control access, enforcing security through the same-origin policy as described in the README's overview.
Offers up to ~2.49 million characters, far exceeding cookie limits and ideal for large client-side datasets, as highlighted in the key features.
Employs ES6 promises for asynchronous operations, simplifying code flow and error handling, with examples provided in the API section.
Compatible with IE8+ and modern browsers using polyfills, ensuring wide applicability, as noted in the compatibility section.
In Safari 7+, cross-domain storage is disabled by default due to privacy settings, rendering the library ineffective without workarounds, as admitted in the compatibility notes.
Requires setting up permissions with RegExp, CORS headers, and CSP, along with managing an iframe hub, which adds initial overhead and potential for errors.
Data remains under user control, making it unsuitable for sensitive information despite access controls, as cautioned in the README's overview.