Strata Storage: save data the same way on every platform

  • Open source
  • npm package

Strata Storage gives an app one storage API across web, Android and iOS, with no runtime dependencies. Developers install it from npm, the public registry developers install code from. Its code is open source under the MIT license.

Strata Storage docs introduction screen, captured from the live site

What is Strata Storage?

One interface over every place an app keeps data. In a browser that’s local storage, session storage, IndexedDB, cookies and the Cache API. On Android it’s SharedPreferences, EncryptedSharedPreferences and SQLite. On iOS, UserDefaults, the Keychain and SQLite.

Who is Strata Storage for?

Developers who’ve written the same save-and-load code once per platform, again and again, and want to write it once and call it the same way everywhere their app runs.

What did we build?

The parts each platform leaves you to write yourself. Encryption, AES-GCM by default, with keys run through PBKDF2, the slow key-stretching step that makes a password hard to guess. Compression. An expiry time on any value, with a callback when it runs out. Changes sync across open browser tabs in real time, so a value saved in one tab shows up in the others. Your code can subscribe to them.

On a phone it keeps secrets in the platform’s own secure storage; sync across devices is optional, through a Firebase backend you connect yourself when you need it.

Queries use MongoDB-style operators, so you can ask for every saved item over a value instead of loading them all and filtering by hand. React hooks, Vue composables and Angular services come with it.

Every line of it is in a public repository.

Where can I check it?

Run npx strata-storage configure in a project, then open the repository and read the code it calls.

Want something like Strata Storage built?

A library other developers build on is the same work as any product, with a stricter reader, and Web apps shows how ours runs.

If your users are developers, say so in the brief, or talk through what they’ll expect in a free consultation.

Page updated .

Privacy preferences

Choose whether this browser sends visit data to our analytics tools. The site works the same either way.

Google Analytics, Amplitude and Microsoft Clarity show us which pages get read. Off means none of the three loads.

Always on

Sentry error reports, with personal data removed, and the Cloudflare spam check on the brief form.

Each cookie is listed in our Cookie Policy.