安全说明
最后更新: 2026 年 4 月 21 日
我们认真对待家长与专业人员账号的安全,并力求公开透明地说明平台的构建方式与防护措施。本页描述了当前已落实的措施,以及如何向我们报告安全问题。
1. 我们的方法
Myopia Focus 围绕一套基本原则构建:尽量少收集个人数据;用业界标准工具保护已收集的数据;保持清晰的系统边界;并诚实地说明任何单一服务商安全保证的边界。
2. 传输层连接
- 全程 HTTPS / TLS。网站、应用内 API 与「专业人员控制台」在生产环境中均通过 HTTPS 提供服务。
- 移动端与网页端应用与同一安全来源下的单一 REST API 通信。
3. 身份验证与访问控制
- 邮箱 + 密码登录,适用于家长、专业人员与管理员。
- 密码使用 bcrypt 哈希(工作因子 12)后再写入数据库。明文密码从不离开请求处理流程,也从不被存储。
- JSON Web Token(JWT)在登录时签发,并以
Authorization: Bearer头部发送;会话是无状态的,且不存在第三方登录 Cookie。 - 角色隔离:家长、专业人员与管理员的操作由中间件把关,每次请求都会重新校验用户角色 — 家长令牌无法访问专业人员接口,反之亦然。
- 专业人员 ↔ 儿童访问需要家长批准关联请求,或由专业人员本人创建该患者档案;任意一方均可解除关联。
- 密码重置使用一次性令牌,签发后一小时失效,并通过 SendGrid 邮件送达。重置链接仅可使用一次。
4. 数据保护
- 最小化数据:我们仅收集运营服务所必需的内容(详见 隐私政策)。
- 匿名化研究数据集保存在独立表中,按照每个孩子的不可逆令牌建立索引,而非真实的账号或儿童 ID,因此无法回溯到具体个人。
- 数据库访问仅限应用服务器,使用保存在受管理环境密钥中的凭证,而非源代码中的硬编码。
- 实时「视力模拟器」完全在您的设备上处理摄像帧 — 帧画面绝不上传。
- 不会在网站或应用中加载任何第三方分析、广告或追踪 SDK。
5. 基础设施
- 托管:位于美国的 Replit Deployments。
- 数据库:同样位于美国的托管 PostgreSQL 实例。
- 邮件:事务性邮件(密码重置)通过 SendGrid 发送。
- 我们不运营自有的物理服务器;底层平台由 Replit 进行打补丁与维护。
6. 限制与诚实声明
没有任何系统是 100% 安全的。我们将本平台构建为一个用心保管孩子增长曲线与临床历史的场所,但 Myopia Focus 未经认证用于存储主要临床病历,也不能替代您所就诊机构的病历系统。请始终保留一份您自己的重要测量数据副本。
在我们依赖第三方(如 Replit、SendGrid)的环节,我们的安全部分取决于他们。我们对其底层基础设施没有低层级访问权限。
7. 您可以做什么
- 使用强且唯一的密码(至少 8 位字符)。
- 不要与其他成年人共用账号 — 专业人员应使用专业人员角色。
- 定期检查已批准的专业人员关联,解除不再需要访问权限的关联。
- 在共用设备上使用后请退出登录。
8. 负责任披露
发现安全问题?请告诉我们。
请发送邮件至 info@myopiafocus.org,并尽量提供详细信息 — 受影响的页面或界面、复现步骤以及您观察到的影响。我们将确认收到您的报告、进行调查并将后续修复进展告知您。
在我们处理期间,请勿公开披露该问题,也请勿尝试访问其他用户的数据。我们对出于善意的报告深表感谢。