qrwait免费开始

安全

最后更新: 2026年10月19日

QR Wait 尽可能少地保存您队列中访客的信息,并保护其余数据。本页概述具体做法;保存哪些数据、保存多久,请见隐私政策。

1. 托管与加密

QR Wait 运行在 Cloudflare 的网络上(Workers 和 Durable Objects),数据也存储在那里。所有连接均通过 HTTPS(TLS)加密,并要求浏览器在 qrwait.app 及其所有子域名上只使用 HTTPS(HSTS,一年)。

页面带有严格的内容安全策略(CSP):脚本只从 QR Wait 和 Cloudflare 加载,其他任何网站都不能在框架中显示 QR Wait。

Cloudflare 声明其持有 ISO/IEC 27001、ISO/IEC 27701 和 ISO/IEC 27018 认证(Cloudflare Trust Hub)。这些属于 Cloudflare;QR Wait 本身没有任何认证。

2. 账户与登录

  • 密码只以加盐的 PBKDF2-SHA-256 哈希形式保存。出现在已知数据泄露中的新密码会被拒绝;该检查只会将其 SHA-1 哈希的前 5 个字符发送到 QR Wait 之外(k-匿名)。
  • 通过身份验证器应用(TOTP)进行两步登录,并提供一次性恢复码。所有者可以看到哪些团队成员已开启。
  • 团队成员有各自的角色(所有者、管理员或工作人员);如受限制,只能打开分配给他们的队列。
  • 某账户在 24 小时内登录失败 5 次后,登录还需通过人机验证(Cloudflare Turnstile)。
  • 从新浏览器登录账户时会发送一封邮件。
  • 会话在 14 天未使用后结束;修改密码或"退出其他设备"会结束所有其他会话。
  • 验证、重置密码和邀请链接只能使用一次,且只保存其哈希。

3. 速率限制

请求在 Cloudflare 边缘按 IP 地址限制:登录、注册和重置密码每分钟 10 次,加入队列每分钟 60 次,REST API 每个密钥每分钟 120 次、每个 IP 地址每分钟 120 次。

4. 访客数据

  • 从不要求访客提供电话号码或电子邮件地址。只有商家为该队列开启后才会询问姓名。
  • 无论队列如何设置,票号连同其中的姓名和加入表单答案,最迟在加入后 24 小时删除。
  • 不保存任何位置。队列检查位置时,票号只记录到队列的距离及测量时间。
  • 工作人员屏幕上显示的二维码每 15 至 75 秒更换一次,每个码有效 1 至 5 分钟,因此转发到别处的照片无法让任何人排队。
  • 工作人员在面板中的操作记录保留 30 天;工作人员链接可随时收回。

5. 备份

无法重建的数据(账户、队列设置、票数余额)每天导出到 Cloudflare R2,写入前先加密:每个部分使用各自的 AES-256-GCM 密钥,该密钥再用公钥(RSA-OAEP)加密。用于解密的私钥离线保存。导出保留 35 天。

票号从不进入备份:其中包含访客姓名,且最多只存在一天。

6. 集成

  • Webhook 使用只显示一次的密钥签名(带时间戳的 HMAC-SHA256),且只发送到公开的 https 地址。除非商家为某个地址允许发送姓名,否则只包含号码和时间。
  • API 密钥只显示一次,并且只以 SHA-256 哈希形式保存。密钥分为只读或可读写两种,可随时撤销。
  • 开发者详情:API 与 Webhook 参考文档(英文)。

7. 子处理者

以下公司代表 QR Wait 处理数据,以运行本服务:

公司用途地点
Cloudflare, Inc.托管、存储、备份、邮件发送、人机验证(Turnstile)、安全、无 Cookie 访问统计美国,全球网络
Lemon Squeezy, LLC付款与发票(记录商家)美国
Apple Inc.向 QR Wait iPhone 应用发送通知(Apple Push Notification service)美国
Google LLC向 QR Wait Android 应用发送通知(Firebase Cloud Messaging)美国
OpenStreetMap Foundation管理面板中的地图图块和地址搜索英国

浏览器通知经由访客自己浏览器的推送服务发送。数据如何传出土耳其和欧盟,请见隐私政策。

8. 报告漏洞

请发送邮件至 hello@qrwait.app,主题为"Security"。我们会在 3 个工作日内确认收到,并在 10 个工作日内发送初步评估。在问题修复前请勿公开,并且只使用您自己的账户和队列进行测试。

对于善意遵守这些规则的研究,我们不会采取法律行动。没有付费漏洞奖励计划。机器可读的相同联系方式:security.txt。