{
  "schema_version": "1.2",
  "url": "https://trustbutveri.fyi/explorer/?mechanisms=M-0020&cols=prover,hardware,sees",
  "data_generated": "2026-10-08",
  "definitions": {
    "methodology": "https://trustbutveri.fyi/about/methodology/",
    "readiness": "https://trustbutveri.fyi/about/readiness/",
    "filters": [
      {
        "id": "prover",
        "label": "Prover",
        "question": "How far can the party being checked be trusted?",
        "options": [
          {
            "value": "cooperative",
            "label": "Cooperative"
          },
          {
            "value": "semi-trusted",
            "label": "Semi-trusted"
          },
          {
            "value": "adversarial",
            "label": "Adversarial"
          }
        ],
        "rule": "Keeps mechanisms whose threat model holds against at least this prover. Adversarial is the strongest assumption.",
        "about": "The prover is the party being checked. Semi-trusted designs rely on part of its stack: usually the chip vendor's hardware root of trust, its firmware or counters, or its supply-chain records. Adversarial designs aim to hold even if it cheats wherever the checks allow, within their stated assumptions."
      },
      {
        "id": "onsite",
        "label": "Verifier devices on site",
        "question": "May the verifier install its own hardware at the prover's sites?",
        "options": [
          {
            "value": "no",
            "label": "Not allowed"
          }
        ],
        "rule": "\"Not allowed\" removes mechanisms that need a retrofit device, such as a network tap or a sealed sensor.",
        "about": "Some mechanisms need a device the verifier owns or trusts at the prover's facility, such as a network tap, a bandwidth limiter or a sealed sensor. Choose Not allowed when the setting rules that out. Inspectors are not covered."
      },
      {
        "id": "coop",
        "label": "Prover cooperation",
        "question": "How much must the prover take part?",
        "options": [
          {
            "value": "partial",
            "label": "Partial at most"
          },
          {
            "value": "none",
            "label": "Not required"
          }
        ],
        "rule": "\"Partial at most\" removes mechanisms that need the prover's active participation. \"Not required\" keeps only those that work without it.",
        "about": "Required: the prover takes part, for example by logging requests, producing proofs or opening records. Partial: some access, such as installing a device. Not required: works from outside, such as satellite imagery."
      },
      {
        "id": "chips",
        "label": "Chips",
        "question": "May the proposal depend on new chip designs?",
        "options": [
          {
            "value": "existing",
            "label": "Existing chips only"
          }
        ],
        "rule": "\"Existing chips only\" removes mechanisms that need changes to future chip designs.",
        "about": "New chip features take years to reach a deployed fleet and cover only chips made after they ship. Mechanisms that use shipping features, such as trusted execution environments or performance counters, stay."
      },
      {
        "id": "ready",
        "label": "Minimum readiness",
        "question": "How mature must each mechanism be?",
        "options": [
          {
            "value": "R1",
            "label": "R1 Proposed"
          },
          {
            "value": "R2",
            "label": "R2 Demonstrated"
          },
          {
            "value": "R3",
            "label": "R3 In production"
          },
          {
            "value": "R4",
            "label": "R4 Deployment-ready"
          }
        ],
        "rule": "Keeps mechanisms whose readiness level is at least this one.",
        "about": "A level describes the public evidence for a mechanism's stated use, not its cost or feasibility. R3 can still have open critical flaws."
      },
      {
        "id": "tested",
        "label": "Attack testing",
        "question": "How hard has each mechanism been attacked in public?",
        "options": [
          {
            "value": "analysis",
            "label": "Published analysis"
          },
          {
            "value": "red-teamed",
            "label": "Red-teamed"
          },
          {
            "value": "independent-red-team",
            "label": "Independent red-team"
          }
        ],
        "rule": "Keeps mechanisms whose strongest published attack testing is at least this.",
        "about": "The strongest published attempt to break the mechanism for its verification use: a security analysis, red-teaming by its developers or collaborators, or a red team independent of them."
      },
      {
        "id": "hide",
        "label": "Keep hidden from the verifier",
        "question": "What must the verifier never see?",
        "options": [
          {
            "value": "weights",
            "label": "Model weights"
          },
          {
            "value": "io",
            "label": "Inputs and outputs"
          },
          {
            "value": "training",
            "label": "Training data"
          }
        ],
        "rule": "Removes mechanisms that show the asset to the verifier. Conditional or unspecified exposure stays with a note and needs checking against the privacy requirement.",
        "about": "Model weights: the checked model's parameters. Inputs and outputs: the requests a deployed model serves and its responses. Training data: what a model was trained on. Each mechanism's exposure is the editors' reading of its record: shown, depends on the design (kept, with a note), hidden, not involved, or unspecified for a selected implementation. Code and configuration are not covered yet."
      }
    ],
    "exposure": "For model weights, inputs and outputs, and training data. This is the editors' reading of each mechanism's record (its threat model, how it works and its limitations), not a field of the record. Shown: the verifier sees it. Depends: on the design or variant, or the verifier sees only samples. Hidden: the verifier sees only commitments, hashes, proofs or results. Not involved: the record does not handle it. Unspecified: the selected implementation has no asset-specific assessment here.",
    "claim_status": {
      "addressed": "A mechanism in the proposal is aimed at this claim and is not excluded by the filters.",
      "partly-addressed": "Only supporting mechanisms, or mechanisms aimed at it that the filters exclude.",
      "unaddressed": "No mechanism in the proposal addresses this claim."
    },
    "finding_scope": "Evidence scope describes where a finding was demonstrated; it does not establish applicability to every implementation in the mechanism family.",
    "claim_finding_scope": "open_critical_findings names active findings on the assessed records; open_critical_context names conditional family findings whose implementation applicability is unassessed.",
    "legacy_status": "The status field retains covered/partial/none for compatibility. It names claim links, never successful verification. Use claim_status and status_label for presentation."
  },
  "filters": {
    "prover": "",
    "onsite": "",
    "coop": "",
    "chips": "",
    "ready": "",
    "tested": "",
    "hide": []
  },
  "mechanisms_passing_filters": 25,
  "claims": [],
  "mechanisms": [
    {
      "id": "M-0020",
      "title": "Remote detection of data centres",
      "url": "https://trustbutveri.fyi/mechanisms/remote-detection-of-data-centres/",
      "assessment_record": {
        "id": "M-0020",
        "title": "Remote detection of data centres",
        "url": "https://trustbutveri.fyi/mechanisms/remote-detection-of-data-centres/"
      },
      "selected_implementation": null,
      "readiness": {
        "level": "R1",
        "scope": "finding undeclared data centres above an agreed compute threshold",
        "confidence": "medium",
        "evidence": [
          "S-1410",
          "S-0002",
          "S-1409",
          "S-1411",
          "S-3301"
        ]
      },
      "assessed_properties": {
        "threat_model": "adversarial",
        "hardware_requirement": "none",
        "prover_cooperation": "not-required",
        "adversarial_evaluation": "analysis"
      },
      "claims": [],
      "exposure": {
        "weights": "none",
        "io": "none",
        "training": "none",
        "note": "Works from outside the facility; it does not handle model data."
      },
      "family_finding_context": [],
      "filter_issues": []
    }
  ],
  "strengths": {
    "covered": [],
    "production": [],
    "adversarial": [
      "M-0020"
    ],
    "noNewHardware": [
      "M-0020"
    ],
    "mitigated": [],
    "notCounted": []
  },
  "properties": {
    "covered": [],
    "production": [],
    "adversarial": [
      "M-0020"
    ],
    "noNewHardware": [
      "M-0020"
    ],
    "mitigated": [],
    "notCounted": []
  },
  "attack_testing": [
    {
      "id": "M-0020",
      "record": "M-0020",
      "evaluation": "analysis",
      "in_setting": true
    }
  ],
  "selected_implementations": {},
  "weaknesses": {
    "gaps": [],
    "excluded": [],
    "unlinked": [],
    "critical": [],
    "significant": [
      {
        "mech": "M-0020",
        "n": 1,
        "title": "Facilities can be disguised or hidden",
        "kind": "theoretical-argument",
        "severity": "significant",
        "status": "open",
        "evidence_scope": null,
        "scope_note": null,
        "related_finding": null,
        "description": "Halstead and Larsen discuss two ways to hide a facility. One is to disguise it as a legitimate industrial site. The other is to build it underground, with cooling that avoids visible heat plumes. They note that the underground option requires bespoke engineering.",
        "response": null,
        "sources": [
          "S-1410"
        ]
      },
      {
        "mech": "M-0020",
        "n": 2,
        "title": "Small sites may not be detectable",
        "kind": "theoretical-argument",
        "severity": "significant",
        "status": "open",
        "evidence_scope": null,
        "scope_note": null,
        "related_finding": null,
        "description": "Halstead and Larsen conclude that a sufficiently small covert project could not be ruled out with confidence. In their estimates, the chance of detection is lower for smaller sites. Krawec notes that small data centres in existing buildings may lack the distinctive features of large facilities.",
        "response": null,
        "sources": [
          "S-1410",
          "S-1409"
        ],
        "helps": [
          {
            "by": "M-0019",
            "how": "Accounts for chips from the fab onwards, which does not depend on a site being visible."
          }
        ]
      },
      {
        "mech": "M-0020",
        "n": 3,
        "title": "Search for unknown sites is undemonstrated",
        "kind": "open-question",
        "severity": "significant",
        "status": "open",
        "evidence_scope": null,
        "scope_note": null,
        "related_finding": null,
        "description": "Krawec reports that telling data centres apart from other industrial facilities systematically is difficult. Automating detection would need large amounts of training imagery and a purpose-trained model. In Krawec's words, automated data-centre detection \"remains primarily conceptual at present\".",
        "response": null,
        "sources": [
          "S-1409"
        ]
      }
    ],
    "criticalMechanisms": [],
    "significantMechanisms": [
      "M-0020"
    ],
    "familyContext": [],
    "minor": 0,
    "minorFindings": [],
    "minorBy": [],
    "notDemonstrated": [
      "M-0020"
    ],
    "newChip": []
  },
  "findings": [
    {
      "mech": "M-0020",
      "record": "M-0020",
      "n": 1,
      "title": "Facilities can be disguised or hidden",
      "kind": "theoretical-argument",
      "severity": "significant",
      "status": "open",
      "evidence_scope": null,
      "scope_note": null,
      "related_finding": null,
      "description": "Halstead and Larsen discuss two ways to hide a facility. One is to disguise it as a legitimate industrial site. The other is to build it underground, with cooling that avoids visible heat plumes. They note that the underground option requires bespoke engineering.",
      "response": null,
      "sources": [
        "S-1410"
      ]
    },
    {
      "mech": "M-0020",
      "record": "M-0020",
      "n": 2,
      "title": "Small sites may not be detectable",
      "kind": "theoretical-argument",
      "severity": "significant",
      "status": "open",
      "evidence_scope": null,
      "scope_note": null,
      "related_finding": null,
      "description": "Halstead and Larsen conclude that a sufficiently small covert project could not be ruled out with confidence. In their estimates, the chance of detection is lower for smaller sites. Krawec notes that small data centres in existing buildings may lack the distinctive features of large facilities.",
      "response": null,
      "sources": [
        "S-1410",
        "S-1409"
      ],
      "helps": [
        {
          "by": "M-0019",
          "how": "Accounts for chips from the fab onwards, which does not depend on a site being visible."
        }
      ]
    },
    {
      "mech": "M-0020",
      "record": "M-0020",
      "n": 3,
      "title": "Search for unknown sites is undemonstrated",
      "kind": "open-question",
      "severity": "significant",
      "status": "open",
      "evidence_scope": null,
      "scope_note": null,
      "related_finding": null,
      "description": "Krawec reports that telling data centres apart from other industrial facilities systematically is difficult. Automating detection would need large amounts of training imagery and a purpose-trained model. In Krawec's words, automated data-centre detection \"remains primarily conceptual at present\".",
      "response": null,
      "sources": [
        "S-1409"
      ]
    }
  ],
  "possible_additions": [
    {
      "id": "M-0019",
      "title": "Chip registries and manufacturing records",
      "url": "https://trustbutveri.fyi/mechanisms/chip-registries-and-manufacturing-records/",
      "readiness": "R1",
      "fits_filters": true,
      "filter_issues": [],
      "reasons": [
        {
          "kind": "flaw",
          "mech": "M-0020",
          "n": 2,
          "title": "Small sites may not be detectable",
          "severity": "significant",
          "how": "Accounts for chips from the fab onwards, which does not depend on a site being visible."
        }
      ]
    }
  ],
  "goal": null,
  "design": null,
  "dependencies": {
    "prerequisites": [],
    "shared": [],
    "blockers": [
      {
        "mech": "M-0020",
        "n": 1,
        "text": "Wide-area, automated detection of data centres is not yet practical and needs large training datasets.",
        "theme": "coverage-hidden-compute",
        "blocked_by": null,
        "sources": [
          "S-1409"
        ],
        "inProposal": null
      },
      {
        "mech": "M-0020",
        "n": 2,
        "text": "No measured detection or false-alarm rates for finding undeclared facilities have been published.",
        "theme": "adversarial-validation",
        "blocked_by": null,
        "sources": [
          "S-1410",
          "S-1409"
        ],
        "inProposal": null
      },
      {
        "mech": "M-0020",
        "n": 3,
        "text": "Recent high-resolution imagery is costly, is limited by weather and needs trained analysts.",
        "theme": "access-governance",
        "blocked_by": null,
        "sources": [
          "S-1409"
        ],
        "inProposal": null
      }
    ]
  },
  "exposure": {
    "weights": {
      "shown": [],
      "partial": [],
      "hidden": [],
      "none": [
        "M-0020"
      ],
      "unknown": []
    },
    "io": {
      "shown": [],
      "partial": [],
      "hidden": [],
      "none": [
        "M-0020"
      ],
      "unknown": []
    },
    "training": {
      "shown": [],
      "partial": [],
      "hidden": [],
      "none": [
        "M-0020"
      ],
      "unknown": []
    }
  },
  "implementations": [
    {
      "mechanism": "M-0020",
      "selected": null,
      "implementations": []
    }
  ],
  "sources": [
    {
      "id": "S-1410",
      "title": "Covert AI Projects",
      "authors": "B. Halstead & T. Larsen",
      "year": 2026,
      "url": "https://ai-2040.com/supplements/covert-ai-projects",
      "path": "/sources/halstead-covert-ai-projects/"
    },
    {
      "id": "S-0002",
      "title": "Verifying International Agreements on AI: Six Layers of Verification for Rules on Large-Scale AI Development and Deployment",
      "authors": "M. Baker et al.",
      "year": 2025,
      "url": "https://www.rand.org/pubs/working_papers/WRA4077-1.html",
      "path": "/sources/baker-verifying-international-agreements-ai/"
    },
    {
      "id": "S-1409",
      "title": "Tracking Hyperscale AI Data Center Growth with Satellite Imagery",
      "authors": "C. Krawec",
      "year": 2026,
      "url": "https://fas.org/publication/tracking-hyperscale/",
      "path": "/sources/krawec-tracking-hyperscale-satellite-imagery/"
    },
    {
      "id": "S-1411",
      "title": "Introducing the Frontier Data Centers Hub",
      "authors": "Epoch AI",
      "year": 2025,
      "url": "https://epoch.ai/latest/introducing-the-frontier-data-centers-hub",
      "path": "/sources/epoch-frontier-data-centers-hub/"
    },
    {
      "id": "S-3301",
      "title": "AI Data Centers Documentation – Methodology",
      "authors": "Epoch AI",
      "year": 2026,
      "url": "https://epoch.ai/data/data-centers-documentation/methodology",
      "path": "/sources/epoch-data-centers-methodology/"
    }
  ]
}