Skip to content

企业审计与合规管理系统

模块概述

版本: v0.34.0 状态: ✅ 已实现 IPC处理器: 18个 最后更新: 2026-02-15

企业级审计日志、合规管理和数据主体请求(DSR)处理系统。支持 GDPR/SOC2/HIPAA 合规框架,提供不可篡改的审计追踪、合规策略引擎和自动化数据主体请求处理。

核心特性

  • 统一审计日志: 跨所有子系统的操作事件聚合和追踪
  • 合规策略引擎: GDPR/SOC2/HIPAA 多框架合规检查
  • 数据主体请求: 自动化 DSR 处理(访问/删除/更正/迁移)
  • 保留策略: 按时间和策略自动清理历史日志
  • 敏感信息脱敏: 自动识别和脱敏密码、令牌等敏感字段
  • HookSystem 集成: 通过钩子事件驱动审计记录

1. 架构设计

1.1 整体架构图

┌──────────────────────────────────────────────────────────────────┐
│                        前端 (Vue3)                                │
├──────────────────────────────────────────────────────────────────┤
│  EnterpriseAuditPage  │  ComplianceDashboard  │  DSRManager      │
│        ↓                       ↓                      ↓           │
│                      Pinia Store: audit.ts                        │
└──────────────────────────────────────────────────────────────────┘
                              ↕ IPC (18个通道)
┌──────────────────────────────────────────────────────────────────┐
│                        主进程 (Electron)                          │
├──────────────────────────────────────────────────────────────────┤
│                       audit-ipc.js (18个处理器)                   │
│     ┌─────────────────────────────────────────────────────┐      │
│     │  EnterpriseAuditLogger │ ComplianceManager │ DSRHandler    │
│     └─────────────────────────────────────────────────────┘      │
│                              ↓                                    │
│     ┌─────────────────────────────────────────────────────┐      │
│     │  HookSystem (AuditLog事件)  │  SQLite Database       │      │
│     └─────────────────────────────────────────────────────┘      │
└──────────────────────────────────────────────────────────────────┘

1.2 数据流

用户操作 → HookSystem(AuditLog事件) → EnterpriseAuditLogger → 数据库

ComplianceManager ← 定期检查 ← compliance_policies表

DataSubjectHandler ← DSR请求 → 响应/导出

1.3 核心组件

组件文件行数说明
EnterpriseAuditLoggerenterprise-audit-logger.js~450统一审计日志聚合器
ComplianceManagercompliance-manager.js~380合规策略引擎
DataSubjectHandlerdata-subject-handler.js~320GDPR数据主体请求处理
AuditIPCaudit-ipc.js~28018个IPC处理器

2. 核心模块

2.1 EnterpriseAuditLogger

统一审计日志聚合器,跨所有子系统追踪操作事件。

功能特性:

  • 事件类型分类: browser, permission, file, db, api, cowork
  • 风险级别评估: low, medium, high, critical
  • 操作结果记录: success, failure, blocked
  • 合规标签关联: GDPR, SOC2, HIPAA
  • 保留策略支持: 按时间自动清理
  • 敏感参数脱敏: password, token, secret, apiKey, credential

核心方法:

javascript
class EnterpriseAuditLogger {
  // 记录审计事件
  async log(event) { }

  // 查询审计日志(分页/筛选)
  async query(filters) { }

  // 获取日志详情
  async getLogDetail(id) { }

  // 导出JSON/CSV
  async exportLogs(format, filters) { }

  // 统计分析
  async getStatistics(timeRange) { }

  // 应用保留策略
  async applyRetentionPolicy(policyId) { }

  // 预览删除范围
  async previewRetentionDeletion(policyId) { }
}

脱敏规则:

javascript
const SENSITIVE_FIELDS = [
  'password', 'token', 'secret', 'apiKey',
  'credential', 'privateKey', 'passphrase'
];

// 自动将敏感字段值替换为 '***REDACTED***'

2.2 ComplianceManager

GDPR/SOC2/HIPAA 合规检查引擎。

功能特性:

  • 合规策略 CRUD 管理
  • 框架级合规检查 (GDPR/SOC2/HIPAA)
  • 合规报告生成 (按时间范围)
  • 策略类型: retention, access_control, encryption

核心方法:

javascript
class ComplianceManager {
  // 获取策略列表
  async getPolicies(filters) { }

  // 创建策略
  async createPolicy(data) { }

  // 更新策略
  async updatePolicy(id, updates) { }

  // 删除策略
  async deletePolicy(id) { }

  // 执行合规检查
  async checkCompliance(framework) { }

  // 生成合规报告
  async generateReport(framework, dateRange) { }
}

合规检查示例:

javascript
// GDPR 合规检查
const result = await complianceManager.checkCompliance('gdpr');
// 返回:
// {
//   framework: 'gdpr',
//   score: 85,
//   passed: 17,
//   failed: 3,
//   checks: [
//     { rule: 'data_retention', status: 'pass', detail: '...' },
//     { rule: 'consent_management', status: 'fail', detail: '...' }
//   ]
// }

2.3 DataSubjectHandler

GDPR 数据主体请求处理器。

请求类型:

  • access - 数据访问请求 (GDPR Art. 15)
  • erasure - 数据删除请求 (GDPR Art. 17, "被遗忘权")
  • rectification - 数据更正请求 (GDPR Art. 16)
  • portability - 数据可移植请求 (GDPR Art. 20)

核心方法:

javascript
class DataSubjectHandler {
  // 创建请求
  async createRequest(type, subjectDid, data) { }

  // 列表查询
  async listRequests(filters) { }

  // 获取详情
  async getRequestDetail(id) { }

  // 处理请求
  async processRequest(id) { }

  // 审批请求
  async approveRequest(id, responseData) { }

  // 导出主体数据
  async exportSubjectData(subjectDid) { }
}

DSR 处理流程:

创建请求 → pending

处理请求 → processing (收集相关数据)

审批/拒绝 → completed / rejected

(可选) 导出数据包

3. 数据模型

3.1 enterprise_audit_log

字段类型说明
idTEXT PK日志ID (UUID)
timestampINTEGER时间戳 (毫秒)
event_typeTEXT事件类型 (browser/permission/file/db/api/cowork)
actor_didTEXT操作者DID
operationTEXT操作名称
resource_typeTEXT资源类型
resource_idTEXT资源ID
detailsTEXT(JSON)详细信息 (已脱敏)
risk_levelTEXT风险级别 (low/medium/high/critical)
compliance_tagsTEXT(JSON)合规标签数组
outcomeTEXT结果 (success/failure/blocked)
retention_untilINTEGER保留截止时间
session_idTEXT会话ID

3.2 compliance_policies

字段类型说明
idTEXT PK策略ID (UUID)
policy_typeTEXT类型 (retention/access_control/encryption)
frameworkTEXT框架 (gdpr/soc2/hipaa)
nameTEXT策略名称
descriptionTEXT策略描述
rulesTEXT(JSON)规则定义
enabledBOOLEAN是否启用
created_atINTEGER创建时间
updated_atINTEGER更新时间

3.3 data_subject_requests

字段类型说明
idTEXT PK请求ID (UUID)
request_typeTEXT类型 (access/erasure/rectification/portability)
subject_didTEXT数据主体DID
statusTEXT状态 (pending/processing/completed/rejected)
request_dataTEXT(JSON)请求数据
response_dataTEXT(JSON)响应数据
created_atINTEGER创建时间
completed_atINTEGER完成时间
deadlineINTEGER截止时间 (GDPR要求30天内响应)

4. IPC接口 (18个)

4.1 审计日志 (4个)

通道说明参数
audit:query-logs查询审计日志filters:
audit:get-log-detail获取日志详情id: string
audit:export-logs导出日志format: 'json' | 'csv', filters: object
audit:get-statistics获取统计信息timeRange:

4.2 合规管理 (6个)

通道说明参数
compliance:get-policies获取合规策略filters:
compliance:create-policy创建策略data:
compliance:update-policy更新策略id: string, updates: object
compliance:delete-policy删除策略id: string
compliance:check-compliance执行合规检查framework: 'gdpr' | 'soc2' | 'hipaa'
compliance:generate-report生成合规报告framework: string, dateRange:

4.3 数据主体请求 (6个)

通道说明参数
dsr:create-request创建DSR请求type: string, subjectDid: string, data: object
dsr:list-requests列表查询filters:
dsr:get-request-detail获取详情id: string
dsr:process-request处理请求id: string
dsr:approve-request审批请求id: string, responseData: object
dsr:export-subject-data导出主体数据subjectDid: string

4.4 保留策略 (2个)

通道说明参数
retention:apply-policy应用保留策略policyId: string
retention:preview-deletion预览删除范围policyId: string

5. 前端页面

5.1 EnterpriseAuditPage.vue

审计日志查看器页面:

  • 事件类型/风险级别/操作者多维筛选
  • 时间线视图,支持日期范围选择
  • 日志详情模态框,展示完整事件信息
  • 一键导出 JSON/CSV 格式
  • 风险级别颜色标识 (low=绿, medium=黄, high=橙, critical=红)

5.2 ComplianceDashboard.vue

合规管理仪表板:

  • 合规评分卡 (GDPR/SOC2/HIPAA 各项得分)
  • 策略状态概览和管理
  • DSR 请求追踪表格 (状态、截止日期)
  • 合规报告生成和下载
  • ECharts 合规趋势图表

5.3 Pinia Store: audit.ts

typescript
interface AuditState {
  logs: AuditLog[];
  totalLogs: number;
  currentPage: number;
  policies: CompliancePolicy[];
  dsrRequests: DataSubjectRequest[];
  statistics: AuditStatistics | null;
  loading: boolean;
}

6. 安全设计

6.1 审计日志安全

  • 不可篡改性: 审计日志仅支持追加写入,不允许修改或删除
  • 完整性校验: 每条日志包含前一条的哈希值,形成链式校验
  • 加密存储: 审计数据随数据库加密 (SQLCipher AES-256)

6.2 敏感信息保护

  • 自动脱敏: 检测 password, token, secret, apiKey, credential 等字段
  • 脱敏算法: 字段值替换为 ***REDACTED***
  • 深度扫描: 递归扫描嵌套对象中的敏感字段

6.3 访问控制

  • 审计日志查看需要 audit:read 权限
  • 合规策略管理需要 compliance:manage 权限
  • DSR 处理需要 dsr:process 权限
  • 日志导出需要 audit:export 权限

7. HookSystem 集成

新增 3 个钩子事件:

事件触发时机数据
AuditLog审计日志记录时event: AuditEvent
ComplianceCheck合规检查执行时framework: string, result: object
DataSubjectRequestDSR 请求状态变更时request: DSRRequest, oldStatus: string

8. 文件结构

desktop-app-vue/src/main/audit/
├── enterprise-audit-logger.js   # 统一审计日志聚合器
├── compliance-manager.js        # 合规策略引擎
├── data-subject-handler.js      # GDPR数据主体请求
└── audit-ipc.js                 # 18个IPC处理器

desktop-app-vue/src/renderer/
├── pages/audit/
│   ├── EnterpriseAuditPage.vue  # 审计日志查看器
│   └── ComplianceDashboard.vue  # 合规管理仪表板
└── stores/audit.ts              # 审计状态管理

9. 相关文档


文档版本: 1.0 最后更新: 2026-02-15

ChainlessChain 系统设计文档 — 面向开发者