Inspiration

In today’s digital world, sharing files is often risky — links can stay online indefinitely, files may be intercepted, or recipients may download them without control. We wanted a way to share sensitive files securely with time-limited or download-limited access, without relying on third-party cloud providers.


What it does

Secure File Share allows a user to:

  • Upload a file, encrypt it in the browser, and set an expiration rule (time or max downloads).
  • Generate a unique, secure download link that can also be password-protected.
  • Automatically delete the file when conditions are met, ensuring no trace remains.
  • Optionally notify the sender when the file has been accessed.

How we built it

  • Frontend: Angular app, using the WebCrypto API for AES-GCM encryption before files ever leave the browser.
  • Backend: Node.js + Express, handling storage, token generation, and enforcing rules.
  • Database: SQLite for storing metadata (tokens, file info, expiry rules).
  • Scheduler: node-cron to automatically clean up expired files.
  • Security: Password hashing with bcryptjs, HTTPS communication, and strict rate limits.

Challenges we ran into

  • Implementing client-side encryption with AES-GCM in Angular and ensuring compatibility with the backend.
  • Handling large file uploads without exceeding size limits.
  • Making sure files were deleted reliably on expiry or max-download trigger.
  • Keeping the setup lightweight and local (no external dependencies like AWS or Firebase).

Accomplishments that we're proud of

  • Built a fully working secure file sharing prototype with automatic expiration.
  • Ensured that files are encrypted before upload, giving true end-to-end security.
  • Designed a system that can run locally with minimal setup, making it highly accessible.

What we learned

  • How to use WebCrypto in Angular for real encryption tasks.
  • The importance of cleaning up expired content automatically to maintain security.
  • How to balance usability and security — making it simple for users while still enforcing strong protections.

What's next for Secure File Share

  • Add cloud deployment options so it can scale beyond a local setup.
  • Implement multi-file uploads and drag-and-drop support.
  • Enhance audit logs and reporting for enterprise use.
  • Add mobile-friendly UI for on-the-go secure sharing.
  • Explore end-to-end identity verification for even stronger protection.

Built With

Share this project:

Updates