Cliny Pet

Cookie 政策

Cliny Pet 如何使用 Cookie 以及如何管理您的选择。

版本 cookie_v3
生效日期 2026-06-10
针对 欧盟 审核

Cookie 是网站存储在您浏览器中的小型文本文件。它们使网站能够在两次访问之间记住关于您的 信息——例如,您已登录、您偏好某种特定语言,或者您已对 Cookie 横幅作出响应。有些 Cookie 对网站运行而言是必需的;另一些则仅在您同意之后才会加载。

本 Cookie 政策说明 Cliny Pet 使用哪些 Cookie、每个类别的作用,以及您如何随时更改您的决定。

Cliny Pet 将 Cookie 分为四类,与同意横幅中的选项相对应:

类别用途默认法律依据
必要登录会话、CSRF 防御、语言偏好开启——网站运行所必需GDPR 第 6(1)(b) 条合同
付款结账购买期间的 Stripe.js / Stripe Elements关闭GDPR 第 6(1)(a) 条同意
分析聚合的、匿名化的使用统计数据关闭GDPR 第 6(1)(a) 条同意
营销营销活动有效性的衡量关闭GDPR 第 6(1)(a) 条同意

必要 Cookie 无法被拒绝,因为没有它们网站将无法运行;我们有意将此类别保持精简(会话、 身份验证、CSRF 以及语言切换器)。其他三个类别默认关闭,直到您明确启用它们。

在当前版本中,Cliny Pet 默认加载零个第三方脚本——分析和营销类别是为将来供应商接线 而准备的结构性占位;在初始版本中不交付任何真实的分析或营销 SDK。付款类别仅在付费结账流程 开始时才加载 Stripe.js。

我们为何征求同意

在加载付款、分析或营销类别中的任何 Cookie 或脚本之前,Cookie 横幅会征求您的明确同意 (GDPR 第 6(1)(a) 条)。我们遵循欧洲数据保护委员会的 同等显著性规则:接受、拒绝和管理按钮均具有相同的视觉权重,从而使选择"拒绝"不比选择 "接受"更困难。

我们在两种情况下会再次征求同意:

  • 每 13 个月一次,符合已成为事实上欧洲标准的 CNIL 准则。13 个月后,您先前的选择将 过期,横幅会再次显示,以便您确认这些选择。
  • 每当本政策或我们的隐私政策服务条款发生实质性变更时。 这些 文档中的每一个都带有 policy_version frontmatter 字段;Cliny Pet 从这三个值派生出单个 CURRENT_CONSENT_VERSION SHA,SHA 的任何变更都会触发下文所述的重新同意流程。

同意版本控制

我们存储的每条同意记录都带有您所同意的确切 consent_version SHA。当您下次访问 Cliny Pet 且当前版本不再与您上一条记录的版本相匹配时,我们会再次显示同意横幅,并预先勾选您 先前的选择。您只需确认或更改它们即可——横幅并非从头开始的全新决定。此不匹配流程是我们在 实质性政策变更后履行 EDPB 2024 关于同意新鲜度准则的技术机制。

如果您想查看您过去的同意决定,/settings/privacy 页面上的同意历史卡片会显示最近 10 条记录:您所同意的 consent_version、时间戳、您的选择、您的语言以及 IP 地址的第一个 八位字节(完整 IP 绝不会向用户显示;为取证目的将其保留在审计账本中)。

第三方脚本(当前状态)

Cliny Pet 对应用程序可能加载的每个第三方脚本强制执行中央脚本门控模式。该门控位于 frontend/src/components/cookie-consent/scriptGate.ts,并施加四项保证:

  1. 未经同意不加载任何脚本。 该门控拒绝为同意值为 false 的类别注入脚本标签。
  2. 每次加载都发出审计事件。 一次成功的加载会触发服务器端的 consent_script_loaded 审计行,记录类别、脚本 URL 以及子资源完整性(SRI)哈希。
  3. 每个脚本都带有 SRI。 外部脚本必须以 sha384-… 完整性属性加载,以使被攻陷的 CDN 无法提供被篡改的负载。
  4. 不允许任何绕过路径。 自定义 ESLint 规则 no-direct-script-load 禁止 <script src="…"> JSX 字面量、门控之外的 document.createElement("script"),以及带有非字面 srcnext/script 标签。该规则在 CI 中运行,并在任何违规时使构建失败。

在当前版本中,该门控已接线,但默认不加载任何第三方脚本。Stripe.js 的加载保留至 付费结账流程。分析和营销类别是结构性占位——目前没有交付任何真实的供应商接线。

安全与反滥用(Cloudflare Turnstile)

有一个脚本是上述"默认不加载任何第三方脚本"规则的例外:Cloudflare Turnstile,一种保护隐私的 CAPTCHA 替代方案,用于保护登录和注册表单免受自动化滥用。Turnstile 从 challenges.cloudflare.com 加载,并可能设置一个 __cf_bm 机器人管理 Cookie。由于这项保护对于保障服务的安全与可用性而言是严格必要的,它归属于必要类别,无需同意提示即可加载——其依据是我们在网络与信息安全方面的合法利益(GDPR 第 6(1)(f) 条、序言第 49 条)。Turnstile 不会被用于对您进行画像,也不会被用于跨站点追踪您以投放广告;Cloudflare 作为我们的处理者处理这些数据。

Cliny Pet 为何构建自己的同意管理平台

我们很早就做出了一项设计决定:在内部构建 Cookie 同意界面,而不是依赖第三方 CMP(Cookiebot、OneTrust 等)。三个原因:

  • 数据驻留。 现成的 CMP 通常会将同意记录复制到美国基础设施;我们自研的横幅直接写入位于 欧盟区域的 consent_events 表,使每条同意记录都保持在与 Cliny Pet 其余部分相同的、符合 GDPR 的数据边界内。
  • System Prompt 隔离。 Cliny Pet 的 AI 行为契约是一项承重的安全工件(System Prompt.md),我们将页面上第三方代码的攻击面保持得尽可能小,以保护该工件。
  • 审计可追溯性。 每条同意记录都带有用户所同意的确切 policy_version SHA,外加语言和 IP 八位字节——全部与我们自己的后端审计事件一并存储,可在一处查询,并在 GDPR 第 7(1) 条 同意证明所对应的 5 年保留窗口内保留。

您的选择

您可以随时通过以下任一途径更改您的 Cookie 偏好:

  • 页脚链接——点击页脚中的"Cookie 偏好"。横幅会重新打开并加载您的当前选择。
  • 应用内设置——登录后访问隐私与数据设置。Cookie 偏好卡片会显示 相同的控件,外加"同意历史"视图。
  • 浏览器控件——大多数浏览器还允许您在系统级别阻止或删除 Cookie;相关菜单通常位于 设置 → 隐私与安全。请注意,在浏览器级别阻止"必要"类别将使 Cliny Pet 无法运行。

如果您先前接受了某个类别,现在希望撤回您的同意,更改将在下次页面加载时生效:该类别中 的脚本将不再被加载,已设置的仅会话 Cookie 将在您关闭浏览器时过期。

联系方式

如对本 Cookie 政策或如何依据 GDPR 行使您与 Cookie 相关的权利有任何疑问,请通过 [email protected] 联系我们。我们将在 30 天内回复。


本政策会定期审查,并在我们的实践发生变化时随时更新。它须经在 TR、欧盟和美国司法管辖区 持牌的 Counsel 持续审查。