Features β’ Tech Stack β’ Quick Start β’ Database Setup β’ Environment Variables β’ Deployment β’ Contributing
DocTransfer is a modern, privacy-first document sharing and Virtual Data Room (VDR) platform. Designed for startups, legal teams, healthcare providers, real estate, and financial institutions, DocTransfer ensures your sensitive files, pitch decks, contracts, and confidential documents are protected by client-side cryptography, forensic DRM, and real-time access telemetry.
Whether you need a DocSend alternative, an e-signature suite, or an enterprise virtual data room, DocTransfer gives you complete control without vendor lock-in.
| Feature | Description |
|---|---|
| π Client-Side Zero-Knowledge Encryption | Documents are encrypted before leaving the browser using OpenPGP and AES-256-GCM, ensuring server admins cannot inspect sensitive content. |
| π Virtual Data Rooms (VDR) | Organize multi-file deal rooms with granular permissions, self-destruct timers, burn-after-reading links, and download toggles. |
| βοΈ E-Signature Suite & Biometrics | Multi-party document signing, customizable signature placement, tamper-evident audit trails, and biometric WebAuthn verification. |
| π‘οΈ Forensic Watermarking & DRM | Dynamic viewer email watermarks, copy protection, print/download restrictions, and screen capture prevention overlays. |
| π Real-Time Analytics & Heatmaps | Track viewer engagement per page, time spent, geolocation, device analytics, and document conversion funnels. |
| π Programmatic SEO (pSEO) Engine | Over 600 pre-rendered, high-converting industry and template landing pages built directly into the app. |
| π Multi-Language Support (i18n) | Full internationalization support with instant language switching. |
| βοΈ Google Drive & Cloud Sync | Direct document import and cloud storage integrations. |
- Frontend: React 19, TypeScript, Vite
- Styling & Animations: Vanilla CSS Design System, Framer Motion, Lucide React
- Cryptography & Security: OpenPGP.js, Crypto-JS, WebCrypto API, SimpleWebAuthn
- PDF & Document Engine: pdf-lib, react-pdf, pdfjs-dist
- Backend & Database: Supabase (PostgreSQL, Row-Level Security, Auth, Storage, Edge Functions)
- Analytics & Visualizations: Recharts
- Internationalization: i18next
git clone https://github.com/simplegithubs/DocTransfer3949.git
cd DocTransfer3949npm installDuplicate the template configuration file:
cp .env.example .envOpen .env and fill in your Supabase credentials:
VITE_SUPABASE_URL=https://your-project-id.supabase.co
VITE_SUPABASE_ANON_KEY=your-supabase-anon-key-herenpm run devOpen http://localhost:5173 in your browser.
DocTransfer uses Supabase for database tables, Row Level Security (RLS) policies, and storage buckets.
- Go to Supabase Dashboard and create a new project.
- Open the SQL Editor in your Supabase dashboard.
- Run the migration scripts located in the
supabase/migrations/directory in chronological order, or runcomplete_setup.sql. - Create a public/authenticated storage bucket named
documentsunder Storage. - Copy your Project URL and anon public key from
Project Settings -> APIinto your.envfile.
| Variable | Required | Description |
|---|---|---|
VITE_SUPABASE_URL |
Yes | URL of your Supabase project instance |
VITE_SUPABASE_ANON_KEY |
Yes | Supabase anonymous / public API key |
VITE_GOOGLE_CLIENT_ID |
Optional | Google OAuth client ID for Google Drive file picker |
VITE_GOOGLE_API_KEY |
Optional | Google Cloud API key with Drive API enabled |
VITE_PAYPAL_STANDARD_PLAN_ID |
Optional | PayPal Standard subscription plan ID |
VITE_PAYPAL_BUSINESS_PLAN_ID |
Optional | PayPal Business subscription plan ID |
VITE_PAYPAL_STANDARD_PAYMENT_LINK |
Optional | PayPal Standard one-time / direct checkout link |
VITE_PAYPAL_BUSINESS_PAYMENT_LINK |
Optional | PayPal Business one-time / direct checkout link |
- Push your repository to GitHub.
- Import the repository in Vercel.
- Set the Environment Variables (
VITE_SUPABASE_URL,VITE_SUPABASE_ANON_KEY). - Build command:
npm run build - Output directory:
dist
- Connect your repository to Netlify.
- Configure environment variables in Site settings.
- Build command:
npm run build - Publish directory:
dist
We welcome contributions from the open-source community!
Please read our Contributing Guide and Code of Conduct before submitting pull requests or opening issues.
# 1. Fork the repo & create your branch from main
git checkout -b feat/my-awesome-feature
# 2. Verify type checks and linting before committing
npm run lint
npm run build
# 3. Commit using Conventional Commits
git commit -m "feat: add watermarking customization option"
# 4. Push to your fork and submit a Pull RequestSecurity and privacy are fundamental to DocTransfer. If you discover a security vulnerability, please review our Security Policy to report it responsibly.
This project is licensed under the MIT License - see the LICENSE file for details.