安全
你的数据, 尽在掌控
这里列出真正保护你的账户、文件与对话的措施。只写确实在用的东西 — 我们没有的认证,一个字也不会写。
最近更新
访问
登录与会话
会话由什么签名、第二因素如何工作,以及需要吊销会话时会发生什么。
- 密码
- 密码以带独立盐值的 PBKDF2-HMAC-SHA256 哈希存储。登录时服务器处理输入密码进行验证,无需保存原始密码。
- 两步验证
- 遵循 RFC 6238 的 TOTP — 任何标准验证器应用都可以。同时会发放一次性备用码以防手机丢失,每个只能使用一次。
- 通行密钥(Passkeys)
- WebAuthn 支持设备密钥登录。私钥保留在您的设备上;服务器验证签名响应及验证器支持的信息。
- 会话 Cookie
- 会话 Cookie 已签名且使用 HttpOnly;HTTPS 下使用 Secure。SameSite 设置取决于界面,Telegram Mini App 使用独立设置。
- 吊销全部会话
- 每个账户带有一个会话版本号。修改密码、重置密码、「在所有设备上退出」以及删除账户都会让它递增 — 此前签发的所有 Cookie 立即失效。普通退出只结束当前会话,不影响你的其他设备。
- 防暴力破解
- 每个登录接口都有频率限制,连续失败若干次后还会触发账户级锁定 — 它不绑定 IP,所以更换地址绕不过去。通行密钥、OAuth 与 Telegram 不受此限制:回到自己账户的路始终留着。
- 签名密钥分离
- 会话、第二因素确认、通行密钥挑战与机器人绑定各自使用不同的派生密钥。为某一用途签发的令牌无法通过另一用途的校验 — 这一点由测试单独固定。
- 访问变更提醒
- 修改密码、启用或关闭第二因素、添加或删除通行密钥,都会同时通过两个渠道通知账户所有者 — 应用内与 Telegram,并附带 IP。这些提醒无法关闭:账户被悄悄接管,不该是一个可配置项。
- 安全事件日志
- 登录与失败尝试、锁定、第二因素相关操作,以及运营方对账户的任何更改,都会作为独立记录写入,并带上 IP 与 User-Agent。
基础设施
数据的传输与存储
数据如何在网络中传输、文件存放在哪里,以及哪些内容我们刻意不保留。
- 传输加密
- 全部流量只走 TLS。https 响应带有为期一年、包含子域名的 HSTS,浏览器因此连尝试明文协议都不会尝试。
- 安全响应头
- 安全响应头和内容安全策略集中设置。Telegram Mini App 有独立嵌入规则;浏览器能力按界面限制。
- 私有文件存储
- 私有文件的访问权限会被检查,部分上传使用临时签名链接。头像、分享链接和公开作品使用单独的公开路由。
- 尽量少留
- 文档文本被提取用于处理。聊天临时上传有30天可访问窗口,不适用于头像和长期生成文件。物理删除取决于存储规则。
- 服务隔离
- 服务相互分离并有资源限制;数据库可能独立托管。这降低相互影响,但不能保证所有故障完全独立。
- 上传图片的校验
- 文件类型按内容判断,而不是看扩展名,也不是看浏览器怎么说。把可执行文件改名成 .png,并不能变成头像。
- 边界校验
- 请求允许修改的字段以显式清单列出 — 请求体里多出来的字段会被忽略,而不是被应用。文件路径会被规范化,外部链接按协议校验。
- 备份
- 每次发布前都会导出数据库,因此任何一次更新都有可回退的时间点。带轮转的定时备份脚本随项目提供,在服务器一侧启用。
研发
代码与供应链
每一处改动在进入生产环境之前必须通过什么。
- 改动的阻断式关卡
- 项目包含测试、静态检查、构建和依赖检查。具体发布以其 CI 运行结果为证,本页不能代替发布状态验证。
- 依赖审计
- 自动依赖检查帮助发现已知漏洞,但不保证发现所有问题或立即更新每个软件包。
- 守护不变量的测试
- 有一部分测试检查的不是结果,而是规则是否被破坏:异步代码里出现了重同步调用、迁移图出现分叉、某张表漏进账户合并登记表。这类问题肉眼看不出来,发现得晚代价很高。
- 密钥不进仓库
- 密钥与生产环境配置从不写在代码里。在生产环境中,缺少会话签名密钥不是日志里的一行警告 — 而是应用拒绝启动。
- 支付信息
- 银行卡信息在支付服务商的页面上填写,而不是在我们这里。卡号不会到达我们手中,我们也就无从保存。
模型
提供方与你的数据
什么会送到模型、什么永远不会,以及这一点由什么在技术上保证。
- 供应商训练与保存
- OpenLearn 不使用对话训练自己的模型。外部供应商条款和路由设置不同,不保证所有路径都禁止训练或零保留。
- 不出售数据
- 对话会发送给 AI 供应商以执行请求。接收方和目的见隐私政策;传输不意味着数据匿名。
- 单模型开关
- 任何模型都可以被运营方即时关闭:它会从目录与输入框的选择器中消失,而不是在更深处悄悄失败。
- 统一的平台密钥
- AI 使用平台密钥。内容可能附有用户和请求技术标识符、记忆及个人指令,不保证无法关联到个人。
子处理方
数据发给谁、为什么
所选功能需要传输数据。下列类别并非全部法律实体或国家的登记表;详情见隐私政策。
| 处理方 | 共享内容及原因 | 数据位置 |
|---|---|---|
| OpenRouterAI | AI 请求路由,包括语音识别和合成 | 境外处理,取决于路由 |
| 模型供应商AI | 生成结果所需的请求、上下文、附件和技术标识符 | 取决于最终处理方 |
| 支付服务商支付 | 金额、币种和交易标识符;方式由支付目录决定 | 取决于所选方式 |
| Resend邮件 | 地址和服务邮件内容;广告需同意 | 境外投递 |
| Timeweb Cloud基础设施 | 应用、数据库、文件和备份 | 主要部署在俄罗斯 |
| 外部登录与 Telegram基础设施 | 登录资料;使用机器人或 Mini App 时的消息 | 按所选服务条款 |
| 搜索与网络中介基础设施 | 搜索请求、网页读取和外部 API 流量 | 取决于路由和供应商 |
合规
监管与用户权利
欧盟
可向支持团队申请访问、更正、删除和导出数据。GDPR 的适用性及附加程序须单独评估;不声称已获合规认证。
俄罗斯联邦
隐私政策说明俄罗斯法律下的处理方式与权利。本页本身不能证明监管通知或所有传输的合法性。
美国加州
收集和接收方见隐私政策。加利福尼亚法律的适用性须另行评估;不作无条件 CCPA 合规承诺。
数据生命周期
存储什么、如何删除
- 聊天记录保存在你的账户中,直到你删除。可手动清除任意聊天。
- 上传的文件聊天临时上传的可访问窗口最长为30天。提取的文本和长期文件分别保存;物理删除取决于存储规则。
- 头像头像与临时上传分开保存。可在设置中更换或移除;停用账户并不证明文件已被删除。
- 删除账户删除操作会将账户标记为已删除并结束当前会话,不代表所有数据、备份和公开作品已被物理清除。请联系支持处理删除请求。
漏洞
发现问题,请告诉我们
漏洞报告会被优先处理,并且每一封都会得到回复。
support@open-learn.ai
请附上复现步骤,并在我们修复之前给我们一点时间,暂不公开。我们没有赏金计划 — 但我们会回复你,并说明我们做了什么。