我们收集什么数据
生效日期:2026-10-04
XMOJ-Script 是学生维护的开源项目,没有公司,也没有律师。这页用大白话写清楚脚本和我们的服务器实际处理了哪些数据。代码全部公开,你也可以通过源代码核实这里的说明。实际的数据处理方式变了,我们会同步更新本页。
本产品不面向欧盟居民。XMOJ-Script 主要面向小明的OJ用户,没有专门为欧盟、英国或瑞士的用户提供服务。
存在你浏览器里的
- 脚本设置:存在小明的OJ网站的浏览器本地存储(localStorage)里,清除该网站的数据即可重置。开启设置云同步后,设置还会上传到我们的服务器,见下一节。
- 保存的密码:开启「自动保存用户名与密码」后,密码交给浏览器自带的密码管理器保存,不会发送给我们。
- 短消息在线看:在 messages.html 填写的用户名和会话 ID 存在本网站的浏览器本地存储里,点「退出登录」即清除。查看消息时,用户名和会话 ID 会随请求发送到我们的服务器,用来确认你的身份。
会发到我们服务器的
讨论区、短消息、标程、徽章和设置云同步等功能需要连接我们的服务器 api.xmoj-script.uk(运行在 Cloudflare 上)。
| 数据 | 用途 | 保存多久 |
|---|---|---|
| xmoj 用户名和登录会话(PHPSESSID) | 服务器拿你的会话去 xmoj.tech 确认你是谁。数据库里只存会话的哈希值和用户名。 | 哈希值最多保存 5 天 |
| 帖子、回复 | 显示给所有脚本用户。 | 直到你或管理员删除 |
| 短消息 | 显示给你和对方。消息在数据库里加密保存,管理员不修改服务器代码就看不到内容。不过它不是端到端加密,解密在服务器上完成。 | 对方读过的消息,发送 5 天后自动删除。未读消息目前没有保存期限,会一直保留到对方读取 |
| 上传的图片 | 插入帖子和短消息。图片存放在 GitHub 上,但任何拿到图片链接的人都能打开,不需要登录。 | 长期。目前不能自己删除,需要联系我们 |
| 标程 | 你使用「上传标程」时,服务器会用你的会话从 xmoj.tech 读取一份该题的通过代码,供其他用户参考。 | 长期 |
| 徽章 | 显示在你的用户名旁边。修改时,徽章文字会交给 Cloudflare Workers AI 自动审核。 | 直到你删除 |
| 云同步的设置 | 在不同设备间保持一致。 | 直到你删除 |
| 访问记录:IP 地址、用户名、调用的功能、脚本版本 | 统计使用情况、排查故障,并用来显示个人主页上的「最后在线」时间。 | 由 Cloudflare 保存,约 3 个月 |
发帖等操作可能需要通过 Cloudflare Turnstile 人机验证,验证时你的 IP 地址会发送给 Cloudflare。
服务器的运行日志会记录用户名和会话哈希值的前几位,用于排查故障,不包含会话本身。
上传图片前想一想。请不要上传带有真实姓名、学校、联系方式、人脸或其他个人信息的图片。图片发出去以后,拿到链接的人都能看到。
会经手数据的第三方服务
项目没有自己的机房,下面这些服务商会处理部分数据。本网站不使用任何统计或广告追踪工具。
| 服务 | 用来做什么 | 可能收到的数据 |
|---|---|---|
| Cloudflare | 运行服务器和数据库、托管本网站、Turnstile 人机验证、Workers AI 审核徽章、记录访问 | IP 地址、浏览器和请求信息,以及上文「会发到我们服务器的」所有数据 |
| GitHub | 存放上传的图片、托管项目代码和本网站的备用站点 | 上传的图片;访问备用站点时的 IP 地址和请求信息 |
| Statuspage(Atlassian) | 在首页显示服务状态 | IP 地址、浏览器和请求信息 |
| cdnjs、fonts.loli.net | 加载网页样式、脚本和字体 | IP 地址、请求信息 |
谁能看到
- 帖子和回复:所有脚本用户。
- 短消息:只有你和对方。
- 访问记录:只有项目维护者。
我们不出售、不出租个人数据,也不会用这些数据投放广告。为了提供服务,部分数据会由上面列出的服务商处理。除此之外,除非法律要求,我们不会主动把你的个人数据提供给其他人。
怎么删除
在脚本设置里关掉讨论区、短消息等联网功能,可以减少发给服务器的数据。帖子和回复可以自己删除。想删除其他数据,发邮件到 seanoj_noreply@yeah.net 或在 GitHub 联系我们,写清楚你的 xmoj 用户名。
这页会更新
功能变了,这页也会跟着改,并更新上面的生效日期。改动记录可以在 GitHub 上看到。