《通用数据保护条例》(GDPR) 是欧盟的数据保护法律,自 2018 年 5 月起生效。它规范组织如何收集、处理和存储欧盟境内个人的个人数据。
全文: 条例 (EU) 2016/679
条款映射
下表将 GDPR 的具体条款映射到 Rediacc 的技术能力。
| 条款 | 要求 | Rediacc 功能 |
|---|---|---|
| 第 5 条,原则 | 数据最小化、完整性、保密性 | CoW 克隆(cp --reflink=always)在同一机器上复制数据,无需网络传输。LUKS2 AES-256 加密所有静态数据。 |
| 第 17 条,删除权 | 应请求删除个人数据 | rdc repo destroy 以加密方式擦除 LUKS 卷。删除 Fork 会完全移除克隆副本。 |
| 第 25 条,设计即保护 | 默认隐私 | 加密是强制性的,不是可选的。每个仓库获得隔离的 Docker daemon 和专用网络。仓库之间无数据共享。配置存储使用零知识加密:配置在上传前在客户端使用 AES-256-GCM 加密,因此服务器无法读取任何明文数据。 |
| 第 28 条,处理者 | 第三方数据处理义务 | 自托管:Rediacc 在您的基础设施上运行。Fork、克隆或备份操作期间没有数据离开您的机器。没有 SaaS 组件处理个人数据。 |
| 第 30 条,处理记录 | 维护处理活动记录 | 审计日志跟踪 40 多种账户级事件类型:身份验证、API 令牌、配置存储操作和许可。通过 rdc audit CLI 或管理面板导出。 |
| 第 32 条,处理安全 | 适当的技术措施 | LUKS2 AES-256 静态加密,通过 iptables 和独立 Docker daemon 实现网络隔离,每个仓库的环回 IP 子网(/26)。配置存储使用三层加密:时间窗口 SDK 密钥、分割密钥 CEK 派生(passkey + 服务器密钥)和组织口令加密。 |
| 第 33 条,泄露通知 | 72 小时通知并附取证线索 | 审计日志提供所有操作的取证线索。自托管架构将影响范围限制在单个仓库。 |
数据驻留
CoW 克隆永远不会离开源机器。rdc repo fork 命令使用 reflink 创建文件系统级副本。不通过网络传输数据。
对于跨机器操作,rdc repo backup push/pull 通过 SSH 传输数据。备份目标接收的 LUKS 加密卷在没有操作员凭据的情况下无法读取。
环境克隆和数据脱敏
为开发或测试克隆生产环境时,Rediaccfile 的 up() 生命周期钩子在创建 Fork 后运行清理脚本:从数据库中去除 PII,将真实邮箱替换为测试地址,移除 API 令牌和会话数据,匿名化日志文件。开发环境获得不含生产身份的生产结构,满足数据最小化原则(第 5(1)(c) 条)。
零知识配置存储
可选的配置存储允许跨设备同步 CLI 配置。其设计使服务器对配置内容零知识:
- 客户端加密:配置在上传前使用 AES-256-GCM 加密。加密密钥(CEK)从 passkey PRF 秘密和服务器持有的秘密使用 HKDF 和域分离派生。任何一方都无法单独派生密钥。
- 服务器只能看到不透明的 blob:SSH 密钥、凭据、IP 地址、网络拓扑。这些对服务器均不可见。只有元数据(配置 ID、版本、时间戳)以明文存储。
- 通过 X25519 的成员访问:添加团队成员时,CEK 使用其 X25519 公钥加密并通过服务器中继。服务器永远不会以明文看到 CEK。
- 即时撤销:移除成员会删除其包装的 CEK 并撤销其令牌。未来的配置使用被移除成员无法访问的新 SDK 纪元。
- 轮换令牌:CLI 身份验证使用一次性轮换令牌(3 个请求的宽限窗口),首次使用时绑定 IP,24 小时自动过期。
即使服务器被完全入侵也无法暴露配置内容。服务器永远没有密钥。
详情请参阅配置存储。
数据控制者和处理者
由于 Rediacc 是自托管软件,您的组织同时是数据控制者和数据处理者。Rediacc(公司)不访问、处理或存储您的数据。自托管产品无需与 Rediacc 签订数据处理协议,因为没有个人数据流向 Rediacc 的基础设施。
配置存储是唯一接触 Rediacc 服务器的组件(用于同步),但其零知识设计意味着服务器只存储无法解密的加密 blob。