Skip to content

armsves/SecureKYC

Repository files navigation

SecureKYC - Blockchain KYC Provider

Automatically synced with your v0.app deployments

Deployed on Vercel Built with v0

Overview

SecureKYC is a decentralized Know Your Customer (KYC) provider built on blockchain technology. It combines Zama FHE (Fully Homomorphic Encryption), Lighthouse/Filecoin storage, and Sepolia smart contracts to create a privacy-preserving KYC solution.

Key Features

  • 🔐 Zama FHE Encryption: Personal data encrypted with fully homomorphic encryption
  • 🌐 Filecoin Storage: Encrypted documents stored on decentralized IPFS/Filecoin network
  • ⛓️ Sepolia Blockchain: Smart contract verification and authorized entity management
  • 🔑 Access Control: Lighthouse Kavach SDK for gated access to encrypted data
  • 👤 User Portal: Secure KYC data submission with wallet integration
  • ⚡ Admin Dashboard: Entity management and KYC validation interface

Architecture

The application consists of three main components:

  1. Landing Page - Project overview and instructions
  2. User Portal (/user) - KYC data submission with wallet connection
  3. Admin Dashboard (/admin) - Authorized entity management and KYC validation

Environment Variables

Required Client-Side Variables (v0 Preview Environment)

Add these to your v0 project settings:

```bash

Lighthouse API Key (Client-side accessible for v0 preview)

NEXT_PUBLIC_LIGHTHOUSE_API_KEY=your_lighthouse_api_key_here ```

Production Environment Variables

For production deployment, move to server-side:

```bash

Lighthouse API Key (Server-side only - DO NOT use NEXT_PUBLIC_ prefix)

LIGHTHOUSE_API_KEY=your_lighthouse_api_key_here ```

Optional Variables

```bash

KYC Smart Contract Address (Optional)

NEXT_PUBLIC_KYC_CONTRACT_ADDRESS=0x1234567890123456789012345678901234567890 ```

Security Note

⚠️ Important: The v0 preview environment requires NEXT_PUBLIC_LIGHTHOUSE_API_KEY for client-side access. In production, move Lighthouse operations to server-side API routes and use LIGHTHOUSE_API_KEY (without NEXT_PUBLIC_ prefix) to protect your API key.

Technology Stack

  • Frontend: Next.js 15, React 19, TypeScript, Tailwind CSS
  • Blockchain: Sepolia Testnet, MetaMask Integration
  • Storage: Lighthouse SDK, Filecoin/IPFS
  • Encryption: Zama FHE, Lighthouse Kavach
  • UI Components: Radix UI, shadcn/ui

Getting Started

  1. Clone and Install ```bash git clone cd kyc-provider npm install ```

  2. Set Environment Variables

    • Add LIGHTHOUSE_API_KEY to your Vercel project settings
    • Optionally set NEXT_PUBLIC_KYC_CONTRACT_ADDRESS
  3. Run Development Server ```bash npm run dev ```

  4. Connect Wallet

    • Install MetaMask or compatible Web3 wallet
    • Switch to Sepolia testnet
    • Connect wallet to submit KYC data

API Routes

The application includes secure server-side API routes for production:

  • POST /api/lighthouse/auth - Get authentication message
  • POST /api/lighthouse/upload-data - Upload encrypted data
  • POST /api/lighthouse/upload-file - Upload encrypted files
  • POST /api/lighthouse/apply-access-conditions - Apply access control
  • POST /api/lighthouse/decrypt - Decrypt and retrieve data

Note: In v0 preview environment, Lighthouse operations run client-side due to environment variable limitations.

Security Features

  • Environment-Aware Security: Client-side operations in v0 preview, server-side in production
  • Wallet Authentication: MetaMask signature verification
  • Access Control: Lighthouse Kavach gated access conditions
  • Data Encryption: Zama FHE for sensitive personal information
  • Decentralized Storage: No single point of failure with Filecoin

Deployment

Your project is live at:

https://vercel.com/armandos-projects-6cfdb597/v0-kyc-provider-fz

Build your app

Continue building your app on:

https://v0.app/chat/projects/8vujOHYjXXP

How It Works

  1. User Submission: Users connect wallet and submit encrypted KYC data
  2. Lighthouse Storage: Data encrypted and stored on Filecoin via Lighthouse
  3. Access Control: Kavach SDK applies access conditions to stored data
  4. Blockchain Verification: Smart contract records submission on Sepolia
  5. Admin Validation: Authorized entities can access and validate KYC data

Development Workflow

  1. Create and modify your project using v0.app
  2. Deploy your chats from the v0 interface
  3. Changes are automatically pushed to this repository
  4. Vercel deploys the latest version from this repository

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors