Skip to content

隐私政策 ​

最后更新:2026-10-07 · 适用于轻听 Android 端与 Windows 桌面端

轻听是本地优先的音乐应用。这一页说明我们收集什么、不收集什么。

先看结论

  • 不采集 IMEI / OAID / 通讯录 / 位置 / 通话记录 / 短信 / 相册 / 剪切板
  • 不采集 你的播放历史(听歌统计留在设备本地数据库)
  • 不向第三方音源平台发送你的任何账号信息
  • 唯一会被送出的「个人信息」是你主动填写的(账号、反馈内容、上传的头像)
  • 统计上报匿名、免登录,且只覆盖 JS/UTS 层可捕获的运行错误;原生崩溃不采集
  • 账号可以自助注销:凭密码确认,注销后停用并匿名化,全端下线

1. 我们收集什么 ​

1.1 你主动提供的 ​

数据何时用途
用户名 / 密码注册登录账号体系(密码在服务端加盐存储,客户端不保存明文)
邮箱注册 / 找回密码账号标识、接收验证码
昵称 / 头像 / 性别你修改资料时展示
反馈内容 + 你填的联系方式提交意见反馈时处理问题
歌单封面图片你上传时展示在自建服务上

头像与歌单封面上传到自建对象存储,不经过任何第三方平台。上传通道有三条硬限制 (服务端强制,客户端不额外放宽):

限制取值
单文件大小≤ 2 MB
文件类型image/png · image/jpeg · image/webp
频率每个用户每天 2 次

上传前需要登录,凭服务端签发的一次性预签名票据直传对象存储;登记完成后服务端会 校验完整内容(而不是只信任声明的类型)。头像固定存放在 qt-media/avatar 目录,客户端不能指定其他路径。

1.2 自动采集的(匿名) ​

使用情况统计,匿名、免登录,用于判断功能有没有人用、崩溃集中在哪个版本:

字段取值
匿名设备 ID首次启动随机生成的 UUID,不是硬件标识
应用版本形如 主.次.修订 的版本号
平台 / 系统版本如 app-android / Android 14、app-windows / Windows 10/11
设备型号如 Pixel 6(桌面端固定 PC)
事件类型冷启动、前后台切换(带停留时长)、页面浏览、运行错误

事件类型一共六种:launcher(冷启动)、show(回前台)、hide(退后台,带本次 前台停留时长)、page(页面浏览)、error(JS/UTS 运行错误)、custom(预留, 当前未使用)。只有 error 事件会额外携带错误类型(js / network / biz)、 消息与堆栈。

行为细节:

  • 内存队列,10 秒或满 50 条批量上报一次;服务端单次上限 200 条,超量自动分片
  • 失败重试 ≤ 3 次后丢弃该批;队列上限 500 条,超出丢最旧
  • 退后台时队列持久化到本机,下次冷启动补报
  • 所有采集入口都有 try/catch 包裹,任何异常都不影响 App 主流程
  • 采集只覆盖 JS/UTS 层可捕获的运行错误(含 message / stack / 页面 / 版本)。 原生崩溃(进程死亡 / NDK / ANR)不做采集——我们没部署 Sentry,也不打算部署

上报前会对超长字段做截断,避免把无意义的巨量文本传出去:

字段上限超限处理
错误消息 message1000 字符截断
错误堆栈 stack16000 字符截断
附加信息 extra2048 字符整块丢弃,保事件本体

上报目标是自建后端 POST /api/v1/app/stat/report,不进 token 体系——也就是说 未登录也会上报,且上报内容与你是否登录无关。

提交意见反馈时会上送设备信息

「关于 / 意见反馈」提交时,设备型号、系统版本、应用版本号会随反馈内容一并 上传到自建后端(后端表 sys_feedback 的 device / os / app_version 列)。 这是为了定位问题——你提交的是 bug,我们需要知道它发生在什么设备上。 除此之外不做任何额外采集。联系方式一栏可留空。

1.3 请求头 ​

凡是请求自建后端(astral 网关)的调用,都会带上四个头:

头名示例
X-App-Utapp-android / app-ios / app-windows
X-App-Version当前应用版本号
X-Device设备型号(≤128 字符)
X-OS系统版本(≤64 字符)

三条硬约束(代码里写死的红线):

  1. 只给自建后端的请求加 —— 第三方直链与音源加速探测不会带上,不泄露本机信息
  2. 对象存储预签名上传(头像 / 封面)绝对不带 —— 自定义头会破坏签名校验
  3. 空值宁可不加头,也不写空字符串

这组头有两个消费方:接口统计(用于服务端按端 / 版本聚合接口耗时)与意见反馈入库。 字段名、取值与长度上限的权威定义在服务端 ClientHeaders,客户端改了必须同步改那边。


2. 我们不收集什么 ​

类别说明
硬件标识不采集 IMEI / MEID / OAID / MAC / Android ID,设备 ID 是随机 UUID
位置不申请定位权限,不采集
通讯录 / 短信 / 通话记录不申请,不采集
相册 / 媒体库只在你要上传头像 / 封面时读取你主动选择的那一张,不扫描、不上传整个相册
剪切板不读取
播放历史听歌统计只写在本机数据库,不上送(桌面端同样只存本地 SQLite)
第三方平台账号本软件与各音乐平台无任何账号关联,登录态只发给自建后端

登录态(token)只发给自建后端;访问第三方直链时不携带任何 token 或自定义头。


3. 权限用途(Android) ​

权限用途不授权会怎样
INTERNET在线搜索、试听、下载在线功能全不可用(本地播放不受影响)
POST_NOTIFICATIONS播放通知栏(常驻播放控制)没有通知栏控制,锁屏也看不到播放状态
READ_MEDIA_AUDIO扫描本地音乐库本地曲库为空,需手动指定目录
MANAGE_EXTERNAL_STORAGE删除第三方公共媒体文件、写入公共下载目录只能写到应用私有目录,删不掉外部文件
REQUEST_INSTALL_PACKAGES应用内更新安装更新改为跳浏览器手动下载安装
FOREGROUND_SERVICE / FOREGROUND_SERVICE_MEDIA_PLAYBACK后台播放保活切后台后播放可能被系统回收
WAKE_LOCK播放时防止休眠息屏播放可能中断
SYSTEM_ALERT_WINDOW桌面歌词悬浮窗桌面歌词不可用
WRITE_EXTERNAL_STORAGE(≤ Android 9)旧版本写入存储旧系统上下载失败

这些都是可选能力,不是前置条件。 拒绝任何一个,本地播放依然可用—— 只是对应功能(如桌面歌词、下载)不可用。 MANAGE_EXTERNAL_STORAGE 只在你要删除第三方媒体文件时才需要。

为什么要放行明文流量(http)

第三方音源接口与封面图有相当一部分还是 http://。Android 9 起默认禁止明文流量, 不放行会直接报 CLEARTEXT communication not permitted。因此应用声明了 android:usesCleartextTraffic="true"。这只影响能否访问 http 地址,不改变上面 任何一条「收集什么 / 不收集什么」的结论。


4. 数据存在哪里 ​

  • 本地数据(播放缓存、听歌统计、歌单缓存、设置):只存在设备上。 Android 在应用私有目录,Windows 在 %APPDATA%\QuietMusic
  • 账号数据(收藏、歌单、反馈、签到):存在自建后端服务器
  • 音源包:下载后存在设备本地,内容由提供方负责

Windows 端的数据根目录是 %APPDATA%\QuietMusic(数据库在 data/music.db, 音源包在 source-bundle/)。1.0.3 之前这个目录叫 LightListen,新版本首次启动时 会整目录改名迁移过来,曲库、收藏、播放历史与已装音源包都会保留; 万一改名失败(比如目录被占用),程序会继续使用旧目录而不是新建一个空目录—— 宁可不迁移,也不会让你看起来像数据没了。

卸载应用会清除本地数据。账号数据如需删除,请通过意见反馈联系我们,或直接使用 下方的自助注销。

4.1 账号自助注销 ​

在应用内可以凭密码自助注销账号,无需人工审核。注销的语义是 「停用 + 匿名化 + 全端下线」,一次事务完成:

动作结果
账号状态置为停用,理由记录为「用户自助注销」
昵称改为「已注销用户」
邮箱 / 手机 / 头像 / 设备标识清空
会话当前设备与其他所有设备一并下线

注销属高危操作,必须输入登录密码确认。注销后不可自助恢复,如需恢复账号 请联系管理员解封。已注销的账号再次调用注销会返回「账号已注销」。

如果你只是想清掉本机痕迹而保留账号,用设置里的「清除本地数据」即可,那是纯本地操作。


5. 第三方 ​

场景说明
音源包在线取链请求由音源包通过宿主通道发出,目标地址由音源包决定。我们不参与、不记录、不代理
崩溃 / 统计 SDK没有。我们不使用任何第三方统计或崩溃 SDK,统计上报到自建后端
广告没有。本软件不含任何广告 SDK
GitHub 更新加速检查更新时可能使用加速前缀(由自建后端下发),仅用于下载安装包

音源包能发出的请求被宿主通道限制为「取一个 URL 的字节」,包拿不到你的 token、 拿不到本机文件系统、也不能开 WebSocket 或 Worker。这条边界的具体技术细节见 音源包机制。


6. 儿童 ​

本软件不面向儿童,也不会故意收集儿童个人信息。账号注册需要邮箱,我们不设年龄门槛, 但也不针对未成年人做任何定向处理或额外采集。


7. 政策变更 ​

本政策可能随版本更新而调整,更新后的版本将在本页面公布。涉及采集范围扩大的变更 会同步更新本页顶部的「最后更新」日期。


8. 联系我们 ​

  • 应用内「意见反馈」
  • 反馈与贡献 页列出的 GitHub / CNB 渠道

数据删除、账号恢复、隐私相关的具体问题,走上面任一渠道都可以。


相关:用户协议 · 问题答疑 · 音源包机制

仅供学习与技术交流使用。本项目不存储、不分发任何音乐内容,请尊重音乐版权。
本站由 腾讯云 EdgeOne Pages 提供构建与托管支持,谨致谢意。