noy-db · 0.3.0-pre · interactive
Compose your vault.
Pay only for what you open.
noy-db is a microkernel: an always-on encrypted core, plus opt-in services that tree-shake away when unused. Tick what your app needs — watch the containment nest light up, the code write itself, and the bundle grow only by what you chose. Prefer a readable page? The same data renders as Compose your own setup.
D1Architecture & persistencewhere data lives
In-memory (dev / test)kernel built-in defaultessential
Local — file / browser-IDBfamily to-file / to-browser-idbessential
Pod — data at rest (.noydb backup / transport)pod layerimportant
Snapshots — checkpoint / restore + retentionsnapshots serviceimportant
Multi-tab (same browser)family by-tabsimportant
Same-room P2P (same network)sync + family by-peerimportant
Multiple stores / routingrouting serviceadvanced
Blob attachmentsblobs serviceimportant
Cloud + attestationto-aws-* + at-* sealing + attestationadvanced
Fleet / multi-vaultcargo + pod → klum-dbadvanced
D2Encryption, identity & accesswho unlocks, who reads what
Encrypt / decrypt at restkernel enclave — always-onessential
3-tier unlock — secret · authenticate · unlocksession + on-webauthn / on-oidc / on-pinimportant
Mixed step-up (policy gates + 2FA factors)tiers + on-totp / on-shamiradvanced
Public directory — readable label before unlockpublic-envelope serviceimportant
Recover credentials — paper / Shamiron-recovery / on-shamirimportant
Sensitive fields — verify-without-reveal, blind indexclassified serviceimportant
Multiple usersteam service (withTeam())important
Roles · grant / revoke / rotate (DEK/KEK)team serviceimportant
Multiple owners (co-ownership / deed)team + createDeedOwner (core)advanced
Delegation (magic-link grant)team / magic-linkadvanced
Exportfamily as-* + portabilityimportant
Audited access / export of sensitive dataclassified + consent + historyadvanced
D3Data & queryshape and operations
Typed records + refskernel schema — freeessential
Field metadata / describe()kernel /ui portimportant
Joins · cross-joinjoins (+ indexing)important
Aggregate / groupByaggregate serviceimportant
Indexindexing serviceimportant
Search / full-text (BM25 + lexical)search serviceimportant
Versioning / time-machinehistory serviceimportant
Live / reactivelive serviceimportant
i18n / multi-localei18n serviceimportant
CRDTcrdt serviceadvanced
Derived / materialized / overlay viewsderivations · materialized-views · overlay-viewsadvanced
D4Schema evolution & operationslifecycle — mostly planned
Schema update — field rename + backfill@noy-db/hub/migrationsplanned
Migration between hub versionsmigrations + peer-range policyplanned
Coordinated cut-over (multi-consumer)migration recipe + minVersion guardplanned
Containment nest imports point inward →
hub · @noy-db/hub
kernel · always-on
vault · collection
query · keyring · bus
query · keyring · bus
enclaveAES-256-GCMfrozen · swappable
layers · services tree-shaken when unused
with-lookupindexingjoinsreducesearchlive
with-commithistorycrdt
with-formuladerivationsmaterialized-viewsoverlay-views
with-shapeblobsi18nclassified
with-auditperiodsconsentguardsportabilityattestation
with-partyteamsessionsynctiers
with-forkshadowsnapshots
with-storerouting
with-podpod
with-cargocargo
family · satellites (bind inward via ports)
to-Storage destinations — the only layer that touches ciphertext on the wire.20
localfile · browser-idb · browser-local
cloudaws-s3 · aws-dynamo · cloudflare-r2 · cloudflare-d1
sqlpostgres · mysql · sqlite · turso · supabase
remote-fswebdav · ssh · smb · nfs
cloud-driveicloud · drive
wrapperprobe · meter
on-Unlock / auth methods — how a user proves identity to open the vault.10
devicewebauthn · oidc
delegationmagic-link
recoveryrecovery · shamir
2nd-factortotp · email-otp · password
lockpin
defencethreat
at-Sealing-key providers — the one non-zero-knowledge family: a host you control can decrypt the scoped slice it unseals.5
on-hostenv · macos-keychain
cloud-kmsaws · gcp · azure
in-Framework integrations — reactive glue between a vault and your UI layer.13
frameworkvue · react · solid · svelte · nuxt · nextjs
statepinia · zustand
datatanstack-query · tanstack-table · rest
realtimeyjs
aiai
by-Session-share transports — move an unlocked session between contexts.2
webrtcpeer
broadcasttabs
as-Import / export data slices — portable artefacts in and out of a vault.9
spreadsheetcsv · xlsx
structuredjson · ndjson · xml
databasesql
compositeblob · zip
encryptednoydb
klum-db · fleet — orchestrate many vaults
Documentation map nest → docs
Click any service, family, or the enclave in the nest to see its documentation route — and the capabilities that need it light up on the left.
Bundle weight core only
6,500LOC
ceiling ~31,990
kernel floor 6,500services opted-in
+ 1 satellite package (separate installs, own version line)
Your code generated live
pnpm add @noy-db/hub @noy-db/to-file
import { createNoydb } from '@noy-db/hub' import { fileStore } from '@noy-db/to-file' const db = await createNoydb({ user: 'me', store: fileStore({ dir }), })
run in a framework · log on a method · share as a format · sync by a transport · data goes to a backend · sealed at a trusted host
source of truth · noy-db/SERVICES.md · architecture-lexicon 2026-07-01tiers · essential → important → advancedplanned · reserved, badged honestly