跳转到正文

数据治理 ​

Rust-Srec 是录制工具,不会自动授予录制或处理直播内容的权利。运营方必须自行遵守所有适用地区的平台条款、著作权、隐私、劳动和保留义务。

数据清单 ​

数据常见位置风险
视频、音频与弹幕OUTPUT_DIR 和管道目标受版权保护内容、个人数据、用户名与消息
主播与会话元数据DATA_DIR 中的 SQLite标识符、URL、标题、会话历史和逐次检测历史。每个会话还会保存录制时所用的主播名称,主播本身被删除后该副本仍会保留;逐次检测历史则不会。
平台凭据与 Cookie数据库(账号凭据配置)及导出账号接管和受限内容访问
用户账号与密码哈希SQLite 和配置导出认证数据
通知与上传密钥SQLite 和配置导出第三方账号或端点访问
日志与通知事件LOG_DIR、容器日志、数据库路径、平台元数据与运行历史

使用前必须作出的决定 ​

  • 记录每个频道的合法依据和授权,包括私密、订阅专享或密码保护内容。
  • 分别定义媒体、弹幕、会话历史、任务历史、通知和日志的保留周期。会话历史有自己独立的生命周期:它不受产生它的主播存在多久的约束。逐次检测历史是例外——它会随主播一起被删除。
  • 识别 Webhook、邮件、Telegram、Gotify、Discord、rclone、百度网盘(BaiduPCS-Go)或自定义管道命令使用的每个外部目标。
  • 仅向有明确运行或编辑需要的人员授权。
  • 明确删除、法律保留、数据主体请求和事件响应如何覆盖源文件、衍生文件、备份和远端副本,并指明各自对应哪一项具体操作;删除主播能覆盖和不能覆盖的范围参见删除语义。

应用的历史保留设置不等于完整删除策略,也不会删除全部媒体副本。管道可能在主机外生成衍生内容或上传数据,必须端到端验证删除。

删除语义 ​

删除主播会移除该主播本身及其配置,但会有意保留录制历史:该主播的会话,以及挂在会话下的媒体产物记录、分段记录、弹幕统计和会话事件都会留下。留存的会话会被标记为已结束,并带上录制时所用的主播名称,因此即使主播已不存在,历史记录依然可读。该名称在会话开始时写入,此后不再更新,因此改名之前开始的会话保留的是改名前的旧名称——而主播本就已经缺失的会话则根本没有名称。

删除会立即生效,但不一定立即完成。主播会马上从界面和 API 中消失,也不会再有任何新任务为它启动;如果它当时正在录制,会先把录像正常收尾;如果后处理仍在进行,则等后处理结束后才真正删除该主播自身的记录——中途重启也会继续。在此之前该主播的 URL 仍被占用:用同一地址重新添加、导入仍包含它的配置,或删除它所使用的模板,都会以“正在移除中,请稍后重试”被拒绝。删除后立刻用相同 URL 重建主播的脚本需要重试。

有两类记录不会被完整保留:

  • 逐次检测历史——每次状态检测记录的结果、所选流、标题和观众数——会随主播一起被删除。
  • 通知事件本身会保留,但其中指向主播的关联会被清空,也没有随行保存名称,因此这些记录会失去归属信息。设置通知保留策略时需要把这一点考虑在内。

对保留或删除策略而言,这意味着删除主播并不是“擦除”这一步,且被保留的名称会比其对应的主体存在更久。还需要另外三项操作,其中前两项必须按此顺序执行:

  • 先删除媒体文件,趁记录它们的行还在。删除媒体产物时可以选择连同磁盘文件一并删除,不勾选则只删除记录。
  • 再单独或批量删除会话本身。删除会话会一并移除其名下的媒体产物记录、分段记录、弹幕统计和会话事件。该操作不会动磁盘上的文件,而且会销毁保存文件路径的那些行,因此先执行它会让文件失去任何可供定位的线索。管道任务、DAG 执行记录和上传记录只按标识符引用会话、没有外键约束,因此它们不会被一并删除。
  • 单独处理管道上传到别处的副本。应用内没有任何删除操作能触及远端目标——管道的 delete 步骤和媒体产物的删除选项都只作用于本地路径——因此这些副本只能在其所在位置删除。上传记录保存了每次成功上传的远端路径,是最接近这些副本清单的东西。

管道本身仍然可以改动远端数据,只是这不属于应用提供的删除操作:rclone 步骤设为 sync 时会删除目标端存在而源端没有的文件,args 会把任意参数原样传给 rclone,execute 步骤则执行交给它的任何命令。这些步骤的实际权限等同于它们所使用的凭据。

有两种狭窄情形会在无人要求的情况下删除文件:小于 min_segment_size_bytes 的录制分段会在会话仍在进行时连同同名弹幕文件一起从磁盘删除;失败的管道任务产生的半成品产物会被清理。两者都不能替代保留策略。

媒体记录删除失败时,相关数据库更改一起回滚。可选的磁盘文件删除不属于数据库事务。

审计能力边界 ​

会话、管道任务、通知事件和日志是运维工具,不是合规证据。如果需要审计留痕、法律保留或数据主体请求处理,请参见能力边界,并在外部补充这些控制。

下线 ​

依次禁用主播、撤销平台与通知凭据、撤销用户会话、停止服务、清点远端输出,然后按政策擦除或归档数据。禁用和删除主播都不等于清除:删除主播后,录制历史及其上保存的主播名称仍会留下;除非是明确要求一并删除文件的媒体产物删除,否则任何删除操作都不会移除媒体文件。配置导出和备份同样在范围内;只删除在线数据库并不充分。

此节内容已移至持久化约定.

基于 MIT 许可证发布。