{
  "code": {
    "dirty": true,
    "git_revision": "27c427c871072a4eabd8011b8afbbd82a8d88546"
  },
  "corpus": "spy-medical",
  "corpus_diagnostics": {
    "dropped_labels": {
      "URL": 4322
    },
    "gold_bad_offset": 0,
    "gold_in_scope": 27101,
    "gold_out_of_scope": 0,
    "gold_text_mismatch": 0,
    "rows": 4491,
    "rows_with_overlapping_gold": 0,
    "unknown_labels": {}
  },
  "corpus_diagnostics_scope": "whole file, not the limited run",
  "corpus_license": "CC-BY-4.0",
  "corpus_revision": "093be5a0235c9e15bc1c364f10ac48b9563de34c",
  "corpus_sha256": "230f508921503c1ec6e352c420d639458d89c6cf658b9f0d8ea75bf014c6e15b",
  "document_limit": 50,
  "documents_scored": 50,
  "environment": {
    "detectors": [
      "RuleDetector",
      "HfTokenDetector"
    ],
    "devices": [
      "cpu",
      "cuda"
    ],
    "executable": "/usr/local/bin/python",
    "machine": "x86_64",
    "packages": {
      "edgepii": "0.3.1",
      "faker": "40.44.0",
      "gliner2": "2.1.0",
      "huggingface-hub": "2.4.0",
      "peft": "0.21.2",
      "phonenumbers": "9.0.42",
      "pyarrow": "20.0.0",
      "pyyaml": "6.0.3",
      "tokenizers": "0.23.3",
      "torch": "2.8.0",
      "transformers": "5.22.1"
    },
    "platform": "Linux-4.19.0-gvisor-x86_64-with-glibc2.31",
    "python": "3.11.0",
    "source_sha256": "4c6d33a123e2c2c5b79bdcf0784b9c57b6306307e08b482d1855f088335768d3"
  },
  "evaluation": {
    "annotation_policy": "author-associated; synthetic US ID shapes",
    "fold": "confusables",
    "materialization_protocol": "government-id-v2",
    "min_score": null,
    "selection": "prefix_per_slice",
    "selection_sha256": "a6fbe20649c5291ea6056f1483304a74aed9edddc5ba33cf93547c5b3be4db39",
    "spy_seed": 42,
    "types": [
      "ADDRESS",
      "EMAIL",
      "GOV_ID",
      "IP_ADDRESS",
      "PAYMENT",
      "PERSON",
      "PHONE",
      "SECRET",
      "USERNAME"
    ],
    "unique_documents": 50
  },
  "first_principles_verification": {
    "cases": 5,
    "contract_passed": true,
    "model_only_smoke_spans": 2,
    "scope": "inference and source/masking invariants; not an accuracy guarantee",
    "valid_original_source_spans": 8
  },
  "gates": {
    "failures": [],
    "passed": true,
    "policy": {
      "max_dropped": 0,
      "max_leaks": null,
      "min_recall": 0.0
    }
  },
  "latency_ms": {
    "calls": 50,
    "max": 114.87469199999722,
    "mean": 73.86849327999981,
    "p50": 70.76073300000019,
    "p95": 94.04240499999972,
    "scope": "locate only; excludes model loading and scoring"
  },
  "model_only_ablation": {
    "corpus": "spy-medical",
    "corpus_diagnostics": {
      "dropped_labels": {
        "URL": 4322
      },
      "gold_bad_offset": 0,
      "gold_in_scope": 27101,
      "gold_out_of_scope": 0,
      "gold_text_mismatch": 0,
      "rows": 4491,
      "rows_with_overlapping_gold": 0,
      "unknown_labels": {}
    },
    "corpus_diagnostics_scope": "whole file, not the limited run",
    "corpus_license": "CC-BY-4.0",
    "corpus_revision": "093be5a0235c9e15bc1c364f10ac48b9563de34c",
    "corpus_sha256": "230f508921503c1ec6e352c420d639458d89c6cf658b9f0d8ea75bf014c6e15b",
    "document_limit": 50,
    "documents_scored": 50,
    "environment": {
      "detectors": [
        "HfTokenDetector"
      ],
      "devices": [
        "cuda"
      ],
      "executable": "/usr/local/bin/python",
      "machine": "x86_64",
      "packages": {
        "edgepii": "0.3.1",
        "faker": "40.44.0",
        "gliner2": "2.1.0",
        "huggingface-hub": "2.4.0",
        "peft": "0.21.2",
        "phonenumbers": "9.0.42",
        "pyarrow": "20.0.0",
        "pyyaml": "6.0.3",
        "tokenizers": "0.23.3",
        "torch": "2.8.0",
        "transformers": "5.22.1"
      },
      "platform": "Linux-4.19.0-gvisor-x86_64-with-glibc2.31",
      "python": "3.11.0",
      "source_sha256": "4c6d33a123e2c2c5b79bdcf0784b9c57b6306307e08b482d1855f088335768d3"
    },
    "evaluation": {
      "annotation_policy": "author-associated; synthetic US ID shapes",
      "fold": "confusables",
      "materialization_protocol": "government-id-v2",
      "min_score": null,
      "selection": "prefix_per_slice",
      "selection_sha256": "a6fbe20649c5291ea6056f1483304a74aed9edddc5ba33cf93547c5b3be4db39",
      "spy_seed": 42,
      "types": [
        "ADDRESS",
        "EMAIL",
        "GOV_ID",
        "IP_ADDRESS",
        "PAYMENT",
        "PERSON",
        "PHONE",
        "SECRET",
        "USERNAME"
      ],
      "unique_documents": 50
    },
    "latency_ms": {
      "calls": 50,
      "max": 103.66011299999656,
      "mean": 70.79252550000021,
      "p50": 67.51295800000179,
      "p95": 90.57661599999633,
      "scope": "locate only; excludes model loading and scoring"
    },
    "preset": "custom",
    "preset_revision": "custom",
    "seconds": 3.582,
    "slices": {
      "all": {
        "containment": {
          "character_recall": 0.9834491213731099,
          "covered_characters": 4813,
          "fully_contained_gold_spans": 299,
          "fully_contained_repeated_identifiers": 0,
          "gold_characters": 4894,
          "high_severity_gold_spans": 43,
          "masked_character_fraction": 0.08269284488606887,
          "masked_characters": 10361,
          "masking_precision": 0.46453045072869414,
          "repeated_identifiers": 0,
          "scope": "declared gold policy; zero gold does not establish PII-free text",
          "source_characters": 125295,
          "span_recall": 0.9614147909967846,
          "zero_gold_characters": 0,
          "zero_gold_document_mask_rate": null,
          "zero_gold_documents": 0,
          "zero_gold_masked_character_fraction": null,
          "zero_gold_masked_characters": 0,
          "zero_gold_masked_documents": 0
        },
        "documents": 50,
        "dropped_offsets": 0,
        "extra": 446,
        "f1": 0.5257249766136577,
        "f2": 0.7017982017982018,
        "fn": 30,
        "fp": 477,
        "gold_spans": 311,
        "high_severity_leaks": 6,
        "miss": 5,
        "per_type": {
          "ADDRESS": {
            "f1": 0.4766355140186916,
            "f2": 0.6423173803526449,
            "fn": 10,
            "fp": 102,
            "precision": 0.3333333333333333,
            "recall": 0.8360655737704918,
            "tp": 51
          },
          "EMAIL": {
            "f1": 0.5555555555555555,
            "f2": 0.7513661202185792,
            "fn": 1,
            "fp": 87,
            "precision": 0.3873239436619718,
            "recall": 0.9821428571428571,
            "tp": 55
          },
          "GOV_ID": {
            "f1": 0.7872340425531916,
            "f2": 0.8295964125560537,
            "fn": 6,
            "fp": 14,
            "precision": 0.7254901960784313,
            "recall": 0.8604651162790697,
            "tp": 37
          },
          "PAYMENT": {
            "f1": 0.0,
            "f2": 0.0,
            "fn": 0,
            "fp": 2,
            "precision": 0.0,
            "recall": 1.0,
            "tp": 0
          },
          "PERSON": {
            "f1": 0.3722627737226278,
            "f2": 0.5848623853211009,
            "fn": 3,
            "fp": 169,
            "precision": 0.2318181818181818,
            "recall": 0.9444444444444444,
            "tp": 51
          },
          "PHONE": {
            "f1": 0.5251396648044694,
            "f2": 0.734375,
            "fn": 0,
            "fp": 85,
            "precision": 0.3560606060606061,
            "recall": 1.0,
            "tp": 47
          },
          "USERNAME": {
            "f1": 0.7407407407407408,
            "f2": 0.7751937984496124,
            "fn": 10,
            "fp": 18,
            "precision": 0.6896551724137931,
            "recall": 0.8,
            "tp": 40
          }
        },
        "pre_policy_candidates": {
          "documents": 50,
          "fully_contained_gold_spans": 299,
          "gold_spans": 311,
          "high_severity_leaks": 6,
          "scope": "mapped requested-type candidates before overlap and score policy; null when unavailable",
          "span_recall": 0.9614147909967846
        },
        "precision": 0.370712401055409,
        "predicted_spans": 758,
        "protection_plan": {
          "character_recall": 0.9834491213731099,
          "covered_characters": 4813,
          "documents": 50,
          "fully_contained_gold_spans": 299,
          "gold_characters": 4894,
          "gold_spans": 311,
          "high_severity_leaks": 6,
          "irreversible_characters": 0,
          "masked_characters": 10361,
          "masking_precision": 0.46453045072869414,
          "scope": "opt-in eligible candidate union; secret-tainted components irreversible; unavailable for native-label experiments",
          "span_recall": 0.9614147909967846
        },
        "recall": 0.9035369774919614,
        "shift": 24,
        "slice": "all",
        "tp": 281,
        "unmapped_predictions": 228,
        "wrong_type": 1
      },
      "medical": {
        "containment": {
          "character_recall": 0.9834491213731099,
          "covered_characters": 4813,
          "fully_contained_gold_spans": 299,
          "fully_contained_repeated_identifiers": 0,
          "gold_characters": 4894,
          "high_severity_gold_spans": 43,
          "masked_character_fraction": 0.08269284488606887,
          "masked_characters": 10361,
          "masking_precision": 0.46453045072869414,
          "repeated_identifiers": 0,
          "scope": "declared gold policy; zero gold does not establish PII-free text",
          "source_characters": 125295,
          "span_recall": 0.9614147909967846,
          "zero_gold_characters": 0,
          "zero_gold_document_mask_rate": null,
          "zero_gold_documents": 0,
          "zero_gold_masked_character_fraction": null,
          "zero_gold_masked_characters": 0,
          "zero_gold_masked_documents": 0
        },
        "documents": 50,
        "dropped_offsets": 0,
        "extra": 446,
        "f1": 0.5257249766136577,
        "f2": 0.7017982017982018,
        "fn": 30,
        "fp": 477,
        "gold_spans": 311,
        "high_severity_leaks": 6,
        "miss": 5,
        "per_type": {
          "ADDRESS": {
            "f1": 0.4766355140186916,
            "f2": 0.6423173803526449,
            "fn": 10,
            "fp": 102,
            "precision": 0.3333333333333333,
            "recall": 0.8360655737704918,
            "tp": 51
          },
          "EMAIL": {
            "f1": 0.5555555555555555,
            "f2": 0.7513661202185792,
            "fn": 1,
            "fp": 87,
            "precision": 0.3873239436619718,
            "recall": 0.9821428571428571,
            "tp": 55
          },
          "GOV_ID": {
            "f1": 0.7872340425531916,
            "f2": 0.8295964125560537,
            "fn": 6,
            "fp": 14,
            "precision": 0.7254901960784313,
            "recall": 0.8604651162790697,
            "tp": 37
          },
          "PAYMENT": {
            "f1": 0.0,
            "f2": 0.0,
            "fn": 0,
            "fp": 2,
            "precision": 0.0,
            "recall": 1.0,
            "tp": 0
          },
          "PERSON": {
            "f1": 0.3722627737226278,
            "f2": 0.5848623853211009,
            "fn": 3,
            "fp": 169,
            "precision": 0.2318181818181818,
            "recall": 0.9444444444444444,
            "tp": 51
          },
          "PHONE": {
            "f1": 0.5251396648044694,
            "f2": 0.734375,
            "fn": 0,
            "fp": 85,
            "precision": 0.3560606060606061,
            "recall": 1.0,
            "tp": 47
          },
          "USERNAME": {
            "f1": 0.7407407407407408,
            "f2": 0.7751937984496124,
            "fn": 10,
            "fp": 18,
            "precision": 0.6896551724137931,
            "recall": 0.8,
            "tp": 40
          }
        },
        "pre_policy_candidates": {
          "documents": 50,
          "fully_contained_gold_spans": 299,
          "gold_spans": 311,
          "high_severity_leaks": 6,
          "scope": "mapped requested-type candidates before overlap and score policy; null when unavailable",
          "span_recall": 0.9614147909967846
        },
        "precision": 0.370712401055409,
        "predicted_spans": 758,
        "protection_plan": {
          "character_recall": 0.9834491213731099,
          "covered_characters": 4813,
          "documents": 50,
          "fully_contained_gold_spans": 299,
          "gold_characters": 4894,
          "gold_spans": 311,
          "high_severity_leaks": 6,
          "irreversible_characters": 0,
          "masked_characters": 10361,
          "masking_precision": 0.46453045072869414,
          "scope": "opt-in eligible candidate union; secret-tainted components irreversible; unavailable for native-label experiments",
          "span_recall": 0.9614147909967846
        },
        "recall": 0.9035369774919614,
        "shift": 24,
        "slice": "medical",
        "tp": 281,
        "unmapped_predictions": 228,
        "wrong_type": 1
      }
    },
    "taxonomy_version": "2026.11"
  },
  "preset": "multi-encoder-base",
  "preset_revision": "ef0eff8e63c1711ec0c997c5ca9ea3b78a068684",
  "runtime": {
    "deployment_source_sha256": "80e526c84e151d0925cc3ed217c9e4667bc53129b8912c36ece9771ec95c38cd",
    "device": "cuda",
    "gpu": "Tesla T4",
    "installed_packages": {
      "Faker": "40.44.0",
      "Jinja2": "3.1.6",
      "MarkupSafe": "3.0.4",
      "PyYAML": "6.0.3",
      "Pygments": "2.17.2",
      "accelerate": "1.15.0",
      "aiohttp": "3.8.3",
      "aiosignal": "1.3.1",
      "aiostream": "0.4.4",
      "annotated-doc": "0.0.5",
      "annotated-types": "0.8.0",
      "anyio": "4.16.0",
      "asgiref": "3.5.2",
      "asttokens": "2.4.1",
      "async-timeout": "4.0.3",
      "attrs": "23.2.0",
      "certifi": "2024.2.2",
      "charset-normalizer": "2.1.1",
      "click": "8.5.0",
      "cloudpickle": "2.2.0",
      "commonmark": "0.9.1",
      "decorator": "5.1.1",
      "edgepii": "0.3.1",
      "executing": "2.0.1",
      "fastapi": "0.162.0",
      "fastprogress": "1.0.0",
      "filelock": "4.2.9",
      "frozenlist": "1.4.1",
      "fsspec": "2026.9.0",
      "gliner2": "2.1.0",
      "grpclib": "0.4.3",
      "h11": "0.16.0",
      "h2": "4.1.0",
      "hf-xet": "1.8.0",
      "hpack": "4.0.0",
      "httpcore2": "2.16.0",
      "httpx2": "2.16.0",
      "huggingface_hub": "2.4.0",
      "hyperframe": "6.0.1",
      "idna": "3.20",
      "importlib-metadata": "4.8.1",
      "ipython": "8.23.0",
      "jedi": "0.19.1",
      "matplotlib-inline": "0.1.6",
      "mpmath": "1.3.0",
      "multidict": "6.0.5",
      "networkx": "3.6.1",
      "numpy": "1.26.4",
      "nvidia-cublas-cu12": "12.8.4.1",
      "nvidia-cuda-cupti-cu12": "12.8.90",
      "nvidia-cuda-nvrtc-cu12": "12.8.93",
      "nvidia-cuda-runtime-cu12": "12.8.90",
      "nvidia-cudnn-cu12": "9.10.2.21",
      "nvidia-cufft-cu12": "11.3.3.83",
      "nvidia-cufile-cu12": "1.13.1.3",
      "nvidia-curand-cu12": "10.3.9.90",
      "nvidia-cusolver-cu12": "11.7.3.90",
      "nvidia-cusparse-cu12": "12.5.8.93",
      "nvidia-cusparselt-cu12": "0.7.1",
      "nvidia-nccl-cu12": "2.27.3",
      "nvidia-nvjitlink-cu12": "12.8.93",
      "nvidia-nvtx-cu12": "12.8.90",
      "opentelemetry-api": "1.45.2",
      "opf": "0.1.0",
      "packaging": "26.3",
      "parso": "0.8.3",
      "peft": "0.21.2",
      "pexpect": "4.9.0",
      "phonenumbers": "9.0.42",
      "pip": "24.0",
      "prompt-toolkit": "3.0.43",
      "protobuf": "5.26.1",
      "psutil": "7.2.2",
      "ptyprocess": "0.7.0",
      "pure-eval": "0.2.2",
      "pyarrow": "20.0.0",
      "pydantic": "2.14.2",
      "pydantic_core": "2.50.2",
      "python-multipart": "0.0.9",
      "regex": "2026.9.29",
      "requests": "2.34.2",
      "rich": "12.3.0",
      "safetensors": "0.8.0",
      "sentencepiece": "0.2.1",
      "setuptools": "65.5.0",
      "six": "1.16.0",
      "sniffio": "1.3.1",
      "stack-data": "0.6.3",
      "starlette": "1.10.0",
      "sympy": "1.14.0",
      "tblib": "1.7.0",
      "tiktoken": "0.14.0",
      "tokenizers": "0.23.3",
      "toml": "0.10.2",
      "torch": "2.8.0",
      "tqdm": "4.70.1",
      "traitlets": "5.14.2",
      "transformers": "5.22.1",
      "triton": "3.4.0",
      "truststore": "0.10.5",
      "typeguard": "4.2.1",
      "typer": "0.6.1",
      "types-certifi": "2021.10.8.3",
      "types-toml": "0.10.4",
      "typing-inspection": "0.4.5",
      "typing_extensions": "4.16.0",
      "urllib3": "2.8.0",
      "wcwidth": "0.2.13",
      "wheel": "0.38.4",
      "yarl": "1.9.4",
      "zipp": "3.18.1"
    },
    "model_load_scope": "download, initialization, and one warmup; excludes container startup",
    "model_load_seconds": 7.542298217,
    "native_helper_sha256": "6d3e31388b8e4a48a2c75e4a402bfd3e7fec4f22b99307180527444ab51cf8b7",
    "peak_gpu_allocated_bytes": 1289307136,
    "provider": "modal",
    "warmup": "one synthetic document before timing"
  },
  "seconds": 3.74,
  "slices": {
    "all": {
      "containment": {
        "character_recall": 0.9830404577033102,
        "covered_characters": 4811,
        "fully_contained_gold_spans": 297,
        "fully_contained_repeated_identifiers": 0,
        "gold_characters": 4894,
        "high_severity_gold_spans": 43,
        "masked_character_fraction": 0.08391396304720859,
        "masked_characters": 10514,
        "masking_precision": 0.4575803690317672,
        "repeated_identifiers": 0,
        "scope": "declared gold policy; zero gold does not establish PII-free text",
        "source_characters": 125295,
        "span_recall": 0.954983922829582,
        "zero_gold_characters": 0,
        "zero_gold_document_mask_rate": null,
        "zero_gold_documents": 0,
        "zero_gold_masked_character_fraction": null,
        "zero_gold_masked_characters": 0,
        "zero_gold_masked_documents": 0
      },
      "documents": 50,
      "dropped_offsets": 0,
      "extra": 443,
      "f1": 0.5178236397748593,
      "f2": 0.6903451725862931,
      "fn": 35,
      "fp": 479,
      "gold_spans": 311,
      "high_severity_leaks": 6,
      "miss": 5,
      "per_type": {
        "ADDRESS": {
          "f1": 0.4766355140186916,
          "f2": 0.6423173803526449,
          "fn": 10,
          "fp": 102,
          "precision": 0.3333333333333333,
          "recall": 0.8360655737704918,
          "tp": 51
        },
        "EMAIL": {
          "f1": 0.5252525252525253,
          "f2": 0.7103825136612022,
          "fn": 4,
          "fp": 90,
          "precision": 0.36619718309859156,
          "recall": 0.9285714285714286,
          "tp": 52
        },
        "GOV_ID": {
          "f1": 0.7872340425531916,
          "f2": 0.8295964125560537,
          "fn": 6,
          "fp": 14,
          "precision": 0.7254901960784313,
          "recall": 0.8604651162790697,
          "tp": 37
        },
        "PAYMENT": {
          "f1": 0.0,
          "f2": 0.0,
          "fn": 0,
          "fp": 11,
          "precision": 0.0,
          "recall": 1.0,
          "tp": 0
        },
        "PERSON": {
          "f1": 0.3722627737226278,
          "f2": 0.5848623853211009,
          "fn": 3,
          "fp": 169,
          "precision": 0.2318181818181818,
          "recall": 0.9444444444444444,
          "tp": 51
        },
        "PHONE": {
          "f1": 0.5389221556886227,
          "f2": 0.7305194805194805,
          "fn": 2,
          "fp": 75,
          "precision": 0.375,
          "recall": 0.9574468085106383,
          "tp": 45
        },
        "USERNAME": {
          "f1": 0.7407407407407408,
          "f2": 0.7751937984496124,
          "fn": 10,
          "fp": 18,
          "precision": 0.6896551724137931,
          "recall": 0.8,
          "tp": 40
        }
      },
      "pre_policy_candidates": {
        "documents": 50,
        "fully_contained_gold_spans": 299,
        "gold_spans": 311,
        "high_severity_leaks": 6,
        "scope": "mapped requested-type candidates before overlap and score policy; null when unavailable",
        "span_recall": 0.9614147909967846
      },
      "precision": 0.3655629139072848,
      "predicted_spans": 755,
      "protection_plan": {
        "character_recall": 0.9834491213731099,
        "covered_characters": 4813,
        "documents": 50,
        "fully_contained_gold_spans": 299,
        "gold_characters": 4894,
        "gold_spans": 311,
        "high_severity_leaks": 6,
        "irreversible_characters": 0,
        "masked_characters": 10522,
        "masking_precision": 0.4574225432427295,
        "scope": "opt-in eligible candidate union; secret-tainted components irreversible; unavailable for native-label experiments",
        "span_recall": 0.9614147909967846
      },
      "recall": 0.887459807073955,
      "shift": 27,
      "slice": "all",
      "tp": 276,
      "unmapped_predictions": 228,
      "wrong_type": 3
    },
    "medical": {
      "containment": {
        "character_recall": 0.9830404577033102,
        "covered_characters": 4811,
        "fully_contained_gold_spans": 297,
        "fully_contained_repeated_identifiers": 0,
        "gold_characters": 4894,
        "high_severity_gold_spans": 43,
        "masked_character_fraction": 0.08391396304720859,
        "masked_characters": 10514,
        "masking_precision": 0.4575803690317672,
        "repeated_identifiers": 0,
        "scope": "declared gold policy; zero gold does not establish PII-free text",
        "source_characters": 125295,
        "span_recall": 0.954983922829582,
        "zero_gold_characters": 0,
        "zero_gold_document_mask_rate": null,
        "zero_gold_documents": 0,
        "zero_gold_masked_character_fraction": null,
        "zero_gold_masked_characters": 0,
        "zero_gold_masked_documents": 0
      },
      "documents": 50,
      "dropped_offsets": 0,
      "extra": 443,
      "f1": 0.5178236397748593,
      "f2": 0.6903451725862931,
      "fn": 35,
      "fp": 479,
      "gold_spans": 311,
      "high_severity_leaks": 6,
      "miss": 5,
      "per_type": {
        "ADDRESS": {
          "f1": 0.4766355140186916,
          "f2": 0.6423173803526449,
          "fn": 10,
          "fp": 102,
          "precision": 0.3333333333333333,
          "recall": 0.8360655737704918,
          "tp": 51
        },
        "EMAIL": {
          "f1": 0.5252525252525253,
          "f2": 0.7103825136612022,
          "fn": 4,
          "fp": 90,
          "precision": 0.36619718309859156,
          "recall": 0.9285714285714286,
          "tp": 52
        },
        "GOV_ID": {
          "f1": 0.7872340425531916,
          "f2": 0.8295964125560537,
          "fn": 6,
          "fp": 14,
          "precision": 0.7254901960784313,
          "recall": 0.8604651162790697,
          "tp": 37
        },
        "PAYMENT": {
          "f1": 0.0,
          "f2": 0.0,
          "fn": 0,
          "fp": 11,
          "precision": 0.0,
          "recall": 1.0,
          "tp": 0
        },
        "PERSON": {
          "f1": 0.3722627737226278,
          "f2": 0.5848623853211009,
          "fn": 3,
          "fp": 169,
          "precision": 0.2318181818181818,
          "recall": 0.9444444444444444,
          "tp": 51
        },
        "PHONE": {
          "f1": 0.5389221556886227,
          "f2": 0.7305194805194805,
          "fn": 2,
          "fp": 75,
          "precision": 0.375,
          "recall": 0.9574468085106383,
          "tp": 45
        },
        "USERNAME": {
          "f1": 0.7407407407407408,
          "f2": 0.7751937984496124,
          "fn": 10,
          "fp": 18,
          "precision": 0.6896551724137931,
          "recall": 0.8,
          "tp": 40
        }
      },
      "pre_policy_candidates": {
        "documents": 50,
        "fully_contained_gold_spans": 299,
        "gold_spans": 311,
        "high_severity_leaks": 6,
        "scope": "mapped requested-type candidates before overlap and score policy; null when unavailable",
        "span_recall": 0.9614147909967846
      },
      "precision": 0.3655629139072848,
      "predicted_spans": 755,
      "protection_plan": {
        "character_recall": 0.9834491213731099,
        "covered_characters": 4813,
        "documents": 50,
        "fully_contained_gold_spans": 299,
        "gold_characters": 4894,
        "gold_spans": 311,
        "high_severity_leaks": 6,
        "irreversible_characters": 0,
        "masked_characters": 10522,
        "masking_precision": 0.4574225432427295,
        "scope": "opt-in eligible candidate union; secret-tainted components irreversible; unavailable for native-label experiments",
        "span_recall": 0.9614147909967846
      },
      "recall": 0.887459807073955,
      "shift": 27,
      "slice": "medical",
      "tp": 276,
      "unmapped_predictions": 228,
      "wrong_type": 3
    }
  },
  "taxonomy_version": "2026.11"
}
