Skip to main content
Stratum ポリシー管理が Taxonomy・Rule Package の構造とバージョン規律を扱うのに対し、このページは Rule Package の内容を扱います — 3 つの層を何からどのように埋めるか、そしてルール同士が衝突しないように優先度・確定・抑制をどう設計するか、です。 1 つの文書の判定は、3 つの層を順に通過します。
このページの 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)(?![-\s]?\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 — 1 つの文書から複数のグレード候補が出た場合、最も高いグレードで確定します。単一の機微な区間が文書全体のグレードを引き上げ、低い側への誤分類を防ぎます。
  • manual_label_precedence — 手動で付与されたグレードを、自動判定が勝手に上書きすることはありません。
  • routing — グレードごとの確信度しきい値です。high 以上なら自動確定、lowhigh の間ならグレーゾーンにルーティングされ、人による二次レビューにつながります。外部送信不可の判定はブロックされます。
一般グレードはスコア型ではなく 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 ポリシー管理を参照してください。