Skip to content

About

A Flask-based web application for securely encrypting and decrypting messages and files using password-based AES-256 encryption with an intuitive, user-friendly interface.

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Latest commit

 

History

5 Commits

Folders and files

Repository files navigation

🔐 CipherVault

Keep Your Data Private.

CipherVault is a simple, password-based privacy tool for protecting messages and files. Lock anything with a password, and only someone with that exact password can unlock it.

Simple. Secure. Private.


What Does It Do?

CipherVault lets you:

  • Lock a message — Turn any private text into scrambled, unreadable content using a password.
  • Unlock a message — Restore a locked message back to readable text using the correct password.
  • Lock a file — Protect any document, photo, audio, or video file behind a password. Downloads as a secured file.
  • Unlock a file — Restore a previously locked file back to its original form using the password.

How to Use

Step 1 — Pick an Action

Open the app and select one of the four cards on the dashboard:

  • Lock Message
  • Unlock Message
  • Lock File
  • Unlock File

Step 2 — Enter Your Content

  • For messages: type your text into the message box.
  • For files: drag and drop the file into the upload zone, or click to browse.

Step 3 — Set a Password

Enter a secret password only you know. This is what protects your data. You must remember this password. There is no recovery option.

Step 4 — Share Safely

  • Locked message output can be copied and sent over any channel (email, chat, SMS).
  • Locked files download automatically to your device.
  • Always share the password separately — in person, over a phone call, or through a different channel.

Why CipherVault?

Feature Details
🔒 No accounts needed Just open and use. No signup, no email, no tracking.
🛡️ Locally processed Your data is never uploaded or stored on any server.
🚀 Works offline Once the page is loaded, text locking works without internet.
❌ No password recovery We never see your passwords, so there's nothing to recover.

Running Locally

Prerequisites

  • Python 3.10 or higher
  • pip package manager

Setup

# Clone or download the project
cd ciphervault

# Install dependencies
pip install -r requirements.txt

# Run the app
python app.py

The app will start at http://127.0.0.1:5000


Project Structure

ciphervault/
├── app.py                  # Flask backend routes
├── requirements.txt        # Python dependencies
├── uploads/                # Temporary file processing folder (auto-created)
│
├── crypto/                 # Core privacy logic
│   ├── aes.py              # Low-level locking and unlocking operations
│   ├── kdf.py              # Password-to-key conversion
│   ├── files.py            # File locking and unlocking
│   ├── text.py             # Message locking and unlocking
│   └── constants.py        # Configuration values
│
├── templates/
│   ├── base.html           # Shared page layout
│   └── index.html          # Main landing page
│
└── static/
    ├── css/
    │   └── style.css       # Cybersecurity theme and UI design
    └── js/
        └── app.js          # Interactive controls and animations

Frequently Asked Questions

What happens if I forget my password? Your data is permanently inaccessible. We do not store passwords anywhere, and there is no recovery system.

Where is my data stored? Nowhere externally. Text is processed entirely inside your browser. Files are processed locally, immediately downloaded, and deleted from the server.

Does it work offline? Yes. Once the page loads, text locking and unlocking works without an internet connection.

Why should I use this instead of a messaging app? Most messaging apps store your message history on their servers. By locking your text first with CipherVault, even if the platform is breached, your content remains unreadable without the password.


License

This project is open for personal use and learning. No warranties provided.


Made with ❤️ — CipherVault © 2026

About

A Flask-based web application for securely encrypting and decrypting messages and files using password-based AES-256 encryption with an intuitive, user-friendly interface.

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages