Skip to content

erhai925/DataDest

Repository files navigation

数据销毁系统 (Data Destruction System)

一个企业级数据销毁管理系统,支持多种数据载体、可验证销毁凭证、分级分类策略、权限控制和合规标准。

功能特性

1. 多载体支持

  • 物理介质:硬盘(HDD/SSD)、U盘、移动硬盘
  • 虚拟环境:服务器、虚拟机、云存储空间
  • 文档:打印文件、纸质文档(扫描+碎纸联动)
  • 逻辑数据:数据库记录、日志文件、缓存

2. 可验证销毁凭证

  • 不可篡改的销毁凭证(基于哈希链技术)
  • 包含:销毁时间、操作人、设备ID、数据类型、销毁方式、校验报告
  • 符合《数据安全法》《个人信息保护法》等法规要求

3. 分级分类销毁策略

  • 普通数据:快速删除或单次覆写
  • 敏感数据:3~7次覆写(符合DoD 5220.22-M标准)
  • 高密级数据:物理销毁或加密密钥销毁(Crypto Erase)
  • 支持按部门、项目、数据标签自动应用策略

4. 权限控制与审批流程

  • 基于角色的访问控制(RBAC)
  • 审批流程:申请 → 审核 → 执行
  • 支持远程销毁(员工离职场景)
  • 图形化界面和RESTful API

5. 合规标准支持

  • 支持主流操作系统:Windows、Linux、macOS
  • 虚拟化平台:VMware、Hyper-V
  • 云环境:阿里云、AWS等
  • 内置标准模板:GB/T 35273、NIST SP 800-88、ISO/IEC 27040、DoD 5220.22-M

6. 安全防护

  • 二次确认机制
  • 完整操作日志回溯
  • 确保数据无法通过技术手段恢复

技术架构

后端

  • 框架:FastAPI (Python 3.9+)
  • 数据库:SQLite(开发)/ PostgreSQL(生产)
  • 认证:JWT Token
  • 任务队列:Celery(异步任务处理)

前端

  • 框架:Vue 3 + TypeScript
  • UI库:Element Plus
  • 状态管理:Pinia
  • 构建工具:Vite

核心组件

  • 销毁引擎:支持多种覆写算法和物理销毁接口
  • 凭证系统:基于Merkle树/哈希链的不可篡改凭证
  • 策略引擎:自动匹配销毁策略
  • 审计系统:完整的操作日志和审计追踪

项目结构

DataDest/
├── backend/                 # 后端服务
│   ├── app/
│   │   ├── api/            # API路由
│   │   ├── core/           # 核心功能(销毁引擎、凭证系统等)
│   │   ├── models/         # 数据库模型
│   │   ├── schemas/        # Pydantic模式
│   │   ├── services/       # 业务逻辑服务
│   │   └── utils/          # 工具函数
│   ├── requirements.txt
│   └── main.py
├── frontend/               # 前端应用
│   ├── src/
│   │   ├── views/          # Vue页面组件
│   │   ├── layouts/        # 布局组件
│   │   ├── stores/         # Pinia状态管理
│   │   ├── services/       # API服务
│   │   ├── router/         # 路由配置
│   │   └── types/          # TypeScript类型定义
│   ├── package.json
│   └── vite.config.ts
├── start_backend.sh        # 后端启动脚本
└── start_frontend.sh       # 前端启动脚本
├── docs/                   # 文档
└── tests/                  # 测试文件

快速开始

进入项目目录

首先进入项目根目录:

cd /Users/yue/CursorTest/DataDest

或者如果当前已在项目目录中,可以跳过此步骤。

方式一:使用启动脚本(推荐)

# 进入项目目录(如果还未进入)
cd /Users/yue/CursorTest/DataDest

# 启动后端(会自动创建虚拟环境和初始化数据库)
./start_backend.sh

# 启动前端(新终端窗口,同样需要先进入项目目录)
cd /Users/yue/CursorTest/DataDest
./start_frontend.sh

方式二:手动启动

后端启动

# 进入项目目录
cd /Users/yue/CursorTest/DataDest

# 进入后端目录
cd backend

# 创建虚拟环境
python3 -m venv venv

# 激活虚拟环境
source venv/bin/activate  # Windows: venv\Scripts\activate

# 安装依赖
pip install -r requirements.txt

# 首次运行需要初始化数据库
python -m app.utils.init_db

# 启动服务
uvicorn app.main:app --reload --host 0.0.0.0 --port 8000

前端启动

# 进入项目目录
cd /Users/yue/CursorTest/DataDest

# 进入前端目录
cd frontend

# 安装依赖
npm install

# 启动开发服务器
npm run dev

初始化数据库

首次运行前,需要初始化数据库并创建默认管理员:

# 进入项目目录
cd /Users/yue/CursorTest/DataDest

# 进入后端目录
cd backend

# 激活虚拟环境(如果使用虚拟环境)
source venv/bin/activate  # Windows: venv\Scripts\activate

# 初始化数据库
python -m app.utils.init_db

默认管理员账号:

  • 用户名: admin
  • 密码: admin123

重要:首次登录后请立即修改密码!

访问系统

许可证

MIT License

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors