Your family's important papers — encrypted on your device, findable in seconds.
Every household runs on a drawer of critical documents: passports, certificates, insurance papers, land deeds, vaccination cards. Varsha is that drawer, done properly: a local-first vault that lives on your own device, works fully offline, needs no account, and reminds you before things expire.
- Private by architecture. AES-256-GCM encryption with a key derived from your passphrase (PBKDF2, 310k iterations). Data never leaves the device; there is no server to trust. No account, no reset — the honesty of that trade-off is stated in the UI.
- Findable in seconds. Search across titles, numbers and notes; filter by category; a banner tells you what expires in the next 30 days.
- Moves with you, not through us. Backup/export produces one encrypted bundle you can carry to any device and merge (newest wins). Device-to-device sync with zero infrastructure.
- Free-tier forever, by design. The web app is static files; all compute
and storage happen on-device.
vercel deployand you're done.
cd app
npm install
npm run dev # local dev
npm test # engine tests (crypto, search, expiry, merge)
npm run build # static production build in app/dist
node e2e.mjs # drives the built app end-to-end in a real browserTry it without committing anything: open the app and choose
"Peek inside with sample data first" (or visit /?demo=1).
app/src/engine/vault.ts the engine — pure TypeScript, zero dependencies,
runs anywhere with WebCrypto (browser, Node ≥ 20)
app/src/storage/idb.ts IndexedDB adapter (browser); memoryStorage() for tests
app/src/App.tsx UI — Astryx design system (React 19)
app/public/sw.js offline app shell (PWA)
The engine is deliberately separable: the same createVault() that powers the
app is the future SDK (npm package) and ADK (MCP server so agents can
request a document with consent). The roadmap after the vault: a shared
"commons" instance for communities — decisions, logbooks, archives, care
coordination — same engine, different template.
src/ and test/ at the repo root contain the earlier Fabric mediation-core
experiment this project grew out of; kept for its trust/provenance engine.
MIT