mcpcensus

Preflight policies

Three built-in policies. Each name, revision, rule, and action is fixed for Preflight v1. Choose the weakest policy that matches your real gate; do not call a stricter policy a security audit.

preflight-ruleset@1 · updated 2026-08-13 · live JSON

Decision meanings

  • PASS — every rule in this exact policy revision passes on the Census facts and source times in the result.
  • REVIEW — at least one rule needs human judgment, or a required fact is missing, stale, or inconclusive.
  • BLOCK — a confirmed hard failure violates the policy, or strict@1 fails closed on required identity or hosted-liveness evidence.

Precedence is BLOCK, then REVIEW, then PASS. A PASS never authorizes install or execution.

Compare the three policies

PolicyIdentity requirementHosted livenessUnknown required fact
baseline@1Any; identity is contextObserve onlyREVIEW
first-party@1First partyObserve onlyREVIEW
strict@1First partyFresh live proof when a remote is claimed; 48-hour maximum ageBLOCK

baseline@1

Use this public preview default when you need a minimum evidence gate but do not require first-party identity. A proven impersonation or hard distribution failure still blocks. Missing minimum evidence reviews.

first-party@1

Use this when the server must belong to the product brand. Proven first-party identity passes that rule. Conflicting ownership blocks. Unknown identity reviews.

strict@1

Use this fail-closed gate when first-party identity is required and a claimed hosted endpoint must have fresh live proof. Unknown identity, unknown hosted liveness, and hosted evidence at least 48 hours old block. Package-only rows have hosted liveness marked not applicable.

Finding actions shared by all three

Reason codeAction
brand_impersonationBLOCK
brand_claim_without_identityREVIEW
repo_goneBLOCK
repo_archivedREVIEW
npm_package_missingBLOCK
pypi_package_missingBLOCK
npm_deprecatedBLOCK
repo_no_push_6moREVIEW
osv_package_advisoryREVIEW

Each claimed npm or PyPI package is evaluated on its own. One good artifact does not erase a missing or deprecated artifact. OSV evidence is package-name scoped, not installed-version scoped.

Exact policy objects

[
  {
    "schema_version": 1,
    "id": "builtin:baseline",
    "revision": 1,
    "ruleset_id": "preflight-ruleset",
    "ruleset_revision": 1,
    "name": "baseline@1",
    "identity_requirement": "any",
    "hosted_liveness": "observe_only",
    "unknown_required": "review",
    "findings": {
      "brand_impersonation": "block",
      "brand_claim_without_identity": "review",
      "repo_gone": "block",
      "repo_archived": "review",
      "npm_package_missing": "block",
      "pypi_package_missing": "block",
      "npm_deprecated": "block",
      "repo_no_push_6mo": "review",
      "osv_package_advisory": "review"
    }
  },
  {
    "schema_version": 1,
    "id": "builtin:first-party",
    "revision": 1,
    "ruleset_id": "preflight-ruleset",
    "ruleset_revision": 1,
    "name": "first-party@1",
    "identity_requirement": "first_party",
    "hosted_liveness": "observe_only",
    "unknown_required": "review",
    "findings": {
      "brand_impersonation": "block",
      "brand_claim_without_identity": "review",
      "repo_gone": "block",
      "repo_archived": "review",
      "npm_package_missing": "block",
      "pypi_package_missing": "block",
      "npm_deprecated": "block",
      "repo_no_push_6mo": "review",
      "osv_package_advisory": "review"
    }
  },
  {
    "schema_version": 1,
    "id": "builtin:strict",
    "revision": 1,
    "ruleset_id": "preflight-ruleset",
    "ruleset_revision": 1,
    "name": "strict@1",
    "identity_requirement": "first_party",
    "hosted_liveness": "require_fresh_live",
    "max_liveness_age_hours": 48,
    "unknown_required": "block",
    "findings": {
      "brand_impersonation": "block",
      "brand_claim_without_identity": "review",
      "repo_gone": "block",
      "repo_archived": "review",
      "npm_package_missing": "block",
      "pypi_package_missing": "block",
      "npm_deprecated": "block",
      "repo_no_push_6mo": "review",
      "osv_package_advisory": "review"
    }
  }
]

Limits

Preflight uses public evidence. It does not analyze code or malware. It does not inspect requested permissions, scopes, data access, or runtime isolation. Source facts can change after their displayed time. Every result states these limits and has a valid_until time.

Run a preflight Use REST or MCP Read the method