Skip to content

Secret inventory

Registry of all secrets across all HCS-managed Key Vaults. No values are documented here — only names, purposes, vault locations, and metadata. For the naming standard, see Key Vault content standard.


How to add a new secret

  1. Follow the Key Vault content standard to name the secret correctly
  2. Create the secret in the correct vault with expiry and required tags
  3. Add a row to the registry table below — all columns required, especially Vault
  4. If it feeds a pipeline, register it in ado-variable-groups.md
  5. If it needs to be available in local sessions, add it to scripts/Load-HCSEnvironment.ps1
  6. Commit: docs(identity): register secret <secret-name>

Registry — kv-hcs-vault-01

Secret namePurposeConsumersRotation scheduleLast rotatedNotes
hcs-platform-github-org-patGitHub bootstrap PAT — kristopherjturner account — all orgsLoad-HCSEnvironment.ps1 (as GITHUB_TOKEN), gh CLIOn compromise / after GitHub App fully replaces it2026-05-11Bootstrap token. Rotate after GitHub App (hcs-platform-app) is the primary auth mechanism.
hcs-platform-bootstrap-patSame value as hcs-platform-github-org-pat — explicit bootstrap aliasInvoke-GitHubSecretsDistribution.ps1, Invoke-GitHubAppInstallation.ps1Same as hcs-platform-github-org-pat2026-05-11Seeded as ORG_PAT into all 12 GitHub org secrets via hcs-platform-app.
hcs-platform-github-app-idGitHub App ID for hcs-platform-app (App ID: 3683613)Invoke-GitHubAppInstallation.ps1On app recreation2026-05-11Not sensitive. App installed in all 12 orgs.
hcs-platform-github-app-client-idGitHub App OAuth client ID (Iv23liThz1y9CEZEE0wu)OAuth user flowsOn app recreation2026-05-11Not needed for server-to-server automation — only for OAuth user flows.
hcs-platform-github-app-client-secretGitHub App OAuth client secretOAuth user flows180 days2026-05-11Not needed for server-to-server automation — only for OAuth user flows.
hcs-platform-github-app-private-keyGitHub App RSA private key — signs JWTs for installation token generationInvoke-GitHubAppInstallation.ps1On key rotation via GitHub App settings2026-05-11Primary auth credential for hcs-platform-app automation. Treat as high-value secret.
hcs-platform-anthropic-api-keyAnthropic API key for Claude Code and HCS toolingClaude Code (as ANTHROPIC_API_KEY), AzureLocal and thisismydemo org secret ANTHROPIC_API_KEY180 days or on compromise2026-05-11Seeded into AzureLocal + thisismydemo org secrets. Rotate after bootstrap.
hcs-platform-cloudflare-api-tokenCloudflare API token for DNS management (hybridsolutions.cloud)DNS management pipelines90 days or on compromise2026-05-11Renamed from hcs-prd-cloudflare-api-token.
hcs-platform-azure-sub-idPrimary HCS Azure subscription ID (be069ae1-fc96-4a07-9f8e-5994d83a137d)Load-HCSEnvironment.ps1 (as AZURE_SUBSCRIPTION_ID)On subscription change2026-05-09Not sensitive — stored for consistency. Also seeded to AzureLocal + thisismydemo org secrets as AZURE_SUBSCRIPTION_ID.
hcs-platform-ado-platform-patADO PAT for Platform Engineering orgLoad-HCSEnvironment.ps1 (as AZURE_DEVOPS_EXT_PAT), az boards, az devops CLI90 days2026-05-09AZURE_DEVOPS_EXT_PAT picked up automatically by az devops CLI.
hcs-platform-swa-docs-deploy-tokenSWA deploy token for swa-hcs-platform-prd-eus-01 (platform.hybridsolutions.cloud)ADO variable group platform-prd-secrets (as AZURE_STATIC_WEB_APPS_API_TOKEN)365 days2026-05-09Expires 2027-05-09. Regenerate via az staticwebapp secrets list.
hcs-vault-prospector-chocolatey-publisher-api-keyChocolatey Community Repository publisher API key for Vault ProspectorGitHub repository secret CHOCOLATEY_API_KEY; Load-HCSEnvironment.ps1 (as CHOCOLATEY_API_KEY); SubmitPackageManagers.ps1180 days or on compromise2026-07-16owner=kris@hybridsolutions.cloud; project=vault-prospector; rotation-days=180; managed-by=github-actions; lifecycle=permanent.
hcs-vault-prospector-windows-build-usernameTemporary local administrator username for the Vault Prospector HCS Tier 4 Windows build VMvault-prospector/infrastructure/windows-fallback, Deploy-HcsWindowsFallback.ps1Per ephemeral build2026-07-24Paired with hcs-vault-prospector-windows-build-password; expires 2026-08-23; lifecycle=temporary.
hcs-vault-prospector-windows-build-passwordTemporary local administrator password for the Vault Prospector HCS Tier 4 Windows build VMvault-prospector/infrastructure/windows-fallback, Deploy-HcsWindowsFallback.ps1Per ephemeral build2026-07-24Paired with hcs-vault-prospector-windows-build-username; expires 2026-08-23; lifecycle=temporary. Soft-delete after the ephemeral VM is removed.
hcs-personal-github-kristopherjturner-usernameGitHub login username for kristopherjturner personal accountManual admin sessions30 days2026-05-09lifecycle=temporary. Expires 2026-06-08.
hcs-personal-github-kristopherjturner-passwordGitHub login password for kristopherjturner personal accountManual admin sessions30 days2026-05-09lifecycle=temporary. Expires 2026-06-08.
hcs-personal-entra-kris-hybridsolutions-cloud-usernameEntra UPN for kris@hybridsolutions.cloudManual admin sessions, az login30 days2026-05-09lifecycle=temporary. Expires 2026-06-08.
hcs-personal-entra-kris-hybridsolutions-cloud-passwordEntra password for kris@hybridsolutions.cloudManual admin sessions, az login30 days2026-05-09lifecycle=temporary. Expires 2026-06-08.
hcs-personal-entra-kristopher-turner-azurelocal-cloud-usernameEntra UPN for kristopher.turner@azurelocal.cloudManual admin sessions (TierPoint / AzureLocal.cloud tenant)30 days2026-05-09lifecycle=temporary. MFA required — device code flow. Expires 2026-06-08.
hcs-personal-entra-kristopher-turner-azurelocal-cloud-passwordEntra password for kristopher.turner@azurelocal.cloudManual admin sessions (TierPoint / AzureLocal.cloud tenant)30 days2026-05-09lifecycle=temporary. MFA required — device code flow. Expires 2026-06-08.
hcs-platform-gitlab-kjt-godmode-patGitLab PAT for kristopherjturner (gitlab.com) — god-mode access to all tierpoint/prodtech groupsInvoke-GitLabVariableDistribution.ps1, GitLab CI/CD group seeding365 days or on compromise2026-05-12Scopes: api, read_repository, write_repository. Used by AB#23/AB#406 automation.
hcs-platform-gitlab-tp-godmode-patGitLab PAT for kristopher.turner@tierpoint.com — same account as kristopherjturnerInvoke-GitLabVariableDistribution.ps1365 days or on compromise2026-05-12Same identity as kjt PAT — both accounts are kristopherjturner.
hcs-platform-automation-spn-client-idSPN client ID for hcs-platform-automation-spn (App ID: f6c58fe8-b505-40e0-9131-c47edaa24b0e)Platform automation scripts, hybridsolutions.cloud tenant1 year (rotate with secret)2026-05-12Created via Invoke-TenantIdentitySetup.ps1 (AB#21).
hcs-platform-automation-spn-secretSPN client secret for hcs-platform-automation-spnPlatform automation scripts, hybridsolutions.cloud tenant1 year2026-05-12Expires 2027-05-11. Rotate before expiry.
hcs-platform-mi-hcs-platform-client-idManaged identity client ID for mi-hcs-platform (d7bbb90b-d197-44d5-b1a0-4847cb713cdc)Platform tooling — cross-vault readsOn MI recreation2026-05-12Not sensitive — resource ID. Created via Invoke-TenantIdentitySetup.ps1 (AB#21).
hcs-platform-mi-turnerlegacy-platform-client-idMI client ID for mi-turnerlegacy-platform (53487ef5-3616-4449-9980-cacaa41e9b6e)Platform toolingOn MI recreation2026-05-12turnerlegacy.org tenant (57be591b). AB#21.
hcs-platform-mi-azlmgmt-platform-client-idMI client ID for mi-azlmgmt-platform (327b87d3-05e7-4ea6-8363-a3ca04196a7a)Platform toolingOn MI recreation2026-05-12azurelocal.cloud tenant (604d3138). AB#21.
hcs-platform-mi-tpdemos-platform-client-idMI client ID for mi-tpdemos-platform (4773d848-66b9-4940-9ca5-c724f224403b)Platform toolingOn MI recreation2026-05-12tierpointdemos.cloud tenant (28217fed). AB#21.
hcs-platform-mi-tppoc-platform-client-idMI client ID for mi-tppoc-platform (185f555d-a70b-4d62-8353-fccfe86a0274)Platform toolingOn MI recreation2026-05-12tierpointpoc.cloud tenant (2e21f99f). AB#21.
hcs-platform-mi-tplabs-platform-client-idMI client ID for mi-tplabs-platform (d247b73c-9863-4411-8dcd-d62f9667393b)Platform toolingOn MI recreation2026-05-12tierpointproductlabs.cloud tenant (a9b67171). AB#21.
hcs-platform-mi-phx-platform-client-idMI client ID for mi-phx-platform (e20a3403-2ef5-4c6b-9c5a-66e28a323d56)Platform toolingOn MI recreation2026-05-12projectphx.cloud tenant (c9257f80). AB#21.
hcs-platform-mi-ptlmgmt-platform-client-idMI client ID for mi-ptlmgmt-platform (ac0d8316-dc16-4079-8f9f-bcdf5ea2de2e)Platform toolingOn MI recreation2026-05-12prodtechlabmgmt.com tenant (3321553e). AB#21.
42-platform-automation-spn-client-idSPN client ID for 42-platform-automation-spn (App ID: 3a8f6c9a-be3e-48eb-92c4-e12375424c34)Platform automation, project-42.dev tenant (76825617-409d-4777-8986-e464f35bbcd9)2 years (rotate with secret)2026-07-26Entra-ID-only tenant, no subscription — no MI possible, stored centrally here instead of a per-tenant vault. Created via direct Microsoft Graph calls, not Invoke-TenantIdentitySetup.ps1 (script has an unfixed tenant-context bug for subscription-less tenants).
42-platform-automation-spn-secretSPN client secret for 42-platform-automation-spnPlatform automation, project-42.dev tenant2 years2026-07-26Expires 2028-07-27. Global Admin only in tenant 42 — no Owner @ root MG (no subscription/ARM scope exists).
gemini-api-keyGoogle Gemini API key for the Invoke-HCSGeminiPrompt.ps1 REST wrapper and gemini-runner agentscripts/Invoke-HCSGeminiPrompt.ps1 (resolved at runtime via scripts/lib/HCS.KeyVault.psm1), gemini-runner agent90 days or on compromisepending Phase 0bACTION REQUIRED: exposed key must be rotated at aistudio.google.com before storing. Do not store the old key. Never log or display the resolved value.
hcs-gh-runner-patGitHub PAT for the HCS-tenant shared Linux CI runner (KEDA ACA Job, GitHub Actions). Scopes: repo (for org-scoped runner registration).infrastructure/runners/main.bicep (KV reference), Update-RunnerRegistration.ps1, MCP get_auth_token broker90 days or on compromisependingUsed by KEDA github-runner scaler + runner registration. Rotate via GitHub → Settings → Developer settings → PATs.
hcs-gitlab-runner-tokenGitLab runner registration token for the HCS-tenant shared Linux CI runner (KEDA ACA Job, GitLab CI).infrastructure/runners/main.bicep (KV reference), Update-RunnerRegistration.ps190 days or on compromisependingGroup-scoped registration token for tierpoint/prodtech. Rotate via GitLab → Group → Settings → CI/CD → Runners.
hcs-bld-vm-passwordAdmin password for bld-01 nested Hyper-V Windows build VM (Tier 3).Invoke-BuildOnVm.ps1, templates/scripts/Invoke-BuildOnVm.ps1, MCP get_kv_secretOn compromise / after OS reinstallexistingVM IP: 10.10.10.10, switch: beacon-nat.
hcs-winbuild-vm-passwordAdmin password for the Tier-4 quick-deploy Windows build fallback VM (vm-hcs-winbuild-eus2-01).infrastructure/runners/modules/windows-fallback.bicep (KV reference), Deploy-Runners.ps1 -DeployWindowsFallbackOn each new VM deploy or on compromisependingOnly stored when Tier-4 VM is deployed. Rotate after each ephemeral VM teardown.

Cryptographic keys — kv-hcs-vault-01

Key namePurposeConsumersRotation scheduleCreatedNotes
hcs-vault-prospector-release-signing-keyEC P-256 Cosign key for Vault Prospector Preview release bundlesADO Vault Prospector Release pipeline through the HCS Platform Azure service connection365 days or immediately on suspected compromise2026-07-24Non-exportable Key Vault key; pipeline service principal has Key Vault Crypto User at key scope only. Public key is committed in the product repository.

Registry — kv-turnerlegacy-prod

Secret namePurposeConsumersRotation scheduleLast rotatedNotes
ADO-PATADO PAT for Turner Legacy Platform pipelinesTurner Legacy Platform CI/CD90 daysPre-dates naming standard. Rename on next rotation.
CLOUDFLARE-API-TOKENCloudflare API token for Turner Legacy domain DNSTurner Legacy Platform DNS management90 daysPre-dates naming standard.
CLOUDFLARE-ZONE-IDCloudflare zone ID for Turner Legacy domainTurner Legacy Platform DNS managementOn zone changePre-dates naming standard. Not sensitive.
COSMOS-ADMIN-PASSWORDCosmos DB admin password for Turner Legacy Platform appTurner Legacy Platform API90 daysPre-dates naming standard.
cosmos-db-connectionCosmos DB connection string for Turner Legacy Platform appTurner Legacy Platform API90 daysPre-dates naming standard.
GITHUB-APP-CLIENT-SECRETGitHub App client secret for Turner Legacy GitHub integrationTurner Legacy Platform180 daysPre-dates naming standard.
GITHUB-APP-IDGitHub App ID for Turner Legacy GitHub integrationTurner Legacy PlatformOn app changePre-dates naming standard. Not sensitive.
GITHUB-APP-PRIVATE-KEYGitHub App private key for Turner Legacy GitHub integrationTurner Legacy Platform180 daysPre-dates naming standard.
storage-connection-stringAzure Storage connection string for Turner Legacy PlatformTurner Legacy Platform90 daysPre-dates naming standard.
tl-platform-automation-spn-client-idSPN client ID for tl-platform-automation-spn (App ID: a7f4c522-7238-4668-8356-8d74d61ebee0)Platform automation scripts, turnerlegacy.org tenant1 year (rotate with secret)2026-05-12Created via Invoke-TenantIdentitySetup.ps1 (AB#21).
tl-platform-automation-spn-secretSPN client secret for tl-platform-automation-spnPlatform automation scripts, turnerlegacy.org tenant1 year2026-05-12Expires 2027-05-11. Rotate before expiry.

Registry — kv-azlmgmt-platform

Vault for azurelocal.cloud tenant (604d3138). Created 2026-05-12 as part of AB#21.

Secret namePurposeConsumersRotation scheduleLast rotatedNotes
azl-platform-automation-spn-client-idSPN client ID for azl-platform-automation-spn (App ID: 92cba745-be4d-45af-b2ae-f944aa976d13)Platform automation scripts, azurelocal.cloud tenant1 year (rotate with secret)2026-05-12Created via Invoke-TenantIdentitySetup.ps1 (AB#21).
azl-platform-automation-spn-secretSPN client secret for azl-platform-automation-spnPlatform automation scripts, azurelocal.cloud tenant1 year2026-05-12Expires 2027-05-11. Rotate before expiry.

Registry — kv-demos-platform

Vault for tierpointdemos.cloud tenant (28217fed). Located in subscription 5e04c7f2.

Secret namePurposeConsumersRotation scheduleLast rotatedNotes
tpdemos-platform-automation-spn-client-idSPN client ID for tpdemos-platform-automation-spn (App ID: 4e87f1ef-f114-442a-9ab6-83dd74468cf2)Platform automation scripts, tierpointdemos.cloud tenant1 year (rotate with secret)2026-05-12Created via Invoke-TenantIdentitySetup.ps1 (AB#21). Also read by Invoke-GitLabVariableDistribution.ps1 for lab-environments and azl-conference-demos group vars.
tpdemos-platform-automation-spn-secretSPN client secret for tpdemos-platform-automation-spnPlatform automation scripts, GitLab CI/CD group vars1 year2026-05-12Expires 2027-05-11. Rotate before expiry.

Registry — kv-tppoc-platform

Vault for tierpointpoc.cloud tenant (2e21f99f). Created 2026-05-12 as part of AB#21.

Secret namePurposeConsumersRotation scheduleLast rotatedNotes
tppoc-platform-automation-spn-client-idSPN client ID for tppoc-platform-automation-spn (App ID: 1c34b4bf-c86d-4ffc-882c-bfe1ef9396d9)Platform automation scripts, tierpointpoc.cloud tenant1 year (rotate with secret)2026-05-12Created via Invoke-TenantIdentitySetup.ps1 (AB#21). Read by Invoke-GitLabVariableDistribution.ps1 for tierpointpoc project vars.
tppoc-platform-automation-spn-secretSPN client secret for tppoc-platform-automation-spnPlatform automation scripts, GitLab CI/CD project vars1 year2026-05-12Expires 2027-05-11. Rotate before expiry.

Registry — kv-tplabs-platform

Vault for tierpointproductlabs.cloud tenant (a9b67171). Located in subscription 2caa0b8a.

Secret namePurposeConsumersRotation scheduleLast rotatedNotes
tplabs-platform-automation-spn-client-idSPN client ID for tplabs-platform-automation-spn (App ID: fc07570b-f97d-41c3-a1d9-1de106503084)Platform automation scripts, tierpointproductlabs.cloud tenant1 year (rotate with secret)2026-05-12Created via Invoke-TenantIdentitySetup.ps1 (AB#21). Read by Invoke-GitLabVariableDistribution.ps1 for tierpointproductlabs project vars.
tplabs-platform-automation-spn-secretSPN client secret for tplabs-platform-automation-spnPlatform automation scripts, GitLab CI/CD project vars1 year2026-05-12Expires 2027-05-11. KV_SP_SECRET set unmasked in GitLab — secret contains chars incompatible with GitLab masking.

Registry — kv-phx-platform

Vault for projectphx.cloud tenant (c9257f80). Located in subscription 2f075d7e.

Secret namePurposeConsumersRotation scheduleLast rotatedNotes
phx-platform-automation-spn-client-idSPN client ID for phx-platform-automation-spn (App ID: e1953212-8a75-49ee-a031-3f7225560cd7)Platform automation scripts, projectphx.cloud tenant1 year (rotate with secret)2026-05-12Created via Invoke-TenantIdentitySetup.ps1 (AB#21). Read by Invoke-GitLabVariableDistribution.ps1 for projectphx project vars.
phx-platform-automation-spn-secretSPN client secret for phx-platform-automation-spnPlatform automation scripts, GitLab CI/CD project vars1 year2026-05-12Expires 2027-05-11. Rotate before expiry.

Registry — kv-ptlmgmt-platform

Vault for prodtechlabmgmt.com tenant (3321553e).

Secret namePurposeConsumersRotation scheduleLast rotatedNotes
ptlmgmt-platform-automation-spn-client-idSPN client ID for ptlmgmt-platform-automation-spn (App ID: 31fc0219-15a3-4022-a6f7-f4f82deade95)Platform automation scripts, prodtechlabmgmt.com tenant1 year (rotate with secret)2026-05-12Created via Invoke-TenantIdentitySetup.ps1 (AB#21). Read by Invoke-GitLabVariableDistribution.ps1 for haas group vars.
ptlmgmt-platform-automation-spn-secretSPN client secret for ptlmgmt-platform-automation-spnPlatform automation scripts, GitLab CI/CD group vars1 year2026-05-12Expires 2027-05-11. KV_SP_SECRET set unmasked in GitLab (haas group) — secret contains chars incompatible with GitLab masking.

Deleted / revoked secrets

Secret nameVaultDeleted onReason
hcs-platform-github-kjt-godmode-patkv-hcs-vault-012026-05-11Superseded by hcs-platform-app installation tokens
github-pat-classic-all-orgskv-hcs-vault-012026-05-11Old non-standard name, superseded
github-pat-azurelocal-project-labelskv-hcs-vault-012026-05-11Old one-off PAT, no longer needed
github-azurelocalcloud-vscode-accesskv-hcs-vault-012026-05-11Old VS Code token, non-standard name
vscode-all-orgs-godmodekv-hcs-vault-012026-05-11Old god-mode token, superseded
hybridcloud-kris-passwordkv-hcs-vault-012026-05-11Old non-standard personal cred
hybridcloud-kris-usernamekv-hcs-vault-012026-05-11Old non-standard personal cred
platform-docs-swa-deploy-tokenkv-hcs-vault-012026-05-11Renamed to hcs-platform-swa-docs-deploy-token
hcs-prd-cloudflare-api-tokenkv-hcs-vault-012026-05-11Renamed to hcs-platform-cloudflare-api-token
hcs-prd-ado-platform-patkv-hcs-vault-012026-05-11Renamed to hcs-platform-ado-platform-pat
hcs-prd-azure-sub-idkv-hcs-vault-012026-05-11Renamed to hcs-platform-azure-sub-id
hcs-prd-github-org-patkv-hcs-vault-012026-05-11Renamed to hcs-platform-github-org-pat
hcs-platform-github-kjt-passwordkv-hcs-vault-012026-05-09Renamed per AB#20 naming standard
hcs-platform-entra-hcs-passwordkv-hcs-vault-012026-05-09Renamed per AB#20 naming standard
hcs-platform-entra-azl-passwordkv-hcs-vault-012026-05-09Renamed per AB#20 naming standard

Vault access

Access to each vault is controlled by Azure RBAC. Minimum roles:

RoleCapability
Key Vault Secrets UserRead secrets
Key Vault Secrets OfficerCreate and update secrets

The platform managed identity has cross-vault read access. See managed-identities.md.

Copyright © Hybrid Cloud Solutions LLC — Kristopher Turner