ai-tool-compliance

Compare original and translation side by side

🇺🇸

Original

English
🇨🇳

Translation

Chinese

ai-tool-compliance - 내부 AI 툴 컴플라이언스 자동화

ai-tool-compliance - 内部AI工具合规自动化

When to use this skill

何时使用该Skill

  • 신규 AI 프로젝트 시작: 컴플라이언스 기반 구조(RBAC, Gateway, 로그, 비용 추적)를 처음부터 스캐폴딩할 때
  • 배포 전 P0 전수 검증: 13개 P0 필수 요건을 자동으로 pass/fail 판정하고 준수 점수를 산출할 때
  • RBAC 설계 및 권한 매트릭스 생성: Super Admin/Admin/Manager/Viewer/Guest 5역할 + 게임/메뉴/기능 단위 세부 접근 제어를 정의할 때
  • 기존 코드 컴플라이언스 감사: 이미 존재하는 코드베이스를 가이드에 맞게 점검하고 위반 항목을 식별할 때
  • 비용 투명성 구현: 액션별 모델/토큰/BQ 스캔량/비용 추적 체계를 구축할 때
  • 행동 로그 스키마 설계: 전수 행동 로그 기록 체계(Firestore/BigQuery)를 설계할 때
  • 역할별 검증 워크플로우: Section 14 기반 릴리스 승인 프로세스(서비스안정화/Engineer/PM/CEO)를 구성할 때
  • 기준검증 시스템 구축: Rule Registry + Evidence Collector + Verifier Engine + Risk Scorer + Gatekeeper 아키텍처를 설정할 때

  • 新AI项目启动:需要从头搭建基于合规的架构(RBAC、Gateway、日志、成本追踪)时
  • 部署前P0全量验证:自动判定13项P0必备要求的通过/不通过状态,计算合规分数时
  • RBAC设计与权限矩阵生成:定义Super Admin/Admin/Manager/Viewer/Guest 5种角色 + 游戏/菜单/功能维度的细粒度访问控制时
  • 现有代码合规审计:按照指南检查已有代码库,识别违规项时
  • 成本透明度实现:搭建按操作维度的模型/Token/BQ扫描量/成本追踪体系时
  • 操作日志Schema设计:设计全量操作日志记录体系(Firestore/BigQuery)时
  • 角色维度验证工作流:搭建基于第14节的发布审批流程(服务稳定性/Engineer/PM/CEO)时
  • 标准验证系统搭建:配置Rule Registry + Evidence Collector + Verifier Engine + Risk Scorer + Gatekeeper架构时

Installation

安装

bash
npx skills add https://github.com/supercent-io/skills-template --skill ai-tool-compliance

bash
npx skills add https://github.com/supercent-io/skills-template --skill ai-tool-compliance

Quick Reference

快速参考

ActionCommandDescription
프로젝트 초기화
/compliance-init
RBAC 매트릭스, Gateway boilerplate, 로그 스키마, 비용 추적 인터페이스 생성
빠른 스캔
/compliance-scan
P0 핵심 항목 빠른 점검 (코드 패턴 기반)
전수 검증
/compliance-verify
11개 P0 룰 전수 검증 + 준수 점수 산출
점수 확인
/compliance-score
현재 준수 점수(보안/권한/비용/로그) 표시
배포 게이트
/compliance-gate
Green/Yellow/Red 판정 + 배포 승인/차단 결정
개선 가이드
/compliance-improve
위반 항목별 구체적 수정 제안 + 재검증 루프

操作命令描述
项目初始化
/compliance-init
生成RBAC矩阵、Gateway样板代码、日志Schema、成本追踪接口
快速扫描
/compliance-scan
基于代码模式快速检查P0核心项
全量验证
/compliance-verify
全量验证11项P0规则 + 计算合规分数
分数查询
/compliance-score
展示当前合规分数(安全/权限/成本/日志)
部署门禁
/compliance-gate
给出Green/Yellow/Red判定 + 决定批准/阻断部署
改进指南
/compliance-improve
针对每个违规项给出具体修改建议 + 重验证循环

3가지 실행 모드

3种运行模式

1. Quick Scan (
quick-scan
)

1. 快速扫描(
quick-scan

코드베이스를 정적 분석하여 P0 위반 가능성을 빠르게 식별한다.
실행 방법:
/compliance-scan
또는 트리거 키워드
컴플라이언스 스캔
,
quick scan
수행 내용:
  • Grep/Glob 기반 코드 패턴 검색
  • 외부 API 직접 호출 탐지 (Gateway 우회 여부)
  • Firestore 클라이언트 직접 접근 탐지
  • 하드코딩된 민감 정보 탐지
  • Guest 역할 누락 여부 확인
산출물: 위반 의심 항목 목록 (파일 경로 + 라인 번호 + 룰 ID)
소요 시간: 1~3분
对代码库进行静态分析,快速识别P0违规可能性。
使用方法
/compliance-scan
或触发关键词
合规扫描
,
quick scan
执行内容:
  • 基于Grep/Glob的代码模式搜索
  • 检测外部API直接调用(是否绕过Gateway)
  • 检测Firestore客户端直接访问
  • 检测硬编码的敏感信息
  • 确认是否缺失Guest角色
输出:疑似违规项列表(文件路径 + 行号 + 规则ID)
耗时:1~3分钟

2. Full Verify (
full-verify
)

2. 全量验证(
full-verify

11개 P0 룰을 전수 검증하고 정량적 준수 점수를 산출한다.
실행 방법:
/compliance-verify
또는 트리거 키워드
P0 검증
,
full verify
,
배포 검증
수행 내용:
  • 11개 P0 룰 각각에 대해 Evidence 수집 + pass/fail 판정
  • 4개 영역별 점수 산출 (보안 40점 / 권한 25점 / 비용 20점 / 로그 15점)
  • 총 준수 점수 계산 (100점 만점)
  • 배포 게이트 등급 판정 (Green/Yellow/Red)
  • 역할별 승인 체크리스트 생성
산출물: 컴플라이언스 리포트 (
compliance-report.md
)
undefined
全量验证11项P0规则,计算量化合规分数。
使用方法
/compliance-verify
或触发关键词
P0验证
,
full verify
,
部署验证
执行内容:
  • 对11项P0规则分别收集证据 + 判定通过/不通过
  • 计算4个维度的分数(安全40分 / 权限25分 / 成本20分 / 日志15分)
  • 计算总合规分数(满分100分)
  • 判定部署门禁等级(Green/Yellow/Red)
  • 生成角色维度审批检查表
输出:合规报告(
compliance-report.md
undefined

Compliance Report

Compliance Report

  • Date: 2026-03-03
  • Project: my-ai-tool
  • Score: 92/100 (Green)
  • Date: 2026-03-03
  • Project: my-ai-tool
  • Score: 92/100 (Green)

Rule Results

Rule Results

Rule IDRule NameResultEvidence
AUTH-P0-001신규 가입자 Guest 강제PASSsignup.ts:45 role='guest'
AUTH-P0-002Guest 메뉴/API 접근 차단PASSmiddleware.ts:12 guestBlock
............
Rule IDRule NameResultEvidence
AUTH-P0-001新用户默认Guest角色PASSsignup.ts:45 role='guest'
AUTH-P0-002Guest菜单/API访问阻断PASSmiddleware.ts:12 guestBlock
............

Score Breakdown

Score Breakdown

  • 보안: 33/40
  • 권한: 25/25
  • 비용: 17/20
  • 로그: 12/15
  • Total: 92/100
  • 安全: 33/40
  • 权限: 25/25
  • 成本: 17/20
  • 日志: 12/15
  • Total: 92/100

Gate Decision: GREEN - 배포 승인

Gate Decision: GREEN - 部署批准


**소요 시간**: 5~15분 (프로젝트 규모에 따라 다름)

**耗时**:5~15分钟(依项目规模而定)

3. Improve (
improve
)

3. 改进(
improve

위반 항목에 대한 구체적 수정 가이드를 제공하고 재검증 루프를 실행한다.
실행 방법:
/compliance-improve
또는 트리거 키워드
컴플라이언스 개선
,
위반 수정
수행 내용:
  • 각 FAIL 항목에 대한 코드 레벨 수정 제안 (파일 경로 + 변경 전/후 코드)
  • 수정 적용 후 해당 룰 재검증
  • 점수 변화 추적 (Before -> After)
  • P0 통과 후 P1 권장 요건 점진 도입 가이드
산출물: 수정 제안서 + 재검증 결과
针对违规项提供具体修改指南,执行重验证循环。
使用方法
/compliance-improve
或触发关键词
合规改进
,
违规修复
执行内容:
  • 针对每个不通过项给出代码级修改建议(文件路径 + 修改前后代码)
  • 应用修改后对对应规则进行重验证
  • 追踪分数变化(修改前 -> 修改后)
  • 通过P0验证后提供P1建议要求的逐步落地指南
输出:修改建议书 + 重验证结果

Improve 모드 자동 수정 로직

改进模式自动修复逻辑

/compliance-improve 실행
       |
  1. 최근 verification-run.json 로드
       |
  2. FAIL 항목 추출 (rule_id + evidence)
       |
  3. 각 FAIL에 대해:
       |
     a. evidence 파일:줄번호에서 위반 코드 Read
     b. rule.remediation + rule.check_pattern.must_contain에서 수정 방향 도출
     c. 변경 전/후 코드 diff 생성
     d. Write로 수정 적용 (사용자 확인 후)
     e. 해당 룰만 재검증 (Grep 패턴 재실행)
     f. PASS 전환 확인
       |
  4. 전체 재검증 (/compliance-verify)
       |
  5. Before/After 점수 비교 출력
       |
  6. 잔여 FAIL 없으면 → P1 권장 요건 도입 가이드 제시
수정 적용 우선순위:
  1. must_not_contain
    위반 (즉시 제거 필요) → 해당 코드 삭제 또는 서버 API 호출로 교체
  2. must_contain
    미충족 (패턴 추가 필요) → remediation 가이드에 따라 코드 삽입
  3. Warning (부분 충족) → 미충족 파일에만 보완 적용

执行/compliance-improve
       |
  1. 加载最新verification-run.json
       |
  2. 提取不通过项(rule_id + evidence)
       |
  3. 针对每个不通过项:
       |
     a. 从evidence的文件:行号读取违规代码
     b. 从rule.remediation + rule.check_pattern.must_contain推导修改方向
     c. 生成修改前后代码diff
     d. 用户确认后应用修改
     e. 仅重验证对应规则(重新执行Grep模式匹配)
     f. 确认转为PASS状态
       |
  4. 全量重验证(/compliance-verify)
       |
  5. 输出修改前后分数对比
       |
  6. 无剩余不通过项 → 提供P1建议要求落地指南
修改优先级:
  1. must_not_contain
    违规(需立即移除) → 删除对应代码或替换为服务器API调用
  2. must_contain
    未满足(需添加对应模式) → 按照修复指南插入代码
  3. Warning(部分满足) → 仅对未满足的文件进行补充修改

P0 룰 카탈로그

P0规则目录

내부 AI 툴 필수 구현 가이드 v1.1 기반 11개 P0 룰:
Rule IDCategoryRule NameDescription배점
AUTH-P0-001권한신규 가입자 Guest 강제신규 가입 시 role=Guest 자동 할당, 초대 기반으로만 상위 역할 부여권한 8
AUTH-P0-002권한Guest 메뉴/API 접근 차단Guest에게 툴명, 모델명, 내부 인프라, 비용, 구조 비노출. 허용된 메뉴/API만 접근권한 7
AUTH-P0-003권한서버 최종 권한 검증모든 API 요청에 서버 사이드 권한 검증 미들웨어 필수. 클라이언트 권한 체크만으로 불충분권한 10
SEC-P0-004보안Firestore 직접 접근 금지클라이언트에서 Firestore 직접 read/write 금지. Cloud Functions 경유만 허용보안 12
SEC-P0-005보안외부 API Gateway 강제외부 AI API(Gemini, OpenAI 등) 직접 호출 금지. 반드시 내부 Gateway(Cloud Functions) 경유보안 18
SEC-P0-009보안민감 텍스트 서버 처리민감 원문(프롬프트, 응답 전문)은 서버에서만 처리. 클라이언트에는 참조값(ID)만 전달보안 10
COST-P0-006비용모델 호출 비용 로그모든 AI 모델 호출 시 model, inputTokens, outputTokens, estimatedCost 기록 필수비용 10
COST-P0-007비용BQ 스캔 비용 로그BigQuery 쿼리 실행 시 bytesProcessed, estimatedCost 기록 필수비용 5
COST-P0-011비용캐시 우선 조회고비용 API 호출 전 캐시 조회 필수. 캐시 미스 시에만 실제 호출비용 5
LOG-P0-008로그실패 요청 로그 필수모든 실패 요청(4xx, 5xx, timeout)에 대한 로그 기록 필수. 누락 금지로그 10
LOG-P0-010로그권한 변경 감사 로그Role 변경, 권한 부여/회수, 초대 발송 등 권한 관련 이벤트 전수 기록로그 5
基于内部AI工具必备实现指南v1.1的11项P0规则:
Rule ID分类规则名称描述分值
AUTH-P0-001权限新用户默认Guest角色新用户注册时自动分配role=Guest,仅可通过邀请授予更高权限权限 8
AUTH-P0-002权限Guest菜单/API访问阻断不对Guest暴露工具名、模型名、内部基础设施、成本、架构信息,仅允许访问授权的菜单/API权限 7
AUTH-P0-003权限服务端最终权限校验所有API请求必须经过服务端权限校验中间件,仅靠客户端权限校验不满足要求权限 10
SEC-P0-004安全禁止直接访问Firestore禁止客户端直接对Firestore进行read/write操作,仅允许通过Cloud Functions访问安全 12
SEC-P0-005安全强制使用外部API Gateway禁止直接调用外部AI API(Gemini、OpenAI等),必须经过内部Gateway(Cloud Functions)安全 18
SEC-P0-009安全敏感文本服务端处理敏感原文(Prompt、响应全文)仅在服务端处理,仅向客户端传递引用值(ID)安全 10
COST-P0-006成本模型调用成本日志所有AI模型调用必须记录model、inputTokens、outputTokens、estimatedCost成本 10
COST-P0-007成本BQ扫描成本日志执行BigQuery查询时必须记录bytesProcessed、estimatedCost成本 5
COST-P0-011成本优先查询缓存高成本API调用前必须先查询缓存,仅缓存未命中时发起实际调用成本 5
LOG-P0-008日志必须记录失败请求日志所有失败请求(4xx、5xx、timeout)必须记录日志,不允许遗漏日志 10
LOG-P0-010日志权限变更审计日志必须全量记录角色变更、权限授予/回收、发送邀请等权限相关事件日志 5

점수 체계

分数体系

영역만점포함 룰
보안40SEC-P0-004, SEC-P0-005, SEC-P0-009
권한25AUTH-P0-001, AUTH-P0-002, AUTH-P0-003
비용20COST-P0-006, COST-P0-007, COST-P0-011
로그15LOG-P0-008, LOG-P0-010
합계10011개 P0 룰
维度满分包含规则
安全40SEC-P0-004, SEC-P0-005, SEC-P0-009
权限25AUTH-P0-001, AUTH-P0-002, AUTH-P0-003
成本20COST-P0-006, COST-P0-007, COST-P0-011
日志15LOG-P0-008, LOG-P0-010
合计10011项P0规则

룰별 자동 검증 로직

规则自动验证逻辑

각 룰의 검증은
rules/p0-catalog.yaml
에 정의된
check_pattern
을 기반으로 수행된다. 핵심 메커니즘은 Grep/Glob 정적 분석이다.
판정 알고리즘 (룰당):
1. Glob(check_targets) → 대상 파일 수집
2. grep_patterns 매칭 → 해당 기능 사용 파일 식별
   - 매칭 0건 → N/A (해당 기능 미사용, 패널티 없음)
3. must_not_contain 검사 (exclude_paths 제외)
   - 매칭 발견 → 즉시 FAIL + evidence 기록
4. must_contain 검사
   - 전체 충족 → PASS
   - 부분 충족 → WARNING
   - 미충족 → FAIL
룰별 핵심 Grep 패턴:
Rule ID기능 탐지 (grep_patterns)준수 확인 (must_contain)위반 탐지 (must_not_contain)
AUTH-P0-001
signup|register|createUser
role.*['"]guest['"]
role.*['"]admin['"]
(가입 시)
AUTH-P0-002
guard|middleware|authorize
guest.*block|guest.*deny
--
AUTH-P0-003
router\.(get|post|put|delete)
auth|verify|authenticate
--
SEC-P0-004-- (전체 대상)--
firebase/firestore|getDocs|setDoc
(클라이언트 경로)
SEC-P0-005-- (전체 대상)--
fetch\(['"]https?://(?!localhost)
(클라이언트 경로)
SEC-P0-009-- (전체 대상)--
res\.json\(.*password|console\.log\(.*token
COST-P0-006
openai|vertexai|gemini|anthropic
cost|token|usage|billing
--
COST-P0-007
bigquery|BigQuery|createQueryJob
totalBytesProcessed|bytesProcessed|cost
--
COST-P0-011
openai|vertexai|gemini|anthropic
cache|Cache|redis|memo
--
LOG-P0-008
catch|errorHandler|onError
logger|log\.error|winston|pino
--
LOG-P0-010
updateRole|changeRole|setRole
audit|auditLog|eventLog
--
상세 스키마:
rules/p0-catalog.yaml
REFERENCE.md
의 "Judgment Algorithm" 섹션 참조

每个规则的验证基于
rules/p0-catalog.yaml
中定义的
check_pattern
执行,核心机制为Grep/Glob静态分析。
判定算法(单规则):
1. Glob(check_targets) → 收集目标文件
2. 匹配grep_patterns → 识别使用对应功能的文件
   - 0个匹配 → N/A(未使用对应功能,无扣分)
3. 检查must_not_contain(排除exclude_paths)
   - 匹配到内容 → 立即判定FAIL + 记录证据
4. 检查must_contain
   - 全部满足 → PASS
   - 部分满足 → WARNING
   - 未满足 → FAIL
规则核心Grep模式:
Rule ID功能检测(grep_patterns)合规校验(must_contain)违规检测(must_not_contain)
AUTH-P0-001
signup|register|createUser
role.*['"]guest['"]
role.*['"]admin['"]
(注册阶段)
AUTH-P0-002
guard|middleware|authorize
guest.*block|guest.*deny
--
AUTH-P0-003
router\.(get|post|put|delete)
auth|verify|authenticate
--
SEC-P0-004-- (全量扫描)--
firebase/firestore|getDocs|setDoc
(客户端路径)
SEC-P0-005-- (全量扫描)--
fetch\(['"]https?://(?!localhost)
(客户端路径)
SEC-P0-009-- (全量扫描)--
res\.json\(.*password|console\.log\(.*token
COST-P0-006
openai|vertexai|gemini|anthropic
cost|token|usage|billing
--
COST-P0-007
bigquery|BigQuery|createQueryJob
totalBytesProcessed|bytesProcessed|cost
--
COST-P0-011
openai|vertexai|gemini|anthropic
cache|Cache|redis|memo
--
LOG-P0-008
catch|errorHandler|onError
logger|log\.error|winston|pino
--
LOG-P0-010
updateRole|changeRole|setRole
audit|auditLog|eventLog
--
详细Schema:参考
rules/p0-catalog.yaml
REFERENCE.md
的「Judgment Algorithm」章节

검증 시나리오 (QA)

验证场景(QA)

Full Verify 모드(
/compliance-verify
)에서 실행되는 5개 핵심 검증 시나리오. 각 시나리오는 관련 P0 룰을 묶어 end-to-end로 검증한다.
ID시나리오관련 룰검증 방법Pass 기준
SC-001신규 가입 -> Guest 격리AUTH-P0-001, AUTH-P0-002회원가입 코드에서 role=guest 할당 확인 + Guest로 보호된 API 호출 시 403 반환 패턴 확인role이 guest이고, 보호 API에 접근 불가 패턴 존재 시 PASS
SC-002AI 호출 -> Gateway 경유 + 비용 기록SEC-P0-005, COST-P0-006, COST-P0-011(1) 외부 API 직접 호출 코드 부재 확인 (2) Gateway 함수 경유 확인 (3) 비용 로그 필드(model, tokens, cost) 기록 확인 (4) 캐시 조회 로직 존재 확인Gateway 경유 + 비용 로그 4필드 기록 + 캐시 레이어 존재 시 PASS
SC-003Firestore 접근 -> Functions 경유 전용SEC-P0-004, AUTH-P0-003(1) 클라이언트 코드에서 Firestore SDK 직접 import 탐지 (2) 서버 사이드 권한 검증 미들웨어 존재 확인클라이언트 직접 접근 코드 0건 + 서버 미들웨어 존재 시 PASS
SC-004실패 요청 -> 로그 누락 없음LOG-P0-008, LOG-P0-010(1) error handler에서 로그 기록 호출 확인 (2) catch 블록에서 로그 누락 없음 확인 (3) 권한 변경 이벤트에 감사 로그 존재 확인모든 error handler에 로그 호출 존재 + 권한 변경 감사 로그 존재 시 PASS
SC-005민감 데이터 -> 클라이언트 비노출SEC-P0-009, AUTH-P0-002(1) API 응답에 프롬프트/응답 전문이 포함되지 않고 참조 ID만 반환 확인 (2) Guest 응답에 모델명/비용/인프라 정보 미포함 확인응답에 원문 미포함 + Guest 노출 통제 확인 시 PASS
全量验证模式(
/compliance-verify
)中执行的5个核心验证场景,每个场景整合相关P0规则进行端到端验证。
ID场景关联规则验证方法Pass标准
SC-001新用户注册 -> Guest隔离AUTH-P0-001, AUTH-P0-002确认注册代码中分配role=guest + Guest调用受保护API时返回403的模式存在角色为guest,且存在受保护API不可访问的模式时判定PASS
SC-002AI调用 -> 经过Gateway + 记录成本SEC-P0-005, COST-P0-006, COST-P0-011(1) 确认无直接调用外部API的代码 (2) 确认经过Gateway函数 (3) 确认记录成本日志字段(model、tokens、cost) (4) 确认存在缓存查询逻辑经过Gateway + 记录4个成本日志字段 + 存在缓存层时判定PASS
SC-003Firestore访问 -> 仅通过FunctionsSEC-P0-004, AUTH-P0-003(1) 检测客户端代码是否直接导入Firestore SDK (2) 确认存在服务端权限校验中间件无客户端直接访问代码 + 存在服务端中间件时判定PASS
SC-004失败请求 -> 无日志遗漏LOG-P0-008, LOG-P0-010(1) 确认error handler中调用日志记录 (2) 确认catch块无日志遗漏 (3) 确认权限变更事件存在审计日志所有error handler存在日志调用 + 权限变更审计日志存在时判定PASS
SC-005敏感数据 -> 不暴露给客户端SEC-P0-009, AUTH-P0-002(1) 确认API响应不含Prompt/响应全文,仅返回引用ID (2) 确认Guest响应不含模型名/成本/基础设施信息响应不含原文 + Guest暴露管控生效时判定PASS

시나리오별 검증 흐름

场景验证流程

SC-001: grep signup/register -> assert role='guest' -> grep guestBlock/guestDeny -> assert exists
SC-002: grep fetch(https://) in client -> assert 0 hits -> grep gateway log -> assert cost fields -> assert cache check
SC-003: grep firebase/firestore in client/ -> assert 0 hits -> grep authMiddleware in functions/ -> assert exists
SC-004: grep catch blocks -> assert logAction in each -> grep roleChange -> assert auditLog
SC-005: grep res.json for raw text -> assert 0 hits -> grep guest response -> assert no model/cost info

SC-001: grep signup/register -> 断言role='guest' -> grep guestBlock/guestDeny -> 断言存在
SC-002: 客户端路径grep fetch(https://) -> 断言0匹配 -> grep gateway log -> 断言存在成本字段 -> 断言存在缓存检查
SC-003: client/路径grep firebase/firestore -> 断言0匹配 -> functions/路径grep authMiddleware -> 断言存在
SC-004: grep catch块 -> 断言每个块都有logAction -> grep roleChange -> 断言存在auditLog
SC-005: grep res.json中的原始文本 -> 断言0匹配 -> grep guest响应 -> 断言无模型/成本信息

역할별 Go/No-Go 체크포인트

角色维度Go/No-Go检查点

배포 게이트 판정 후, 등급에 따라 해당 역할의 Go/No-Go 체크포인트를 통과해야 한다. 4개 역할 x 5개 항목 = 총 20개 체크포인트.
部署门禁判定后,需根据等级通过对应角色的Go/No-Go检查点。4个角色 x 5个检查项 = 共20个检查点.

서비스안정화 (5개)

服务稳定性负责人(5个)

#체크포인트Go 조건No-Go 조건
1SLA 영향 분석기존 서비스 가용성/응답시간 SLA에 영향 없음 확인SLA 영향 미분석 또는 저하 예상
2롤백 절차롤백 절차 문서화 + 테스트 완료롤백 절차 미수립
3성능 테스트부하/스트레스 테스트 완료 + 기준치 이내성능 테스트 미실행
4장애 알림장애 감지 알림 채널(Slack/PagerDuty 등) 설정 완료알림 채널 미설정
5모니터링 대시보드핵심 메트릭(에러율, 응답시간, AI 비용) 대시보드 존재모니터링 부재
#检查点Go条件No-Go条件
1SLA影响分析确认对现有服务可用性/响应时间SLA无影响未分析SLA影响或预计性能下降
2回滚流程回滚流程已文档化 + 测试完成未制定回滚流程
3性能测试负载/压力测试完成 + 符合基准值未执行性能测试
4故障通知故障检测通知渠道(Slack/PagerDuty等)配置完成未配置通知渠道
5监控大盘存在核心指标(错误率、响应时间、AI成本)大盘无监控

Engineer (5개)

研发工程师(5个)

#체크포인트Go 조건No-Go 조건
1FAIL 룰 원인 분석모든 FAIL 룰의 근본 원인 식별 + 문서화원인 미식별 항목 존재
2수정 코드 검증수정 코드가 해당 룰의 의도를 정확히 반영수정이 룰 의도와 불일치
3재검증 통과수정 후 재검증에서 해당 룰 PASS 전환재검증 미실행 또는 여전히 FAIL
4회귀 영향 없음수정이 다른 P0 룰에 부정적 영향 없음 확인다른 룰이 새로 FAIL
5코드 리뷰 완료수정 코드에 대한 코드 리뷰 승인 완료코드 리뷰 미완료
#检查点Go条件No-Go条件
1FAIL规则根因分析所有FAIL规则的根本原因已识别 + 文档化存在未识别原因的项
2修改代码验证修改代码准确符合规则意图修改与规则意图不一致
3重验证通过修改后重验证对应规则转为PASS未执行重验证或仍为FAIL
4无回归影响确认修改对其他P0规则无负面影响其他规则新增FAIL
5代码评审完成修改代码已通过代码评审批准未完成代码评审

PM (5개)

PM(产品经理)(5个)

#체크포인트Go 조건No-Go 조건
1사용자 영향 평가미달 항목의 사용자 영향이 수용 가능사용자 영향 미평가
2일정 리스크수정 소요 시간이 릴리스 일정 내일정 초과 예상
3범위 합의범위 변경 시 이해관계자 합의 완료합의 미완료
4비용 영향AI 사용 비용이 승인된 예산 범위 내예산 초과 예상
5커뮤니케이션변경 사항이 관련 팀에 공유됨미공유
#检查点Go条件No-Go条件
1用户影响评估未达标项的用户影响可接受未评估用户影响
2进度风险修改所需时间在发布计划范围内预计超期
3范围共识范围变更已与利益相关方达成共识未达成共识
4成本影响AI使用成本在批准的预算范围内预计超预算
5同步沟通变更内容已同步至相关团队未同步

CEO (5개)

CEO(5个)

#체크포인트Go 조건No-Go 조건
1비용 상한월간 AI 비용이 사전 승인 예산 이내예산 상한 초과
2보안 리스크보안 P0 전수 통과 또는 예외 사유 합리적P0 보안 FAIL + 예외 사유 불충분
3법적/규제 리스크데이터 처리가 관련 법규(개인정보보호법 등) 준수법적 리스크 미검토
4사업 연속성배포 실패 시 사업 영향이 제한적사업 중단 리스크 존재
5최종 승인위 4개 항목 모두 Go이면 최종 승인1개라도 No-Go이면 보류

#检查点Go条件No-Go条件
1成本上限月度AI成本在预先批准的预算内超出预算上限
2安全风险安全P0全量通过或例外理由合理安全P0 FAIL + 例外理由不充分
3法律/监管风险数据处理符合相关法规(个人信息保护法等)未评估法律风险
4业务连续性部署失败对业务影响有限存在业务中断风险
5最终批准以上4项全部为Go则最终批准有1项No-Go则暂缓

리포트 형식

报告格式

/compliance-verify
실행 시 생성되는
compliance-report.md
는 6개 섹션으로 구성된다.
执行
/compliance-verify
生成的
compliance-report.md
由6个部分组成。

리포트 섹션 구조 (6개)

报告结构(6部分)

markdown
undefined
markdown
undefined

Compliance Report

合规报告

1. Summary (요약)

1. 摘要

  • 프로젝트명, 검증 일시, 검증 모드 (quick-scan / full-verify)
  • 총 준수 점수 / 100
  • 배포 게이트 등급 (Green / Yellow / Red)
  • P0 FAIL 건수
  • 검증 소요 시간
  • 项目名、验证时间、验证模式(quick-scan / full-verify)
  • 总合规分数 / 100
  • 部署门禁等级(Green / Yellow / Red)
  • P0 FAIL数量
  • 验证耗时

2. Rule Results (룰별 결과)

2. 规则结果

Rule IDCategoryRule NameResultScoreEvidence
AUTH-P0-001권한신규 가입자 Guest 강제PASS10/10signup.ts:45
SEC-P0-005보안외부 API Gateway 강제FAIL0/15client/api.ts:23 직접 fetch
...
Rule ID分类规则名称结果得分证据
AUTH-P0-001权限新用户默认Guest角色PASS10/10signup.ts:45
SEC-P0-005安全强制使用外部API GatewayFAIL0/15client/api.ts:23 直接fetch
...

3. Score Breakdown (영역별 점수)

3. 分数明细

영역획득만점비율
보안204050%
권한2525100%
비용172085%
로그121580%
합계7910079%
维度得分满分占比
安全204050%
权限2525100%
成本172085%
日志121580%
合计7910079%

4. Failures Detail (실패 상세)

4. 失败详情

각 FAIL 항목에 대해:
  • 위반 코드 위치 (파일:라인)
  • 위반 내용 설명
  • 권장 수정 방법 (remediation)
  • 관련 검증 시나리오 ID (SC-001~SC-005)
每个FAIL项包含:
  • 违规代码位置(文件:行号)
  • 违规内容说明
  • 建议修复方案
  • 关联验证场景ID(SC-001~SC-005)

5. Gate Decision (배포 판정)

5. 部署判定

  • 판정 등급 + 판정 근거
  • 필요한 승인 역할 목록
  • 역할별 Go/No-Go 체크포인트 현황 (20개 중 미충족 항목 표시)
  • 判定等级 + 判定依据
  • 需要的审批角色列表
  • 角色维度Go/No-Go检查点状态(显示20个中未达标的项)

6. Recommendations (권고 사항)

6. 建议

  • 즉시 조치: P0 FAIL 수정 (파일 경로 + 수정 가이드)
  • 단기 개선: Yellow -> Green 달성 방안
  • 중기 도입: P1 권장 요건 도입 순서
undefined
  • 立即处理:修复P0 FAIL(文件路径 + 修改指南)
  • 短期改进:Yellow升级为Green的方案
  • 中期落地:P1建议要求落地顺序
undefined

리포트 생성 규칙

报告生成规则

  1. Summary는 항상 첫 페이지: 의사결정자가 점수와 등급을 즉시 확인할 수 있어야 한다
  2. Evidence 필수: Rule Results의 모든 PASS/FAIL 항목에 코드 증거(파일:라인) 첨부
  3. Failures Detail은 FAIL 항목만: PASS 항목은 Rule Results 테이블에만 표시
  4. Gate Decision에 역할 매핑: 등급에 따라 필요한 승인 역할을 자동 표시
  5. Recommendations 우선순위: 즉시 > 단기 > 중기 순서로 정렬

  1. 摘要始终放在首页:方便决策者立即查看分数和等级
  2. 证据必填:规则结果中所有PASS/FAIL项都需附带代码证据(文件:行号)
  3. 失败详情仅展示FAIL项:PASS项仅在规则结果表中展示
  4. 部署判定自动映射角色:根据等级自动显示需要的审批角色
  5. 建议按优先级排序:按立即 > 短期 > 中期顺序排序

배포 게이트 정책

部署门禁政策

등급 판정 기준

等级判定标准

등급점수조건결정
Green90~100모든 P0 PASS + 총점 90 이상자동 배포 승인
Yellow75~89모든 P0 PASS + 총점 75~89조건부 승인 (PM 확인 필요)
Red0~74총점 74 이하 또는 P0 FAIL 1건 이상배포 차단
等级分数条件决定
Green90~100所有P0通过 + 总分90以上自动批准部署
Yellow75~89所有P0通过 + 总分75~89有条件批准(需PM确认)
Red0~74总分74以下 存在1项以上P0 FAIL阻断部署

핵심 규칙

核心规则

  1. P0 절대 규칙: P0 FAIL이 1건이라도 있으면 총점과 무관하게 Red 판정. 배포 자동 차단
  2. Yellow 조건부: 총점은 통과했으나 완벽하지 않은 경우. PM이 리스크를 검토하고 승인/반려 결정
  3. Green 자동 승인: 모든 P0 통과 + 90점 이상이면 추가 승인 없이 배포 가능
  1. P0绝对规则:只要存在1项P0 FAIL,无论总分多少直接判定为Red,自动阻断部署
  2. Yellow有条件批准:总分达标但未达到满分,由PM评估风险后决定批准/驳回
  3. Green自动批准:所有P0通过 + 90分以上,无需额外审批即可部署

게이트 실행 흐름

门禁执行流程

/compliance-verify 실행
       |
  11개 P0 룰 전수 검증
       |
  점수 산출 (보안+권한+비용+로그)
       |
  +----+----+----+
  |         |         |
Green     Yellow    Red
  |         |         |
자동 승인  PM 승인   배포 차단
  |       대기      |
  v         |      수정 후
배포       v      재검증
        PM 확인     |
        |    |      v
      승인  반려   /compliance-improve
        |    |
        v    v
      배포  수정 후
            재검증

执行/compliance-verify
       |
  全量验证11项P0规则
       |
  计算分数(安全+权限+成本+日志)
       |
  +----+----+----+
  |         |         |
Green     Yellow    Red
  |         |         |
自动批准  等待PM审批  阻断部署
  |         |         |
  v         v      修改后
部署      PM确认   重验证
        |    |      |
      批准  驳回    v
        |    |  /compliance-improve
        v    v
      部署  修改后
            重验证

역할별 승인 프로세스

角色维度审批流程

내부 AI 툴 필수 구현 가이드 Section 14 기반. 배포 등급에 따라 필요한 승인 역할이 달라진다.
基于内部AI工具必备实现指南第14节,部署等级不同所需的审批角色不同。

서비스안정화 (Service Stability)

服务稳定性负责人

책임: 장애 영향, 성능 저하, 롤백 가능성 검증
체크리스트:
  • 신규 배포가 기존 서비스 SLA에 영향을 주지 않는가
  • 롤백 절차가 문서화되어 있는가
  • 성능 테스트(부하/스트레스)가 완료되었는가
  • 장애 시 알림 채널이 설정되어 있는가
승인 시점: Yellow/Red 등급에서 필수
职责:验证故障影响、性能下降、回滚可能性
检查表:
  • 新部署不会影响现有服务SLA
  • 回滚流程已文档化
  • 性能测试(负载/压力)已完成
  • 故障时通知渠道已配置
审批时机:Yellow/Red等级时必填

Engineer

研发工程师

책임: 실패 룰의 근본 원인 분석 + 코드 수준 조치 + 재검증
체크리스트:
  • 모든 FAIL 룰의 원인이 식별되었는가
  • 수정 코드가 해당 룰의 의도를 정확히 반영하는가
  • 재검증 결과 해당 룰이 PASS로 전환되었는가
  • 수정이 다른 룰에 부정적 영향을 주지 않는가
승인 시점: Red 등급에서 필수 (수정 후 재검증 담당)
职责:分析FAIL规则根因 + 代码级修复 + 重验证
检查表:
  • 所有FAIL规则的原因已识别
  • 修改代码准确符合规则意图
  • 重验证后对应规则已转为PASS
  • 修改不会对其他规则造成负面影响
审批时机:Red等级时必填(负责修改后重验证)

PM (Product Manager)

PM(产品经理)

책임: 사용자 영향, 일정 리스크, 범위 변경 승인
체크리스트:
  • 컴플라이언스 미달 항목이 사용자 경험에 미치는 영향이 수용 가능한가
  • 수정에 필요한 일정이 전체 릴리스 일정에 미치는 영향이 수용 가능한가
  • 범위 축소/연기가 필요한 경우 이해관계자와 합의되었는가
승인 시점: Yellow 등급에서 필수
职责:评估用户影响、进度风险、批准范围变更
检查表:
  • 合规未达标项对用户体验的影响可接受
  • 修改所需时间对整体发布进度的影响可接受
  • 需要缩小范围/延期时已与利益相关方达成共识
审批时机:Yellow等级时必填

CEO

CEO

책임: 비용 상한, 사업 리스크, 최종 승인
체크리스트:
  • AI 사용 비용이 사전 승인된 예산 범위 내인가
  • 보안 위험이 사업적으로 수용 가능한 수준인가
  • 법적/규제 리스크가 식별 및 관리되고 있는가
승인 시점: 비용 상한 초과 또는 보안 P0 예외 승인 시

职责:成本上限、业务风险、最终批准
检查表:
  • AI使用成本在预先批准的预算范围内
  • 安全风险在业务可接受范围内
  • 法律/监管风险已识别并得到管理
审批时机:超出成本上限或安全P0例外审批时

프로젝트 초기화 (
/compliance-init
)

项目初始化(
/compliance-init

생성되는 파일 구조

生成的文件结构

project/
├── compliance/
│   ├── rbac-matrix.yaml          # 5역할 x 게임/메뉴/기능 권한 매트릭스
│   ├── rules/
│   │   └── p0-rules.yaml         # 11개 P0 룰 정의
│   ├── log-schema.yaml           # 행동 로그 스키마 (Firestore/BigQuery)
│   └── cost-tracking.yaml        # 비용 추적 필드 정의
├── compliance-config.yaml        # 프로젝트 메타 + 검증 설정
└── compliance-report.md          # 검증 결과 리포트 (verify 실행 시 생성)
project/
├── compliance/
│   ├── rbac-matrix.yaml          # 5角色 x 游戏/菜单/功能权限矩阵
│   ├── rules/
│   │   └── p0-rules.yaml         # 11项P0规则定义
│   ├── log-schema.yaml           # 操作日志Schema(Firestore/BigQuery)
│   └── cost-tracking.yaml        # 成本追踪字段定义
├── compliance-config.yaml        # 项目元数据 + 验证配置
└── compliance-report.md          # 验证结果报告(执行verify时生成)

각 YAML 파일 스키마

各YAML文件Schema

compliance-config.yaml (프로젝트 루트):
yaml
project:
  name: "my-ai-tool"
  type: "web-app"           # web-app | api | mobile-app | library
  tech_stack: ["typescript", "firebase", "next.js"]

verification:
  catalog_path: "compliance/rules/p0-rules.yaml"   # 기본값
  exclude_paths:                                     # 검증 제외 경로
    - "node_modules/**"
    - "dist/**"
    - "**/*.test.ts"
    - "**/*.spec.ts"

scoring:
  domain_weights:            # 합계 = 100
    security: 40
    auth: 25
    cost: 20
    logging: 15

gate:
  green_threshold: 90        # 90점 이상 = 자동 승인
  yellow_threshold: 75       # 75~89점 = PM 확인 필요
  p0_fail_override: true     # P0 FAIL 시 점수 무관 Red 판정
compliance/log-schema.yaml (행동 로그 스키마):
yaml
log_schema:
  version: "1.0.0"
  storage:
    primary: "firestore"           # 실시간 접근용
    archive: "bigquery"            # 분석/감사용
    retention:
      hot: 90                      # 일 (Firestore)
      cold: 365                    # 일 (BigQuery)

  fields:
    - name: userId
      type: string
      required: true
    - name: action
      type: string
      required: true
      description: "수행 동작 (ai_call, role_change, login, etc.)"
    - name: timestamp
      type: timestamp
      required: true
    - name: model
      type: string
      required: false
      description: "AI 모델명 (gemini-1.5-flash 등)"
    - name: inputTokens
      type: number
      required: false
    - name: outputTokens
      type: number
      required: false
    - name: estimatedCost
      type: number
      required: false
      description: "USD 기준 예상 비용"
    - name: status
      type: string
      required: true
      enum: [success, fail, timeout, error]
    - name: errorMessage
      type: string
      required: false
    - name: metadata
      type: map
      required: false
      description: "추가 컨텍스트 (bytesProcessed, cacheHit 등)"
compliance/cost-tracking.yaml (비용 추적 필드):
yaml
cost_tracking:
  version: "1.0.0"

  ai_models:
    required_fields:
      - model              # 모델 식별자
      - inputTokens        # 입력 토큰 수
      - outputTokens       # 출력 토큰 수
      - estimatedCost      # USD 예상 비용
    optional_fields:
      - cacheHit           # 캐시 히트 여부
      - latencyMs          # 응답 지연 (ms)

  bigquery:
    required_fields:
      - queryId            # 쿼리 식별자
      - bytesProcessed     # 스캔 바이트
      - estimatedCost      # USD 예상 비용
    optional_fields:
      - slotMs             # 슬롯 사용 시간
      - cacheHit           # BQ 캐시 히트 여부

  cost_formula:
    gemini_flash: "$0.075 / 1M input tokens, $0.30 / 1M output tokens"
    gemini_pro: "$1.25 / 1M input tokens, $5.00 / 1M output tokens"
    bigquery: "$5.00 / TB scanned"
compliance-config.yaml(项目根目录):
yaml
project:
  name: "my-ai-tool"
  type: "web-app"           # web-app | api | mobile-app | library
  tech_stack: ["typescript", "firebase", "next.js"]

verification:
  catalog_path: "compliance/rules/p0-rules.yaml"   # 默认值
  exclude_paths:                                     # 验证排除路径
    - "node_modules/**"
    - "dist/**"
    - "**/*.test.ts"
    - "**/*.spec.ts"

scoring:
  domain_weights:            # 合计=100
    security: 40
    auth: 25
    cost: 20
    logging: 15

gate:
  green_threshold: 90        # 90分以上=自动批准
  yellow_threshold: 75       # 75~89分=需PM确认
  p0_fail_override: true     # 存在P0 FAIL时无视分数直接判定Red
compliance/log-schema.yaml(操作日志Schema):
yaml
log_schema:
  version: "1.0.0"
  storage:
    primary: "firestore"           # 用于实时访问
    archive: "bigquery"            # 用于分析/审计
    retention:
      hot: 90                      # 天(Firestore)
      cold: 365                    # 天(BigQuery)

  fields:
    - name: userId
      type: string
      required: true
    - name: action
      type: string
      required: true
      description: "执行操作(ai_call, role_change, login等)"
    - name: timestamp
      type: timestamp
      required: true
    - name: model
      type: string
      required: false
      description: "AI模型名(gemini-1.5-flash等)"
    - name: inputTokens
      type: number
      required: false
    - name: outputTokens
      type: number
      required: false
    - name: estimatedCost
      type: number
      required: false
      description: "USD计价的预估成本"
    - name: status
      type: string
      required: true
      enum: [success, fail, timeout, error]
    - name: errorMessage
      type: string
      required: false
    - name: metadata
      type: map
      required: false
      description: "额外上下文(bytesProcessed, cacheHit等)"
compliance/cost-tracking.yaml(成本追踪字段):
yaml
cost_tracking:
  version: "1.0.0"

  ai_models:
    required_fields:
      - model              # 模型标识符
      - inputTokens        # 输入Token数
      - outputTokens       # 输出Token数
      - estimatedCost      # USD预估成本
    optional_fields:
      - cacheHit           # 是否命中缓存
      - latencyMs          # 响应延迟(ms)

  bigquery:
    required_fields:
      - queryId            # 查询标识符
      - bytesProcessed     # 扫描字节数
      - estimatedCost      # USD预估成本
    optional_fields:
      - slotMs             # Slot使用时间
      - cacheHit           # 是否命中BQ缓存

  cost_formula:
    gemini_flash: "$0.075 / 1M input tokens, $0.30 / 1M output tokens"
    gemini_pro: "$1.25 / 1M input tokens, $5.00 / 1M output tokens"
    bigquery: "$5.00 / TB scanned"

RBAC 매트릭스 기본 구조

RBAC矩阵基础结构

yaml
undefined
yaml
undefined

compliance/rbac-matrix.yaml

compliance/rbac-matrix.yaml

roles:
  • id: super_admin name: Super Admin description: 전체 시스템 관리 + 역할 부여 권한
  • id: admin name: Admin description: 서비스 설정 + 사용자 관리
  • id: manager name: Manager description: 팀/게임 단위 관리
  • id: viewer name: Viewer description: 읽기 전용 접근
  • id: guest name: Guest description: 최소 접근 (툴명/모델명/비용/구조 비노출)
permissions:
  • resource: "dashboard" actions: super_admin: [read, write, delete, admin] admin: [read, write, delete] manager: [read, write] viewer: [read] guest: [] # 접근 불가

... 게임/메뉴/기능별 확장

undefined
roles:
  • id: super_admin name: Super Admin description: 全系统管理 + 角色授予权限
  • id: admin name: Admin description: 服务配置 + 用户管理
  • id: manager name: Manager description: 团队/游戏维度管理
  • id: viewer name: Viewer description: 只读访问
  • id: guest name: Guest description: 最小访问权限(不暴露工具名/模型名/成本/架构)
permissions:
  • resource: "dashboard" actions: super_admin: [read, write, delete, admin] admin: [read, write, delete] manager: [read, write] viewer: [read] guest: [] # 无访问权限

... 可按游戏/菜单/功能扩展

undefined

Gateway 패턴 예시

Gateway模式示例

typescript
// functions/src/gateway/ai-gateway.ts
// 외부 API 직접 호출 금지 - 반드시 이 Gateway 경유

import { onCall, HttpsError } from "firebase-functions/v2/https";
import { verifyRole } from "../auth/rbac";
import { logAction } from "../logging/audit";
import { checkCache } from "../cache/cost-cache";

export const callAIModel = onCall(async (request) => {
  // 1. 서버 사이드 권한 검증 (AUTH-P0-003)
  const user = await verifyRole(request.auth, ["admin", "manager"]);

  // 2. Guest 접근 차단 (AUTH-P0-002)
  if (user.role === "guest") {
    throw new HttpsError("permission-denied", "Access denied");
  }

  // 3. 캐시 우선 조회 (COST-P0-011)
  const cached = await checkCache(request.data.prompt);
  if (cached) {
    await logAction({
      userId: user.uid,
      action: "ai_call",
      source: "cache",
      cost: 0,
    });
    return { result: cached, fromCache: true };
  }

  // 4. Gateway 경유 AI 호출 (SEC-P0-005)
  const result = await callGeminiViaGateway(request.data.prompt);

  // 5. 비용 로그 기록 (COST-P0-006)
  await logAction({
    userId: user.uid,
    action: "ai_call",
    model: result.model,
    inputTokens: result.usage.inputTokens,
    outputTokens: result.usage.outputTokens,
    estimatedCost: result.usage.estimatedCost,
  });

  // 6. 민감 원문은 서버에서만 처리, 클라이언트에는 참조 ID 반환 (SEC-P0-009)
  const responseRef = await storeResponse(result.text);
  return { responseId: responseRef.id, summary: result.summary };
});
<!-- TODO: Designer 결과 보완 예정 - compliance-report.md 의 시각적 포맷 및 대시보드 UI -->
typescript
// functions/src/gateway/ai-gateway.ts
// 禁止直接调用外部API,必须经过该Gateway

import { onCall, HttpsError } from "firebase-functions/v2/https";
import { verifyRole } from "../auth/rbac";
import { logAction } from "../logging/audit";
import { checkCache } from "../cache/cost-cache";

export const callAIModel = onCall(async (request) => {
  // 1. 服务端权限校验(AUTH-P0-003)
  const user = await verifyRole(request.auth, ["admin", "manager"]);

  // 2. 阻断Guest访问(AUTH-P0-002)
  if (user.role === "guest") {
    throw new HttpsError("permission-denied", "Access denied");
  }

  // 3. 优先查询缓存(COST-P0-011)
  const cached = await checkCache(request.data.prompt);
  if (cached) {
    await logAction({
      userId: user.uid,
      action: "ai_call",
      source: "cache",
      cost: 0,
    });
    return { result: cached, fromCache: true };
  }

  // 4. 经过Gateway调用AI(SEC-P0-005)
  const result = await callGeminiViaGateway(request.data.prompt);

  // 5. 记录成本日志(COST-P0-006)
  await logAction({
    userId: user.uid,
    action: "ai_call",
    model: result.model,
    inputTokens: result.usage.inputTokens,
    outputTokens: result.usage.outputTokens,
    estimatedCost: result.usage.estimatedCost,
  });

  // 6. 敏感原文仅在服务端处理,仅向客户端返回引用ID(SEC-P0-009)
  const responseRef = await storeResponse(result.text);
  return { responseId: responseRef.id, summary: result.summary };
});
<!-- TODO: 后续补充Designer输出 - compliance-report.md的可视化格式及大盘UI -->

타 스킬과의 관계

与其他Skill的关系

bmad-orchestrator와의 연동

与bmad-orchestrator的联动

bmad-orchestrator
가 프로젝트 전체 개발 단계(Analysis -> Planning -> Solutioning -> Implementation)를 관리한다면,
ai-tool-compliance
는 각 단계의 산출물이 컴플라이언스를 충족하는지 검증하는 보조 도구로 작동한다.
권장 사용 순서:
  1. /workflow-init
    (bmad) -- 프로젝트 구조 수립
  2. /compliance-init
    (compliance) -- 컴플라이언스 기반 구조 생성
  3. Phase 3 Architecture 완료 후
    /compliance-scan
    -- 아키텍처 수준 컴플라이언스 점검
  4. Phase 4 Implementation 완료 후
    /compliance-verify
    -- 전수 검증 + 배포 게이트 판정
bmad-orchestrator
负责管理项目全开发阶段(分析 -> 规划 -> 方案设计 -> 实现),
ai-tool-compliance
作为辅助工具,负责验证每个阶段的输出是否符合合规要求。
推荐使用顺序:
  1. /workflow-init
    (bmad) -- 搭建项目结构
  2. /compliance-init
    (compliance) -- 生成基于合规的基础结构
  3. 完成第3阶段架构设计后执行
    /compliance-scan
    -- 架构层面合规检查
  4. 完成第4阶段开发实现后执行
    /compliance-verify
    -- 全量验证 + 部署门禁判定

security-best-practices와의 관계

与security-best-practices的关系

security-best-practices
는 범용 웹 보안 패턴(OWASP, HTTPS, XSS, CSRF)을 제공한다.
ai-tool-compliance
는 이를 전제 조건으로 삼되, 조직 특화 요건(RBAC 5역할, Gateway 강제, 비용 투명성, 전수 행동 로그)에 집중한다.
항목security-best-practicesai-tool-compliance
RBAC일반 언급5역할 + 게임/메뉴/기능 단위 매트릭스
API 보안Rate Limiting, CORSGateway 강제 + 비용 로그
데이터 보호XSS, CSRF, SQL Injection민감 원문 서버 처리 + Firestore 정책
로그보안 이벤트 로깅전수 행동 로그 + 스키마/보관 정책
배포 게이트없음준수 점수 기반 자동 차단
security-best-practices
提供通用Web安全模式(OWASP、HTTPS、XSS、CSRF),
ai-tool-compliance
以此为前提,专注于组织定制化要求(RBAC 5角色、强制Gateway、成本透明度、全量操作日志)。
security-best-practicesai-tool-compliance
RBAC通用说明5角色 + 游戏/菜单/功能维度矩阵
API安全限流、CORS强制Gateway + 成本日志
数据保护XSS、CSRF、SQL注入敏感原文服务端处理 + Firestore策略
日志安全事件日志全量操作日志 + Schema/存储策略
部署门禁基于合规分数的自动阻断

code-review와의 관계

与code-review的关系

code-review
가 코드 품질/가독성/보안을 주관적으로 리뷰한다면,
ai-tool-compliance
는 "내부 AI 툴 가이드를 통과하는가?"에 대한 정량적 판정(100점 만점, pass/fail)을 제공한다. 코드 리뷰 시
/compliance-scan
결과를 참고 자료로 활용할 수 있다.
code-review
为主观评审代码质量/可读性/安全性,
ai-tool-compliance
提供「是否符合内部AI工具指南」的量化判定(满分100,通过/不通过),代码评审时可参考
/compliance-scan
的结果。

workflow-automation과의 관계

与workflow-automation的关系

workflow-automation
이 범용 CI/CD 패턴(npm scripts, Makefile, GitHub Actions)을 제공한다면,
ai-tool-compliance
는 해당 파이프라인에 삽입되는 도메인 특화 검증 단계를 제공한다.
workflow-automation
提供通用CI/CD模式(npm scripts、Makefile、GitHub Actions),
ai-tool-compliance
提供可嵌入该流水线的领域专属验证阶段。

scripts/ 디렉토리 상세 구현

scripts/目录详细实现

install.sh -- 스킬 설치 및 초기화

install.sh -- Skill安装及初始化

bash
bash scripts/install.sh [options]
  --dry-run        변경 없이 미리보기
  --skip-checks    의존성 확인 건너뛰기
수행 내용:
  1. 의존성 확인 (yq, jq -- 선택적, 없으면 기본 파싱 사용)
  2. 모든 scripts/*.sh에 chmod +x 적용
  3. rules/p0-catalog.yaml YAML 구문 검증
  4. 설치 완료 요약 출력
bash
bash scripts/install.sh [options]
  --dry-run        预览变更,不实际修改
  --skip-checks    跳过依赖检查
执行内容:
  1. 依赖检查(yq、jq -- 可选,不存在则使用默认解析)
  2. 给所有scripts/*.sh添加chmod +x权限
  3. 验证rules/p0-catalog.yaml的YAML语法
  4. 输出安装完成摘要

verify.sh -- P0 룰 전수 검증

verify.sh -- 全量验证P0规则

bash
bash scripts/verify.sh [--rule RULE_ID] [--output JSON_PATH]
수행 내용:
  1. rules/p0-catalog.yaml
    파싱 (yq 또는 grep 기반)
  2. 각 룰에 대해:
    • check_targets
      Glob으로 대상 파일 수집
    • grep_patterns
      로 기능 사용 여부 탐지 (미사용 시 N/A)
    • must_not_contain
      위반 탐지 (exclude_paths 제외)
    • must_contain
      준수 확인
    • Pass/Fail/Warning/N/A 판정 + evidence 수집
  3. 결과를
    templates/verification-run.json
    형식으로 출력
  4. 콘솔에 요약 테이블 출력
bash
bash scripts/verify.sh [--rule RULE_ID] [--output JSON_PATH]
执行内容:
  1. 解析
    rules/p0-catalog.yaml
    (基于yq或grep)
  2. 针对每个规则:
    • 通过
      check_targets
      Glob收集目标文件
    • 通过
      grep_patterns
      检测是否使用对应功能(未使用则标记N/A)
    • 检测
      must_not_contain
      违规(排除exclude_paths)
    • 检查
      must_contain
      是否符合要求
    • 判定Pass/Fail/Warning/N/A + 收集证据
  3. templates/verification-run.json
    格式输出结果
  4. 控制台输出摘要表格

score.sh -- 준수 점수 산출

score.sh -- 计算合规分数

bash
bash scripts/score.sh [--input VERIFY_JSON] [--verbose]
수행 내용:
  1. verify.sh 결과 JSON 로드 (또는 직접 verify.sh 실행)
  2. 영역별 점수 계산:
    • Pass=배점 100%, Warning=배점 50%, Fail=0%, N/A=분모 제외
    • 보안: SEC 룰 점수 합 / 보안 만점(35)
    • 권한: AUTH 룰 점수 합 / 권한 만점(30)
    • 비용: COST 룰 점수 합 / 비용 만점(20)
    • 로그: LOG 룰 점수 합 / 로그 만점(15)
  3. 총점 산출 (100점 만점)
  4. templates/risk-score-report.md
    렌더링
  5. templates/remediation-task.json
    생성 (각 FAIL 항목별)
bash
bash scripts/score.sh [--input VERIFY_JSON] [--verbose]
执行内容:
  1. 加载verify.sh的结果JSON(或直接执行verify.sh)
  2. 计算维度分数:
    • Pass=得满分、Warning=得50%分、Fail=得0分、N/A=不计入分母
    • 安全: SEC规则得分总和 / 安全满分(35)
    • 权限: AUTH规则得分总和 / 权限满分(30)
    • 成本: COST规则得分总和 / 成本满分(20)
    • 日志: LOG规则得分总和 / 日志满分(15)
  3. 计算总分(满分100)
  4. 渲染
    templates/risk-score-report.md
  5. 生成
    templates/remediation-task.json
    (对应每个FAIL项)

gate.sh -- 배포 게이트 체크

gate.sh -- 部署门禁检查

bash
bash scripts/gate.sh
bash
bash scripts/gate.sh

exit 0 = Green (배포 승인)

exit 0 = Green(批准部署)

exit 1 = Red (배포 차단)

exit 1 = Red(阻断部署)

exit 2 = Yellow (조건부 -- PM 확인 필요)

exit 2 = Yellow(有条件 -- 需PM确认)


수행 내용:
1. verify.sh + score.sh 순차 실행
2. P0 FAIL 존재 여부 확인
   - 1건이라도 있으면 → Red (exit 1)
3. 총점 기반 등급 판정
   - 90+ → Green (exit 0)
   - 75~89 → Yellow (exit 2)
   - 74 이하 → Red (exit 1)
4. 등급 + 점수 + 수정 필요 목록 콘솔 출력

**CI/CD 통합 예시 (GitHub Actions)**:

```yaml

执行内容:
1. 顺序执行verify.sh + score.sh
2. 检查是否存在P0 FAIL
   - 存在1项及以上 → Red(exit 1)
3. 基于总分判定等级
   - 90+ → Green(exit 0)
   - 75~89 → Yellow(exit 2)
   - 74以下 → Red(exit 1)
4. 控制台输出等级 + 分数 + 需修改项列表

**CI/CD集成示例(GitHub Actions)**:

```yaml

.github/workflows/compliance-gate.yml

.github/workflows/compliance-gate.yml

name: Compliance Gate on: [pull_request] jobs: compliance: runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 - name: Run compliance gate run: bash .agent-skills/ai-tool-compliance/scripts/gate.sh
<!-- TODO: System 결과 보완 예정 - GitHub Actions 워크플로우 통합 YAML -->

---
name: Compliance Gate on: [pull_request] jobs: compliance: runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 - name: Run compliance gate run: bash .agent-skills/ai-tool-compliance/scripts/gate.sh
<!-- TODO: 后续补充系统输出 - GitHub Actions流水线集成YAML -->

---

P1 권장 요건 (점진 도입)

P1建议要求(逐步落地)

P0 전수 통과 후 점진적으로 도입을 권장하는 항목:
영역요건설명
도메인 관리허용 도메인 화이트리스트AI Gateway가 호출할 수 있는 외부 도메인 제한
사용량 통계사용자별/팀별 사용량 집계일/주/월 단위 사용량 대시보드
비용 통제예산 상한 알림팀/프로젝트별 비용 임계값 초과 시 알림
로그 보관로그 보관 정책90일 Hot / 365일 Cold / 이후 삭제 정책

全量通过P0后推荐逐步落地的项:
维度要求描述
域名管理允许域名白名单限制AI Gateway可调用的外部域名
使用量统计按用户/团队聚合使用量日/周/月维度使用量大盘
成本管控预算上限通知团队/项目维度成本超过阈值时发送通知
日志存储日志存储策略90天热存储 / 365天冷存储 / 到期删除策略

Constraints

约束

필수 규칙 (MUST)

必备规则(MUST)

  1. P0 절대 원칙: P0 룰 11개는 예외 없이 검증한다. 부분 검증은 허용하지 않는다
  2. 서버 최종 검증: 모든 권한 판정은 서버에서 수행한다. 클라이언트 검증만으로는 PASS 불가
  3. Gateway 강제: 외부 AI API 직접 호출이 발견되면 무조건 FAIL. 우회 허용 불가
  4. Guest 기본값: 신규 가입 시 Guest 외 역할 할당이 발견되면 FAIL
  5. 증거 기반 판정: 모든 pass/fail은 코드 증거(파일 경로 + 라인 번호)를 첨부한다
  1. P0绝对原则:11项P0规则无例外全部验证,不允许部分验证
  2. 服务端最终校验:所有权限判定在服务端执行,仅靠客户端校验无法判定PASS
  3. 强制Gateway:发现直接调用外部AI API直接判定FAIL,不允许绕过
  4. Guest默认角色:发现新用户注册时分配非Guest角色直接判定FAIL
  5. 证据判定原则:所有通过/不通过判定必须附带代码证据(文件路径 + 行号)

금지 사항 (MUST NOT)

禁止事项(MUST NOT)

  1. P0 예외 승인 남용: P0 예외는 CEO 승인 없이 절대 허용하지 않는다
  2. 점수 조작: Evidence 없는 PASS 판정 금지
  3. Gateway 우회: "테스트 목적" 등의 이유로 외부 API 직접 호출을 허용하지 않는다
  4. 로그 선택적 기록: 성공 요청만 기록하고 실패 요청을 누락하는 것을 허용하지 않는다

  1. 滥用P0例外审批:无CEO批准绝对不允许P0例外
  2. 分数造假:禁止无证据判定PASS
  3. 绕过Gateway:不允许以「测试目的」等理由直接调用外部API
  4. 选择性记录日志:不允许仅记录成功请求、遗漏失败请求

Best practices

最佳实践

  1. Shift Left: 프로젝트 시작 시
    /compliance-init
    으로 기반 구조를 먼저 생성한 후 비즈니스 로직을 구현한다
  2. 점진적 도입: P0 전수 통과 -> P1 순서로 도입한다. P1부터 시작하지 않는다
  3. 재검증 루프: 위반 수정 후 반드시
    /compliance-verify
    를 재실행하여 점수 변화를 확인한다
  4. BMAD 연동: bmad-orchestrator Phase 4 완료 후 compliance-verify를 실행하는 것을 표준 워크플로우로 채택한다
  5. CI/CD 통합: GitHub Actions에 compliance-gate 단계를 추가하여 자동화한다

  1. 左移验证:项目启动时先通过
    /compliance-init
    生成基础结构,再实现业务逻辑
  2. 逐步落地:先全量通过P0,再落地P1要求,不要从P1开始落地
  3. 重验证循环:修复违规后必须重新执行
    /compliance-verify
    确认分数变化
  4. BMAD联动:将bmad-orchestrator第4阶段完成后执行compliance-verify作为标准工作流
  5. CI/CD集成:在GitHub Actions中添加compliance-gate阶段实现自动化

References

参考

Metadata

元数据

버전

版本

  • 현재 버전: 1.0.0
  • 최종 업데이트: 2026-03-03
  • 호환 플랫폼: Claude, Gemini, Codex, OpenCode
  • 当前版本: 1.0.0
  • 最后更新: 2026-03-03
  • 兼容平台: Claude, Gemini, Codex, OpenCode

관련 스킬

关联Skill

  • bmad-orchestrator: 개발 단계 오케스트레이션
  • security-best-practices: 범용 웹 보안 패턴
  • code-review: 코드 품질/보안 리뷰
  • workflow-automation: CI/CD 자동화 패턴
  • authentication-setup: 인증/인가 시스템 구축
  • firebase-ai-logic: Firebase AI 통합
  • bmad-orchestrator: 开发阶段编排
  • security-best-practices: 通用Web安全模式
  • code-review: 代码质量/安全评审
  • workflow-automation: CI/CD自动化模式
  • authentication-setup: 认证/授权系统搭建
  • firebase-ai-logic: Firebase AI集成

태그

标签

#compliance
#RBAC
#security
#cost-tracking
#audit-log
#gateway
#firestore
#deploy-gate
#P0
#AI-tool
#compliance
#RBAC
#security
#cost-tracking
#audit-log
#gateway
#firestore
#deploy-gate
#P0
#AI-tool