Skip to content
MH
All projects
BackendFull Stack

Secure File Sharing System

Backend / Security / Flask

A web-based file sharing platform designed around data privacy. Files are encrypted on the client before they reach the server, so the server never has access to unencrypted content, and recipients decrypt on their own machine at download.

Year
2024
Role
Backend developer
Source
Public repository
Secure File Sharing System — concept diagram

Technologies

  • Python
  • Flask
  • Cryptography
  • Web Security
  • JavaScript

The problem

Most file-sharing services can read what you upload. For genuinely sensitive material, "we promise not to look" is a policy, not a guarantee.

The solution

Move encryption to the client. The server stores ciphertext it cannot decrypt, and decryption happens on the recipient's machine — so server compromise does not expose file contents.

Architecture

How it is put together.

01

Client encryption

The file is encrypted in the browser before upload.

02

Upload

Only ciphertext is transmitted to and stored by the server.

03

Share

The recipient is given access to the encrypted object.

04

Client decryption

Decryption happens on the recipient's own system.

Key features

What it actually does.

  • Client-side encryption before upload
  • Server stores only ciphertext
  • Recipient-side decryption at download

Engineering challenges

The parts that were hard.

Key handling is the whole design

End-to-end encryption is easy until you ask how the recipient gets the key. That question shapes every other decision in the system.

Outcomes

What came out of it.

Qualitative outcomes only — no invented benchmarks or metrics.

01

A file-sharing service where the host cannot read the files

02

A working demonstration of client-side encryption in the browser

3D Point Cloud Study in Python — 3D Data / Visualisation / Client Work

Next project

3D Point Cloud Study in Python

Reproduced a point cloud study in Python, generalised to run on any point cloud.

Let’s build

Want something like this for your business?

Tell me the problem and I will come back with an architecture, a scope and a timeline.