Community寫作與編輯github.com

vipink1203/app-compliance

每個應用程式在接觸真實使用者之前必須通過的法律與信任關卡——涵蓋隱私、同意與追蹤器、條款、付款與訂閱、行銷聲明與電子郵件、無障礙、授權、使用者上傳內容及AI標示。建議在應用程式啟動前,以及每當變更涉及個人資料、Cookie或SDK、註冊流程、付款、電子郵件、行銷文案、依賴項目或資產、或AI功能時使用。

app-compliance 是什麼?

這項技能為應用程式建立一套強制性的合規關卡(gates)流程,確保在產品對真實使用者上線前,所有法律與信任義務都已履行完成。它涵蓋隱私、同意與追蹤、條款與付款、行銷聲明、無障礙、授權、使用者生成內容以及AI標示等八個主要領域。每道關卡都明確定義規則、需要建置的內容以及「完成標準」檢查,並將其狀態記錄在專案的合規文件中,避免依賴記憶或良好意圖。支援的平台包括Claude Code、Cursor和Codex等AI代理工具。技能會先要求建立資料地圖,接著設定應用程式的範圍,然後逐一走訪每道關卡並指派狀態(通過、失敗、不適用或等待擁有者行動),最後修復失敗項目並交付擁有者行動清單。所有規則皆源自帶有日期與來源的研究筆記,若筆記超過六個月,系統會提示重新檢查原始來源。

相容平台~Claude Code~Codex CLI~Cursor
npx skills add https://github.com/vipink1203/vk-skills/tree/HEAD/skills/app-compliance

Installed? Explore more 寫作與編輯 skills: steipete/notion, langchain-ai/langchain, bytedance/podcast-generation · View all 6 →

在你喜歡的 AI 中提問

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

說明文件

應用合規

每個應用程式在接觸真實使用者之前,都必須通過這些關卡,並且在後續變更時持續通過。 一道關卡就是一項義務,包含一條規則、需要建置的內容,以及一個完成標準檢查。 每道關卡的狀態都會記錄在專案的合規記錄中,因此沒有任何事情可以只憑記憶或良好意圖就過關。

這是經過研究的法律工程,而非法律建議。 規則來自 research/ 中附有來源的研究筆記,日期為2026-10-31:01 隱私與同意、02 商業與聲明、以及03 無障礙、智慧財產權與AI。 當某份筆記在執行時已超過六個月,請在使用其所依據的章節之前,重新檢查這些章節中引用的主要來源(如果你有研究技能,可以使用它來協助),以確認其日期與門檻是否仍為最新。

原則

  • 為所有人打造同一套建置。 針對每位使用者,採用最嚴格的通用標準(隱私遵循GDPR、訂閱與定價遵循加州法規、無障礙遵循WCAG 2.2 AA),而不是依國家進行分支處理。
  • 資料地圖即真理。 法律頁面、同意提示和供應商清單所描述的內容,必須與程式碼和實際運行的應用程式一致,這些資訊應透過閱讀程式碼和擷取流量來取得,絕不依賴範本的假設。 當應用程式變更時,這些頁面必須在同一次提交中一起更新。
  • 有證據,才成立。 應用程式中的每一項聲明、徽章、標誌、評論和數字,都必須指向記錄中的一個證據條目。
  • 擁有者決定,代理起草。 代理負責撰寫頁面、程式碼和測試;簽署、註冊、權限和法律判斷則是擁有者的行動,代理絕不能代替擁有者將這些事項標記為完成。

步驟

  1. 繪製資料地圖。 根據程式碼和一次實際執行,在合規記錄中建立資料地圖:每個包含個人資料的表單欄位和API輸入、每個儲存資料的資料庫欄位或儲存體、每個Cookie和localStorage/sessionStorage/IndexedDB金鑰、每個應用程式呼叫的網域(使用Playwright HAR擷取所有路由,並使用mitmproxy等代理工具擷取全新行動裝置安裝的流量)、依賴樹中的每個SDK,以及應用程式傳送的每封電子郵件。 針對每個項目:目的、法律依據、儲存位置、保留期限,以及接收資料的供應商。 當程式碼搜尋和HAR顯示地圖中沒有遺漏任何項目時,即為完成。
  2. 設定範圍。 在記錄中回答:使用者是誰(消費者、企業、可能包含兒童)?所在地區(美國、歐盟/英國、其他地區)?業務規模(員工人數、營業額)?是否處理付款或訂閱?是否發送行銷電子郵件?是否儲存使用者提供的內容(貼文、留言、檔案、個人資料、頭像)?是否顯示AI輸出或AI聊天?是否處理健康、財務、生物辨識或精確位置資料? 如果「敏感資料」或「兒童」的回答為「是」,則需要在擁有者行動中加入律師審查。
  3. 逐一走訪每道關卡。 閱讀下面的每個關卡檔案,並為每道關卡指定一個狀態:pass(通過)、fail(失敗)、n/a(不適用,並附上排除此關卡的範圍答案),或owner(等待擁有者行動)。
    • gates/privacy.md:隱私權政策、資料極小化、保留、存取與刪除請求、兒童、AI訓練使用使用者資料、供應商、DPA與次處理者(PRIV)。
    • gates/consent-and-tracking.md:Cookie橫幅、同意前阻擋追蹤器、選擇退出訊號、獨立的行銷同意(CONSENT)。
    • gates/terms-and-payments.md:條款接受與其記錄、完整價格、退款、自動續訂、取消、歐盟撤回權(TERMS, PAY)。
    • gates/marketing-and-claims.md:聲明、安全徽章、評論、標誌、正常執行時間、緊急性、暗黑模式、營業資訊、行銷電子郵件(CLAIM, UX, BIZ, EMAIL)。
    • gates/accessibility.md:WCAG 2.2 AA掃描、對比度、替代文字、鍵盤操作、焦點、時間與目標、歐盟無障礙聲明(A11Y)。
    • gates/licenses-and-content.md:程式碼、字型、圖片和圖示的授權、檢舉與下架使用者內容(LIC, UGC)。
    • gates/ai.md:AI聊天揭露、標示與標記產生的內容(AI)。
  4. 修復並證明。 根據每個fail狀態所需的內容進行建置,然後執行其完成標準檢查:將自動化檢查作為專案測試套件中的測試,以便持續執行;手動檢查則記錄日期和結果。 當所有關卡的狀態都為pass、n/a或owner,且沒有任何fail時,即為完成。
  5. 移交。 在記錄頂端撰寫擁有者行動清單,並在對話中告知擁有者,每項一行:要做什麼、為什麼這麼做、以及在哪裡進行。

在後續變更時,針對受影響的關卡檔案重複步驟1和步驟3到5,並在同一次提交中更新記錄。

合規記錄

每個應用程式在其儲存庫中的 docs/compliance.md 維護一份記錄,並在原處更新,該記錄是根據 record-template.md 建立的。 它包含範圍答案、資料地圖、每道關卡的狀態與證明、證據條目、資產登記冊以及擁有者行動。 一個應用程式只有在記錄中沒有任何fail,且擁有者已清除或明確接受每個未結的擁有者行動時,才能啟動上線。

Individual skills in this repo

This repo contains 1 individual skill — each has its own dedicated page.

相關技能