Cookie とは何ですか?
Cookie は、ウェブサイトがお客さまのブラウザに保存する小さなテキストファイルです。これにより、 サイトは訪問と訪問の間にお客さまに関する情報を記憶できます。たとえば、ログインしていること、 特定の言語を好んでいること、またはすでに Cookie バナーに応答したことなどです。一部の Cookie はサイトの機能に必要であり、その他の Cookie はお客さまが同意した後にのみ読み込まれます。
本 Cookie ポリシーでは、Cliny Pet が使用する Cookie、各カテゴリの役割、およびお客さまが いつでも決定を変更する方法についてご説明します。
Cliny Pet の Cookie カテゴリ
Cliny Pet は、同意バナーの選択肢に対応する 4 つのカテゴリに Cookie を分類しています。
| カテゴリ | 目的 | 既定 | 法的根拠 |
|---|---|---|---|
| 必須 | ログインセッション、CSRF 防御、言語設定 | オン — サイトの機能に必須 | GDPR 第 6(1)(b) 条 契約 |
| 支払い | チェックアウト購入時の Stripe.js / Stripe Elements | オフ | GDPR 第 6(1)(a) 条 同意 |
| 分析 | 集計され匿名化された利用統計 | オフ | GDPR 第 6(1)(a) 条 同意 |
| マーケティング | マーケティングキャンペーンの有効性の測定 | オフ | GDPR 第 6(1)(a) 条 同意 |
必須 Cookie は、それがなければサイトが機能しないため、拒否することはできません。当社は このカテゴリを意図的に狭く保っています(セッション、認証、CSRF、および言語切替)。他の 3 つの カテゴリは、お客さまが明示的に有効にするまで既定でオフです。
現在のリリースでは、Cliny Pet は既定でサードパーティのスクリプトをゼロ読み込みます。 分析およびマーケティングのカテゴリは、将来のベンダー接続のために用意された構造的なスロットで あり、初回リリースでは実際の分析やマーケティングの SDK は提供されません。支払いカテゴリは、 有料のチェックアウトフローが開始されたときにのみ Stripe.js を読み込みます。
なぜ同意を求めるのか
Cookie バナーは、支払い、分析、またはマーケティングのカテゴリの Cookie やスクリプトを読み込む 前に、お客さまの明示的な同意(GDPR 第 6(1)(a) 条)を求めます。当社は、欧州データ保護会議 (EDPB)の同等の目立ちやすさのルールに従います。 すなわち、「同意する」「拒否する」「管理する」のボタンはいずれも同等の視覚的な重みを持ち、 「拒否する」を選ぶことが「同意する」を選ぶことより難しくならないようにしています。
当社は次の 2 つの状況で改めて同意を求めます。
- 13 か月ごと。事実上の欧州標準となった CNIL のガイドラインに沿っています。13 か月後、 お客さまの以前の選択は失効し、確認できるようバナーが再表示されます。
- 本ポリシー、または当社のプライバシーポリシーもしくは利用規約が
重大に変更されるたび。 これらの文書はそれぞれ
policy_versionの frontmatter フィールド を持ちます。Cliny Pet はこれら 3 つの値から単一のCURRENT_CONSENT_VERSIONSHA を導出し、 SHA の変更はいずれも下記の再同意フローをトリガーします。
同意のバージョン管理
当社が保存する各同意レコードには、お客さまが同意した正確な consent_version SHA が付与され
ます。お客さまが次に Cliny Pet を訪問された際、現在のバージョンが前回のレコードのバージョン
と一致しなくなっている場合、当社は以前の選択をあらかじめチェックした状態で同意バナーを
再表示します。お客さまはそれを確認または変更するだけでよく、バナーは一からやり直す判断では
ありません。この不一致フローは、重大なポリシー変更後の同意の新しさに関する EDPB 2024 の
ガイダンスを当社が遵守するための技術的な仕組みです。
過去の同意の決定を確認したい場合は、/settings/privacy ページの同意履歴カードに、最新の
10 件のレコードが表示されます。すなわち、お客さまが同意した consent_version、タイムスタンプ、
お客さまの選択、お客さまの言語、および IP アドレスの最初のオクテットです(完全な IP は
ユーザーに表示されることはなく、フォレンジック目的で監査台帳に保持されます)。
サードパーティのスクリプト(現在の状態)
Cliny Pet は、アプリケーションが読み込む可能性のあるすべてのサードパーティスクリプトに対して、
中央スクリプトゲートのパターンを強制します。ゲートは
frontend/src/components/cookie-consent/scriptGate.ts に存在し、4 つの保証を適用します。
- 同意なしにスクリプトは読み込まれません。 ゲートは、同意が
falseのカテゴリについて スクリプトタグを注入することを拒否します。 - 読み込みごとに監査イベントが発行されます。 読み込みが成功すると、カテゴリ、スクリプト
URL、サブリソース完全性(SRI)ハッシュを記録するサーバー側の
consent_script_loaded監査行がトリガーされます。 - すべてのスクリプトは SRI を持ちます。 外部スクリプトは、侵害された CDN が改ざんされた
ペイロードを配信できないよう、
sha384-…完全性属性を付けて読み込まれなければなりません。 - いかなる回避経路も許可されません。 カスタム ESLint ルール
no-direct-script-loadは、<script src="…">の JSX リテラル、ゲート外のdocument.createElement("script")、 およびリテラルでないsrcを持つnext/scriptタグを禁止します。このルールは CI で実行 され、違反があればビルドを失敗させます。
現在のリリースでは、ゲートは接続されていますが、既定ではサードパーティのスクリプトは 読み込まれません。Stripe.js の読み込みは、有料のチェックアウトフローに留保されています。 分析およびマーケティングのカテゴリは構造的なスロットであり、現時点で実際のベンダー接続は 提供されていません。
セキュリティと不正利用対策(Cloudflare Turnstile)
上記の「既定でサードパーティのスクリプトを読み込まない」というルールには、1 つだけ例外となる
スクリプトがあります。それは Cloudflare Turnstile であり、サインインおよびサインアップの
フォームを自動化された不正利用から保護する、プライバシーを保護する CAPTCHA の代替手段です。
Turnstile は challenges.cloudflare.com から読み込まれ、__cf_bm というボット管理 Cookie を
設定する場合があります。この保護はサービスを安全かつ利用可能に保つために厳密に必要である
ため、必須カテゴリに属し、同意プロンプトなしで読み込まれます。これは、ネットワークおよび情報
セキュリティに関する当社の正当な利益(GDPR 第 6(1)(f) 条、前文第 49 項)に基づくものです。
Turnstile は、お客さまをプロファイリングしたり、広告目的でサイトをまたいで追跡したりするため
には使用されません。Cloudflare は当社の処理者としてこのデータを取り扱います。
Cliny Pet が独自の同意管理プラットフォームを構築した理由
当社は、サードパーティの CMP(Cookiebot、OneTrust など)に頼るのではなく、Cookie 同意の 画面を自社で構築するという早期の設計上の決定を下しました。理由は 3 つあります。
- データ所在地。 既製の CMP は通常、同意レコードを米国のインフラに複製します。当社の
自社製バナーは、EU リージョンの
consent_eventsテーブルに直接書き込み、すべての同意 レコードを、Cliny Pet の他の部分と同じ GDPR 準拠のデータ境界内に保ちます。 - System Prompt の分離。 Cliny Pet の AI 動作契約は重要な安全アーティファクト
(
System Prompt.md)であり、当社はそのアーティファクトを保護するために、ページ上の サードパーティコードの面積を可能な限り小さく保っています。 - 監査の追跡可能性。 各同意レコードは、ユーザーが同意した正確な
policy_versionSHA に 加えて、言語と IP のオクテットを持ちます。これらはすべて当社自身のバックエンド監査イベント とともに保存され、一か所で照会可能で、GDPR 第 7(1) 条に基づく 5 年間の同意証明ウィンドウの 間保持されます。
お客さまの選択
お客さまは、次のいずれかの方法でいつでも Cookie 設定を変更できます。
- フッターのリンク — ページのフッターにある「Cookie 設定」をクリックします。現在の選択が 読み込まれた状態でバナーが再度開きます。
- アプリ内設定 — ログイン時にプライバシーとデータの設定にアクセス します。Cookie 設定カードには、同じコントロールに加えて「同意履歴」ビューが表示されます。
- ブラウザのコントロール — ほとんどのブラウザでは、システム全体で Cookie をブロックまたは 削除することもできます。該当のメニューは通常、設定 → プライバシーとセキュリティにあります。 ブラウザレベルで「必須」カテゴリをブロックすると、Cliny Pet が機能しなくなる点にご留意くだ さい。
以前にあるカテゴリを承諾し、現在は同意を撤回したい場合、その変更は次回のページ読み込み時に 有効になります。すなわち、そのカテゴリのスクリプトは再度読み込まれず、すでに設定されている セッションのみの Cookie は、ブラウザを閉じると失効します。
お問い合わせ
本 Cookie ポリシー、または GDPR に基づく Cookie 関連の権利の行使方法について ご質問がある場合は、[email protected] までご連絡ください。当社は 30 日以内に回答します。
本ポリシーは定期的に見直され、当社の取り扱いが変更されるたびに更新されます。本ポリシーは、 TR、EU、米国の管轄区域で資格を有する Counsel による継続的なレビューの対象です。