Zero-knowledge encryption illustration showing locked vault with encrypted data flowing from laptop and security shield icons

My First Step into Security: Building a Zero-Knowledge Vault

Personal Note: This blog post is the start of my journey into the world of security and encryption. I’ve decided to build a “Zero-Knowledge” file vault—a system where not even the server admins (me!) can see the files. This series will document everything I learn along the way, from the basic concepts to the nitty-gritty code.


📚 What I’m Building

I’m building Telegram Vault, but more importantly, I’m building my understanding of privacy-first architecture.

The core idea is simple but powerful: Zero-Knowledge Encryption.

  • What: The fundamental guarantee that your files are encrypted before they leave your device.
  • Why: Traditional cloud storage can access your files; I want to build something that cannot—by design.
  • How: Master Password → PBKDF2 key derivation → AES-256-GCM encryption → Only encrypted data reaches the servers.

This series isn’t just about the code; it’s about the thinking process, the design decisions, and the “aha!” moments I’m having as I figure this out.


🗺️ The Learning Roadmap

Here is the path I’m taking. I’ll be writing about each of these topics as I implement them:

1. The Foundation

  • Zero-Knowledge Encryption Explained: I’ll break down the core principle—why privacy isn’t a feature, but a mathematical guarantee.
  • Browser-Side Decryption: How to move crypto operations from the server to your browser, ensuring plaintext never touches the cloud.

2. Architecture & Storage

  • Telegram as a Storage Backend: Why I chose Telegram’s API for unlimited storage instead of AWS, and how it works.
  • S3 Backup Storage: Implementing a “belt-and-suspenders” approach for redundancy.

3. Advanced Features

  • Envelope Encryption: An architectural shift to enable instant file sharing without re-encrypting the whole file. (This was a huge learning curve!)
  • Resumable Uploads: Handling network interruptions gracefully so large files don’t fail halfway.
  • Feature Flags: How to roll out these complex changes safely without breaking everything.

4. Security & Privacy Deep Dives

  • Encrypted Video Streaming: Solving the challenge of streaming video that doesn’t exist as a normal file on the server.
  • Recovery Codes: How to handle “forgotten passwords” in a system that can’t reset passwords (because it doesn’t know them).
  • Rate Limiting Without Logging: Protecting against abuse without spying on users.
  • Privacy-Preserving Audit Logs: How to track security events without compromising user privacy.
  • Zero-Knowledge API Design: Designing REST endpoints when the server is blind to the data it’s handling.

🚀 Join Me on This Journey

This project is open source, and I’m learning as I go. If you’re interested in security, encryption, or just building complex systems, I hope you’ll find these notes useful.

Next up, I’ll be diving deep into Zero-Knowledge Encryption—the math that makes this all possible.

Stay tuned!

Lê Hoàng Tâm (Tom Le) is a Software Engineer and Cloud Architect with over 10 years of experience. AWS Certified. Specializes in distributed systems, DevOps, and AI/ML integration. Founder of Th?nk And Grow — a platform sharing practical technology insights in Vietnamese. Passionate about building scalable systems and helping developers grow through real-world knowledge.