DEV Community

Roushan kumar
Roushan kumar

Posted on

Building an Open-Source, Zero-Knowledge DocSend Alternative with React 19 and Supabase

Why We Built DocTransfer

Sharing sensitive documents like pitch decks, financial reports, or legal contracts shouldn't require paying $250+/month for platforms that store your unencrypted files on their servers.

We built DocTransfer (and open-sourced it on GitHub) as a privacy-first, client-side encrypted document sharing and Virtual Data Room (VDR) platform.


Zero-Knowledge Cryptography Architecture

Most document-sharing services encrypt files at rest on their cloud storage. That means their backend servers - and anyone with access to them - can view your raw documents.

In DocTransfer, encryption happens entirely on the client before the payload leaves your browser:

  1. Client-Side OpenPGP & AES-256-GCM: Files are encrypted in the browser using the WebCrypto API and OpenPGP.js.
  2. Zero-Knowledge Key Handling: Encryption keys are kept in URL hash fragments (#key=...), which are never sent to our servers.
  3. Dynamic Forensic Watermarking: Recipient email overlays are rendered dynamically on the canvas layer, preventing unauthorized screenshots and distribution.

Tech Stack & Key Features

  • Frontend: React 19, TypeScript, Vite, Framer Motion
  • Database & Auth: Supabase (PostgreSQL with strict Row-Level Security, Edge Functions, Storage)
  • Document Processing: pdf-lib, react-pdf, pdfjs-dist
  • Security & Signatures: OpenPGP.js, SimpleWebAuthn (Biometric sign-in), Digital Certificate generation
  • Analytics: Real-time page-by-page engagement heatmaps & viewer telemetry

Try It & Contribute

We would love to get your feedback on the client-side encryption flow, PDF rendering optimizations, and general user experience!

Top comments (0)