
Research
Node.js Fixes AsyncLocalStorage Crash Bug That Could Take Down Production Servers
Node.js patched a crash bug where AsyncLocalStorage could cause stack overflows to bypass error handlers and terminate production servers.
seco-keyval
Advanced tools
Secure key-value store built on secure-container.
npm install seco-keyval
import SecoKeyval from 'seco-keyval'
const kv = new SecoKeyval('db.seco', { appName: 'exodus', appVersion: '1.0.0' })
await kv.open('1-very-secure-password', { a: 1 })
await kv.set('key', 'myValue')
const value1 = kv.get('a')
console.log(value1) // -> 1
const value2 = kv.get('key')
console.log(value2) // -> 'myValue'
new SecoKeyval(file, header)file (String) Filenameheader (Object)
appName (String) App NameappVersion (String) App Versionkv.open(passphrase[, initialData])Loads the key-value store. Creates it if it doesn't exist.
passphrase (String | Buffer)initialData (any JSON-serializable data) Will be written if the store doesn't exist.Returns a Promise resolving when the filesystem operations are complete. You cannot call set() or get() until this is done.
kv.set(key, value)Sets key to value. Returns a promise resolving when the data has been written to disk.
kv.get(key)Gets key and returns the value of key. Returns undefined if the key is not set.
kv.delete(key)Deletes key. Returns a promise resolving when the data has been written to disk.
kv.batch(operations)Accepts an Array of operations where each item is an Object, with the structure:
type The String "set" or "delete"key Key to perform the operation onvalue for set operation, the value to be set to keyReturns a promise resolving when the data has been written to disk.
kv.changePassphrase(newPassphrase)Changes the passphrase to newPassphrase. Returns a promise resolving when the data has been written to disk.
kv.changePassphraseOnNextWrite(newPassphrase)Schedule for the passphrase to change to newPassphrase on the next file write. There is no guarantee that the passphrase will get changed when using this method (i.e. if set() is never called afterwards). Returns undefined.
kv.getAllData()Returns an object containing all the key-value pairs in the kv.
kv.setAllData(data)DANGER: Don't use this method unless you know what you're doing!
This completely replaces and overwrites the key-value store with data and writes the data to disk, with no backups of the old data.
MIT
FAQs
Secure key-value store based on secure-container
We found that seco-keyval demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 2 open source maintainers collaborating on the project.
Did you know?

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Research
Node.js patched a crash bug where AsyncLocalStorage could cause stack overflows to bypass error handlers and terminate production servers.

Research
/Security News
A malicious Chrome extension steals newly created MEXC API keys, exfiltrates them to Telegram, and enables full account takeover with trading and withdrawal rights.

Security News
CVE disclosures hit a record 48,185 in 2025, driven largely by vulnerabilities in third-party WordPress plugins.