{
  "generated_at": "2026-08-22T03:06:32.333954+00:00",
  "label_ko": "보조 재식별 — 암호학적 출처 증명 아님",
  "registry_rows_raw": 30013,
  "registry_rows_deduped": 30013,
  "registry_sha256_duplicates_removed": 0,
  "registry_image_rows": 2933,
  "registry_video_frame_rows": 27080,
  "max_hamming_distance": 5,
  "negative_cross_agent": {
    "pairs": 2000,
    "modality": "image_only",
    "false_positive_rate_pct": 0.05,
    "fpr_target_pct": 0.01,
    "distance_histogram": {
      "140": 74,
      "154": 2,
      "128": 205,
      "124": 161,
      "130": 161,
      "120": 130,
      "116": 68,
      "138": 93,
      "136": 128,
      "126": 195,
      "134": 155,
      "132": 164,
      "118": 87,
      "106": 8,
      "146": 18,
      "122": 117,
      "114": 56,
      "100": 3,
      "144": 29,
      "112": 31,
      "142": 47,
      "108": 11,
      "110": 25,
      "98": 2,
      "104": 3,
      "152": 4,
      "148": 11,
      "92": 1,
      "150": 3,
      "102": 5,
      "50": 1,
      "0": 1,
      "68": 1
    },
    "note_ko": "source_id 교차(캐릭터 id · 랩 초상화 패밀리). 폴더명 agentId 교차 아님. 100k 권위 측정은 fingerprint-pdq-negatives-100k.json.",
    "skipped_same_sha256_pairs": 0,
    "false_positive_pairs_sample": [
      {
        "agent_a": "lab:prov9_illustration",
        "agent_b": "agent:samples",
        "path_a": "samples/xmse-provenance-9/assets/illustration/I002.png",
        "path_b": "samples/S8b_recapture_reference.png",
        "sha256_a": "fc5892170ca6f76b89df927331f03a4749260c7f150b0364d8b7ccb974ba560a",
        "sha256_b": "762187c963a0edc631b1093087856a39524acd2283ee4cff9e16773b29766531",
        "pdq_distance": 0
      }
    ],
    "pair_key": "source_id"
  },
  "positive_same_agent_proxy": {
    "pairs": 200,
    "match_rate_pct": 3.5,
    "note_ko": "동일 agent 다른 파일 — 변형쌍 대리; 재현율로 인용 금지",
    "proxy_only": true
  },
  "positive_variant_corpus": {
    "pairs": 10003,
    "match_rate_pct": 47.576,
    "note_ko": "동일 원본 harmless 변형 — aggregate TPR만으로 verified 주장 금지. 운영점 Hamming≤5: JPEG는 높고 리사이즈·회전·크롭은 낮을 수 있음.",
    "distance_histogram": {
      "0": 2712,
      "2": 1435,
      "122": 161,
      "112": 172,
      "8": 364,
      "134": 85,
      "110": 187,
      "108": 164,
      "6": 535,
      "106": 203,
      "4": 612,
      "92": 118,
      "100": 179,
      "124": 160,
      "98": 144,
      "12": 89,
      "126": 158,
      "118": 162,
      "94": 125,
      "16": 9,
      "104": 171,
      "120": 161,
      "128": 123,
      "80": 22,
      "96": 141,
      "90": 111,
      "140": 44,
      "102": 171,
      "142": 29,
      "132": 91,
      "136": 72,
      "76": 15,
      "130": 108,
      "82": 36,
      "10": 193,
      "88": 87,
      "114": 144,
      "20": 3,
      "116": 178,
      "86": 78,
      "144": 28,
      "138": 39,
      "78": 20,
      "146": 16,
      "72": 3,
      "24": 9,
      "56": 1,
      "40": 4,
      "84": 49,
      "74": 11,
      "70": 5,
      "26": 1,
      "14": 24,
      "18": 2,
      "64": 6,
      "148": 6,
      "36": 2,
      "152": 3,
      "154": 1,
      "164": 1,
      "68": 2,
      "156": 1,
      "48": 3,
      "32": 1,
      "158": 1,
      "66": 2,
      "150": 4,
      "172": 2,
      "38": 1,
      "34": 2,
      "22": 1
    },
    "by_transform": {
      "crop_80_center": {
        "pairs": 2000,
        "match_rate_pct": 0.0,
        "note_ko": "재인코딩·리사이즈 계열은 높게, 회전·크롭 계열은 낮게 나올 수 있음 — 단일 TPR 인용 금지"
      },
      "jpeg_q40": {
        "pairs": 2001,
        "match_rate_pct": 99.25,
        "note_ko": "재인코딩·리사이즈 계열은 높게, 회전·크롭 계열은 낮게 나올 수 있음 — 단일 TPR 인용 금지"
      },
      "jpeg_q70": {
        "pairs": 2001,
        "match_rate_pct": 99.85,
        "note_ko": "재인코딩·리사이즈 계열은 높게, 회전·크롭 계열은 낮게 나올 수 있음 — 단일 TPR 인용 금지"
      },
      "resize_0.5": {
        "pairs": 2001,
        "match_rate_pct": 38.731,
        "note_ko": "재인코딩·리사이즈 계열은 높게, 회전·크롭 계열은 낮게 나올 수 있음 — 단일 TPR 인용 금지"
      },
      "rotate_5deg": {
        "pairs": 2000,
        "match_rate_pct": 0.0,
        "note_ko": "재인코딩·리사이즈 계열은 높게, 회전·크롭 계열은 낮게 나올 수 있음 — 단일 TPR 인용 금지"
      }
    }
  },
  "hamming_distribution": {
    "negative_cross_agent": {
      "140": 74,
      "154": 2,
      "128": 205,
      "124": 161,
      "130": 161,
      "120": 130,
      "116": 68,
      "138": 93,
      "136": 128,
      "126": 195,
      "134": 155,
      "132": 164,
      "118": 87,
      "106": 8,
      "146": 18,
      "122": 117,
      "114": 56,
      "100": 3,
      "144": 29,
      "112": 31,
      "142": 47,
      "108": 11,
      "110": 25,
      "98": 2,
      "104": 3,
      "152": 4,
      "148": 11,
      "92": 1,
      "150": 3,
      "102": 5,
      "50": 1,
      "0": 1,
      "68": 1
    },
    "positive_variant_corpus": {
      "0": 2712,
      "2": 1435,
      "122": 161,
      "112": 172,
      "8": 364,
      "134": 85,
      "110": 187,
      "108": 164,
      "6": 535,
      "106": 203,
      "4": 612,
      "92": 118,
      "100": 179,
      "124": 160,
      "98": 144,
      "12": 89,
      "126": 158,
      "118": 162,
      "94": 125,
      "16": 9,
      "104": 171,
      "120": 161,
      "128": 123,
      "80": 22,
      "96": 141,
      "90": 111,
      "140": 44,
      "102": 171,
      "142": 29,
      "132": 91,
      "136": 72,
      "76": 15,
      "130": 108,
      "82": 36,
      "10": 193,
      "88": 87,
      "114": 144,
      "20": 3,
      "116": 178,
      "86": 78,
      "144": 28,
      "138": 39,
      "78": 20,
      "146": 16,
      "72": 3,
      "24": 9,
      "56": 1,
      "40": 4,
      "84": 49,
      "74": 11,
      "70": 5,
      "26": 1,
      "14": 24,
      "18": 2,
      "64": 6,
      "148": 6,
      "36": 2,
      "152": 3,
      "154": 1,
      "164": 1,
      "68": 2,
      "156": 1,
      "48": 3,
      "32": 1,
      "158": 1,
      "66": 2,
      "150": 4,
      "172": 2,
      "38": 1,
      "34": 2,
      "22": 1
    }
  },
  "roc_curve": [
    {
      "threshold": 0,
      "fpr_pct": 0.05,
      "tpr_pct": 27.1119
    },
    {
      "threshold": 2,
      "fpr_pct": 0.05,
      "tpr_pct": 41.4576
    },
    {
      "threshold": 4,
      "fpr_pct": 0.05,
      "tpr_pct": 47.5757
    },
    {
      "threshold": 6,
      "fpr_pct": 0.05,
      "tpr_pct": 52.9241
    },
    {
      "threshold": 8,
      "fpr_pct": 0.05,
      "tpr_pct": 56.563
    },
    {
      "threshold": 10,
      "fpr_pct": 0.05,
      "tpr_pct": 58.4925
    },
    {
      "threshold": 12,
      "fpr_pct": 0.05,
      "tpr_pct": 59.3822
    },
    {
      "threshold": 14,
      "fpr_pct": 0.05,
      "tpr_pct": 59.6221
    },
    {
      "threshold": 16,
      "fpr_pct": 0.05,
      "tpr_pct": 59.7121
    },
    {
      "threshold": 18,
      "fpr_pct": 0.05,
      "tpr_pct": 59.7321
    },
    {
      "threshold": 20,
      "fpr_pct": 0.05,
      "tpr_pct": 59.7621
    },
    {
      "threshold": 22,
      "fpr_pct": 0.05,
      "tpr_pct": 59.7721
    },
    {
      "threshold": 24,
      "fpr_pct": 0.05,
      "tpr_pct": 59.862
    },
    {
      "threshold": 26,
      "fpr_pct": 0.05,
      "tpr_pct": 59.872
    },
    {
      "threshold": 28,
      "fpr_pct": 0.05,
      "tpr_pct": 59.872
    },
    {
      "threshold": 30,
      "fpr_pct": 0.05,
      "tpr_pct": 59.872
    },
    {
      "threshold": 32,
      "fpr_pct": 0.05,
      "tpr_pct": 59.882
    },
    {
      "threshold": 34,
      "fpr_pct": 0.05,
      "tpr_pct": 59.902
    },
    {
      "threshold": 36,
      "fpr_pct": 0.05,
      "tpr_pct": 59.922
    },
    {
      "threshold": 38,
      "fpr_pct": 0.05,
      "tpr_pct": 59.932
    },
    {
      "threshold": 40,
      "fpr_pct": 0.05,
      "tpr_pct": 59.972
    },
    {
      "threshold": 42,
      "fpr_pct": 0.05,
      "tpr_pct": 59.972
    },
    {
      "threshold": 44,
      "fpr_pct": 0.05,
      "tpr_pct": 59.972
    },
    {
      "threshold": 46,
      "fpr_pct": 0.05,
      "tpr_pct": 59.972
    },
    {
      "threshold": 48,
      "fpr_pct": 0.05,
      "tpr_pct": 60.002
    },
    {
      "threshold": 50,
      "fpr_pct": 0.1,
      "tpr_pct": 60.002
    },
    {
      "threshold": 52,
      "fpr_pct": 0.1,
      "tpr_pct": 60.002
    },
    {
      "threshold": 54,
      "fpr_pct": 0.1,
      "tpr_pct": 60.002
    },
    {
      "threshold": 56,
      "fpr_pct": 0.1,
      "tpr_pct": 60.012
    },
    {
      "threshold": 58,
      "fpr_pct": 0.1,
      "tpr_pct": 60.012
    },
    {
      "threshold": 60,
      "fpr_pct": 0.1,
      "tpr_pct": 60.012
    },
    {
      "threshold": 62,
      "fpr_pct": 0.1,
      "tpr_pct": 60.012
    },
    {
      "threshold": 64,
      "fpr_pct": 0.1,
      "tpr_pct": 60.072
    }
  ],
  "threshold_sweep": [
    {
      "threshold": 0,
      "fpr_pct": 0.05,
      "fpr_target_pct": 0.01,
      "meets_fpr_target": false,
      "variant_aggregate_tpr_pct": 27.112,
      "by_transform": {
        "crop_80_center": {
          "pairs": 2000,
          "match_rate_pct": 0.0,
          "note_ko": "재인코딩·리사이즈 계열은 높게, 회전·크롭 계열은 낮게 나올 수 있음 — 단일 TPR 인용 금지"
        },
        "jpeg_q40": {
          "pairs": 2001,
          "match_rate_pct": 60.72,
          "note_ko": "재인코딩·리사이즈 계열은 높게, 회전·크롭 계열은 낮게 나올 수 있음 — 단일 TPR 인용 금지"
        },
        "jpeg_q70": {
          "pairs": 2001,
          "match_rate_pct": 73.363,
          "note_ko": "재인코딩·리사이즈 계열은 높게, 회전·크롭 계열은 낮게 나올 수 있음 — 단일 TPR 인용 금지"
        },
        "resize_0.5": {
          "pairs": 2001,
          "match_rate_pct": 1.449,
          "note_ko": "재인코딩·리사이즈 계열은 높게, 회전·크롭 계열은 낮게 나올 수 있음 — 단일 TPR 인용 금지"
        },
        "rotate_5deg": {
          "pairs": 2000,
          "match_rate_pct": 0.0,
          "note_ko": "재인코딩·리사이즈 계열은 높게, 회전·크롭 계열은 낮게 나올 수 있음 — 단일 TPR 인용 금지"
        }
      }
    },
    {
      "threshold": 2,
      "fpr_pct": 0.05,
      "fpr_target_pct": 0.01,
      "meets_fpr_target": false,
      "variant_aggregate_tpr_pct": 41.458,
      "by_transform": {
        "crop_80_center": {
          "pairs": 2000,
          "match_rate_pct": 0.0,
          "note_ko": "재인코딩·리사이즈 계열은 높게, 회전·크롭 계열은 낮게 나올 수 있음 — 단일 TPR 인용 금지"
        },
        "jpeg_q40": {
          "pairs": 2001,
          "match_rate_pct": 95.802,
          "note_ko": "재인코딩·리사이즈 계열은 높게, 회전·크롭 계열은 낮게 나올 수 있음 — 단일 TPR 인용 금지"
        },
        "jpeg_q70": {
          "pairs": 2001,
          "match_rate_pct": 98.751,
          "note_ko": "재인코딩·리사이즈 계열은 높게, 회전·크롭 계열은 낮게 나올 수 있음 — 단일 TPR 인용 금지"
        },
        "resize_0.5": {
          "pairs": 2001,
          "match_rate_pct": 12.694,
          "note_ko": "재인코딩·리사이즈 계열은 높게, 회전·크롭 계열은 낮게 나올 수 있음 — 단일 TPR 인용 금지"
        },
        "rotate_5deg": {
          "pairs": 2000,
          "match_rate_pct": 0.0,
          "note_ko": "재인코딩·리사이즈 계열은 높게, 회전·크롭 계열은 낮게 나올 수 있음 — 단일 TPR 인용 금지"
        }
      }
    },
    {
      "threshold": 4,
      "fpr_pct": 0.05,
      "fpr_target_pct": 0.01,
      "meets_fpr_target": false,
      "variant_aggregate_tpr_pct": 47.576,
      "by_transform": {
        "crop_80_center": {
          "pairs": 2000,
          "match_rate_pct": 0.0,
          "note_ko": "재인코딩·리사이즈 계열은 높게, 회전·크롭 계열은 낮게 나올 수 있음 — 단일 TPR 인용 금지"
        },
        "jpeg_q40": {
          "pairs": 2001,
          "match_rate_pct": 99.25,
          "note_ko": "재인코딩·리사이즈 계열은 높게, 회전·크롭 계열은 낮게 나올 수 있음 — 단일 TPR 인용 금지"
        },
        "jpeg_q70": {
          "pairs": 2001,
          "match_rate_pct": 99.85,
          "note_ko": "재인코딩·리사이즈 계열은 높게, 회전·크롭 계열은 낮게 나올 수 있음 — 단일 TPR 인용 금지"
        },
        "resize_0.5": {
          "pairs": 2001,
          "match_rate_pct": 38.731,
          "note_ko": "재인코딩·리사이즈 계열은 높게, 회전·크롭 계열은 낮게 나올 수 있음 — 단일 TPR 인용 금지"
        },
        "rotate_5deg": {
          "pairs": 2000,
          "match_rate_pct": 0.0,
          "note_ko": "재인코딩·리사이즈 계열은 높게, 회전·크롭 계열은 낮게 나올 수 있음 — 단일 TPR 인용 금지"
        }
      }
    },
    {
      "threshold": 5,
      "fpr_pct": 0.05,
      "fpr_target_pct": 0.01,
      "meets_fpr_target": false,
      "variant_aggregate_tpr_pct": 47.576,
      "by_transform": {
        "crop_80_center": {
          "pairs": 2000,
          "match_rate_pct": 0.0,
          "note_ko": "재인코딩·리사이즈 계열은 높게, 회전·크롭 계열은 낮게 나올 수 있음 — 단일 TPR 인용 금지"
        },
        "jpeg_q40": {
          "pairs": 2001,
          "match_rate_pct": 99.25,
          "note_ko": "재인코딩·리사이즈 계열은 높게, 회전·크롭 계열은 낮게 나올 수 있음 — 단일 TPR 인용 금지"
        },
        "jpeg_q70": {
          "pairs": 2001,
          "match_rate_pct": 99.85,
          "note_ko": "재인코딩·리사이즈 계열은 높게, 회전·크롭 계열은 낮게 나올 수 있음 — 단일 TPR 인용 금지"
        },
        "resize_0.5": {
          "pairs": 2001,
          "match_rate_pct": 38.731,
          "note_ko": "재인코딩·리사이즈 계열은 높게, 회전·크롭 계열은 낮게 나올 수 있음 — 단일 TPR 인용 금지"
        },
        "rotate_5deg": {
          "pairs": 2000,
          "match_rate_pct": 0.0,
          "note_ko": "재인코딩·리사이즈 계열은 높게, 회전·크롭 계열은 낮게 나올 수 있음 — 단일 TPR 인용 금지"
        }
      }
    },
    {
      "threshold": 6,
      "fpr_pct": 0.05,
      "fpr_target_pct": 0.01,
      "meets_fpr_target": false,
      "variant_aggregate_tpr_pct": 52.924,
      "by_transform": {
        "crop_80_center": {
          "pairs": 2000,
          "match_rate_pct": 0.0,
          "note_ko": "재인코딩·리사이즈 계열은 높게, 회전·크롭 계열은 낮게 나올 수 있음 — 단일 TPR 인용 금지"
        },
        "jpeg_q40": {
          "pairs": 2001,
          "match_rate_pct": 99.75,
          "note_ko": "재인코딩·리사이즈 계열은 높게, 회전·크롭 계열은 낮게 나올 수 있음 — 단일 TPR 인용 금지"
        },
        "jpeg_q70": {
          "pairs": 2001,
          "match_rate_pct": 99.95,
          "note_ko": "재인코딩·리사이즈 계열은 높게, 회전·크롭 계열은 낮게 나올 수 있음 — 단일 TPR 인용 금지"
        },
        "resize_0.5": {
          "pairs": 2001,
          "match_rate_pct": 64.868,
          "note_ko": "재인코딩·리사이즈 계열은 높게, 회전·크롭 계열은 낮게 나올 수 있음 — 단일 TPR 인용 금지"
        },
        "rotate_5deg": {
          "pairs": 2000,
          "match_rate_pct": 0.0,
          "note_ko": "재인코딩·리사이즈 계열은 높게, 회전·크롭 계열은 낮게 나올 수 있음 — 단일 TPR 인용 금지"
        }
      }
    },
    {
      "threshold": 26,
      "fpr_pct": 0.05,
      "fpr_target_pct": 0.01,
      "meets_fpr_target": false,
      "variant_aggregate_tpr_pct": 59.872,
      "by_transform": {
        "crop_80_center": {
          "pairs": 2000,
          "match_rate_pct": 0.0,
          "note_ko": "재인코딩·리사이즈 계열은 높게, 회전·크롭 계열은 낮게 나올 수 있음 — 단일 TPR 인용 금지"
        },
        "jpeg_q40": {
          "pairs": 2001,
          "match_rate_pct": 99.95,
          "note_ko": "재인코딩·리사이즈 계열은 높게, 회전·크롭 계열은 낮게 나올 수 있음 — 단일 TPR 인용 금지"
        },
        "jpeg_q70": {
          "pairs": 2001,
          "match_rate_pct": 99.95,
          "note_ko": "재인코딩·리사이즈 계열은 높게, 회전·크롭 계열은 낮게 나올 수 있음 — 단일 TPR 인용 금지"
        },
        "resize_0.5": {
          "pairs": 2001,
          "match_rate_pct": 99.4,
          "note_ko": "재인코딩·리사이즈 계열은 높게, 회전·크롭 계열은 낮게 나올 수 있음 — 단일 TPR 인용 금지"
        },
        "rotate_5deg": {
          "pairs": 2000,
          "match_rate_pct": 0.0,
          "note_ko": "재인코딩·리사이즈 계열은 높게, 회전·크롭 계열은 낮게 나올 수 있음 — 단일 TPR 인용 금지"
        }
      }
    },
    {
      "threshold": 31,
      "fpr_pct": 0.05,
      "fpr_target_pct": 0.01,
      "meets_fpr_target": false,
      "variant_aggregate_tpr_pct": 59.872,
      "by_transform": {
        "crop_80_center": {
          "pairs": 2000,
          "match_rate_pct": 0.0,
          "note_ko": "재인코딩·리사이즈 계열은 높게, 회전·크롭 계열은 낮게 나올 수 있음 — 단일 TPR 인용 금지"
        },
        "jpeg_q40": {
          "pairs": 2001,
          "match_rate_pct": 99.95,
          "note_ko": "재인코딩·리사이즈 계열은 높게, 회전·크롭 계열은 낮게 나올 수 있음 — 단일 TPR 인용 금지"
        },
        "jpeg_q70": {
          "pairs": 2001,
          "match_rate_pct": 99.95,
          "note_ko": "재인코딩·리사이즈 계열은 높게, 회전·크롭 계열은 낮게 나올 수 있음 — 단일 TPR 인용 금지"
        },
        "resize_0.5": {
          "pairs": 2001,
          "match_rate_pct": 99.4,
          "note_ko": "재인코딩·리사이즈 계열은 높게, 회전·크롭 계열은 낮게 나올 수 있음 — 단일 TPR 인용 금지"
        },
        "rotate_5deg": {
          "pairs": 2000,
          "match_rate_pct": 0.0,
          "note_ko": "재인코딩·리사이즈 계열은 높게, 회전·크롭 계열은 낮게 나올 수 있음 — 단일 TPR 인용 금지"
        }
      }
    },
    {
      "threshold": 36,
      "fpr_pct": 0.05,
      "fpr_target_pct": 0.01,
      "meets_fpr_target": false,
      "variant_aggregate_tpr_pct": 59.922,
      "by_transform": {
        "crop_80_center": {
          "pairs": 2000,
          "match_rate_pct": 0.0,
          "note_ko": "재인코딩·리사이즈 계열은 높게, 회전·크롭 계열은 낮게 나올 수 있음 — 단일 TPR 인용 금지"
        },
        "jpeg_q40": {
          "pairs": 2001,
          "match_rate_pct": 99.95,
          "note_ko": "재인코딩·리사이즈 계열은 높게, 회전·크롭 계열은 낮게 나올 수 있음 — 단일 TPR 인용 금지"
        },
        "jpeg_q70": {
          "pairs": 2001,
          "match_rate_pct": 99.95,
          "note_ko": "재인코딩·리사이즈 계열은 높게, 회전·크롭 계열은 낮게 나올 수 있음 — 단일 TPR 인용 금지"
        },
        "resize_0.5": {
          "pairs": 2001,
          "match_rate_pct": 99.65,
          "note_ko": "재인코딩·리사이즈 계열은 높게, 회전·크롭 계열은 낮게 나올 수 있음 — 단일 TPR 인용 금지"
        },
        "rotate_5deg": {
          "pairs": 2000,
          "match_rate_pct": 0.0,
          "note_ko": "재인코딩·리사이즈 계열은 높게, 회전·크롭 계열은 낮게 나올 수 있음 — 단일 TPR 인용 금지"
        }
      }
    },
    {
      "threshold": 40,
      "fpr_pct": 0.05,
      "fpr_target_pct": 0.01,
      "meets_fpr_target": false,
      "variant_aggregate_tpr_pct": 59.972,
      "by_transform": {
        "crop_80_center": {
          "pairs": 2000,
          "match_rate_pct": 0.05,
          "note_ko": "재인코딩·리사이즈 계열은 높게, 회전·크롭 계열은 낮게 나올 수 있음 — 단일 TPR 인용 금지"
        },
        "jpeg_q40": {
          "pairs": 2001,
          "match_rate_pct": 99.95,
          "note_ko": "재인코딩·리사이즈 계열은 높게, 회전·크롭 계열은 낮게 나올 수 있음 — 단일 TPR 인용 금지"
        },
        "jpeg_q70": {
          "pairs": 2001,
          "match_rate_pct": 99.95,
          "note_ko": "재인코딩·리사이즈 계열은 높게, 회전·크롭 계열은 낮게 나올 수 있음 — 단일 TPR 인용 금지"
        },
        "resize_0.5": {
          "pairs": 2001,
          "match_rate_pct": 99.85,
          "note_ko": "재인코딩·리사이즈 계열은 높게, 회전·크롭 계열은 낮게 나올 수 있음 — 단일 TPR 인용 금지"
        },
        "rotate_5deg": {
          "pairs": 2000,
          "match_rate_pct": 0.0,
          "note_ko": "재인코딩·리사이즈 계열은 높게, 회전·크롭 계열은 낮게 나올 수 있음 — 단일 TPR 인용 금지"
        }
      }
    }
  ],
  "threshold_sweep_note_ko": "Hamming 0·2·4·5·6·26·31·36·40. 운영점은 100k FPR≤0.01% 최대 임계. 2000쌍 FPR은 참고. 권위 숫자는 negatives-100k.",
  "adopted_threshold": 5,
  "negatives_100k": {
    "href": "/benchmarks/fingerprint-pdq-negatives-100k.json",
    "adopted_threshold": 5,
    "false_positive_rate_pct": 0.006,
    "negative_verified": true
  },
  "roc_operating_point": {
    "threshold": 5,
    "fpr_pct_2000pair": 0.05,
    "fpr_pct_100k": 0.006,
    "tpr_variant_pct": 47.576,
    "jpeg_q70_tpr_pct": 99.85
  },
  "negative_measured": true,
  "negative_verified": true,
  "negative_verified_gate_ko": "negative_verified는 100k FPR 0.01% 이하 실측 후에만 true — measured≠verified",
  "positive_measured": true,
  "positive_verified": false,
  "jpeg_q70_at_operating_point_ok": true,
  "verified_gate_ko": "positive_verified는 회전·크롭 포함 전 변환 TPR 기준 확정 후에만 true. JPEG q70만 운영점에서 99%대일 수 있음.",
  "variant_corpus_pending": false,
  "variant_corpus_target_pairs": 10000,
  "fleet_unique_sha_ceiling": 2933,
  "distractor_registry_current_image": 2933,
  "distractor_registry_current_video_frame": 27080,
  "distractor_registry_pending_image": false,
  "external_corpus_import": false,
  "distractor_registry_pending": false,
  "distractor_registry_note_ko": "목표=플릿 unique sha256 ceiling(≈2,933) — 10k 추격 중단 · 외부 코퍼스 미도입. video_frame 27,080은 인접 프레임 자기상관 — image와 분리 표기 · 합산 목표 근거 금지.",
  "variant_corpus_path": "data/ops/xmse-fingerprint-pdq-variant-corpus.json",
  "phrasing_ko": "폐쇄형(허가형) 원장 기반",
  "public_chain_used": false,
  "ledger_sentences_ko": [
    "이 기록은 우리가 직접 관리하고, 외부에서 지켜보는 사람은 없습니다.",
    "젠룩이 운영하는 폐쇄 원장에 기록을 고정합니다.",
    "크리스탈은 내부 가상화폐이며 현금으로 바꾸지 않습니다. 비트코인 같은 공개 체인에는 올리지 않습니다."
  ],
  "reproduce": {
    "script": "scripts/ops/audit-xmse-fingerprint-pdq-roc.py",
    "command": "python3 scripts/ops/audit-xmse-fingerprint-pdq-roc.py",
    "eta": 0.01,
    "eta_locked_a_priori": true,
    "negatives_100k": "python3 scripts/ops/emit-xmse-tech-depth-benchmarks.py --negatives-100k"
  }
}
