Skip to content

Adeyemir/zen-vault

Repository files navigation

ZenVault

A privacy-first emotional wellness platform for traders, investors, and crypto professionals.

Overview

ZenVault provides a secure space for high-stakes financial professionals to connect with performance coaches and mindset advisors. Built on the principle of provable privacy using Fully Homomorphic Encryption (FHE), the platform ensures that even ZenVault itself cannot read user data.

Features

  • FHE-Encrypted Journal: Private journal with client-side encryption
  • Secure Chat Sessions: End-to-end encrypted 1-on-1 chat with advisors
  • Advisor Marketplace: Browse and book sessions with vetted experts
  • Anonymous Voucher System: Add credits without linking identity
  • Privacy Validation: View your encrypted data as stored on servers

Tech Stack

  • Framework: Next.js 16 (App Router)
  • Language: TypeScript
  • Styling: Tailwind CSS + shadcn/ui
  • Database: SQLite (dev) / PostgreSQL (prod) with Prisma
  • Authentication: NextAuth.js v5
  • Encryption: Client-side FHE simulation (production: Zama tfhe.js)

Getting Started

Prerequisites

  • Node.js 18+
  • npm or yarn

Installation

# Install dependencies
npm install

# Generate Prisma client
npm run db:generate

# Push database schema
npm run db:push

# Seed sample data
npm run db:seed

# Start development server
npm run dev

Environment Variables

Copy .env.example to .env and configure:

DATABASE_URL="file:./dev.db"
NEXTAUTH_URL="http://localhost:3000"
NEXTAUTH_SECRET="your-secret-key"
ENCRYPTION_KEY="your-encryption-key"

Demo Accounts

After seeding, you can use these accounts:

User:

Advisors:

Test Vouchers:

  • ZENV-TEST-0001-AAAA
  • ZENV-TEST-0002-BBBB
  • ZENV-TEST-0003-CCCC

Available Scripts

  • npm run dev - Start development server
  • npm run build - Build for production
  • npm run start - Start production server
  • npm run db:generate - Generate Prisma client
  • npm run db:push - Push schema to database
  • npm run db:seed - Seed sample data
  • npm run db:studio - Open Prisma Studio
  • npm run db:reset - Reset and reseed database

Privacy Architecture

ZenVault implements a client-side encryption model:

  1. All encryption/decryption happens in the browser
  2. Server only stores ciphertext
  3. User's private key never leaves their device
  4. Privacy Validation feature lets users see encrypted data

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors