SOC 2（系统和组织控制 2）是由美国注册会计师协会 (AICPA) 开发的框架，用于评估组织在安全性、可用性、处理完整性、机密性和隐私方面的控制。

参考: [AICPA SOC 2](https://www.aicpa-cima.com/topic/audit-assurance/audit-and-assurance-greater-than-soc-2)

## 信任服务标准映射

| 信任原则 | 标准 | Rediacc 功能 |
|---------|------|-------------|
| **安全性** (CC6) | 逻辑访问控制、加密 | LUKS2 AES-256 静态加密。凭据仅存储在操作员的本地配置（`~/.config/rediacc/`）中，从不在服务器上。SSH 密钥访问。每个仓库隔离的 Docker daemon。 |
| **可用性** (A1) | 系统恢复和韧性 | `rdc repo backup push/pull` 支持到 SSH、S3、B2、Azure 或 GDrive 的加密异地副本。CoW 快照实现即时回滚。基于 Fork 的升级实现零停机变更。 |
| **处理完整性** (PI1) | 准确完整的处理 | 确定性的 Rediaccfile 生命周期钩子（`up`/`down`）确保一致的部署。`rdc repo validate` 在意外关机或备份操作后验证仓库完整性和备份健康状况。 |
| **机密性** (C1) | 防止未授权访问的数据保护 | 使用唯一 LUKS 凭据的每仓库加密。通过 iptables、独立 Docker daemon 和环回 IP 子网实现网络隔离。不同仓库的容器无法互相看到。零知识配置存储在上传前在客户端加密配置。服务器仅存储无法解密的不透明 blob。 |
| **隐私** (P1-P8) | 个人数据处理 | 自托管：操作期间无数据外泄。所有数据访问的审计追踪。加密密钥管理在客户控制之下。配置存储使用分割密钥派生（passkey PRF + 服务器密钥），任何一方都无法单独访问数据。 |

## 审计追踪

Rediacc 记录 40 多种账户级事件类型，涵盖：

- **身份验证**：登录、注销、密码更改、启用/禁用 2FA、会话撤销
- **授权**：API 令牌创建/撤销、角色变更、团队成员资格
- **配置**：配置存储 push/pull、成员管理、访问失败（IP 不匹配、SDK 拒绝）
- **许可**：机器激活、许可证颁发、订阅变更

这些日志可通过管理面板（支持按用户、团队和日期过滤）和 `rdc audit` CLI 进行程序化导出。机器级操作（Fork、备份、部署）通过 SSH 在您的基础设施上执行，因此这些审计追踪存在于您的系统日志中。

## 变更管理

基于 Fork 的工作流程支持受控的变更管理：

1. Fork 生产仓库（`rdc repo fork`）
2. 在 Fork 上应用和测试更改
3. 独立验证 Fork
4. 将 Fork 提升到生产环境（`rdc repo takeover`）

每个步骤都记录了时间戳和执行者标识。

## 访问控制

- **机器访问**：仅 SSH 密钥认证。无密码 SSH。
- **API 令牌**：范围限定的权限，可选 IP 绑定，从团队移除时自动撤销。
- **仓库隔离**：每个仓库拥有自己的 Docker daemon 套接字。访问一个仓库不会授予对同一机器上另一个仓库的访问权。
- **配置存储令牌**：首次使用时 IP 绑定、24 小时自动过期和 3 个请求宽限窗口的一次性轮换令牌。通过 X25519 密钥交换管理成员访问，支持即时撤销。