我们用直白的方式说明 v3 架构里的数据流,包括第三方处理者。
你的原文和邮箱会通过 HTTPS 发送到 Cloudflare Worker。fata 不是端到端加密:服务端需要短暂读取原文和邮箱来完成向量生成、匹配、共振描述和通知。
保存到匹配池时,敏感字段会用 AES-256-GCM 加密;GitHub Issue 只保留最小元数据。匹配成功并完成通知后,双方敏感 KV 数据会被删除;未匹配数据在 30 天后过期。
Worker 在提交、匹配和通知期间能处理你的原文和邮箱;匹配完成后也会在通知邮件中放入对方邮箱。这是让产品运作所需的最短链路。但 fata 没有聊天数据库:你们之后在各自邮箱里的通信不会经过 fata,也不会被 fata 保存。
| 位置 | 内容 |
|---|---|
| Cloudflare KV | 加密邮箱、加密 embedding、可选加密片段、邮箱 hash、限流/归属/验证记录;最长 30 天。 |
| GitHub | 匹配状态和最小元数据;不保存原文或邮箱。 |
| 浏览器 | 语言、邮箱、草稿和你的历史条目分别保存在 localStorage、sessionStorage 或 IndexedDB。你可以用浏览器清除站点数据。 |
| Cloudflare 日志 | IP、请求时间、错误和限流信息;抽样观测用于服务稳定性。 |
为了了解冷启动和哪一步流失,页面会向 Worker 发送匿名事件(如页面浏览、开始输入、提交、匹配成功/失败),并包含语言和你选择的“醒着原因”。事件不包含你的原文、邮箱或邮箱 hash。
未匹配提交的敏感 KV 数据最多保留 30 天。匹配成功并完成通知后,双方的敏感 KV 数据会被删除;GitHub 会保留关闭的 Issue 和 Match Issue 元数据用于排查。若你保留在浏览器中的历史里还有未匹配条目,可以使用撤回按钮删除。
如果你能提供 issue 编号,也可以在 github.com/gsailing19/fata/issues 留言,请求删除剩余元数据(这是最快、可追踪的渠道)。
匹配通知邮件包含退订链接。退订只保存邮箱 hash,不保存邮箱地址;退订后不会再收到新的匹配通知。
传输使用 HTTPS;静态敏感字段使用服务端密钥 AES-256-GCM 加密;GitHub 元数据最小化;聊天不落库。前端与架构文档公开,生产 Worker 使用私有运维副本部署,密钥不写入公开仓库。
← 返回 fataA plain-language description of the v3 data flow, including processors.
Your text and email are sent over HTTPS to a Cloudflare Worker. fata is not end-to-end encrypted: the server briefly processes plaintext text and email to create an embedding, match, write a resonance note, and send notifications.
Sensitive fields are encrypted with AES-256-GCM before storage. GitHub Issues contain only minimal metadata. After a successful match notification, both parties’ sensitive KV data is deleted; unmatched data expires after 30 days.
The Worker processes your text and email during submission, matching and notification. That is the shortest path required for the product. fata has no chat database: your later emails go directly between your mail providers and are not stored by fata.
| Location | Content |
|---|---|
| Cloudflare KV | Encrypted email, embedding, optional encrypted snippet, email hash, and rate-limit/ownership/verification records; up to 30 days. |
| GitHub | Matching state and minimal metadata; no text or email. |
| Your browser | Language, email, drafts and history in localStorage, sessionStorage or IndexedDB. Clear site data to remove them. |
| Cloudflare logs | IP, request time, errors and rate-limit data; sampled observability for service stability. |
To understand cold start and drop-off, the page sends anonymous events to the Worker (page view, typing, submit, match success/failure), including language and your selected awake reason. Events do not include your text, email or email hash.
Sensitive KV data for an unmatched submission is retained for at most 30 days. After a successful match notification, both sensitive KV entries are deleted; closed Issues and Match Issue metadata remain on GitHub for troubleshooting. If an unmatched entry is still in your browser history, use Withdraw to remove it.
You can also open an issue at github.com/gsailing19/fata/issues with the issue number to request deletion of remaining metadata.
Match notification emails include an unsubscribe link. We store only an email hash—not the email address—and stop future match notifications.
Transport uses HTTPS; stored sensitive fields use AES-256-GCM with a server-held key; GitHub metadata is minimized; conversations are not stored. Front-end and architecture documents are public, while the production Worker is deployed from a private operations copy and secrets are not stored in the public repository.
← Back to fata