Secured File Share is a lightweight, privacy-first file sharing platform built with Streamlit and Cloudinary. It allows users to securely upload any file format and generate private links and QR codes for sharing. Files are automatically deleted after a user-defined time and are protected with passwords — no login or signup required.
🌐 Live Demo: secured-file-share.streamlit.app
- 📁 Upload & share any file instantly (PDF, ZIP, EXE, MP4, etc.)
- 🔐 Password-protected access for every upload
- ⏱️ Auto-delete after selected expiry time (1–48 hours)
- 🔗 Secure link + 📱 QR code generation
- ⚡ Simple UI, mobile-friendly, and fully responsive
- 🧾 Public file ID and expiry timer display
- ✅ No login/account required
- 🌐 Entirely hosted on Streamlit Cloud with Cloudinary backend
| Layer | Technology |
|---|---|
| Frontend | Streamlit |
| File Storage | Cloudinary (raw upload API) |
| QR Code | qrcode Python package |
| File Handling | BytesIO, requests, time |
| UI/UX | Custom HTML + Tailwind-inspired design |
| Language | Python 3.10+ |
- 🎯 Upload any file using the interface.
- 🔑 Set a password and expiry time (1 to 48 hours).
- ☁️ File is uploaded to Cloudinary under your configured folder.
- 🔗 A secure link is generated:
...?file=<unique_id> - 🔒 The receiver must enter the correct password to access/download.
- ⌛ The system automatically denies access after expiry.
- 📱 A QR Code is generated for instant mobile scanning.
Follow the steps below to run the project locally on your machine:
git clone https://github.com/vaibhavrawat27/Secured-File-Share.git
cd secured-file-sharepip install -r requirements.txtOr manually:
pip install streamlit cloudinary qrcode requestsCreate a file: .streamlit/secrets.toml and add your Cloudinary credentials:
[cloudinary]
cloud_name = "your_cloud_name"
api_key = "your_api_key"
api_secret = "your_api_secret"
UPLOAD_FOLDER = "your_folder_name"
# Optional admin password if used for access
CORRECT_PASSWORD = "your_password"🔐 Get credentials by signing up at https://cloudinary.com
streamlit run app.pyApp will open at: http://localhost:8501
- App is in test mode — monitor your Cloudinary usage for bandwidth and storage.
- Files are uploaded as
resource_type="raw"to allow any file format. - Expiry is handled using timestamps stored in metadata (
context) and checked during access.
- No file or password is stored in any local database.
- All files are automatically deleted by denying access after expiry (timestamp).
- File download is protected by password field entered during upload.
- Shared links contain only the public Cloudinary ID and no sensitive data.
- 🔐 Share confidential documents with clients
- 🎓 Share project files with time-bound access
- 📤 Temporary uploads for presentations or demos
- 📱 Easily scan QR and access from mobile
- ✅ Email notification on upload/access
- 🔄 One-time download (self-destruct)
- ⏳ Live countdown UI
- 🧾 File preview (PDF, image)
- 📦 Batch upload & zip download
- 📊 Usage tracking per file ID
Contributions are welcome!
Feel free to fork this project, improve it, and submit a pull request.
# Fork, Clone, Commit, Push, PR ✅Made with ❤️ by Vaibhav Rawat
📧 Email: rawatvaibhav27@gmail.com
🌐 Linkedin: @vaibhavrawat27
🐙 GitHub: @vaibhavrawat27
This project is licensed under the MIT License — feel free to use, fork, and remix.
👉 github.com/vaibhavrawat27/Secure-file-Share About project PPT - https://docs.google.com/presentation/d/1mbJscLJkETYKLkoCa6OX7_0lmCIyZ6TW5aQaW6jMfdw/edit?usp=sharing




