为什么我们的子处理方名单上多了几个名字 — 以及这说明了我们如何管理它
如果您今天查看我们的子处理方页面,您会看到两个一个月前没有明确列出的名字:Google Fonts 和 jsDelivr。不是因为我们刚开始使用这些服务 — 它们自网站上线以来就一直在运行。我们做出了决定:如果我们声称"完整列表,无例外",那么该列表必须真正完整。即使是乍看之下"无害"的服务。
本文解释了什么是子处理方、为什么提供字体的 CDN 也算作子处理方,以及为什么我们宁愿现在诚实也不愿日后回避问题。
子处理方到底是什么?
用 GDPR 术语(第 28 条)来说,子处理方是任何代表控制者(在本例中是我们 Okidoky)处理个人数据的外部方。众所周知的例子很明显:托管提供商、支付服务提供商、邮件提供商。他们看到您的姓名、电子邮件、付款数据或消息内容。对他们而言规则很明确:需要数据处理协议,目的受限,保留日志。
对于不直接处理您账户的服务,情况就不那么明显。例如提供字体文件的 CDN。该 CDN 不会把您视为 Okidoky 用户 — 但它确实看到请求字体的浏览器,而且自动附带您的 IP 地址。自 Breyer 诉德意志联邦共和国案(C-582/14, 2016)以来,IP 地址根据 GDPR 被视为个人数据。
因此:当您的浏览器因我们的网站要求而从 fonts.googleapis.com 获取字体时,我们通过 Google 间接处理了您的 IP。这就把 Google LLC 放进了"子处理方"链条 — 无论这种交互多么短暂和无状态。
究竟改变了什么?
新条目:
Google Fonts — 提供公开网站使用的两种字体(Inter + Poppins)。每个唯一字体文件一次请求,大量缓存,无 cookies。但带有您的 IP 地址、User-Agent,以及我们网站 URL 作为 Referer。
jsDelivr — 一个非营利开源 CDN(基础设施通过 Cloudflare + Fastly)提供 Bootstrap Icons 字体文件。每位访客一个小的 CSS + .woff2 文件,也经过缓存。无 cookies,相同类型的请求元数据。
两者都在 okidoky.nl 的每个公开页面上加载 — 在任何 cookie 选择之前,因为字体需要在页面呈现之前加载。登录后的应用程序不加载外部字体;那里我们使用系统字体。
为什么这很重要?LG München 案例
2022 年 1 月,慕尼黑地方法院裁定,通过 Google CDN 加载 Google Fonts 的网站运营者非法将访客的 IP 地址传输到美国。罚款是象征性的(100 欧元),但法律核心很坚实:如果您让访客意外调用美国服务,您本应事先获得同意 — 或自行托管字体。
该裁决在德国和荷兰的隐私界引起了涟漪。不是因为它产生了一次罚款(后来有反弹针对法律公司群发的"Google Fonts 敲诈信"),而是因为其基本原则不变:如果您在页面中触发无状态的第三方调用,您对此负责。
那为什么不直接自托管呢?
我们会这样做,但要做好需要一次构建迭代:
- 将两种字体本地存储在
/assets/fonts/中,使用适当的font-display: swap和预加载提示。 - 子集化 Bootstrap Icons — 我们不使用全部约 1,800 个图标,因此字体文件可以大幅缩小。
- 检查字体加载期间布局偏移了多少(CLS 预算)。
- 在所有 5 种语言中重复,包括字体回退行为不同的中文。
这并不简单到可以说"随手就做"。而且在还没完成的时候,我们认为:坦率地说明它尚未自托管,胜过造成我们仅调用欧盟服务的印象。
这对用户意味着什么?
其实并不多 — 这正是重点。大多数用户上网多年,从未思考过他们的浏览器接触了哪些 CDN。但对于认真对待隐私的任何人,"哪些方看到我"是一个合理的问题。而我们对此的回答不应是"只有营销网站上可见的那三个"。它必须是"这九个,对每项服务您都可以阅读它们看到什么数据以及为什么"。
这就是列表增长的原因。不是因为监管机构强制执行。因为我们宁愿走过敞开的门,也不愿指望没人问。
同时增加了 security.txt
在同一动作中,我们根据 RFC 9116 发布了 security.txt。这是我们负责任披露政策的机器可读等价物:安全扫描器和漏洞赏金猎人现在可以自动找到如何向我们报告漏洞。联系方式、到期日、首选语言以及指向较长政策的指针都在一个文本文件中。
这是一小步,但作为一种信号起作用:"这是一家参与现代安全规范的公司"。漏洞赏金平台、Mozilla Observatory 和内部企业审计等扫描器会检查它。
您可以期待我们做什么
对子处理方列表的每项更改都遵循相同的程序:
- 内部审查 — 为什么需要这项服务以及我们考虑过哪些替代方案。
- 在 /sub-verwerkers 发布 — 至少在更改生效前 30 天。
- 向活跃用户发送电子邮件 — 附带原因和链接。
- 30 天异议窗口 — 在原则上不同意的任何人都可以完整导出并离开。
这不是为了听起来宏大而发明的。这是防止透明度淤积成一个因从未更改而无人阅读的政策页面的唯一方法。当列表增长时,您就谈论它。这就是这篇谈论。
对哪项服务看到什么数据有疑问?发邮件给 info@okidoky.nl 或使用联系表单。我们亲自回复 — 没有支持机器人。