Skip to content

rishabhpandey30/os

 
 

Repository files navigation

🔐 Secure File Management System

A web-based Secure File Management System built using Python Flask that allows users to upload, encrypt, manage, and share files securely.
This system ensures data confidentiality, integrity, and access control through encryption, authentication, and threat detection mechanisms.


🧭 Table of Contents


🧩 Overview

The Secure File Management System is designed to store and manage files securely on a web platform.
Each file is encrypted before upload and decrypted on download, ensuring only authorized users can access sensitive data.

It provides:

  • User authentication and OTP verification
  • File encryption & decryption
  • Role-based access control (User/Admin)
  • Security threat detection
  • Admin dashboard for monitoring and management

🚀 Features

👤 User Module

  • User Registration & Login with password hashing
  • Two-Factor Authentication (OTP via Email)
  • Secure file upload, download, and deletion
  • File encryption before upload
  • File decryption on download
  • Share files securely with authorized users
  • View file metadata (size, date, encryption key info)

🛡️ Security Features

  • AES or RSA encryption for files
  • SHA256 hashing for integrity verification
  • Buffer overflow & malicious file pattern detection
  • Session-based authentication with CSRF protection

⚙️ Admin Module

  • View all users and files
  • Delete suspicious files
  • Export user/file data (CSV/Excel)
  • Search and filter system logs
  • Monitor failed login attempts and suspicious behavior

🧠 System Architecture

Client (Browser) ↓ Flask Application (Backend) ↓ Encryption Module → Secure File Storage ↓ Database (User info, metadata, logs)


🛠️ Tech Stack

Component Technology
Frontend HTML, CSS, JavaScript (Flask Templates)
Backend Python Flask
Database SQLite / MySQL
Authentication Flask-Login, Flask-Mail
Encryption AES / RSA (using cryptography library)
Threat Detection Regex-based pattern detection
File Storage Local directory or cloud (configurable)


⚙️ Installation & Setup

1. Clone the repository

git clone https://github.com/<your-username>/Secure-File-Management-System.git
cd Secure-File-Management-System
2. Create a virtual environment

python -m venv venv

3. Activate the environment

Windows

venv\Scripts\activate

Mac/Linux

source venv/bin/activate


4. Install dependencies

pip install -r requirements.txt

5. Set up environment variables

Create a .env file in the project root:

SECRET_KEY=your_secret_key
[email protected]
MAIL_PASSWORD=your_email_password

6. Initialize the database

python
>>> from db.database import init_db
>>> init_db()

7. Run the application

python app.py

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

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Python 61.0%
  • HTML 23.3%
  • CSS 13.8%
  • Mako 1.9%