Files
csm/migrations/014_clipboard_control.sql
iven b5333d8c93 feat: 添加新插件支持及多项功能改进
- 新增磁盘加密、打印审计和剪贴板管控插件支持
- 优化水印插件显示效果,支持中文及更多Unicode字符
- 改进硬件资产收集逻辑,更准确获取磁盘和显卡信息
- 增强API错误处理,添加详细日志记录
- 完善前端界面,新增插件管理页面
- 修复多个UI问题,优化页面过渡效果
- 添加环境变量覆盖配置功能
- 实现插件状态管理API
- 更新文档和变更日志
- 添加安装程序脚本支持
2026-04-10 22:21:05 +08:00

31 lines
1.6 KiB
SQL

-- 014_clipboard_control.sql: Clipboard Control plugin (剪贴板管控)
CREATE TABLE IF NOT EXISTS clipboard_rules (
id INTEGER PRIMARY KEY AUTOINCREMENT,
target_type TEXT NOT NULL DEFAULT 'global' CHECK(target_type IN ('global', 'group', 'device')),
target_id TEXT,
rule_type TEXT NOT NULL DEFAULT 'block' CHECK(rule_type IN ('block', 'allow')),
-- Direction: "out" = prevent clipboard data leaving the source app
-- "in" = prevent pasting into the target app
direction TEXT NOT NULL DEFAULT 'out' CHECK(direction IN ('out', 'in', 'both')),
source_process TEXT, -- Process name pattern for source (copy from)
target_process TEXT, -- Process name pattern for target (paste to)
content_pattern TEXT, -- Optional regex for content matching
enabled INTEGER NOT NULL DEFAULT 1,
updated_at TEXT NOT NULL DEFAULT (datetime('now'))
);
CREATE TABLE IF NOT EXISTS clipboard_violations (
id INTEGER PRIMARY KEY AUTOINCREMENT,
device_uid TEXT NOT NULL,
source_process TEXT,
target_process TEXT,
content_preview TEXT, -- First N chars of clipboard content
action_taken TEXT NOT NULL DEFAULT 'blocked', -- "blocked", "allowed"
timestamp TEXT NOT NULL,
reported_at TEXT NOT NULL DEFAULT (datetime('now')),
FOREIGN KEY (device_uid) REFERENCES devices(device_uid)
);
CREATE INDEX IF NOT EXISTS idx_clipboard_violations_device ON clipboard_violations(device_uid);