← 回到 Livis

Livis 隐私政策

最后更新:2026-08-22

Livis 是一个自托管的终端客户端:你的主机、你的会话、你的凭据,默认都不经过我们。

唯一的例外是你主动为某台主机打开 Livis Link 之后(默认关),见第四节。

这份文档按代码实际做的事逐条列,不写「我们重视您的隐私」这类空话——

每一条都能在仓库里找到对应实现。

一、留在你设备上、永不上传的东西

数据存在哪
主机地址、用户名、密码、SSH 私钥系统 Keystore 加密的 SecureStore(stores/hosts.ts)
主机身份指纹(host key)应用私有 SharedPreferences(HostKeys.kt)
会话记录、agent 事件与审批留痕应用私有存储(stores/sessions.ts / stores/events.ts)
终端里的一切输出只在内存与你的主机上
设备身份私钥Android Keystore,不可导出(DeviceIdentity.kt)

我们没有服务器能读到这些。App 与你主机之间默认是 SSH / mosh 直连。

二、会离开设备的东西

有四条链路:前两条指向 lic.fastaibest.xyz(授权服务器),第三条是检查更新时访问 GitHub,

第四条是 Livis Link(默认关,你逐台主机自己决定开不开)。

1. 激活与续期

发送:授权码、设备指纹(sha256(ANDROID_ID + 包名),不可逆)、设备型号

(如「OnePlus ONEPLUS A6003」)、APK 签名证书指纹、设备公钥、请求签名。

服务端记录:授权与设备的绑定关系、最近在线时间,以及请求来源 IP(Web 服务器访问日志)。

用途:确认授权有效、限制同一授权的设备数(3 台)、支持你自助解绑换机。

2. 意见反馈(你主动提交时)

发送:你写的内容、你填的联系方式(选填)、反馈分类(问题 / 建议 / 其它),以及

你可以关掉的诊断信息:App 版本、Android 版本、设备型号、授权 ID、设备指纹。

服务端同时记录请求来源 IP。

诊断信息里不包含任何主机地址、凭据或终端内容。反馈页上那张卡片就是原文展示,

不想发就关掉开关。

3. 检查更新(默认开,可关)

App 启动时向 GitHub 公开的 Release 接口发一个 GET,不带任何身份信息;

GitHub 那边能看到的只有你的 IP 与 User-Agent 里的 App 版本号。下载新版 APK 同样走 GitHub。

不想让它自己发:设置 → 关于 → 关掉「自动检查更新」。

三、我们不做的事

四、你的控制权

服务端立即删除该设备记录;

五、主机端

openhook(装在你自己主机上的守护进程)只在本机 127.0.0.1 监听,

把 agent 的审批请求经你自己的 SSH 连接送到手机。它不向任何第三方发送数据。

连上 openhook 时,App 会把授权 token(内含授权 ID 与设备指纹)经同一条 SSH 发给

你自己的主机,供 openhook 离线验签——它只为持有效授权的设备服务。

这条 token 不经过我们,也不会发给任何第三方。

四、Livis Link(默认关,逐台主机开启)

主机在 NAT 后面、没有公网 IP 时,手机直接连不上它。Livis Link 用来补这个可达性。

它默认是关的:你要在某台主机的编辑页里自己打开,才会用到我们的任何设施。

为一台主机打开之后,手机与该主机会经我们的会合服务建立连接。这时我们能看到:

我们看不到内容:中继上跑的是 SSH / mosh 密文,服务端只搬字节、不解析,

也没有任何密钥能解开它。主机上的文件、终端内容、命令、agent 事件都不经过我们解密。

而且中继只是兜底:连上后会先在两端之间打洞,打通之后终端数据(mosh)

点对点直达,连字节数都不再经过我们。终端页顶栏会如实显示当前走的是

「直连」「打洞直连」还是「中继」——你随时看得到自己在哪条路上。

没有打开 Link 的主机,以上任何一条都不适用:我们的设施不在路径上。

联系

问题与数据删除请求:应用内「设置 → 意见反馈」,或官网 livis.fastaibest.xyz 留的联系方式。