隐私与网络
本地优先:什么留在你的 Mac 上、应用可能发出的网络请求,以及离线回退的工作方式。
Numlex 以本地优先为设计原则。你的表格、变量、常量和设置都留在 Mac 上,应用的网络范围是 一份小而明确的清单:汇率、天气和地点查询。每一项都由严格的行模板触发——如果行不匹配, 就不会向任何地方发送任何内容。
什么留在本地
- 所有计算、日期与时间、变量、小节、合计、单位换算和角度转换都完全在你的机器上运行, 可完全离线工作。
- 时间和金融目录随应用分发:时区、公共节假日(2019–2035)、销售税预设、2026 年 所得税表和 BLS CPI-U 通胀数据都可离线解析。回答这些问题不会下载任何内容。
- PDF 导出和打印完全离线:没有网络请求、剪贴板访问和分析。
- 表格和设置保存在
~/Library/Application Support/Numlex(单个本地存储)。 - 没有账户、没有登录,也没有任何形式的云同步。
- Numlex 从不读取 GPS 或位置数据——坐标只能来自你输入的显式角度语法。
网络允许清单
| 请求 | 触发方式 | 发送内容 |
|---|---|---|
| 汇率刷新 | 含法定货币的换算行 | 无任何可识别信息——公开的汇率表下载 |
| 天气查询 | 以下五种严格模板之一 | 只发送你输入的地点名称 |
| 地点查询(地理编码) | location of、latitude/longitude of 以及命名的 distance between 端点 | 只发送你输入的地点名称 |
| 更新检查 | Check for Updates…、自动检查或接受更新 | 无任何可识别信息——对 appcast 的普通 GET;接受更新后从 GitHub 下载公告的 .dmg |
这些请求都属于当前 4.9.6 版本,本页其余部分遵循同样的本地优先模型。
更新
带更新器的 Numlex 构建在检查更新时读取 https://numlex.tech/appcast.xml 的 appcast,
只有在接受更新时才从 GitHub 发布 URL 下载公告的 .dmg。两者都是普通
HTTPS 请求,没有查询字符串和标识符;匿名系统分析已禁用,也没有分析或
使用情况上报。如果源不可达,应用会报告失败并继续工作。
汇率
- 提供方:免费的
open.er-api.com端点,无需密钥,基准为USD。 - 汇率表每小时刷新;最后一份有效汇率可离线使用。
- 离线或请求失败时,应用使用最后一次缓存的汇率,绝不凭空编造。
完整目录和缓存细节见货币参考。
天气
以下五种模板不区分大小写,空格数量也可灵活变化:
weather in <place>
<place> temperature
high in <place>
low in <place>
feels like in <place>
前两种返回当前气温;high 和 low 返回今天的最高和最低气温;feels like 返回当前体感温度。
所有结果均为摄氏度。
- 提供方: Open-Meteo,无需密钥,也无需位置权限。
- 隐私: 只发送你明确输入的地点名称,绝不发送你的位置。
- 缓存: 每个地点的一份最近成功响应供四项天气指标共用,TTL 为 600 秒,之后在后台刷新。
离线时使用最后一次缓存读数;完全没有缓存时该行显示
Weather unavailable。
确切的解析规则见实时数据与地理。
地理编码与距离
- 提供方:Open-Meteo,仅使用地理编码端点(不请求预报,不使用密钥)。名称由排名最高 的结果解析。
- 解析结果会缓存,因此重复查找同一地点可离线进行;如果地点无法解析,该行
显示
Location unavailable。 - 命名的
distance between端点需要地理编码;显式坐标完全离线计算。 - 结果是球面 Haversine 距离,而不是路线。
绝不发送的内容
没有分析、没有遥测、没有崩溃报告、没有广告或跟踪调用。表格内容、变量、计算和位置数据 都不会离开你的 Mac。也没有后端可以接收它们。