stable

Services

The opt-in with*() catalog, grouped by service layer.

The opt-in with*() catalog — capabilities you compose on top of the core. Each capability is its own tree-shakeable service behind a with<Service>() strategy seam: when you don't import the factory, none of that service's code reaches your bundle. You always opt in per service (someStrategy: withSomething()).

The service layers — with-lookup, with-commit, with-formula, with-shape, with-audit, with-party, with-sync, with-fork, with-store, plus the single-purpose with-pod and with-cargo — are simply how the service source is grouped into folders. They're a way to browse the catalog by intent, not something you import or configure: there is no layer factory or layer export, only per-service ones. The via/ field features are a separate declaration surface (per field, not per vault).

Browse the pages in the sidebar, or jump into the Orientation map to pick capabilities and land on the exact pages you need.

The catalog

Every service page, grouped by its with-* source layer (and the Via field features) — generated live from the pages that exist.

Read & query with-lookup

foreign-refsForeign-key references between collections:
joinsEager foreign-key joins in the query DSL:
cross-joinCartesian and lateral cross-joins in the query DSL, with a 50,000-row cost ceiling enforced before allocation.
indexingOpt-in secondary indexing:
searchKeyword lookup via `withSearch()`:
embeddingsSemantic and hybrid retrieval via `withSearch()`:
liveReactive subscriptions:
partitioningScoping query execution to a subset of a collection by time range, region, or tenant — planned, not yet implemented.
reduceOpt-in record reduction for the query DSL:

Write & mutate with-commit

transactionsMulti-record atomic writes:
sequence`vault.sequence(name).next()` hands out gap-free, duplicate-free serial numbers — 1, 2, 3, … — even when multiple callers on one store…
numberingDeferred numbering:
historyPer-record version snapshots, a hash-chained tamper-evident ledger, JSON Patch deltas, point-in-time reads via `vault.at()`, and backup verification.
crdtConflict-free replicated types:
vault-headAn authenticated {id → version} manifest that detects a store withholding or rewinding records — the one attack per-envelope authentication…

Derived data with-formula

derivationsDeterministic derived data:
materialized-viewswithMaterializedView() persists a query's result — filter, groupBy, aggregate, join — as a live collection with eager, lazy, or manual refresh.
overlay-viewswithOverlayedView() merges a computed base collection with a user-writable overlay, so an operator can correct one row without touching the…

Data shape with-shape

schema-identifiersOpaque permanent field ids that survive a rename, plus a generation↔content-hash binding that makes 'which schema is generation N' answerable.
manifestThe pod-wide schema manifest — an encrypted index of every collection's schema generation, content hash and field ids, plus the open() read path.
metadata-ladderThe collection and vault rungs above field-level metadata — collectionMeta and vaultMeta identity layers that describe() and dumpSchema()…
metadata-ridersThree riders on the describe() contract — toJSONSchema() x- extension keys, dictKey inline labels, and devtools PII masking.
blobsEncrypted binary attachments — chunked AES-256-GCM storage with content-addressed dedup, MIME sniffing, retention compaction, and bulk export.
linksManaged many-to-many link sets between two collections — an encrypted junction queryable from either side, with per-link metadata and delete policy.
satellitesSplit a record's hot, small fields from its heavy, cold ones into two paired collections, with a joined handle that merges the full record.
validationRicher runtime validators (Zod-style, JSON-schema).
migrationsSchema migrations between hub versions / collection renames / field rename + backfill.

Time & audit with-audit

transferable-partitionsExtract a referentially-complete, re-keyed slice of a vault into a standalone bundle and hand it to a new owner — a cryptographic ownership transfer.
plaintext-bypassThe fixed set of internal collections that store plain JSON instead of ciphertext, why each needs to, and what a store-only attacker learns from them.
governanceReference map for personal-data governance under GDPR and PDPA — crypto-shred as the erasure mechanism, and where each data-subject right…
guardsPer-record locks, per-field freezes, and an audited amendment override for business rules stricter than a plain write permission.
tiersRecord tiers — scoped elevation with TTL + reason, per-tier DEKs, tier-gated reads, and how blobs, search, and forget behave across tiers.
consentConsent-audit logging for GDPR/PIPL-style compliance:
forgetGDPR-style right-to-erasure:
portabilityExport half of `withPortability()`:
withdrawalRemoval half of `withPortability()`:
periodsAccounting-style period closes with a write-guard:
sealed-recordSeal a single record's decryption key to an external host (e.g.
attestationIssue signed, per-field commitments for vault records as QR credentials anyone can verify fully offline — plus revocation with a signed,…
metricsHub-level observability (timings, cache stats, sync stats).
coverageSketch-based read accounting:

Snapshot & fork with-fork

snapshotsPoint-in-time backup and restore:
shadowRead-only views of a live vault:
archiveCold-storage archival:

Party & auth with-party

auth-landscapeReference map of authentication, unlock, and sealing-key methods — every common auth primitive scored and matched to its on-* or at-* package.
sessionSerializable session tokens that skip re-running the unlock ceremony, plus a SessionPolicy for idle/absolute timeouts and re-auth gates.
session-tiersThe three-tier session-authentication ladder — secret, multi-slot, quick-resume — and the policy-gate DSL guarding sensitive vault operations.
teamMulti-user collaboration — grant/revoke/rotate wrapped DEKs via withTeam(), plus magic-link sessions; delegation and tier elevation moved…
brokerThe credential broker:
custodySovereign custody:
syncReplication engine — dirty tracking, push/pull between a local store and remote targets, conflict resolution — plus live presence over an…
sealing-pid-stabilityReference rule:

Store ops with-store

lazyBounded-memory reads for collections too large for RAM:
storage-capability-matrixWhich essential or extended to-* store exposes which shape, its per-record CAS atomicity, and whether db.transaction() can commit atomically.

Pod · .noydb with-pod

bundleWrite and read .noydb files — a portable single-file vault container with a minimum-disclosure header and optional re-keyed export to recipients.
pod-signatureEd25519 authentication of a .noydb pod's plaintext header, verifiable by a static page with no store, no vault and no key material beyond WebCrypto.
pod-redirectOne signed 'this moved, go there' record for pods, store tombstones and manifest re-points — followable pre-auth, verified before every hop.

Via · field features via

moneyThe `money()` field descriptor:
i18nMulti-locale records via a shared label dictionary (dictKey) or per-record translated text (i18nText), resolved to the caller's locale at read time.
lookupThe lookup()/enumOf()/dict() field feature:
computedComputed scalar fields:
classifiedClassified fields: