Source: https://lodos.md/zh/security
Language: zh

# 安全：Zero-Knowledge 来自设计，而非政策

lodos 的 Zero-Knowledge 来自设计，而非来自政策。看清你的数据如何在你的设备上加密、明文在哪里止步，以及为何这里没有任何遥测。

## 安全不是一个选项，而是整套架构。

lodos 的 Zero-Knowledge 来自设计，而非来自政策。这里告诉你它究竟如何运作，以及明文在哪里止步。

## 用大白话说清这份保证。

你的主密码永远不会离开你的 Mac。你的数据在写入磁盘之前就已加密。我们以及你选择的任何云，只能看到无法解读的密文。连我们自己也读不了你的 Vault。

## 我们能看到什么，又看不到什么。

一家公司能向你展示的最诚实的东西。

我们能看到

我们永远看不到

- 你的邮箱地址
- 你的订阅状态
- 存在一份加密备份这件事
- 它的大小和时间戳

- 你的 Vault 和 Secrets
- 你的 Wiki、任务和笔记
- 你的 AI 对话
- 你的主密码或密钥

## 明文在哪里止步。

你的密码派生出一把永不离开设备的密钥。这条线之后的一切都是密文。

- 主密码
- Argon2id 密钥派生
- 加密密钥（设备本地）
- libsodium secretbox
- 加密数据块
- 可选 sync（不可解读）

明文永远不会越过这条线

## 你的 AI 看不到你的 sk_live 密钥。

当某个任务需要凭证时，lodos 会在本地解密它，并作为环境变量传递给子进程，处于模型的视野之外，任务一结束便消失。AI 始终只接触到形如 {{secrets.stripe.sk_live}} 的引用。lodos 中没有任何工具会返回明文 secret，而且一项构建期不变量检查会在有人加入这样的工具时让发布失败。

### 引用

模型看到的是占位符，永远不是真实值。

### 注入

真实 secret 在运行时进入子进程，永远不进入对话记录。

### 审计

每一次访问都会追加到一条防篡改的 HMAC 链上。

## 这道护城河在编译期就被检查。

每次发布都会运行一次构建期不变量扫描。一旦其中任何一条被违反，构建就会失败，这样这份保证就不会悄悄退化成一纸政策。

- 没有 bash、没有 exec、没有任何返回 secret 值的工具
- 没有原始模型 API 提供方，只有内嵌的 Claude Code
- 任何渲染路径上都没有 eval、Function、vm 或 child_process
- 未知工具一律拒绝执行，绝不静默放行
- agent 运行时明确禁用 bash
- 没有任何单一授权能凑齐致命三要素
- 仅声明式工作流，没有可执行的代码路径

没有任何工具会返回明文 secret，一旦有人加入这样的工具，构建立刻失败。

字段名

引用

子进程

AI 能看到的内容

明文永远不会抵达模型

## 点名所用的密码学原语。

没有自研加密。全是经过审计的标准构件。

### Argon2id

内存密集型密钥派生，64 MB / 3 次迭代，抵御 GPU 和 ASIC 破解。

### XChaCha20-Poly1305

通过 libsodium secretbox 实现认证加密，每个 section 独立密钥。

### HMAC-SHA256 链

每一次 Vault 和 Wiki 操作都被签名并串联，任何篡改都会打断这条链。

### 160-bit 恢复密钥

高熵，设备本地生成，我们从不存储。

### secretstream sync

64 KB 认证数据块，绑定到你的账户，因此数据块无法被重放。

### 不透明字段路径

审计日志只记录某个 secret 被使用过，绝不记录是哪一个。

## lodos 对比云端 Company OS。

lodos

典型云端工具

静态加密

Zero-Knowledge（厂商无法读取）

完全离线运行

防篡改审计记录

AI 能读取你的 secrets

零遥测

## 以及它无法防护的东西。

Zero-Knowledge 能保护你的数据不被我们和网络看到，但它无法保护一台已经被攻陷的设备，也救不了一个容易被猜中的主密码。强健的设备安全和一个强密码，依然需要由你来守住。我们宁愿把话说明白，也不愿夸大其词。

## 坦白说明的已知局限。

- 子进程的网络出口由 allowlist 把关，并非硬件级沙箱。
- macOS 公证仍在进行中，早期版本安装时会出现 Gatekeeper 提示。
- 我们从不代理第三方模型；你自带你自己的 Claude。

## 读懂它，再去信任它。

下载 lodos，让你的密钥留在它该在的地方。
