@noy-db/browser
v0.2.0
Published
Browser storage adapter for noy-db — localStorage and IndexedDB with optional key obfuscation
Maintainers
Readme
@noy-db/browser
Browser storage adapter for noy-db — localStorage and IndexedDB with optional key obfuscation.
Install
pnpm add @noy-db/core @noy-db/browserUsage
import { createNoydb } from '@noy-db/core'
import { browser } from '@noy-db/browser'
const db = await createNoydb({
adapter: browser({
backend: 'localStorage', // or 'indexedDB' or 'auto'
prefix: 'my-app',
obfuscate: true, // hash keys + XOR-encode metadata
}),
userId: 'alice',
passphrase: await promptUser(),
})Key obfuscation
With obfuscate: true, storage keys look like:
my-app:d2e076ae:f4494ed9:7f2f8a9c → { _iv: "…", _data: "…" }No collection names, no record IDs, no compartment names visible in DevTools. Combined with AES-256-GCM ciphertext in _data, this gives full metadata privacy on the client.
Backends
| Backend | Use when |
|---------|----------|
| localStorage | Small datasets (<5MB), synchronous API, simpler DevTools inspection |
| indexedDB | Larger datasets, better performance, binary-friendly |
| auto | Prefers IndexedDB, falls back to localStorage |
License
MIT © vLannaAi — see the noy-db repo for full documentation.
