PADLINK · 隐私政策

PadLink 隐私政策

最后更新 2026-09-05 · 对应版本 v1.1

01 — 这份政策说什么

PadLink 由两个 app 组成:装在 iPad 上的 PadLink(下文称"iPad 端")和装在 Mac 上的 PadLink 主机程序(下文称"Mac 端")。两者配对后,iPad 变成 Mac 的无线触控板和数位板。 这份政策说明这两个 app 各自处理哪些数据、数据会不会离开你的设备、存在哪里、怎么删除。

PadLink 由个人开发者独立开发和维护,没有公司主体,也没有除这两个 app 之外的任何后端服务。

适用范围:本政策只覆盖这两个 app 自身的行为,不覆盖你安装它们所在的 iPadOS / macOS 系统, 也不覆盖你用 PadLink 操作 Mac 时所使用的其他任何第三方 App。

02 — 我们处理什么数据

指针与触控输入

iPad 屏幕上的每一次触摸、点击、拖拽、多指滚动,以及 Apple Pencil 每一次悬停 / 落笔的坐标, 会实时转发给已配对的 Mac,用来移动 Mac 上的指针、模拟点击和滚动。这些数据只在两端的内存里 流转,两个 app 都不会把它们写进日志或数据库——断开连接或退出 app,这些数据就不存在了。

键盘输入

iPad 端键盘面板上按下的每一个键(含长按锁定的修饰键)会转发给 Mac 并注入系统, 效果等同于你直接在 Mac 自己的键盘上按键。同样只在内存里处理,不落盘、不留历史记录。

已安装应用清单与图标

编辑顶部抽屉(App 切换器)、需要挑选要添加的 Mac 应用时,Mac 端会扫描 /Applications、/System/Applications 等几个固定目录, 把找到的应用名称、Bundle ID 和一张图标图片发给 iPad。这个动作只在你主动打开抽屉编辑器 那一刻发生,不是后台常驻扫描。iPad 只会把你实际添加进抽屉的应用图标缓存到本地文件; 没被选中的应用信息用完即丢,不做任何形式的保留。

配对身份信息

首次配对时,Mac 生成一个一次性的 6 位数字 PIN,iPad 输入后完成握手;配对成功后, Mac 会给这台 iPad 分配一个身份令牌(token)和一把用于后续加密连接的主机密钥。 这些凭据分别保存在 Mac 和 iPad 各自的系统钥匙串(Keychain)里,仅限本机读取, 不会随 iCloud 钥匙串同步到其他设备。

诊断日志(默认关闭)

iPad 端的设置里有一个诊断日志开关,默认关闭。打开后,连接与手势相关的事件会被记录到 app 自己的 Documents 目录,用于你或开发者排查连接问题。这份日志只存在设备本地, PadLink 不会主动把它发送到任何地方——只有把 iPad 接上电脑、用 Apple 官方的开发者工具 手动导出,才能拿到这份文件。

匿名使用统计(唯一会联网的数据,默认开启,可以关)

iPad 端和 Mac 端各自会向我们自己的官网(spb.biily.top/padlink/e)发送 一个很小的匿名计数请求——这是这两个 app 里唯一会联网、离开局域网、发到公共互联网上 的数据,其余所有内容(下一节列的指针、按键、应用清单、图标、配对凭据)都不涉及这条网络请求, 也不经过这个地址。两端各发各的,谁也不替谁转发;发送前会等 20 秒,之后每 5 分钟一次, 退到后台 / 锁屏 / 退出时会补发这一段的收尾。三道闸门缺一不可:这台设备从没有成功配对过、 或者正在锁屏 / 已退到后台、或者你已经在设置里关掉了这个开关,任何一条成立, 这次都不会发出去。

每次发送最多包含这些字段,没有别的:

系统信息
是 iPadOS 还是 macOS(不精确到系统版本号)、Mac 芯片是 arm64 还是 x86_64、PadLink 的版本号、这一段时长(秒)。
iPad 端计数器
完成过一次配对(pair)、这次用的是 Wi-Fi 还是 USB(connect_wifi / connect_usb)、左 / 右 / 上三条抽屉各自有没有被打开过(drawer_left / drawer_right / drawer_top)、点没点过输入 / 远程桌面切换按钮(mode_switch)、打开没打开过抽屉编辑页(editor_open)、点过几次文案格子把它发出去(text_send)。全部只是次数,不带内容。
Mac 端计数器
完成过一次配对(pair)、这次用的是 Wi-Fi 还是 USB(connect_wifi / connect_usb)、启动时"辅助功能"权限还没给(perm_denied)。

没有任何形式的用户 / 设备标识符——不是"标识符被加密了",是这套设计从一开始就没有它: 没有账号、没有设备 ID、没有广告标识符、也不用推送 token 顶替。服务端能算出的"活跃", 靠的是当天请求 IP 与系统信息的一次性哈希,这个哈希把当天的日期也算进去了, 所以第二天同一台设备再发一次,哈希结果必然对不上——算得出"今天有多少台设备发过请求", 算不出"这些设备里有多少是上周就在用的老用户"。这是刻意的取舍,不是遗漏。

以下几类,无论以后加什么功能,都不会出现在这条请求里——写在两份 Telemetry.swift 头部注释里的明文禁止清单:

  • 任何转发过 / 收到过的按键、键码或文本内容
  • 任何指针坐标或移动轨迹
  • 任何枚举出来的应用名称或 Bundle ID
  • 抽屉里的任何内容——标签文字、文案片段本身(text_send 只数点了几次,不数点的是哪一条、写的是什么)
  • 设备名、主机名
  • 配对令牌、密钥(PSK)
  • 任何能把今天和明天的同一台设备对上号的标识符
03 — 数据去哪儿(以及明确不去哪儿)

只有一条数据会离开你的设备去往公共互联网:上一节「匿名使用统计」那条计数请求, 目的地是我们自己的官网 spb.biily.top。除此之外的一切——指针、按键、 已安装应用清单与图标、配对握手——都只发生在配对双方之间,不经过这条请求, 也不经过任何其他服务器。这是这份政策唯一一处从上一版起发生变化的地方,具体改动见 页面顶部的更新说明。

  • PadLink 没有账号体系,不需要注册或登录;匿名使用统计也不构成账号——它不含任何 能识别"你是谁"的字段,见上一节。
  • 两个 app 都没有集成任何第三方数据分析、广告或崩溃上报 SDK——联网的只有我们自己 写的这一条计数请求,不经过任何第三方服务。
  • 没有云端后端,也没有崩溃报告服务——出问题只能靠上面那份本地诊断日志人工排查; 匿名使用统计是单向的"发出去就不管",不会用来回传任何东西、不会控制 app 的任何行为。
  • 除 Apple 系统自带的 Bonjour(局域网设备发现)与 usbmux(USB 直连)机制外, 两个 app 之间的配对与控制流量不与彼此之外的任何服务器通信。
  • 配对与控制流量只发生在同一个局域网内,或者一根 USB 数据线的两端, 全程用 TLS-PSK 加密,不会经过公共互联网,也没有中转服务器。
  • 不请求定位权限,不采集位置信息——匿名使用统计里也没有位置或大致地区字段。
04 — 存储与保留
Mac 端
已配对设备列表和主机密钥保存在 Mac 的系统钥匙串里。在 PadLink 的界面里移除一台已配对设备,会同时删除它在钥匙串里的记录。
iPad 端
已配对 Mac 的凭据保存在 iPad 的系统钥匙串里;已添加到抽屉里的应用图标缓存为本地 PNG 文件,存在 app 的 Application Support 目录,并已标记排除在 iCloud / iTunes 设备备份之外。
实时控制数据
指针、按键这类数据完全不落盘,两个 app 都没有为它们做任何形式的持久化存储。
匿名使用统计 · 设备这一侧
发送之前,几个计数只暂存在 app 运行时的内存里(一个进程内的变量),从不写进磁盘上的任何文件;发出去之后立刻清零重新计。退出 app 或系统杀掉进程,还没发出去的那一点计数就跟着消失,不会留下任何本地记录。
匿名使用统计 · 服务器这一侧
服务器把收到的请求写成一行原始日志(含请求方 IP),供聚合脚本读取,这份原始日志每天轮转、保留 90 天后自动删除(与这台服务器上 Aurora、Rove、Eas-Term 的访问日志同一套策略,配置见 /etc/logrotate.d/spb);对外呈现、长期留存的只有聚合之后的计数("今天有多少台设备配对成功"这类数字),这份聚合结果不含 IP、不含系统信息原文,见上一节"没有任何形式的用户 / 设备标识符"。
卸载
卸载任一 app 会清除该 app 在本机保存的全部数据(钥匙串条目、图标缓存、诊断日志、尚未发出的统计计数)。
05 — 你的控制权

你可以随时在 Mac 或 iPad 上"移除"一台已配对设备,对应的钥匙串凭据会被立即删除, 之后两端必须重新走一次配对(输入新的 PIN)才能再连上。锁屏时 Mac 会自动断开全部连接、 释放所有按下的键并停止监听(Wi-Fi 和 USB 都停),解锁后才恢复——这个行为不需要你手动设置。

关掉匿名使用统计

默认开启,但有一个真实、找得到的开关,不是藏在某个只有开发者知道的设置项里:

Mac 端
打开控制台窗口,"上报匿名使用数据"开关。
iPad 端
手势设置页 →「隐私」分区,同名开关。

关掉的一刻,这台设备上还没来得及发出去的计数会被直接丢弃,不会留到下次打开开关时 "补发"——那是你没同意上报时攒下的数据,不应该被留着。重新打开开关,就从那一刻起 重新开始计数,不会补报关闭期间发生的事。

因为这份计数从设计上就不含任何能对应到"你是谁"的字段(见 02 节),我们没有办法、 也没有必要单独找出并删除"你这一台设备"发过的某一条计数——这不是技术上偷懒, 而是这套数据结构从第一天起就不支持这种检索,想支持就必须先加一个能跨天认出你的 标识符,而这正是我们决定不做的事。

06 — 系统权限清单
  • 本地网络(iPad 与 Mac 都会请求)——用于 Bonjour 发现对方、建立加密连接。
  • 辅助功能(仅 Mac 端)——用于把收到的指针与按键真正注入系统,这是 PadLink 存在的前提,没有这项权限它什么都做不了。

PadLink 不请求相机、麦克风、通讯录、照片或位置权限。"本地网络"权限管的是配对与传输, 不覆盖匿名使用统计那条请求——那是一次普通的公网 HTTPS 访问,iPadOS / macOS 对这类 访问本身不会额外弹出权限申请,能控制它的只有 05 节里那个开关。

07 — 儿童隐私

PadLink 不面向 13 周岁以下儿童设计,也不会针对儿童主动收集任何信息—— 它本身也没有账号体系可供收集。

08 — 政策变更

这份政策会跟着功能变化更新,更新时间体现在页面顶部的"最后更新"日期上。 如果未来加入需要新增权限或数据处理方式的功能,会第一时间写进这份政策, 不会用旧版本的措辞覆盖新的实际行为。

09 — 联系方式

对这份政策或 PadLink 处理数据的方式有任何疑问,欢迎发邮件到 Biily786063474@gmail.com。