要点概览
本政策适用于网站 kaeso.app、docs.kaeso.app 上的文档、ui.kaeso.app 上的 Kaeso UI 组件库,以及 Kaeso 实例用来查询新版本的更新服务 update.kaeso.app。
- 我们不设置 Cookie,也不使用任何分析、跟踪或广告工具。
- 这四项服务都运行在我们位于德国的自有服务器上。字体、图片和脚本都来自该服务器,而非第三方。
- 包含 IP 地址的服务器日志会在 14 天后删除。
- Kaeso 实例只向 update.kaeso.app 发送其版本号以及每次请求都会附带的连接数据,不发送实例中的任何数据。该检查可以关闭。
在自己的服务器上运行 Kaeso 的人,自行对其实例中的数据负责。我们无法访问任何实例,Kaeso 也不发送遥测数据。
数据控制者
依据《通用数据保护条例》(GDPR),本网站及更新服务中数据处理的控制者为:
Devin Oldenburg (Logicplanes)Mozartstr. 2367269 Grünstadt德国由于不满足 GDPR 第 37 条和德国《联邦数据保护法》(BDSG)第 38 条的条件,我们未任命数据保护官。
托管
kaeso.app、docs.kaeso.app、ui.kaeso.app 和 update.kaeso.app 运行在我们自行运营的一台服务器上。服务器及其网络连接租用自 Hetzner Online GmbH(Industriestr. 25, 91710 Gunzenhausen, Germany),位于 Hetzner 在纽伦堡的数据中心。Hetzner 提供基础设施,并仅代表我们处理数据;我们已与 Hetzner 签订 GDPR 第 28 条规定的数据处理协议。
您访问网站以及实例查询更新服务时产生的数据,都在德国处理和存储。
域名 kaeso.app 及其子域名的域名解析(DNS)由 Cloudflare, Inc.(101 Townsend St., San Francisco, CA 94107, USA)提供。Cloudflare 只回答我们的服务器可通过哪个地址访问;与我们网站和更新服务的连接直接通往我们的服务器,不经过 Cloudflare。DNS 查询通常不是由您的设备发出,而是由您的互联网或网络服务商的 DNS 服务器发出。法律依据是我们在可靠可用性方面的正当利益(GDPR 第 6 条第 1 款 f 项)。Cloudflare 已通过欧盟—美国数据隐私框架(EU‑US Data Privacy Framework)认证,欧盟委员会已就该框架作出充分性认定(GDPR 第 45 条)。
访问数据与服务器日志
每次访问我们的网站或更新服务时,我们的服务器都会自动处理以下数据:
- IP 地址
- 访问的日期和时间
- 所访问的主机和地址
- HTTP 方法、HTTP 状态码、传输的数据量和响应时间
- 浏览器或程序以及操作系统(User-Agent)
- 之前访问的页面(Referrer),如果您的浏览器发送了它
我们需要这些数据来提供服务、确保其稳定和安全、查找错误并抵御攻击。法律依据是我们的正当利益(GDPR 第 6 条第 1 款 f 项)。
访问日志每天归档,并在 14 天后自动删除。我们在同一台服务器上自行运行的监控程序会读取该日志,以发现故障、错误和攻击。它同样最多保存单条访问记录(不含所访问地址的参数)14 天;在此之后的最长 90 天内,只保存不涉及个人的汇总数字,例如每项服务的请求数和响应时间。只有在调查具体安全事件需要时,我们才会更长时间地保存单条记录,并且仅保存到事件处理完毕为止。
更新服务 update.kaeso.app
Kaeso 实例会向 update.kaeso.app 查询是否有新版本。默认情况下,实例的网关每 5 分钟查询一次,并带有最多 1 分钟的随机延迟,出错后 15 分钟再试;实例管理员手动开始检查时也会查询。如果有新版本,网关还会从 update.kaeso.app 下载该版本已签名的版本清单(release.json)。
发送哪些数据
- 实例服务器访问互联网所用的公网 IP 地址,以及请求的时间
- 所请求的地址,例如 /v1/releases.json?per_page=50 或 /download/v0.4.2/release.json
- User-Agent 中的标识 kaeso-gateway/<版本>,即网关的版本
- 所有实例都相同的技术请求头(Accept、X-GitHub-Api-Version),以及上次加载的版本列表的 ETag(If-None-Match)。ETag 是公开列表的校验值,对所有实例都相同,不是任何实例的特征。
不发送的内容包括:实例的域名或名称、实例或许可证标识,关于用户、组织、项目、密钥、模型或请求的数据,以及使用数据或遥测数据。该检查的代码是公开的(在新标签页中打开)。
我们如何使用这些数据
我们用版本列表或版本清单回复请求。与所有请求一样,它会在服务器日志中保留 14 天(见上文)。此外,我们还会进行统计,以了解有多少实例以及它们运行哪些版本,例如用来决定旧版本需要多长时间的安全修复,以及更新方式的变化会如何影响正在运行的实例。
假名化统计
统计中不保存 IP 地址。我们使用只存放在我们服务器上的秘密随机密钥,从 IP 地址(IPv6 则取其 /64 网段)计算出一个截短的加密校验值(HMAC‑SHA‑256)。我们为该假名保存:
- 第一次和最后一次请求的时间,以及有请求的日期
- 请求次数,以及其中以“未修改”(HTTP 304)回复的次数
- 所报告的网关版本,以及每个版本第一次和最后一次请求的时间
- 该 IP 地址是否位于大型托管和云服务商公开的地址范围内,例如“Amazon Web Services”或“Hetzner”,否则记为“其他网络”
来自 GitHub Actions 地址范围的请求(即自动化测试)只计数,不生成假名。不是来自 Kaeso 网关的请求,例如您的浏览器在 kaeso.app 上加载某个版本的图片时,只按请求类型和程序类型(浏览器、爬虫、工具)计数,同样不生成假名。我们不会将统计数据与任何其他数据合并,不会尝试识别实例或个人,也不会共享或公开这些数据。
各个日期的明细会在 400 天后删除;实例的整个条目会在其最后一次请求 400 天后删除。此后如果该实例再次请求,它会被算作新实例。
法律依据
法律依据是 GDPR 第 6 条第 1 款 f 项。我们的正当利益在于:可靠地告知 Kaeso 实例新版本和涉及安全的版本,稳定、安全地运营该服务,并根据实际使用的版本安排 Kaeso 的维护。服务器的 IP 地址通常无法让人推断出某个自然人。在可以推断的情况下(例如家庭网络中的服务器),假名化、日志的短保存期以及不向任何人提供数据的做法会保护您的利益。
关闭检查
运行 Kaeso 并不需要该检查。实例的运营者可以用 KAESO_UPDATES_CHECK=false 关闭它,或用 KAESO_UPDATES_RELEASES_URL 将其指向自己的镜像;这样实例就不会再向我们发送任何内容。更新文档(在新标签页中打开)介绍了这两种方式。
谁对什么负责
我们对到达 update.kaeso.app 的数据负责。实例中的所有数据由其运营者负责;我们不代表运营者处理任何数据。实例的其他连接,例如为获取版本和容器镜像而连接 GitHub、为获取模型数据而连接 models.dev,或连接其使用的 AI 服务商,都不会通往我们;这些连接适用相应服务商的条款。系统要求(在新标签页中打开)列出了每一个这样的连接。
文档和组件库
docs.kaeso.app 和 ui.kaeso.app 是静态网站,我们与 kaeso.app 在同一台服务器上提供它们。本政策同样适用于它们:同样的服务器日志和保存期,不使用 Cookie,不跟踪,也没有第三方内容。它们的内容来自 GitHub 上 Kaeso 的公开源代码;新版本由我们的服务器自行获取,不会发送任何关于您的数据。
Cookie 与浏览器存储
我们不设置 Cookie。
如果您在 kaeso.app 上明确选择浅色或深色主题,我们会以 kaeso:theme 为名将该设置保存在浏览器的本地存储中,以便您下次访问时保留。如果您重新选择“跟随系统”,该条目会被删除。在 docs.kaeso.app 和 ui.kaeso.app 上,我们以同样的方式保存您在那里选择的设置:主题和语言,在文档中还包括您上次选择的代码示例变体。
这些设置不会离开您的设备,也不会发送给我们。根据德国《电信数字服务数据保护法》(TDDDG)第 25 条第 2 款第 2 项,无需征得同意,因为这种存储对于您明确要求的功能是绝对必要的。您可以随时在浏览器设置中删除这些条目。
无分析、无跟踪、无第三方
我们不使用任何访问量统计工具、广告或跟踪像素,也不嵌入社交网络的内容。字体由我们自己提供;访问本网站不会与 Google 或其他字体服务商建立连接。
kaeso.app 上的更新日志和服务商列表由我们的服务器从 GitHub 获取,过程中不会发送任何关于您的数据;您的浏览器不会连接 GitHub。各版本的图片由您的浏览器从 update.kaeso.app 加载,这同样是我们自己的服务器。
指向其他网站的链接
本网站链接到其他服务商的服务,主要是 GitHub(GitHub, Inc.,美国)上的源代码、讨论和版本发布,以及 npm 和 crates.io 上的软件包。只有当您点击此类链接时,相应服务商才会按照其自己的隐私条款处理您的数据。
通过电子邮件联系
如果您给我们发送电子邮件,我们会处理您的电子邮件地址、您提供的姓名以及邮件内容,以便回复您的请求。如果您的请求用于履行合同或采取订立合同前的措施,法律依据是 GDPR 第 6 条第 1 款 b 项;其他情况下,法律依据是我们在回复方面的正当利益(GDPR 第 6 条第 1 款 f 项)。在您的请求处理完毕 12 个月后,我们会删除往来邮件,除非法定保存义务另有要求。
我们的邮箱使用 iCloud 邮件。面向欧洲经济区用户的服务商是 Apple Distribution International Ltd.(Hollyhill Industrial Estate, Hollyhill, Cork, Ireland)。您的邮件会存储在 Apple 的服务器上。法律依据是我们在可靠电子邮件服务方面的正当利益(GDPR 第 6 条第 1 款 f 项)。据 Apple 称,如果 Apple 将数据传输给美国的 Apple Inc.,其依据是欧盟委员会的标准合同条款(GDPR 第 46 条第 2 款 c 项)。
安全漏洞请通过 GitHub 私下报告。此过程适用 GitHub 的隐私条款;我们处理您的报告,以评估并修复漏洞(GDPR 第 6 条第 1 款 f 项)。
加密
网站和更新服务只通过加密的 HTTPS 连接(TLS)提供,第三方无法轻易读取传输的数据。版本清单还经过签名,因此实例可以验证它们确实来自我们且未被更改。
您的权利
根据 GDPR 第 15 条及以下各条,您对我们享有以下权利:
- GDPR 第 15 条
- 查阅您被存储的数据
- GDPR 第 16 条
- 更正不准确的数据
- GDPR 第 17 条
- 删除您的数据
- GDPR 第 18 条
- 限制处理
- GDPR 第 20 条
- 数据可携带
GDPR 第 21 条规定的反对权:如果我们基于正当利益处理数据,您可以随时基于与您特殊情况相关的理由提出反对。
更新统计中不保存 IP 地址。因此,只有在您告诉我们实例服务器的公网 IP 地址时,我们才能将条目与该实例对应起来(GDPR 第 11 条第 2 款);届时我们会提供该条目的信息或将其删除。
任何请求,只需发送电子邮件至 kaeso@logicplanes.com。
投诉权
您可以向数据保护监管机构投诉,特别是向您惯常居住地、工作地或涉嫌违规发生地所在成员国的监管机构投诉(GDPR 第 77 条)。对我们有管辖权的机构是:
Der Landesbeauftragte für den Datenschutz und die Informationsfreiheit Rheinland-PfalzHintere Bleiche 3455116 Mainz, Germany提供数据的义务与自动化决策
您没有法律或合同上的义务向我们提供个人数据;但是,没有技术上必需的访问数据,就无法提供网站和更新服务。我们不进行 GDPR 第 22 条所述的自动化决策(包括用户画像)。
变更与语言版本
当服务或法律发生变化时,我们会更新本政策。以此处发布的版本为准。本政策提供德语、英语和中文版本,以德语版本为准。