我们不收集你的数据
「上课」是一款开源课表 App,没有账号体系、没有广告、没有统计 SDK。 这一页说明 App 实际会读写哪些数据、申请哪些系统权限、以及在什么情况下才会联网。
一、我们收集哪些信息
不收集。App 不要求注册或登录任何开发者账号,不采集设备标识、位置、通讯录、剪贴板或使用行为数据,也不包含广告、埋点或第三方分析 SDK。
项目为 Apache-2.0 开源,上述说法可以自行在源码中核对。
二、数据保存在哪里
- 课表、日程、待办与设置:保存在你手机上的本机数据库与应用私有目录中,不经过开发者服务器。
- 背景图片等自定义素材:仅保存在 App 私有目录或你自行指定的本地位置。
- 卸载 App 会清除上述本机数据。如需保留,请在卸载前导出 JSON 备份。
三、App 申请的系统权限及用途
下表列出 Android 版声明的全部权限,以及每一项实际承担的功能。所有涉及隐私的权限都只在对应功能被你主动使用时才生效。
| 权限 | 用途 |
|---|---|
INTERNET、ACCESS_NETWORK_STATE | 访问你学校的教务系统进行课表导入、检查适配资源更新、拉取公开节假日数据,以及你主动开启的 WebDAV 云备份与 AI 识别导入 |
POST_NOTIFICATIONS、POST_PROMOTED_NOTIFICATIONS | 发送课前提醒与当前课程状态通知 |
SCHEDULE_EXACT_ALARM | 精确调度课前提醒,避免课程开始后才收到通知(未授予时降级为普通准点提醒) |
REQUEST_IGNORE_BATTERY_OPTIMIZATIONS | 在你主动开启时,请求系统不要因省电策略杀掉提醒与小组件所需的后台任务;不申请也不影响手工使用 |
FOREGROUND_SERVICE、FOREGROUND_SERVICE_SPECIAL_USE | 上课期间维持状态栏课程进度显示(灵动岛 / 常驻通知) |
ACCESS_NOTIFICATION_POLICY | 上课期间自动切换勿扰或静音模式,下课后自动恢复 |
RECEIVE_BOOT_COMPLETED | 开机后恢复课表同步、提醒与小组件调度 |
READ_CALENDAR、WRITE_CALENDAR | 仅在你使用「系统日历同步」功能时读写日历;不开启该功能则不会申请或访问 |
四、什么时候会联网
App 只在你主动触发以下操作时联网,且所有网络请求的目标都由你所在环境决定:
- 教务导入:在你的设备上打开你所在学校的教务系统页面并抓取课表。学校名称、教务系统类型等适配信息是公开的公共信息,不包含个人身份数据。
- 适配资源更新:从项目的适配仓库拉取最新学校适配脚本,逐文件做
sha256校验;校验失败会自动回退到 App 内置的离线资源。 - 节假日数据:拉取公开节假日接口(timor.tech)以标注调休与放假,只发送年份与月份参数,不发送任何本机数据。
- AI 识别导入(默认关闭):仅在你主动开启该开关、自行填写接口地址与模型名之后才会联网,把你选择的那张课表截图或那段课表文字上传到你自己填写的那个接口做识别,详见第五节。
- WebDAV 云备份:仅在你于「备份与恢复」中自行填写服务器地址并开启后才会执行,备份文件上传到你自己的服务器,开发者无法访问。
- 跳转外部链接:如「我的 → 更多」中的 GitHub 仓库、开源许可证等,会通过系统浏览器打开。
五、第三方渠道
以下操作会把内容交给第三方页面或服务,它们各自适用其运营方的隐私政策与用户条款:
-
AI 识别导入(默认关闭,需你显式开启):开启后,「AI 导入」页会把你选中的那一张课表截图或那一段课表文字,连同你的识别指令,上传到你自己在设置里填写的 OpenAI 兼容接口(基地址与模型名均由你填写,App 不预置、不代管)。要点:
- 发给谁:只发给你自己填的接口,开发者不参与、不中转、不记录;
- 发什么:只有你主动选择的那份课表内容;课表以外的本机数据(日程、待办、笔记、成绩、账号、设备信息等)一律不发送;
- 不含什么:不上传你的教务系统账号密码;API Key 只存在本机且不参与云备份;
- 关闭时:开关关闭则完全不发起任何请求;其余本地导入路径(文本粘贴 / 文件 / Excel / 分享串)不受影响;
- 若你填写的接口属于第三方服务商,其对该内容的使用适用该服务商自己的隐私政策,请自行确认。
- 教务系统适配申请:跳转到 WPS 表单(f.wps.cn)填写学校与教务入口,表单服务由 WPS 提供。
- 意见反馈:可选择通过你自己的邮件客户端发送,或在 GitHub 提交 Issue。
- 节假日数据:使用公开接口 timor.tech 获取放假与调休安排(只发送年份、月份)。
- 软件下载与更新:跳出到夸克网盘领取安装包。
六、第三方组件
App 使用的第三方依赖均为开源库(如 Kotlin / Compose Multiplatform 生态组件、本地数据库与 WorkManager 等),用于界面渲染、数据存储与任务调度,不包含广告或用户行为分析用途。
相关依赖清单与许可证可在 GitHub 仓库的构建配置中查看。
七、你的数据权利
- 导出:随时通过「课表导入 / 导出」把全部数据导出为 JSON 或 ICS 文件。
- 删除:在 App 内删除课表、学期或待办;或直接卸载 App 以清除全部本机数据。
- 不联网使用:除教务导入与适配更新外的所有功能(手工建课、日历、小组件、提醒等)均可离线使用。
八、未成年人
App 不面向未满 14 周岁的儿童设计,也不会有意收集儿童的个人信息——事实上它不收集任何用户的个人信息。
九、政策变更
若未来功能变化导致本政策需要调整,我们会在本页与 GitHub 仓库同步更新,并注明生效日期。由于 App 本身不收集联系方式,无法逐一通知,建议在版本更新时留意本页。
十、联系我们
对本政策有疑问,或发现任何与上述描述不符的行为,欢迎通过以下方式联系:
- 邮箱:hhixingchen520@163.com
- GitHub Issues:qiqqqqq517/shangkeschedule
十一、关于本站
本网站(shangke.asia)是由项目维护者部署在 Cloudflare 上的纯静态页面。 它不设置 Cookie、不使用第三方统计或广告脚本,仅在本地浏览器存储中记录你的「深色 / 浅色模式」偏好。 页面中出现的下载链接指向 GitHub Releases,访问时适用 GitHub 自身的隐私政策。