Skip to main content
Stratum 정책 관리가 Taxonomy·Rule Package의 구조와 버전 규율을 다룬다면, 이 페이지는 Rule Package의 내용을 다룹니다 — 세 층을 무엇부터 어떻게 채우는지, 그리고 규칙끼리 충돌하지 않도록 우선순위·확정·억제를 어떻게 설계하는지. 문서 하나의 판별은 세 층을 차례로 지납니다.
이 페이지의 YAML 예시는 구조 이해를 위한 발췌입니다. 실제 작성은 /aim이 제공하는 policy type 템플릿을 시작점으로 삼고, 필드 구성과 검증은 템플릿의 스키마를 기준으로 하세요. 템플릿은 JSON과 YAML을 모두 지원하며, 정책 모델은 YAML로 정의됩니다.

시작 전 — Taxonomy부터

Rule Package의 모든 등급 참조는 Taxonomy에서 옵니다. 작성 전에 프로젝트의 Taxonomy(등급 집합·순위·판정 방식·임계값)를 먼저 확정하고, Rule Package가 참조할 버전을 정하세요. detector의 grade attribution과 분류 규칙이 emit하는 등급은 모두 그 Taxonomy 버전에 존재하는 등급이어야 합니다.

Layer A — detector: 무엇을 탐지하는가

detector는 특정 신호를 탐지하는 최소 단위이며, 각 detector는 자신이 어느 등급에 기여하는지(grade attribution)를 가집니다. 판별 파이프라인의 단계별로 성격이 다릅니다.
작성 요령:
  • grade attribution을 등급마다 정확히. detector가 기여하는 등급이 Layer B 조합과 Layer C 집계의 출발점입니다.
  • 패턴 detector는 형식 + 검증 + 문맥의 3단으로. 정규식에는 숫자 경계((?<!\d), (?!\d))를 고정하고, 체크섬 등 validator는 신뢰도를 끌어올리는 보강으로, context_words + proximity_chars는 문맥어 근접 시 신뢰도를 높이는 계단(confidence_tiers)으로 씁니다. 형식만 맞은 매치와 문맥·검증까지 통과한 매치를 다른 신뢰도로 구분해야 Layer B에서 임계 조건을 걸 수 있습니다.
  • action은 탐지 항목의 마스킹 취급을 정합니다. 마스킹으로 위험이 제거되는 항목은 mask로 두어 마스킹본 재등급의 대상이 되게 하고, 자격 증명류처럼 가려도 위험이 남는 항목이나 그 자체로는 판단 근거일 뿐인 신호는 review_only로 둡니다 — 마스킹 불가 항목이 남은 문서는 등급이 유지되어 외부 전송이 차단됩니다.
  • 지문 detector는 등록된 양식을 참조합니다. template_id가 가리키는 지문 템플릿이 프로젝트에 등록되어 있어야 하며, 참조 유효성은 Rule Package 활성화 시점에 검증됩니다.
L4 조항 판단은 등급 기준을 자연어 조항으로 정의합니다. 포함·불포함 예시로 경계를 긋고, “이미 공개된 정보” 같은 반대 방향 증거 조항도 함께 둡니다.
L4의 판단은 항상 “검토 필요” 신호로만 작용하며, 그 자체로 차단이나 마스킹을 직접 내리지 않습니다.

Layer B — 분류 규칙: 신호를 등급 후보로

분류 규칙은 detector 신호를 조합해 등급 후보를 emit합니다.
설계 요령:
  • 확정(terminal)은 확신도가 1에 가까운 근거에만. 지문 매치나 완전일치처럼 오탐 여지가 거의 없는 신호가 대상입니다. terminal을 남발하면 뒤 단계(의미 분류·조항 판단)와 라벨 정책이 보정할 기회가 사라집니다.
  • 임계 조건은 compare로. 같은 detector라도 형식만 맞은 매치와 검증까지 통과한 매치의 신뢰도가 다르므로, field: confidence(신뢰도)나 field: count(건수) 비교로 규칙의 발화 조건을 조입니다.
  • 부정 조건으로 반대 증거를 반영하세요. 위 예시처럼 마스킹 흔적이 있고 활성 PII가 없으면 가공본으로 보고 일반을 emit하면서 기밀 후보를 suppresses로 억제합니다. L4의 반대 방향 증거 조항(기공시·공개 확정)도 not 조건으로 기밀 조항 판정에서 배제할 수 있습니다.
  • priority는 근거의 강도 순으로. 확정 계열을 높게, 단독으로는 판단이 서지 않는 약한 신호는 낮은 priority의 하위 후보로 두어 회색지대 수렴용으로 씁니다.

Layer C — 라벨 정책: 충돌 해소와 외부 전송 라우팅

라벨 정책은 Layer B가 낸 등급 후보들을 최종 등급으로 확정하고, 외부 전송 라우팅을 결정합니다.
  • taxonomy_ref — 이 Rule Package가 참조하는 Taxonomy의 특정 버전입니다.
  • conflict_resolution: highest_rank — 한 문서에서 여러 등급 후보가 나오면 가장 높은 등급으로 확정합니다. 단일 민감 구간이 문서 전체 등급을 끌어올려 하향 오분류를 막습니다.
  • manual_label_precedence — 수동으로 부여된 등급은 자동 판정이 임의로 덮어쓰지 않습니다.
  • routing — 등급별 확신도 임계입니다. high 이상이면 자동 확정, lowhigh 사이면 회색지대로 라우팅되어 사람의 2차 검토로 이어집니다. 외부 전송 불가 판정은 차단됩니다.
일반 등급은 점수형이 아니라 clearance gate입니다 — 의심 신호가 없고 판별이 완수된 문서만 통과합니다. 판별이 완수되지 못한 경우(분석 실패·시간 초과)는 일반으로 강등되지 않고 fail-secure로 안전측에서 처리됩니다.

Taxonomy 참조 무결성

  • Rule Package가 참조하는 Taxonomy 버전은 taxonomy_ref고정됩니다. Taxonomy를 개정해 새 버전을 발행해도 기존 Rule Package는 참조하던 버전으로 계속 동작하며, 새 등급 체계를 쓰려면 taxonomy_ref를 갱신한 새 Rule Package 버전을 발행해 Pin해야 합니다.
  • detector의 grade attribution과 분류 규칙이 emit하는 등급이 참조 Taxonomy의 등급 집합에 존재하는지, 지문 detector가 참조하는 지문 템플릿과 버전이 존재하는지는 스키마 검증과 활성화 시점 검증의 대상입니다.

체크리스트

  • Taxonomy 버전을 먼저 확정하고 taxonomy_ref로 고정했는가?
  • 모든 detector에 grade attribution을 지정했고, emit하는 등급이 전부 그 Taxonomy에 존재하는가?
  • 패턴 detector에 숫자 경계와 validator·문맥어 신뢰도 계단을 넣었는가?
  • 마스킹으로 위험이 제거되지 않는 항목(자격 증명류)을 mask로 두지 않았는가?
  • terminal은 지문·완전일치처럼 확신도 높은 근거에만 썼는가?
  • 반대 증거(가공본·기공시)를 부정 조건과 suppresses로 반영했는가?
  • routinglow / high 임계가 자동 확정과 회색지대의 경계를 의도대로 긋는가?
  • 지문 detector가 참조하는 지문 템플릿이 등록되어 있고 버전이 유효한가?
작성을 마친 Rule Package는 저장만으로는 적용되지 않습니다. 새 버전을 Project Stratum에 Pin해야 판별에 쓰입니다 — 버전 규율은 Stratum 정책 관리를 참고하세요.