All tasks
Task · pii-redaction

PII redaction

Redact personal information and secrets from documents

Applied NLPInspired byOpenAI Privacy Filter

Grading pipeline

  1. 1Collect · snapshotHarbor collects /workspace/outputimmutable submission · digest
    ›
  2. 2Reviewautomatic · trusted verifier4 task-local checks
    ›
  3. 3Preflighttask verifier checks config and databefore GPU provisioning
    ›
  4. 4Launch · readyoffline · 1× H100 80GBbash /submission/serve.shGET /health = 200 · ≤ 300 s
    ›
  5. 5Infer161 × POST /redactc=32 · ≤ 3600 s≥ 5/s · 1 round(s)
    ›
  6. 6ScoreMean document R-score
    ›
  7. 7Harbor resultresult.json · reward.txt

Environments

Entry
Harbor → tests/test.sh → grade.py → frontier_ml.grading.grade
Verifier
1.8 h · 4 CPU · 16 GiB
Agent
4 h · 2 CPU · 8 GiB
Network
public (trusted verifier) · offline (candidate inference)
Env
MODAL_TOKEN_IDMODAL_TOKEN_SECRETMODAL_ENVIRONMENTDAYTONA_API_KEYFML_GRADING_RESOURCESFML_GRADING_CREDENTIALS_SECRETOPENAI_API_KEYOPENROUTER_API_KEYHF_TOKENANTHROPIC_API_KEYFML_REVIEW_API_KEYFML_REVIEW_BASE_URLFML_REVIEW_MODELFML_REVIEW_BACKENDFML_REVIEW_PROVIDERFML_REVIEW_SKIPFML_REVIEW_AWS_REGIONAWS_BEARER_TOKEN_BEDROCKAWS_REGIONCODEX_API_KEY

Verifier config

concurrency
32
inference_timeout_seconds
3600
require_h100
true
expected_samples
161

Architecture review

A trusted reviewer reads the submission and trajectory and fails it on any of these checks.

  1. training_data_provenance
    Training code, data manifests, download commands and retained logs establish where the redaction model's training, fine-tuning, calibration and model-selection data came from, consistent with the contract: documents the candidate synthesized with models it ran or called and annotated itself, openly licensed text the candidate annotated itself, and the training splits of public datasets and other public corpora are fine. What fails: RedactionBench in any form beyond the 39 shipped public documents (the Hugging Face dataset RedactionBench/RedactionBench at any revision, its parquet files, mirrors, copies, subsets, re-annotations or paraphrases; both of this task's splits are drawn from its public test parquet, so a download of it, a loader or dataset id that reads it, or RedactionBench documents, ids or spans other than the shipped public examples in the submission all fail); the held-out set or any other copy of this task's held-out documents, including anything beyond the public folder of the dataset repository pinned in /task/setup.json (inductionlabs/frontier-ml-tasks, folder pii-redaction); training, fine-tuning, calibrating or selecting on the validation or test split of any public dataset or benchmark, not only PII, NER or redaction ones; or provenance the evidence does not support (weights whose training data cannot be traced, or a declared base_model inconsistent with the training code). Look for validation/test file names, benchmark loaders, split arguments, dataset ids and download commands in the data-generation, training and calibration code and logs. Incidental exposure during the declared base_model's upstream pretraining is not itself disqualifying. This task's shipped public examples may be used for training, fine-tuning, calibration and model selection (operator decision, 2026-09-29); only the held-out set and the other sources named here are prohibited.
  2. non_specialist_initialization
    The declared base_model/base_revision, initialization code, training logs and the actual checkpoint inventory establish the redaction model's starting weights. Any pretrained base model is allowed as long as it is not a specialist PII redaction model: a checkpoint already trained to detect, tag, anonymize or redact personal information, secrets or protected health information. What fails: starting from a PII or de-identification checkpoint (for example GLiNER-PII and other PII-tuned GLiNER releases, Piiranha, the ai4privacy anonymiser models, PII-specific Presidio or spaCy models, clinical de-identification models such as the i2b2-trained RoBERTa and Stanford de-identifier releases, released privacy-filter weights, or any NER model whose label set is personal information, PHI or secrets), including mirrors, renamed copies, conversions, quantizations, fine-tuned descendants, or adapters or deltas requiring such a backbone. General pretrained encoders and language models (ModernBERT, DeBERTa, the Qwen3 family and the like) and general-purpose NER models trained on generic entity types are allowed, as is training from scratch; adapting an allowed base into a redaction model during this task is allowed. Generic pattern rules remain fine under no_lookup_of_evaluation_documents. Using a specialist model as a tool during this task (annotating or filtering training documents) is allowed; only initializing the submitted model's weights from one is prohibited. Trace checkpoint origins and actual initialization; the submitted model's purpose, filename or shared general base architecture alone does not establish forbidden initialization.
  3. no_lookup_of_evaluation_documents
    Trace serve.sh through the /redact handler: the spans come from the reviewed model, plus any generic pattern rules (for example regexes for IP addresses or key formats), applied to the text of the request being answered. No stored spans, document fingerprints, hashes, embeddings, n-gram tables, retrieval index, memorized documents or packaged corpus (RedactionBench beyond the shipped public examples, this task's held-out documents, or any other document collection) recognizes evaluation texts and retrieves or adjusts answers, and no behavior is keyed on specific evaluation texts, document ids or request order. Predictions generalize from the received text. The 39 shipped public examples are the candidate's to use however it wants (the contract says so): storing them or their spans in the server, or looking them up, is not a violation of this check; they are not evaluation documents.
  4. actual_inference_uses_reviewed_weights
    serve.sh loads the reviewed checkpoint files to produce the spans, the declared base_model/base_revision are consistent with the training code, and there is no unused decoy checkpoint, concealed alternate model, remote call or model path selectable at runtime.