← 返回首页

隐私政策 Privacy

版本 v1.6 · 更新日期 2026-09-26 · 与 App 内「关于 → 隐私政策」及仓库 PRIVACY_POLICY.md 内容一致。本项目为开源软件,每条声明均可对照源码核验。

一句话版:我们不收集、不上传、不存储任何个人身份信息。课表在你手机本地;卸载即删除全部数据。

一、我们收集什么

我们不收集、不上传、不存储任何个人身份信息。

  1. 课表数据:你导入的课程信息(课程名、教师、地点、周次、时间等)仅保存在你的设备本地数据库中。
  2. 教务账号凭据:网页导入时,你在内嵌浏览器里输入的教务账号与密码仅在浏览器会话内使用,App 不读取、不保存、不上传;导入完成后可一键清除该会话。
  3. 云莓(宿舍开门)凭据与门锁密钥:仅保存在本机,并使用 Android Keystore 的 AES-256/GCM 密钥加密;登录与同步请求由手机直连云莓服务器,App 不中转、不上传、不备份。
  4. 适配器脚本仓库数据:App 会从导入源仓库下载学校适配脚本索引与脚本文件(默认指向开源适配仓库,也可自定义),下载内容仅为公开脚本代码,不含你的个人信息。
  5. 考试安排:校园页读取的考试信息(课程、考试时间、考场、座位、考试方式)由 App 在你本人已登录教务系统的内嵌浏览器会话内解析,并加密缓存在本机。其中不含账号与密码,不上传、不参与云备份,可随时在页面内「清空」。
  6. 洗衣房:你选定的默认门店(名称/地址/公开坐标)与楼栋设备状态快照(空闲/运行中/剩余时间)缓存在本机,均为非敏感的公开信息,明文存储、可随换门店覆盖;不含任何账号、订单或支付数据。定位坐标不落盘。

二、联网行为

联网仅用于:

  1. 下载学校适配器索引与脚本(来自导入源仓库);
  2. 在内嵌浏览器中加载你主动选择的教务网站并完成课表导入;
  3. 宿舍开门的首次登录与手动「同步门锁」(直连云莓服务器);
  4. 校园页「考试安排」的读取(在你本人的教务系统内嵌浏览器会话内完成,App 不中转);
  5. 洗衣房的门店与设备状态查询(直连顺水平台 batch.shunshuikj.cn,只读,无需登录、不上传任何用户数据;下单跳转由微信/支付宝客户端完成,App 不碰支付与设备控制)。

宿舍开门在登录一次后,门锁密钥保存在本机,日常开门完全在本机通过蓝牙完成,不再联网。除此之外,App 不会发起任何数据上报、统计埋点、广告或远程配置请求。

内嵌浏览器的传输安全由你访问的教务网站自身决定:部分学校站点仍为 http,此时该页面内的通信不受加密保护,请留意所处网络环境。

三、权限说明

权限用途
网络(INTERNET)下载适配脚本(GitHub / jsDelivr)、加载教务网页、宿舍开门首次登录与同步(云莓 base.yunmeitech.com)、洗衣房只读查询(顺水 batch.shunshuikj.cn)
蓝牙(扫描/连接,Android 12+ 为 BLUETOOTH_SCAN/CONNECT)连接宿舍门锁并发送开门指令,仅在你点击「开门」时使用,不在后台运行
位置(仅 Android 11 及以下声明)旧版系统的蓝牙扫描机制要求;不读取、不上传你的位置
大致位置(可选,洗衣房)仅在你点「附近门店」时使用一次,用于列出附近门店;不后台采集、不留存轨迹、不上传;拒绝授权不影响任何功能
指纹/面容(可选)开启「开门前验证」后开门本机校验,验证由系统完成
通知(POST_NOTIFICATIONS)课前上课提醒(可关闭)
振动操作反馈(底栏切换、调课落位等)
精确闹钟让课前提醒准点触发
开机自启重启后恢复课前提醒闹钟
日历(可选,需授权)将课表写入系统日历「不挂科课表」、考试写入「不挂科考试」,并支持分别清空
文件/照片选择器(无对应系统权限)通过系统照片选择器只读你主动选择的背景图片;导出 .ics 时写入你指定的位置。不申请存储权限

四、数据存储与删除

  1. 课程数据保存在应用私有数据库(Room),参与系统备份/换机迁移——这是有意设计,方便换机保留课表,其中不含任何账号凭据;背景图与适配脚本缓存在应用私有目录。
  2. 云莓凭据、门锁密钥与考试安排缓存均经 Android Keystore AES-256/GCM 加密后存于 campus_prefs.xml;该文件不参与系统云备份与换机迁移(已通过 data_extraction_rules.xml / backup_rules.xml 显式排除),适配脚本缓存同样排除。
  3. 写入系统的课程与考试分别保存在系统日历「不挂科课表」「不挂科考试」中,可在 App 内分别清空。
  4. 卸载 App 即删除全部本地数据。

五、校园功能(宿舍开门、考试安排与洗衣房)

宿舍开门基于开源项目 yunmei_unintelligent(MIT)移植的第三方接口实现。蓝牙仅在你点击「开门」时启动,用于扫描并连接宿舍门锁、发送开门指令,不采集蓝牙轨迹。该接口通过逆向官方客户端获得,可能随官方更新而失效;本功能与云莓智能官方无关联,使用产生的任何后果由使用者自行承担。

「考试安排」兼容正方教务(V9)的学校(实测基准:中国计量大学):在 App 内嵌浏览器里登录教务系统后,读取你本人的考试时间、考场与座位,凭据不落盘(仅浏览器会话),结果加密缓存在本机。该能力向任何第三方不上报。

「洗衣房」直连第三方顺水平台(batch.shunshuikj.cn)只读查询门店与洗衣机/烘干机等设备状态:无需登录、无用户身份、不上传任何数据;定位仅用于一次「附近门店」请求。下单/支付/启动设备均跳转官方小程序完成,App 不调用任何写接口。该接口通过逆向获得,可能随官方更新而失效;本功能与顺水官方无关联。

六、第三方内容

教务网页导入能力基于开源项目「拾光课程表」(Apache-2.0)的桥协议设计与社区适配脚本仓库(MIT),详见仓库 THIRD_PARTY_NOTICES.md。适配脚本在内嵌浏览器中解析你本人有权访问的教务页面内容,解析结果仅写入本地课表。

七、未成年人

本 App 面向在校学生的课表管理场景,不设年龄限制,也不收集未成年人信息。

八、联系方式

九、声明的可核验性

本项目为开源软件(MIT),政策中的关键声明均有对应实现,可对照仓库 ComposeApp/app/src/main/java/com/buguake/timetable/ 核验:凭据加密(campus/LocalCrypto.kt)、备份排除(res/xml/backup_rules.xml)、会话清除(webimport/ui/ImportWebViewScreen.kt)、离线开门(campus/BleUnlocker.kt)、联网端点(campus/laundry/ShunshuiClient.kt 等)、日历写入(data/CalendarSync.kt)。完整对照表见仓库 PRIVACY_POLICY.md 第九节。

变更记录

本页为仓库 PRIVACY_POLICY.md 的官网镜像;如两处出现歧义,以仓库文件与 App 内呈现为准。