隐私政策

RowDeck 是一款用于监控 MySQL 和 MariaDB 服务器的 iPhone App,由独立开发者制作。它无需账号,App 与数据库之间也没有我们的服务器。本政策说明 App 存储什么、发送什么以及发送到哪里,以及本网站收集什么。

简要说明

  • RowDeck 从 iPhone 连接到所设置的 MySQL 和 MariaDB 服务器及 SSH 堡垒机。中间没有我们的服务器,因此连接、查询和数据不可能经过我们的服务器。
  • 密码、私钥、证书、已固定的指纹和 AI API 密钥都留在此 iPhone 的 iOS Keychain 中,不通过 iCloud 同步。
  • 崩溃报告发送到 Sentry,使用统计发送到我们自己的分析服务器,从在首次启动的页面上轻点“完成”时开始。它们从不包含 SQL、架构名、表名、列名、主机名、值或凭据。
  • AI 助手仅在被提问时,才会把脱敏后的快照发送给所选的服务商。
  • 我们不出售数据,不展示广告,也不跨 App 和网站追踪用户。

App 会连接到哪里

  • 自己的 MySQL 或 MariaDB 服务器,直接连接,或经由所配置的 SSH 堡垒机和跳板主机连接。
  • 为助手配置的 AI 服务商或模型服务器,仅在向助手提问时连接。
  • Sentry(崩溃报告)和我们自己的分析服务器(使用统计),各自在对应开关打开时连接。
  • Apple 的 App Store,用于 App 内购买。

除此之外不连接任何地方。演示连接可离线使用,App 关闭后也不会在后台做任何事。

哪些内容留在 iPhone 上

  • iOS Keychain,仅限本设备(WhenUnlockedThisDeviceOnly,不通过 iCloud 同步):数据库和 SSH 密码、私钥及其密钥口令、Secure Enclave 密钥、客户端证书和 CA 证书、已固定的 TLS 指纹和 SSH 主机密钥、AI API 密钥,以及缓存的 Pro 状态。
  • App 的受保护文件:不含机密信息的连接设置(名称、主机、端口、数据库、用户名、TLS 模式、SSH 主机和用户名)。这些设置会随 iPhone 备份迁移;密码、密钥和证书则留在保存它们的那台 iPhone 上。
  • 仅在此 iPhone 上,不进入备份:操作记录(终止、写入和行编辑,SQL 中的值替换为 ?),保留 90 天;以及已保存的 SQL 代码片段。
  • 仅在内存中:控制台的 SQL 历史记录和助手对话。会话结束后即消失。

导出的页面会以 CSV 文件的形式进入 iOS 共享表单,或进入剪贴板,RowDeck 放入剪贴板的内容两分钟后失效;之后去向由用户自行决定。删除连接会从设备上移除其凭据和已信任的指纹,服务器本身不受影响。

AI 助手

助手属于 Pro 功能,在内置演示中免费;演示中它按脚本回答,不调用任何模型。在配置服务商并提出问题之前,它不会发送任何内容。

请求从 iPhone 直接发送到所选的服务商:使用自己 API 密钥的 Anthropic、OpenAI、OpenRouter 或 Z.ai,或者自己的 Ollama 或兼容 OpenAI 的服务器。该服务商收到的内容适用其自身的隐私政策。每个密钥都留在 Keychain 中,只发送到保存时对应的地址。

  • 会发送:提问内容,以及所询问页面的快照:服务器类型和版本、“健康”卡片、会话和锁等待、语句摘要。
  • 从不发送:主机、端口、IP 地址、连接名称和密码。在所有模式下,语句中的值都会被移除。
  • 名称:使用“名称已隐藏”(云端服务商和自定义端点的默认设置)时,RowDeck 把架构、表、列、账户和语句中的名称替换为 table_1 之类的占位符后发送,并在 iPhone 上换回真实名称。使用“真实名称”(仅为自己网络中 Ollama 的默认设置)时,名称按原样发送。

发送之前,App 会显示读取了什么、隐藏了什么。助手不执行任何操作:回答中的 SQL 会进入控制台,终止操作也要经过常规确认。

崩溃报告与使用统计

首次启动的最后一个页面有两个开关:崩溃与错误报告和使用情况分析。两者初始均为打开状态,可以在该页面关闭其中任一项,也可以之后在“设置 › 隐私”中关闭。轻点完成之前,不会发送任何内容。

  • 崩溃与错误报告会将崩溃和失败操作的技术细节发送给 Sentry(Functional Software, Inc.):什么出了错,以及发生在 App 的哪个位置。
  • 使用统计发送到我们自己运营的分析服务器:打开的页面,以及连接服务器、打开演示、购买和恢复 Pro 等步骤,并附带当前方案(Free 或 Pro)。分析库会附加 App 版本、iOS 版本、设备型号和语言。我们不与任何人共享这些统计。
  • 轻点“完成”时,即使关闭了使用情况分析,App 也会发送一条包含两项选择的记录。之后若关闭使用情况分析,App 会发送最后一条包含该选择的记录,此后不再产生新的内容;在此之前记录的事件仍可能从队列中发出。关闭崩溃报告后,它会立即停止。

两者都从不包含 SQL、架构名、表名、列名、主机名、行中的值、密码、密钥或证书,也都不使用广告标识符。已经送达的数据保留在相应的处理方处。如对 App 已发送的数据有疑问,请发邮件至 support@rowdeck.app。

权限

  • Face ID 在“需要 Face ID”开启时用于解锁 App,该选项默认开启;也可以使用设备密码。Face ID 数据由 iOS 保管:RowDeck 只知道解锁是否成功。
  • 本地网络:App 仅在需要访问自己网络中的数据库服务器、堡垒机或模型时,才会请求此权限。

RowDeck 不会请求访问位置、通讯录、照片、相机或麦克风。

购买

RowDeck Pro 由 Apple 销售。我们从不接收付款信息。App 在设备上验证 Apple 签名的交易记录以解锁 Pro,使用统计只记录购买或恢复的结果。

本网站

rowdeck.app 是托管在 Cloudflare 上的静态网站。Cloudflare 会处理 IP 地址等技术性请求数据,用于交付和保护本网站。

我们使用 Cloudflare Web Analytics 统计页面浏览量并测量页面加载速度。它不设置 Cookie,也不在您的浏览器中存储任何内容。

我们使用 Google Analytics 4 了解哪些页面被阅读、哪些按钮被点击,例如 App Store 徽标。它会设置 Cookie,并在首次交互后或页面打开几秒后加载。广告功能已关闭。这些数据适用 Google 的隐私政策。

如果发邮件给我们,我们只会将邮箱地址和邮件内容用于回复。

儿童

RowDeck 是开发者工具,并非面向儿童。我们不会在知情的情况下收集儿童的个人信息。

选择权与政策变更

App 存储的所有内容都在设备上,因此可以直接在设备上查看、更改或删除。有关 App 已发送的数据、本网站或往来邮件的任何事宜,请发邮件至 support@rowdeck.app。

本政策如有变更,新版本将发布在本页面,并标注新的日期。

联系方式

RowDeck 由 Vladimir Chemeris 开发。隐私问题请联系:support@rowdeck.app。