Ente Locker 信息类型(Item Types)完全指南:Document、Note、Secret 与 Thing 的存储、加密与最佳实践
Ente Locker 是 Ente 生态中面向重要信息资产的端到端加密保险箱,其核心抽象是四种内置「信息类型」(Item Types):Document、Note、Secret 与 Thing。本文以官方 FAQ information-types.md 为骨架,结合 Locker 在 Web 端的源码实现,系统讲解每种类型能存什么、不能存什么、如何创建编辑与删除,以及它们背后的数据模型与加密原理,帮助你为自己的证件、笔记、凭据和实体文件建立一套安全、可检索、可传承的信息组织方案。
概览:Locker 支持哪四种信息类型
Ente Locker 目前提供四种内置信息类型,每一种都针对特定场景设计,且所有类型在数据离开设备之前都会被加密(端到端加密):
| 类型 | 英文类型名 | 用途 |
|---|---|---|
| 文档(Document) | file |
上传 PDF、图片、扫描件等文件 |
| 笔记(Note) | note |
任意长度的纯文本安全笔记 |
| 密文(Secret) | accountCredential |
用户名与密码等登录凭据 |
| 实物(Thing) | physicalRecord |
追踪纸质文件/实物的存放位置 |
这四种类型与 Web 端源码中的类型枚举一一对应。在 web/apps/locker/src/types.ts 中,
LockerItemType被定义为"note" | "accountCredential" | "physicalRecord" | "emergencyContact" | "file",其中emergencyContact(紧急联系人)是面向 Legacy 继承场景的内部类型,而通过「+」新建入口可选的四类正是上面四种(见 CreateItemDialog.tsx 中的CREATABLE_TYPES)。
能否创建自定义类型?
不能。 目前 Locker 只支持上述四种内置类型,不支持自定义类型。官方 FAQ 的明确建议是:对于无法归入这四种的信息,使用 Note 并配上清晰的标题和结构化内容(例如在笔记正文中分段、加标签前缀),用纯文本的方式组织好即可。
共同能力:所有类型共享的特性
从 information-types/index.md 可以看到,所有信息类型共享以下能力:
- 端到端加密:数据在设备本地加密后才上传;
- 集合(Collections):用集合对条目分组管理;
- 分享(Sharing):可与 Ente 用户分享,或通过公开链接分享;
- 搜索(Search):按标题快速查找条目。
创建、编辑与删除条目的通用操作
无论是哪种类型,条目的生命周期操作都是统一的:
- 打开 Ente Locker,点击 + 按钮;
- 选择要创建的条目类型(文档 / 笔记 / 密文 / 实物);
- 填写该类型的字段(见下文各节);
- 选择一个或多个集合;
- 点击 保存。
在 Web 端,这一步由 CreateItemDialog.tsx 实现:弹窗先用 TypeCard 列出四种可创建类型(每种带图标与说明文案),选定后切换为对应字段表单(ItemFormFields)与集合选择器(CollectionSelector),最后通过 handleSave 提交。
编辑条目
可以。 长按任意条目,点击编辑按钮即可修改内容,修改完成后点击 保存。在 Web 端,编辑模式复用同一个创建弹窗:CreateItemDialog 接收 editItem 参数后进入 isEditMode,表单中会预填 editItem.collectionIDs 等已有数据(见 CreateItemDialog.tsx)。
删除条目与回收站(Trash)
可以。 长按条目,点击菜单图标,选择 删除。删除后的条目不会立即消失,而是进入回收站:
- 条目在回收站中保留 30 天;
- 30 天后被永久删除;
- 永久删除前可随时恢复;
- 也可以手动清空回收站立即删除。
[!WARNING] 清空回收站将永久删除其中所有条目,该操作不可撤销。
细节见 trash.md。需要特别注意:回收站中的条目仍然计入你的存储配额,直到它们被永久删除(无论是 30 天自动删除还是手动删除)。
文档(Document):安全存储证件与文件
Document 类型用于上传并安全存储 PDF、图片、扫描件等文件。典型用途包括:护照与身份证扫描件、合同与法律协议、收据与发票、证书与文凭、保险文件、税务申报与财务记录、医疗记录与处方、房产文件等。
创建文档
- 打开 Ente Locker,点击 +;
- 选择 Document;
- 从设备中选择一个文件;
- 为文档添加标题;
- 选择一个或多个集合;
- 点击 保存。
在源码中,Document 对应的数据模型是 GenericFileData,仅包含 name(文件名)、fileSize(可选)与 hasObject(可选)三个字段(见 types.ts),因为文件本体由上传的对象存储承载,条目本身只记录元数据。文档条目的标题取自 data.name(见 types.ts 中 getItemTitle 对 "file" 分支的处理)。
支持哪些文件格式?
Document 支持常见文件格式:
- PDF 文件:合同、账单、表单;
- 图片:JPG、PNG、HEIC,用于扫描件与照片;
- 其他格式:各类常用文档格式。
完整支持列表请以 App 内的实际提示为准。上传的文件会占用存储配额,官方建议:上传前压缩大型 PDF、为扫描件选择合适的分辨率、移除多页文档中不必要的页面。
有文件大小限制吗?
有。 单个文件的上传存在大小限制,较大的文件可能需要先压缩或拆分再上传。具体的当前限制数值以 App 内的实际提示为准(Web 端在上传时会校验 LockerUploadLimitState 并展示错误提示,参见 CreateItemDialog.tsx 中的 uploadFileCountLimitErrorBodyWithUpgrade 错误卡片逻辑)。
如何在 iOS 上把照片添加进 Locker?
iOS 端可以借助系统的共享面板完成:
- 打开 Apple Photos(照片 App);
- 选择目标照片;
- 打开共享面板(Share Sheet);
- 选择 Ente Locker,照片即以 Document 形式上传到 Locker。
如何扫描纸质文档?
使用手机相机或扫描类 App 将纸质文档拍成图片或转成 PDF,再作为 Document 上传到 Locker。很多手机的相机 App 内置文档扫描功能,可以自动裁切并增强图像,扫描质量通常比直接拍照更好。
文档的查看、搜索与分享
- 安全查看:在 App 内直接查看已上传的文档。文档在设备本地解密后显示,存储中始终保持加密(见 documents.md)。
- 搜索:按文档标题搜索,因此建议在上传时使用描述性的名称。
- 分享:长按文档 → 分享按钮 → Share link 生成公开链接;若要与指定 Ente 用户分享,则将文档加入集合后分享整个集合。
笔记(Note):无限制的纯文本保险箱
Note 类型用于安全存储任意文本,适合:私人日记、安全提醒、敏感的会议记录、私密想法、加密草稿、机密信息,以及一切无法归入其他类型的内容。
创建笔记
- 点击 +,选择 Note;
- 输入标题;
- 在文本区输入内容;
- 选择一个或多个集合;
- 点击 保存。
Note 的数据模型 PersonalNoteData 只有 title 与 content 两个字段(见 types.ts),笔记的搜索也正是基于 title 进行的。
笔记支持富文本格式吗?
不支持。 笔记目前仅支持纯文本,粗体、斜体、列表等富文本格式暂不可用。需要结构化信息时,建议用清晰的标题配合编号、分隔符等纯文本手段组织。
笔记有字符数限制吗?
没有实际限制。 官方 FAQ 明确表示「没有实际字符数限制,想存多少就存多少」。
能给笔记附加文件吗?
暂不支持在笔记中附加文件。需要存储文件时,请改用 Document 类型。
笔记的编辑与分享
点击笔记打开 → 点击编辑按钮 → 修改内容 → 保存。分享方式与文档一致:长按 → 分享按钮 → Share link;或加入集合后向其他 Ente 用户分享集合(见 personal-notes.md)。
密文(Secret):最重视账号的凭据保险库
Secret 类型用于安全存储网站与服务的登录信息,适合银行、主邮箱、关键服务等「丢了就无法访问」的重要账号。
密文可以存哪些字段?
每条 Secret 包含:
| 字段 | 说明 | 是否必填 |
|---|---|---|
| Name | 便于识别的账号名称(如 "Gmail"、"Bank Account") | 是 |
| Username | 登录标识(用户名或邮箱) | 是 |
| Password | 账号密码 | 是 |
| Notes | 账号的补充信息(如安全问题答案、恢复邮箱、网站 URL) | 可选 |
这一字段结构与源码中的 AccountCredentialData 完全一致:{ name, username, password, notes? }(见 types.ts)。创建时在 + → Secret 中逐项填写,再选择集合保存即可。
密码可见性与复制
- 隐藏显示:密码默认隐藏,点击眼睛图标即可临时显示;
- 一键复制:点击字段旁的复制按钮,即可把密码复制到剪贴板用于粘贴到登录表单(见 account-credentials.md)。
FAQ 中的具体操作是:点击密文条目查看内容,点击密码字段旁的复制图标,密码即被复制到剪贴板。
能从其他密码管理器导入密码吗?
暂不支持从其他密码管理器导入密码,需要手动逐条添加凭据。
Locker 有浏览器集成吗?
没有。 Ente Locker 目前没有浏览器扩展,也没有自动填充(autofill)集成。因此官方建议的分工是:
- 日常密码管理器:负责日常账号、浏览器自动填充;
- Ente Locker(Secret):只存放最关键、最不能丢失的账号(银行、主邮箱、关键服务)。
这些凭据受端到端加密保护,且可以通过 Legacy 功能在需要时传承给家人(见 account-credentials.md)。简而言之:Locker 是密码管理器的互补品,而非替代品。
密文的最佳实践
- 每个账号使用独立唯一的密码;
- 定期更新已存凭据;
- 在 Notes 中补充安全问题、恢复邮箱、网站 URL 等关键信息;
- 用集合分组(如 "Work"、"Banking"、"Social Media")。
实物(Thing):追踪实体文件的存放位置
Thing 类型用于记录重要纸质文件/实物存放在哪里,典型对象包括:护照与签证文件、出生与结婚证明、房产证与产权文件、保险单、医疗记录、税务文件、遗嘱与法律文件、车辆登记文件等。
创建实物记录
- 点击 +,选择 Thing;
- 填写字段:
- Name:文件名称(如 "Passport"、"House Deed");
- Location:存放位置(如 "Home safe, top drawer");
- Notes:其他相关信息(可选);
- 选择一个或多个集合;
- 点击 保存。
数据模型 PhysicalRecordData 对应字段为 { name, location, notes? }(见 types.ts),Thing 的搜索同样基于 name(见 getItemTitle 中 "physicalRecord" 分支)。
位置记录能写多详细?
可以按需写得很具体,例如:
- "Filing cabinet, second drawer, folder labeled 'Tax 2024'"
- "Bank safe deposit box #142"
- "Fireproof safe in basement"
此外还可以在 Notes 中记录护照、驾照、保险单等文件的到期日期(expiration reminders),并在需要时补充「谁有钥匙或访问权限」等信息。
能附加实物照片吗?
不建议用 Thing 存照片。 Thing 的设计目标是「记录位置」而非「存储图像」。需要保存文件照片时,请用 Document 类型上传图片;Thing 条目专注于位置追踪。
如何追踪同一文件的多份副本?
两种方式任选:
- 在单条记录的 Notes 字段中列出所有存放位置;
- 为每份副本分别创建记录,用清晰的名称区分(如 "Passport - Home"、"Passport - Safe Deposit Box")。
实物记录的组织技巧
- 按类型建集合,如 "Identity Documents"、"Property"、"Financial";
- 记录访问信息:谁持有钥匙或访问权限;
- 交叉引用:为保险柜密码组合或账号访问关联到对应的 Secret 条目(见 physical-records.md)。
安全底座:所有信息类型的加密原理
以上四种类型之所以能放心存放护照扫描件、银行密码等敏感信息,底层依赖 Locker 的统一加密架构(详见 security.md 与 encryption.md):
- 加密算法:XChaCha20 与 XSalsa20;
- 消息认证:Poly1305 MAC;
- 密钥派生:Argon2id。
数据在设备本地加密后才上传,Ente 采用零知识(zero-knowledge)模型:加密密钥永不离开你的设备,服务器只存储密文。即使服务器被攻破,攻击者得到的也只是无法解密的密文——你的数据安全程度取决于密码强度。
密文数据还会冗余存储于欧盟三地(阿姆斯特丹、巴黎、法兰克福),跨 3 家提供商、3 个国家、共 3 份副本。此外,Locker、Photos、Auth 共用同一 Ente 账号,密码、恢复密钥与 2FA 设置对所有 Ente 产品生效,但各产品内的数据相互隔离。
相关阅读
atomcodeClaude Code 的开源替代方案。连接任意大模型,编辑代码,运行命令,自动验证 — 全自动执行。用 Rust 构建,极致性能。 | An open-source alternative to Claude Code. Connect any LLM, edit code, run commands, and verify changes — autonomously. Built in Rust for speed. Get StartedRust4.21 K635- DDeepSeek-V4.1-FlashDeepSeek-V4.1-Flash 是一个多模态混合专家(MoE)模型,拥有 5520 亿骨干参数,并支持最多一百万 token 的上下文长度。该模型原生支持图像和文本输入,并以自回归方式生成文本Python80
jforgamejforgame是一个一站式游戏服务器开发框架。包含游戏服务器开发所需要的各种组件,比如网关,socket服务端与客户端,自定义高效消息编解码,游戏热更新,游戏通用工具等等。包含游戏服,跨服,匹配服,后台管理系统等实现,同时提供大量业务案例以供学习。亦可用于其他socket应用,例如及时聊天等。Java201
fizz-gateway-nodeAn Aggregation API Gateway in Java . FizzGate 是一个基于 Java开发的微服务聚合网关,是拥有自主知识产权的应用网关国产化替代方案,能够实现热服务编排聚合、自动授权选择、线上服务脚本编码、在线测试、高性能路由、API审核管理、回调管理等目的,拥有强大的自定义插件系统可以自行扩展,并且提供友好的图形化配置界面,能够快速帮助企业进行API服务治理、减少中间层胶水代码以及降低编码投入、提高 API 服务的稳定性和安全性。Java100
certd开源SSL证书管理工具;全自动证书申请、更新、续期;通配符证书,泛域名证书申请;证书自动化部署到阿里云、腾讯云、主机、群晖、宝塔;https证书,pfx证书,der证书,TLS证书,nginx证书自动续签自动部署JavaScript120
Spark-X2.5-1.7BSpark-X2.5-1.7B 旨在让强大的 AI 更加实用、高效且易于获取。这些模型在广泛的日常任务中表现出色,涵盖对话、写作、翻译、推理、编程、工具调用和智能体工作流,并在同等规模的开源模型中取得领先结果。Spark-X2.5 将面向效率的架构与最高 1M tokens 的原生上下文窗口相结合,并支持 200 多种语言。Python300