{
  "title": "Local and Remote MCP Secret Management Matrix",
  "schemaVersion": "1.0",
  "researchFreeze": "2026-08-26",
  "protocolRevision": "MCP 2026-07-28",
  "sourcePackage": "research/10",
  "integrityNote": "All 108 listed ordinary archive payloads verify. The package contains two incompatible numeric source namespaces; public records preserve an explicit archive namespace and never resolve IDs across families.",
  "evidencePolicy": "Only manually curated build_context source groups appear in sourceIds. Raw row tokens are preserved under archive and are not treated as publication citations.",
  "checkedAt": "2026-08-26",
  "count": 8,
  "records": [
    {
      "Secret location": "Environment variables",
      "Local use": "Common",
      "Remote use": "Common in container/runtime configuration",
      "Preferred practice": "Explicit per-server allowlist",
      "Anti-pattern": "Inheriting the whole environment or logging values",
      "Source IDs": "S004 S039 S042 S067",
      "id": "R10-SECRET001",
      "sourceIds": [
        "S133",
        "S471",
        "S475",
        "S191",
        "S006",
        "S005",
        "S192",
        "S004",
        "S193",
        "S488",
        "S134",
        "S111",
        "S112",
        "S207",
        "S208",
        "S210",
        "S212",
        "S238",
        "S233",
        "S245",
        "S243",
        "S147",
        "S109",
        "S196",
        "S485"
      ],
      "evidenceStatus": "curated-dataset-level-evidence; not an archive row-level citation mapping",
      "archive": {
        "namespace": "research/10/secret_management_matrix.json",
        "row": 1,
        "sourceIds": [
          "S004",
          "S039",
          "S042",
          "S067"
        ],
        "raw": {
          "Secret location": "Environment variables",
          "Local use": "Common",
          "Remote use": "Common in container/runtime configuration",
          "Preferred practice": "Explicit per-server allowlist",
          "Anti-pattern": "Inheriting the whole environment or logging values",
          "Source IDs": "S004 S039 S042 S067"
        }
      }
    },
    {
      "Secret location": "Command-line arguments",
      "Local use": "Sometimes used",
      "Remote use": "Deployment tooling may use",
      "Preferred practice": "Non-sensitive flags only",
      "Anti-pattern": "Tokens and passwords visible in process metadata/history",
      "Source IDs": "S039",
      "id": "R10-SECRET002",
      "sourceIds": [
        "S133",
        "S471",
        "S475",
        "S191",
        "S006",
        "S005",
        "S192",
        "S004",
        "S193",
        "S488",
        "S134",
        "S111",
        "S112",
        "S207",
        "S208",
        "S210",
        "S212",
        "S238",
        "S233",
        "S245",
        "S243",
        "S147",
        "S109",
        "S196",
        "S485"
      ],
      "evidenceStatus": "curated-dataset-level-evidence; not an archive row-level citation mapping",
      "archive": {
        "namespace": "research/10/secret_management_matrix.json",
        "row": 2,
        "sourceIds": [
          "S039"
        ],
        "raw": {
          "Secret location": "Command-line arguments",
          "Local use": "Sometimes used",
          "Remote use": "Deployment tooling may use",
          "Preferred practice": "Non-sensitive flags only",
          "Anti-pattern": "Tokens and passwords visible in process metadata/history",
          "Source IDs": "S039"
        }
      }
    },
    {
      "Secret location": "Configuration file",
      "Local use": "Common for server definitions",
      "Remote use": "Connector config stores URL and non-secret metadata",
      "Preferred practice": "Reference secret variables rather than values",
      "Anti-pattern": "Plaintext committed to source control",
      "Source IDs": "S039 S042",
      "id": "R10-SECRET003",
      "sourceIds": [
        "S133",
        "S471",
        "S475",
        "S191",
        "S006",
        "S005",
        "S192",
        "S004",
        "S193",
        "S488",
        "S134",
        "S111",
        "S112",
        "S207",
        "S208",
        "S210",
        "S212",
        "S238",
        "S233",
        "S245",
        "S243",
        "S147",
        "S109",
        "S196",
        "S485"
      ],
      "evidenceStatus": "curated-dataset-level-evidence; not an archive row-level citation mapping",
      "archive": {
        "namespace": "research/10/secret_management_matrix.json",
        "row": 3,
        "sourceIds": [
          "S039",
          "S042"
        ],
        "raw": {
          "Secret location": "Configuration file",
          "Local use": "Common for server definitions",
          "Remote use": "Connector config stores URL and non-secret metadata",
          "Preferred practice": "Reference secret variables rather than values",
          "Anti-pattern": "Plaintext committed to source control",
          "Source IDs": "S039 S042"
        }
      }
    },
    {
      "Secret location": "OS keychain",
      "Local use": "Strong local option",
      "Remote use": "Not normally used by server fleet",
      "Preferred practice": "Host retrieves token just in time",
      "Anti-pattern": "Product-specific portability limits",
      "Source IDs": "S013",
      "id": "R10-SECRET004",
      "sourceIds": [
        "S133",
        "S471",
        "S475",
        "S191",
        "S006",
        "S005",
        "S192",
        "S004",
        "S193",
        "S488",
        "S134",
        "S111",
        "S112",
        "S207",
        "S208",
        "S210",
        "S212",
        "S238",
        "S233",
        "S245",
        "S243",
        "S147",
        "S109",
        "S196",
        "S485"
      ],
      "evidenceStatus": "curated-dataset-level-evidence; not an archive row-level citation mapping",
      "archive": {
        "namespace": "research/10/secret_management_matrix.json",
        "row": 4,
        "sourceIds": [
          "S013"
        ],
        "raw": {
          "Secret location": "OS keychain",
          "Local use": "Strong local option",
          "Remote use": "Not normally used by server fleet",
          "Preferred practice": "Host retrieves token just in time",
          "Anti-pattern": "Product-specific portability limits",
          "Source IDs": "S013"
        }
      }
    },
    {
      "Secret location": "Cloud secret manager",
      "Local use": "Not typical unless local enterprise agent uses cloud",
      "Remote use": "Preferred remote option",
      "Preferred practice": "Rotation, access policy and audit",
      "Anti-pattern": "Overbroad workload permissions",
      "Source IDs": "S051 S056 S057",
      "id": "R10-SECRET005",
      "sourceIds": [
        "S133",
        "S471",
        "S475",
        "S191",
        "S006",
        "S005",
        "S192",
        "S004",
        "S193",
        "S488",
        "S134",
        "S111",
        "S112",
        "S207",
        "S208",
        "S210",
        "S212",
        "S238",
        "S233",
        "S245",
        "S243",
        "S147",
        "S109",
        "S196",
        "S485"
      ],
      "evidenceStatus": "curated-dataset-level-evidence; not an archive row-level citation mapping",
      "archive": {
        "namespace": "research/10/secret_management_matrix.json",
        "row": 5,
        "sourceIds": [
          "S051",
          "S056",
          "S057"
        ],
        "raw": {
          "Secret location": "Cloud secret manager",
          "Local use": "Not typical unless local enterprise agent uses cloud",
          "Remote use": "Preferred remote option",
          "Preferred practice": "Rotation, access policy and audit",
          "Anti-pattern": "Overbroad workload permissions",
          "Source IDs": "S051 S056 S057"
        }
      }
    },
    {
      "Secret location": "OAuth access token",
      "Local use": "Local host can obtain for upstream or remote MCP",
      "Remote use": "Primary delegated remote credential",
      "Preferred practice": "Short-lived, scoped and audience bound",
      "Anti-pattern": "Token theft, wrong audience, refresh-token misuse",
      "Source IDs": "S004 S005",
      "id": "R10-SECRET006",
      "sourceIds": [
        "S133",
        "S471",
        "S475",
        "S191",
        "S006",
        "S005",
        "S192",
        "S004",
        "S193",
        "S488",
        "S134",
        "S111",
        "S112",
        "S207",
        "S208",
        "S210",
        "S212",
        "S238",
        "S233",
        "S245",
        "S243",
        "S147",
        "S109",
        "S196",
        "S485"
      ],
      "evidenceStatus": "curated-dataset-level-evidence; not an archive row-level citation mapping",
      "archive": {
        "namespace": "research/10/secret_management_matrix.json",
        "row": 6,
        "sourceIds": [
          "S004",
          "S005"
        ],
        "raw": {
          "Secret location": "OAuth access token",
          "Local use": "Local host can obtain for upstream or remote MCP",
          "Remote use": "Primary delegated remote credential",
          "Preferred practice": "Short-lived, scoped and audience bound",
          "Anti-pattern": "Token theft, wrong audience, refresh-token misuse",
          "Source IDs": "S004 S005"
        }
      }
    },
    {
      "Secret location": "Service account / managed identity",
      "Local use": "Local dev may impersonate",
      "Remote use": "Common remote workload identity",
      "Preferred practice": "Avoid hardcoded key material",
      "Anti-pattern": "Can lose user context and create broad service power",
      "Source IDs": "S042 S056 S061",
      "id": "R10-SECRET007",
      "sourceIds": [
        "S133",
        "S471",
        "S475",
        "S191",
        "S006",
        "S005",
        "S192",
        "S004",
        "S193",
        "S488",
        "S134",
        "S111",
        "S112",
        "S207",
        "S208",
        "S210",
        "S212",
        "S238",
        "S233",
        "S245",
        "S243",
        "S147",
        "S109",
        "S196",
        "S485"
      ],
      "evidenceStatus": "curated-dataset-level-evidence; not an archive row-level citation mapping",
      "archive": {
        "namespace": "research/10/secret_management_matrix.json",
        "row": 7,
        "sourceIds": [
          "S042",
          "S056",
          "S061"
        ],
        "raw": {
          "Secret location": "Service account / managed identity",
          "Local use": "Local dev may impersonate",
          "Remote use": "Common remote workload identity",
          "Preferred practice": "Avoid hardcoded key material",
          "Anti-pattern": "Can lose user context and create broad service power",
          "Source IDs": "S042 S056 S061"
        }
      }
    },
    {
      "Secret location": "MCPB user configuration",
      "Local use": "Bundle install prompts for values",
      "Remote use": "Not applicable to hosted service",
      "Preferred practice": "Declared configuration schema",
      "Anti-pattern": "Users may paste sensitive tokens into weak storage",
      "Source IDs": "S014 S015",
      "id": "R10-SECRET008",
      "sourceIds": [
        "S133",
        "S471",
        "S475",
        "S191",
        "S006",
        "S005",
        "S192",
        "S004",
        "S193",
        "S488",
        "S134",
        "S111",
        "S112",
        "S207",
        "S208",
        "S210",
        "S212",
        "S238",
        "S233",
        "S245",
        "S243",
        "S147",
        "S109",
        "S196",
        "S485"
      ],
      "evidenceStatus": "curated-dataset-level-evidence; not an archive row-level citation mapping",
      "archive": {
        "namespace": "research/10/secret_management_matrix.json",
        "row": 8,
        "sourceIds": [
          "S014",
          "S015"
        ],
        "raw": {
          "Secret location": "MCPB user configuration",
          "Local use": "Bundle install prompts for values",
          "Remote use": "Not applicable to hosted service",
          "Preferred practice": "Declared configuration schema",
          "Anti-pattern": "Users may paste sensitive tokens into weak storage",
          "Source IDs": "S014 S015"
        }
      }
    }
  ]
}