Community程式設計與開發github.com

maxburst/cookie-privacy-compliance

審核、修正並驗證任何網站(WordPress、WooCommerce、Shopify、Next.js、靜態網站等)的 Cookie、追蹤及隱私合規性,適用於任何目標市場——歐盟/歐洲經濟區 GDPR 與 ePrivacy、英國 PECR、瑞士、美國各州法律(CCPA/CPRA、GPC、竊聽/CIPA 風險)、加拿大/魁北克、巴西 LGPD、亞太地區及全球其他地區。

cookie-privacy-compliance 是什麼?

此技能提供端到端工作流程,從範圍界定、審核、實作到驗證,確保網站符合各國 Cookie 與隱私法規。它透過實測瀏覽器行為(而非僅檢查程式碼或橫幅)來判斷合規性,並根據訪客所在地區(如歐盟的選擇加入制、美國的選擇退出制)套用不同法規。技能內建掃描器可模擬使用者互動(接受、拒絕、撤回等)並記錄 Cookie、第三方請求及 Google 同意訊號,支援 WordPress、Shopify、Next.js 等平台。對於已存在的同意管理工具(如 Complianz、CookieYes、OneTrust 等),技能會診斷其設定問題,而非直接建議更換。最終產出包含技術細節與法律依據的報告,協助開發者與業主做出知情決策。

相容平台~Claude Code~Codex CLI~Cursor
Part ofNext.js
npx skills add https://github.com/maxburst/cookie-privacy-compliance-skill/tree/HEAD/skills/cookie-privacy-compliance

Installed? Explore more 程式設計與開發 skills: steipete/bluebubbles, steipete/eightctl, steipete/blucli · View all 6 →

在你喜歡的 AI 中提問

開啟一個已預先載入此 Agent Skill 的新對話。

說明文件

Cookie、追蹤與隱私合規性

此技能帶領網站從「我們認為我們有 Cookie 橫幅」到「有證據顯示該網站對其訪客的行為符合法律規定」。工作分為四個階段:範圍界定、審核、實作、驗證。請求可能只需要其中幾個階段(僅審核的委託在報告完成後結束),但這些階段總是按此順序進行,因為每個階段都依賴於前一個階段。

這裡的一切都基於三個核心理念。

行為才是關鍵,而且必須被測量。 監管機構和原告會測試瀏覽器實際做了什麼:在做出選擇前、拒絕後、撤回同意後,存在哪些 Cookie、聯繫了哪些第三方。橫幅本身證明不了什麼。大多數真實發現是:橫幅存在且看起來正常,但標籤仍然觸發。因此,切勿從同意工具、外掛設定或一行程式碼的存在來推斷;而應從掃描結果來推斷。

規則取決於訪客是誰。 歐洲是選擇加入制(在獲得同意前,不得使用非必要的 Cookie)。美國是選擇退出制,但有些州要求選擇加入,且訴訟風險很高。世界其他地區則介於兩者之間。同一個網站可能對某一群體是合法的,但對另一群體卻是非法的,因此範圍界定必須優先進行,且每個發現都必須針對指定的法規體系來陳述。

會說謊的橫幅比沒有橫幅更糟。 一個「拒絕」按鈕如果無法停止標籤觸發,會將合規性漏洞變成欺騙指控(這幾乎是加州每次執法行動中的事實模式)。切勿發布或保留一個裝飾性的橫幅。如果某些東西尚未能被閘控,請如實告知,並移除相關的承諾。

你不是使用者的律師。提供清晰、實用的發現,並附上每項發現背後的法規依據,標出法律尚未確定或事實需要法律判斷的地方,並在報告中說明。也不要隱藏在免責聲明之後:使用者想知道該修復什麼。

參考檔案

只讀取委託所需的檔案,而非全部。

檔案何時閱讀
references/jurisdictions.md始終需要,在範圍界定階段。將網站受眾映射到同意法規體系,並告訴你該開啟哪個法律檔案。
references/law-europe.md任何歐盟/歐洲經濟區、英國或瑞士訪客。各國差異、橫幅設計規則、分析豁免、執法情況。
references/law-us.md任何美國訪客。各州法律門檻、GPC、加州特殊規定、竊聽訴訟、健康/兒童/金融。
references/law-rest-of-world.md加拿大、拉丁美洲、亞太地區、中東、非洲。
references/audit-playbook.md執行審核:掃描器使用、結果解讀、檢查程式碼與設定、診斷現有同意工具。
references/failure-patterns.md解讀掃描結果。解釋大多數發現的 27 種模式。
references/implementation.md規劃並進行修正:選擇或修復同意工具、上線順序、政策、GPC。
references/consent-signals.md連接特定供應商:Google Consent Mode v2、Meta、Microsoft、TikTok、TCF/GPP、Shopify、WP Consent API。
references/consent-tools.md在同意工具之間做選擇,或尋找工具的 Cookie 名稱、標記及 JS API。
references/script-blocking.md閘控標籤、嵌入、字型或伺服器端事件;WordPress、Shopify、Next.js 和 SPA 的具體說明。
references/testing-tools.md驗證:完整的測試矩陣、可及性與效能檢查、地理模擬。
references/report-template.md撰寫審核報告或驗證報告。

法律檔案已於 2026-11-11 驗證,並為每個主張標記了信心等級。隱私法律每月都在變動。當建議依賴於一個標記為不確定、列在「變動中事項」下、或已超過數月的主張時,請先查閱當前的主要來源後再據此操作,並告知使用者你重新檢查了哪些要點。

階段 1:範圍界定

在掃描前確定以下事項。盡可能自己找出資訊(網站、頁尾、政策、程式碼庫),然後只詢問你無法找到的部分。將問題限制在一輪之內。

  1. 哪些網站和主機。 主網域、子網域、獨立的結帳或應用程式網域、暫存環境。
  2. 訪客在哪裡。 詢問真實的受眾,並與證據進行比對:語言、貨幣、運送國家、如有權限則查看分析工具的地理分佈。一個僅提供英語且運送至全球的商店,不會是「僅限美國」。當網站鎖定或服務某地區的人們時,即受該地法律管轄,無論企業所在地為何。
  3. 網站如何處理資料。 廣告與再行銷、分析、電子郵件行銷、帳戶、電子商務、嵌入媒體、聊天、會話重播。以及這些行為是否觸及敏感領域:健康、兒童或青少年、金融、精確位置、任何揭露受保護特徵的資訊。敏感領域會改變所有管轄區的答案。
  4. 規模,針對美國法律。 大致年營收及按州劃分的訪客量,決定哪些州的法律適用。擁有廣告 Cookie 的不重複訪客算作「消費者」,因此門檻比業主預期的更快達到。
  5. 你擁有哪些存取權限。 唯讀公開網站、管理員登入、程式碼庫、主機或 SSH、標籤管理系統、同意工具的控制面板、廣告平台帳戶。這決定了審核可以深入的程度,以及你是否能夠實作。
  6. 使用者希望從中獲得什麼。 僅審核報告,或是也包含修正和驗證。他們無法承受損失的任何指標。付費工具的預算。

當尚無網站可掃描時(使用者要求提供計畫、報價或建議,但未提供 URL,或憑記憶描述網站):不要跳過測量,而是將其移後。將你被告知的資訊視為假設,據此撰寫計畫,並將「從每個目標地區進行掃描以確認起點」作為計畫的第一步,並填入掃描器指令。說明計畫的哪些部分取決於你尚未觀察到的事實。

然後開啟 references/jurisdictions.md 並寫下目標法規體系:針對每個受眾,適用的法規體系以及將驅動發現的兩三條規則。在審核之前,用幾句話向使用者說明。如果受眾未知或遍佈全球,預設對所有人採取嚴格的選擇加入制,僅對法律已明確的少數國家放寬。

階段 2:審核

遵循 references/audit-playbook.md。概要如下:

  1. 掃描即時網站,使用內建掃描器。它會在乾淨的瀏覽器中,根據不同情境(無互動、拒絕、接受、Global Privacy Control、可選擇撤回)載入網站,並記錄每個階段的 Cookie、網頁儲存、第三方請求及 Google 同意訊號。

    # 一次性設定
    npm install --prefix <skill-dir>/scripts && npx --prefix <skill-dir>/scripts playwright install chromium
    
    node <skill-dir>/scripts/scan.mjs https://example.com --out ./scan-quick                    # 快速檢視:首頁 + 幾個連結
    node <skill-dir>/scripts/scan.mjs https://example.com --coverage types --out ./scan-us       # 審核:網站地圖中的每種頁面類型
    node <skill-dir>/scripts/scan.mjs https://example.com --coverage all --out ./scan-full       # 所有網站地圖 URL(較慢)
    node <skill-dir>/scripts/scan.mjs https://example.com --coverage types --scenarios baseline,reject,accept,withdraw \
         --proxy http://user:pass@de-proxy:8080 --locale de-DE --timezone Europe/Berlin --out ./scan-de
    

    對於任何會形成報告的內容,請使用 --coverage types:頁面模板各不相同(文章嵌入影片、產品頁面載入小工具、聯絡頁面載入驗證碼),僅掃描首頁會錯過大部分內容。請手動加入購物車、結帳和感謝頁面;它們不在網站地圖中。

    首先閱讀 summary.md 頂部的「事實」表格,然後是螢幕截圖,最後是每個情境的詳細資訊(在廣告密集的網站上,詳細資訊很長;請搜尋而非從頭讀到尾)。掃描器會報告其執行位置。同意工具會根據訪客國家改變行為,因此一次掃描僅描述該國家的情況。 從每個目標法規體系(透過代理或 VPN 出口)進行掃描,或在報告中明確說明哪些法規體系未被觀察到。切勿將美國 IP 的掃描結果呈現為關於歐盟訪客的證據。

  2. 檢查瀏覽器背後的東西,視你的存取權限而定:每個標籤是在哪裡注入的(主題、外掛、標籤管理系統、硬編碼、邊緣節點)、同意工具的設定方式、瀏覽器掃描無法看到的伺服器端追蹤、以及可能重新排序內容的快取和腳本最佳化層。

    有兩種網站類型需要比預設執行更多的步驟,說明手冊涵蓋了這兩種:一種是最佳化器會將所有腳本保留到第一次滑鼠移動或閒置計時器才載入的網站(對這類網站的快速掃描看起來很乾淨,但實際不然),另一種是沒有拒絕按鈕、採用美國式選擇退出的網站,問題在於選擇退出和 GPC 是否涵蓋了整個廣告堆疊。當掃描器無法回答對委託至關重要的問題時,請使用相同的瀏覽器函式庫撰寫一個簡短的探測程式,並將其與證據一起保留。

  3. 診斷已存在的同意工具。 通常已安裝一個工具,但只設定了一半。準確找出其失敗原因(說明手冊中有決策順序),因為修復遠比更換常見。

  4. 檢查書面部分:隱私政策、Cookie 政策、必要的連結與用語、表單及其同意語言、權利請求途徑、同意記錄。

  5. 針對目標法規體系撰寫發現。 每個發現:觀察到什麼(附上掃描證據)、違反了哪條規則、針對哪個受眾、嚴重程度如何、以及修復方法。使用 references/report-template.md。報告有兩個層次:網站所有者可以採取行動的平實語言摘要,以及供實作者參考的技術細節。

如果委託僅限審核,則在此停止。審核期間不要對網站進行任何更改。

階段 3:實作

遵循 references/implementation.md。要點如下:

  • 先同意計畫。 向使用者展示將更改什麼、他們會失去或保留哪些指標、是否需要任何付費方案,並獲得同意。移除或閘控追蹤器會影響某人的報告和廣告成效;這是他們的決定,不是你的。
  • 在安全的地方工作。 如果有暫存環境則使用它。在正式環境上:先備份、一次只更改一件事、知道如何復原,且切勿讓網站處於橫幅承諾了但標籤未執行的狀態。
  • 按依賴順序修復:移除未使用的項目、建立一個同意工具作為同意的單一所有者、在任何標籤載入前設定同意預設值、透過同意工具閘控每個標籤和嵌入、連接供應商訊號(Consent Mode 等)、處理 GPC 和美國選擇退出連結、讓撤回功能正常運作,然後更新政策以符合網站現在的行為。
  • 在更改後清除所有快取層(頁面快取、CDN、壓縮/合併套件),否則你將測試到昨天的網站。

階段 4:驗證

在全新掃描證明之前,沒有任何東西是修復好的。使用與審核相同的情境和觀察點重新執行掃描器,並與審核時的掃描結果進行比較。references/testing-tools.md 有完整的矩陣;簽核的最低要求是:

  • 選擇加入的受眾:在做出選擇前及拒絕後(包括實際的滑鼠和滾動輸入後),沒有非必要的 Cookie 和追蹤器請求;第一層的拒絕按鈕具有同等重要性;接受確實載入標籤;撤回停止標籤並移除第一方追蹤 Cookie;選擇跨頁面持續有效且不會再次詢問。
  • 選擇退出的受眾:選擇退出連結和 GPC 各自停止銷售/分享/定向廣告標籤,無需額外點擊;加州訪客會看到訊號已被遵守的確認;在觸及敏感資料的頁面上,無任何內容在同意前觸發。
  • 所有地方:傳出的 Google 流量上的同意訊號與訪客選擇的狀態相符;快取和未快取的載入、行動裝置、以及重要的頁面類型(商品、結帳、感謝、表單)結果一致;Cookie 政策列出掃描發現的內容。

報告哪些通過、哪些失敗、以及哪些無法測試(例如你沒有觀察點的區域,或你無法存取的伺服器端事件)。未測試的檢查應報告為未測試,絕不能報告為通過。

工作筆記

  • 證據重於斷言。 引用 Cookie 名稱、請求主機、同意參數、螢幕截圖。沒有證據的發現只是意見。
  • 未知的 Cookie 和主機是需要解決的發現,而非可以忽視的項目。識別它們(誰設定的、用途為何),或將其列為未解決。
  • 嚴重性取決於實際暴露風險:受眾是誰、涉及哪些資料、失敗有多明顯、該規則被執行或訴訟的活躍程度。對法國訪客,或在美國健康頁面上,廣告像素在同意前觸發是嚴重的。缺少印記連結則不是。
  • 在法律允許的情況下,保留使用者的指標。 合規不代表要刪除分析資料。優先選擇既能滿足規則又能保留最多有用資料的選項:經同意閘控的標籤、Consent Mode、無 Cookie 或豁免設定的分析、特定地區行為。解釋取捨並讓使用者選擇。
  • 說明你未檢查的項目。 行動應用程式、電子郵件追蹤像素、離線資料共享、供應商合約和國際傳輸文件是隱私合規的一部分,但大多不在網站掃描範圍內。列出看似相關的項目,以免被認為已完成。

相關技能