隐私政策 / 数据处理说明(草案)
本草案由工程团队撰写,不构成法律意见。正式对外发布/提交 Anthropic Connector 目录审核前必须找专业法律顾问审阅一遍。以下内容严格对齐当前实际部署的实现(2026 年 9 月更新,云端 API Key 版 + OAuth 2.1 版远程服务已经真实部署并对外提供服务)——不写代码里还没有的东西。
1. 我们收集什么
本地模式(stdio MCP server,memory-core-mcp 命令)
你导入/输入的文本、由此抽取出的实体和关系,连同来源溯源信息(哪段原文、什么时候),存储在你本机的 SQLite 文件里,不会自动上传到任何服务器。
云端远程模式(api.yliuai.com,两种接入方式共用同一份数据)
- 注册邮箱:API Key 版通过 POST /users/register 收集;OAuth 版通过登录时的魔法链接表单收集。两种方式解析到同一个 user_id 命名空间,同一个邮箱不会产生两份账号。
- 凭证只存哈希:API Key、OAuth 的 access/refresh token、魔法链接一次性 token,数据库里都只存哈希值,明文只在生成的那一刻返回给你一次,之后我们自己也拿不到。
- 你的记忆图谱数据:文本中抽取出的实体、关系、时间戳、来源,存储在云端 Postgres 里,按 user_id 严格隔离(跨租户隔离测试见 tests/test_postgres_store.py)。
- 基础调用日志:时间戳 + 调用了哪个工具(add_memory/search_memory 等),不记录调用的具体内容,用于用量统计。
- 删除操作的审计记录:每次 forget_memory 会记录一条审计日志(时间、删除了多少条实体/关系),但被删除的数据本身不会被这份日志保留。
- OAuth 客户端注册信息:走 Dynamic Client Registration 的 MCP 客户端(如 Claude Desktop)注册时提交的 client_id/redirect_uris 等,这是「哪个 App 在连」的信息,不是你的个人数据。
2. 我们不收集什么
- 除邮箱外,我们不要求你提供任何其他个人身份信息才能使用本产品(本地或云端)。
- 我们不记录你调用工具时传入的具体文本内容到日志里(第 1 节的「调用日志」只有时间戳+工具名)。
3. 数据会经过哪些第三方
抽取记忆需要调用大语言模型,检索需要调用 embedding 模型——这两步的数据流向并不一样,如实说明:
- 大语言模型(用于抽取三元组)——本地模式:你自己在环境变量里配置的 LLM 供应商(OpenAI、DeepSeek 等),你的文本会发给你自己选的这家供应商。云端远程模式:这台部署当前配置使用的是 DeepSeek 的 API——你调用 add_memory 时输入的文本会发送给 DeepSeek 处理,我们的服务本身不额外留存这份请求内容,但它会经过 DeepSeek 的 API(作为处理方/sub-processor),受 DeepSeek 自己的隐私政策约束。
- Embedding 模型(用于语义检索):云端远程模式跑的是本地部署的 sentence-transformers 模型,在我们自己的服务器上运行,不会把你的文本发给任何第三方——这一步没有第三方数据流出。
- 邮件发送(仅 OAuth 登录用):登录魔法链接通过 Resend 发送,你的邮箱地址和登录链接会经过 Resend 的邮件发送基础设施(作为处理方/sub-processor),受 Resend 自己的隐私政策约束。
- 除上述两家(DeepSeek、Resend),我们不会把你的数据出售或共享给任何其他第三方。
4. 你的权利:导出与删除
- 随时完整导出:本地和云端都可以调用 export_memory 随时导出你的完整记忆图谱(实体、关系、时间戳、来源),这是免费能力,不是付费功能。
- 随时彻底删除:调用 forget_memory 是物理删除,不是标记删除——删除操作会被记录进一个独立的审计日志(时间、删除了多少条),但被删除的数据本身不会被这份日志保留。出于安全考虑,每次调用最多删除一条最匹配的关系,避免模糊表述误删太多数据。
- 如果你想彻底注销账号(删除你的邮箱/凭证记录本身,而不只是记忆数据),目前需要联系我们手动处理——还没有自助注销账号的入口(见下面「已知差距」)。
5. 数据保留期限
- 我们没有对记忆数据设置自动过期/自动删除机制——你的数据会一直保留,直到你自己调用 forget_memory 删除,或联系我们注销账号。这是如实说明现状,不是承诺的产品设计;如果之后加上自动保留期限策略,会在这里更新。
- OAuth 的 access token(1 小时)/refresh token(30 天)是认证凭证的过期时间,不是你的记忆数据本身的保留期限——凭证过期只影响你需要重新登录,不会删除任何记忆数据。
6. 数据加密与传输安全——如实说明现状
- API Key / OAuth 凭证:数据库里只存哈希值,泄露数据库也不会泄露可用的凭证明文。
- 传输加密:客户端到 Cloudflare 边缘这一段是标准 HTTPS。已知差距:Cloudflare 到源站服务器这一跳目前是 Flexible 模式,即明文 HTTP(不是我们的应用层选择,是当前 Cloudflare SSL/TLS 模式配置决定的),计划升级到 Full 模式(给源站装 Cloudflare Origin CA 证书)后这一跳也会加密。
- 记忆数据本身的加密:本地 SQLite 版(LocalGraphStore)支持可选的 Fernet 字段级加密;云端 Postgres 版目前没有接入同一套字段级加密(数据以明文形式存储在 Postgres 里,依赖服务器本身的访问控制,即只监听 127.0.0.1、数据库密码单独存放),这是一个真实存在、还没补上的差距,不是「计划中」的功能而是当前的实际状态,见第 8 节。
7. 联系方式
公开联系渠道目前还没有确定,这一节先占位。正式提交 Anthropic Connector 目录审核,或对外正式发布本政策前,必须补上一个真实的、主动选择公开的联系方式——Anthropic 的审核流程要求隐私政策包含联系方式,这一条不满足会导致审核被直接拒绝。
8. 已知差距(正式发布/提交审核前应该处理或至少明确知会用户)
- 云端 Postgres 里的记忆数据没有做字段级加密(见第 6 节)。
- Cloudflare 到源站这一跳目前是明文 HTTP(Flexible 模式,见第 6 节)。
- 没有自助注销账号的入口,注销目前要手动联系处理(见第 4 节)。
- 第 7 节的联系方式还是占位符,需要填一个真实渠道。
- 计费系统一旦接入支付信息处理,需要补充支付数据处理条款(目前云端服务没有计费/收费)。
- 找专业法律顾问正式审阅——本文档由工程团队撰写,不构成法律意见。
9. 我们不做的合规声明
我们不宣称本产品「符合 GDPR」或「受特定法规强制保护」——导出和删除能力是我们主动选择的产品原则,是领先于监管趋势的设计,而不是现成的合规红利(欧盟 GDPR 第 20 条数据可携权目前不清晰覆盖 AI 推断生成的个人画像/记忆,这恰恰是我们认为最应该主动覆盖的部分)。