🔹 Inspiration

People lose data, leak data, and sometimes straight-up forget where they stored it. In a world where everyone’s info is floating around like confetti in a storm, I wanted a tool that locks down data the traditional way — tight, disciplined — but with futuristic detection superpowers.

🔹 What It Does

Shadow Seal lets users:

Upload text or files

Encrypt them with AES-GCM + PBKDF2

Store them safely

Decrypt only with the correct password

Detect tampering attempts

Track all logs (failed attempts, device ID, timestamps)

Get anomaly alerts when things look sus

It’s a vault, a watchdog, and a detective rolled into one.

🔹 How I Built It

Frontend: React + Tailwind + shadcn/ui

Backend: Node.js + Express

Database: MongoDB + GridFS for encrypted blobs

Crypto: PBKDF2 (240k iterations), AES-GCM, HMAC signatures

Auth: JWT + bcrypt

Logs: request metadata + anomaly detection engine

UI: Glassmorphism dashboard with panels for upload, logs, and alerts

The Web Crypto API handles encryption, while the backend validates signatures and flags sketchy behavior like repeated failures or mismatched HMACs.

🔹 Challenges I Ran Into

Getting AES-GCM + PBKDF2 to work seamlessly across frontend + backend

Ensuring no plaintext touches logs or storage

Making anomaly detection actually useful, not spammy

Balancing clean UI with “security tool” vibes

🔹 Accomplishments I’m Proud Of

Fully sealed data flow — no plaintext ever saved

Clean, responsive dashboard

Early intrusion detection baked right into the app

Simple UX even though the backend is a cryptographic labyrinth

🔹 What I Learned

Implementing encryption properly is harder than reading a crypto PDF at 2 AM

UI/UX matters even in security tools

Logs are basically the soul of security

Little details (IV length, tag mismatch handling) make or break real-world crypto systems

🔹 What’s Next

Add multi-user access sharing

Add mobile app support

Integrate cloud KMS (GCP/AWS)

Add blockchain-backed tamper evidence (optional)

Push real-time anomaly notifications

Built With

Share this project:

Updates