An open-source, cloud storage backup service built with zero-trust architecture. Your data is encrypted locally before it ever leaves your device.
Traditional cloud storage providers hold the keys to your data. FiFe shifts the control back to you. By combining Bring Your Own Storage (BYOS) with strict Client-Side Encryption, FiFe ensures that nobody—not even the server hosting the app—can read your files.
- 🔒 Zero-Knowledge Client-Side Encryption: Files are encrypted entirely on your device using
libsodiumbefore uploading. The server only stores encrypted key ciphers and nonces. - ☁️ Bring Your Own Storage: Connect your own object storage buckets. Currently supports Backblaze B2, Cloudflare R2, ORACLE and IDrive E2.
- 📂 Preserves Folder Structure: Back up entire directories without losing your organizational hierarchy.
- ⚡ Smart Duplicate Detection: Computes hashes locally on-demand to detect duplicate files, saving your bandwidth and storage space.
- 🚀 Direct-to-Cloud Uploads: Uploads bypass the backend completely, utilizing secure, pre-signed URLs directly to the storage provider.
- 🚫 Zero Tracking: Built with strict privacy in mind. Absolutely no third-party analytics or data harvesting.
FiFe is split into a robust cross-platform client and an edge-optimized server:
Frontend / Client App
- Built with Flutter for Android, iOS, OSX, and Linux (AppImages).
- Background task synchronization using Workmanager.
- Local metadata management via SQLite.
Backend / API
- Built with SvelteKit and deployed on Cloudflare Workers.
- Database: Neon Postgres using Drizzle ORM.
- Uses Cloudflare Hyperdrive for accelerated database connections.
- Authentication handled securely via Email OTP (Neon.tech).
- Flutter SDK (latest stable)
- Node.js & npm (for backend development)
- A Neon Postgres database URL
- Cloudflare Wrangler CLI
-
Clone the repository:
git clone https://github.com/jeerovan/secure_file_vault.git cd secure_file_vault -
Run the Flutter Client:
flutter pub get flutter run
-
Backend Setup (SvelteKit): Navigate to the server directory, install dependencies, and configure your
.envwith your NeonDATABASE_URL.npm install npm run dev
Contributions, issues, and feature requests are welcome! Feel free to check the issues page.
- Fork the Project
- Create your Feature Branch (
git checkout -b feature/AmazingFeature) - Commit your Changes (
git commit -m 'Add some AmazingFeature') - Push to the Branch (
git push origin feature/AmazingFeature) - Open a Pull Request
This project is open-source and available under the AGPL-3.0 License.