VeilSwap
← 全部文章
隐私2026-10-308 分钟阅读

不要邮箱也不要手机号:兑换里真正识别你的是什么

下单七个字段、订单表二十列、三个端点零 Set-Cookie——外加你写给客服的邮件会变成哪一行 JSON,以及为什么邮箱别名只切断一条关联轴。

下单表单到底收什么

在 veilswap.io 下单是一次只有七个字段的 POST:fromAsset、toAsset、fromAmount、toAddress、toExtraId、refundAddress、refundExtraId。其中两个是需要 tag 的链才用的备注字段,五个必填——而自 10 月 25 日起退款地址就是必填之一。没有账号、没有邮箱、没有手机号、没有姓名、没有签名。2026-10-30 06:02 UTC 我们重新读了路由和数据表:处理函数只解构这七个键,请求体里多塞一个 email 会被静默忽略;写进去的 orders 表 20 列——id、corridor、两种资产、两个金额、收款地址、退款地址、池方、池方订单号、入金地址、入金备注、加价、两个联盟字段、状态、池方状态、三个时间戳和 valid_until。没有一列标识一个人。 (转错网络如何找回)

没有 cookie,但仍有三样东西在识别你

我们还抓了 /、/exchange、/api/quote 的响应头:三个都是零 Set-Cookie。没有会话 cookie、没有访客 ID、没有登录。但这不等于匿名,诚实的清单很短。第一,入金地址:每单新生成、链上永久,谁拿到它就能一路追到出金。第二,URL 里的订单号——/api/order/<id> 对任何持有者都返回入金地址、状态和金额,不需要登录,所以这个链接等于密码。第三,你的 IP:接口读 CF-Connecting-IP 并据此限流——每 IP 每小时 6 单、全局 120 单、IP+走廊+金额+收款地址四元组 90 秒防重。这才是整套系统里最接近「身份」的东西,而它是个网络地址,不是邮箱。

如果你真写了邮件,留下来的就是这一行

邮箱之所以是真泄漏面,正因为它是唯一一个你用自己话打字的地方。06:03 UTC 实测 DNS:MX 指向 route1/2/3.mx.cloudflare.net(Cloudflare Email Routing),SPF 是 v=spf1 include:_spf.resend.co ~all,出站签名用 resend._domainkey,DMARC 是 v=DMARC1; p=none; rua=mailto:[email protected]——报告发回同一个收件箱,而 p=none 等于告诉收信方「验证失败也别处理」。没有 MTA-STS,也没有 TLS-RPT 记录。过完 Worker 的信会变成一行 JSON:时间戳、Message-ID、From、To、主题、最多 20,000 字符的正文、原始字节数。From/To 截到 320 字符、主题 500,重复来信按 Message-ID 与最近 300 条比对后丢弃;正文首 700 字符还会推到 Telegram——也就是第三方也存了一份。

被丢掉的部分,和照样活下来的部分

Received 链被丢弃,所以中间跳点和你的客户端 IP 不在文件里;附件不解析;只保留 text/plain 部分,找不到就去标签取 HTML 正文。有两点我们宁可写明也不藏:正文抽取失败时,整封原始邮件(最多 8MB)会落盘便于排查;那个 JSONL 文件没有自动过期,没人清就一直涨。活下来的 Message-ID 也不中立——它由发信系统生成,通常带该系统的主机名或队列号,一眼就能分出 Gmail 用户、企业租户和隐私中继。

一个邮箱地址是关联键,不是秘密

「换个邮箱」是标准建议,但廉价的换法根本不成立。Gmail 忽略本地部分里的点号,j.doe@ 和 jdoe@ 是同一个收件箱;加号子地址(RFC 5233)是服务商自愿实现的约定,不是协议强制的,所有 +tag 都落进同一个收件箱,共享同一个找回手机号和同一份登录历史。再把两份数据摆在一起:卖你 USDT 的交易所手里有你的姓名、证件和那个地址。你若用同一个地址写信给兑换站,这个连接就是由这个键完成的——而这条连接只有一头是匿名的。子地址能防名单被卖,防不住关联。 (XMR 换 USDT 退出路线)

手机号是更糟的那把键

手机号在三点上比邮箱更糟。它是实名锚点——在越来越多的司法辖区,买 SIM 卡要出示证件。它会被回收:运营商把停用号码放回池子再分配,今天的标识明年可能属于陌生人,而账户历史还挂在上面。短信因子则是 NIST SP 800-63B 所说的「受限认证器」,正因为 SIM 交换攻击而不被高保证等级接受。这些都不碰我们的下单流程——那里没有电话字段;但它碰资金路径:如果卖你 USDT 的交易所手里有你的号码,这个号码就是你身份与链上轨迹之间的那把键,而轨迹终点是你这笔兑换。 (XMR 换 USDT 退出路线)

真正能把身份分开的六条

一,每个与钱有关的对手方一个别名——自有域名开 catch-all,或用付费别名服务,并记下哪个别名给了谁。二,正文里绝不放充值地址、txid、金额;只给订单号和 UTC 时间戳,其余让客服自己查。三,任何声称来自我们的邮件都要看信头:我们的 DMARC 是 p=none,没法要求你的服务商拒收伪造信;核对 DKIM 的 d= 域和 Message-ID,凡是要你「转到新地址」的一律当攻击。四,找客服就用你兑换时的那个隐私窗口和那条网络路径,别用工作用的浏览器配置。五,把订单链接当密码——它是唯一凭证。六,手机号上优先 TOTP,把短信当找回通道,不当认证因子。

四个值得点名的错误

第一,把「没有账号」读成「没有记录」:访问日志仍会保留请求行和 Cloudflare 客户端 IP 14 天,打开订单页就会把 /order/<uuid> 写在这个 IP 旁边。第二,把临时邮箱域名当匿名——那是别人运营的收件箱,也是退款时唯一能联系到你的通道。第三,以为反伪造能保护你:From 行不是证据,一个发布 p=none 的域名也没法把它变成证据。第四,因为兑换站不问就把手机号当可选项——两步之前卖你币的交易所几乎肯定问过,而且留了下来。

今天的报价长什么样,以及它为什么属于这篇文章

人们写邮件来问的,大多是每单那笔固定扣减,所以给一组数:2026-10-30 06:03 UTC,100 USDT-TRC20 换到 0.14880521 XMR,500 换 0.81690534,1,000 换 1.65206439,5,000 换 8.33155676——折合每 XMR 672.02、612.07、605.30、600.13 USDT,而现货是 589.09,即贵 14.1%、3.9%、2.8%、1.9%。反向 1 XMR 只换回 570.560438 USDT(-3.1%)。0.05 BTC 换 6.56135913 XMR,合 131.22718 XMR/BTC:进 3,920.65 美元的币,出 3,865.23 美元。当时目录是 75 条网络上的 518 个资产,其中 7 个需要备注。报价每分钟变,以页面实时为准。 (XMR 换 USDT 退出路线)

一句话版本

七个字段、零个 cookie、三样真正重要的东西:入金地址、订单链接、你连进来的网络。只在确实需要人回复时给邮箱,且用只在这里存在的别名,绝不用 KYC 交易所已经知道的那个地址。与其相信这段说法,不如自己验:下一笔小单,打开开发者工具,在每个响应头里搜 Set-Cookie——你不会找到。

常见问题

兑换流程会要邮箱或手机号吗?

不会。下单 POST 只有七个键(fromAsset、toAsset、fromAmount、toAddress、toExtraId、refundAddress、refundExtraId),多发的字段会被直接忽略;orders 表 20 列,没有邮箱、电话或姓名列。2026-10-30 06:02 UTC 实测 /、/exchange、/api/quote 三个端点均无 Set-Cookie。

如果我写邮件给客服,你们到底会留下什么?

一行 JSON:时间戳、Message-ID、From、To、主题、最多 20,000 字符的正文和原始字节数。Received 链被丢弃,附件不解析,重复来信按 Message-ID 去重。正文首 700 字符同时推送到 Telegram;解析失败时整封原始邮件(最多 8MB)会落盘。该文件没有自动过期。

换一个邮箱就能让两笔兑换互不关联吗?

不能。别名只切断邮件这条轴:Gmail 忽略本地部分里的点号,所有 +tag 都进同一个收件箱、同一个找回手机号,所以廉价别名不算隔离。入金地址和建单时的 IP 仍会把两笔兑换连起来;要干净,只能在自有域名上给每个服务单独开别名,或用专门的别名服务。

准备好换币了吗?

无账户 · 无 KYC · 无邮箱

立即兑换
不要邮箱也不要手机号:兑换里真正识别你的是什么 — VeilSwap