{
  "data": {
    "a": {
      "slug": "azure-key-vault",
      "name": "Azure Key Vault",
      "vendor": "Microsoft Corporation",
      "vendorUrl": "https://azure.microsoft.com/en-us/products/key-vault",
      "kind": "http-api",
      "category": "secrets",
      "summary": "Microsoft Azure's managed store for secrets, encryption keys and TLS certificates. Applications read secrets over a REST API or the Azure SDKs and CLI, signing in with Microsoft Entra ID and authorised by Azure role assignments.",
      "url": "https://www.anchorterminal.com/tools/azure-key-vault",
      "markdownUrl": "https://www.anchorterminal.com/tools/azure-key-vault.md",
      "slimMarkdownUrl": "https://www.anchorterminal.com/tools/azure-key-vault.min.md",
      "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/azure-key-vault.json",
      "repo": "https://github.com/Azure/azure-rest-api-specs",
      "license": "Proprietary service under Microsoft's Product Terms. The Azure SDK client libraries are MIT",
      "transports": [
        "http"
      ],
      "remoteUrl": "https://\u003cvault-name\u003e.vault.azure.net",
      "packages": [
        {
          "registry": "pypi",
          "name": "azure-keyvault-secrets"
        },
        {
          "registry": "npm",
          "name": "@azure/keyvault-secrets"
        },
        {
          "registry": "go",
          "name": "github.com/Azure/azure-sdk-for-go/sdk/security/keyvault/azsecrets"
        }
      ],
      "auth": "oauth",
      "authNotes": "Every data plane call carries a Microsoft Entra ID OAuth 2.0 bearer token for the scope https://vault.azure.net/.default. There are no API keys. A workload on Azure uses a managed identity, and anything else uses a service principal registered in the vault's Entra tenant. Access is self-serve inside an Azure subscription. An owner assigns a role such as Key Vault Secrets User (read secret contents) or Key Vault Secrets Officer at subscription, resource group, vault or single-secret scope. Legacy vault access policies still work, and Microsoft's guidance says not to use them for critical data (https://learn.microsoft.com/en-us/azure/key-vault/general/authentication, https://learn.microsoft.com/en-us/azure/key-vault/general/rbac-guide).",
      "pricing": "usage",
      "pricingNotes": "$0.03 per 10,000 operations on secrets in both the Standard and Premium tiers in East US, with no charge per stored secret. Renewal of a managed storage account key is metered at $1, and a certificate renewal request at $3. The pricing page draws its numbers by script, so these come from the Azure Retail Prices API (https://prices.azure.com/api/retail/prices?$filter=serviceName%20eq%20%27Key%20Vault%27%20and%20armRegionName%20eq%20%27eastus%27). No free allowance for Key Vault was found on the free services page. A new Azure account gets $200 of credit for 30 days and needs a phone number and a credit or debit card (https://azure.microsoft.com/en-us/pricing/purchase-options/azure-account).",
      "priceSummary": "$0.003 / 1k calls",
      "where": "hosted",
      "x402": {
        "level": "no",
        "evidence": "No x402, MPP or L402 in the Key Vault docs, the REST reference or the pricing page (checked 2026-10-08).",
        "endpoints": []
      },
      "toolCount": null,
      "popularity": {
        "githubStars": null,
        "npmWeekly": 2598246,
        "pypiWeekly": 9507749,
        "asOf": "2026-10-08"
      },
      "docsUrl": "https://learn.microsoft.com/en-us/azure/key-vault/",
      "openapi": "https://raw.githubusercontent.com/Azure/azure-rest-api-specs/main/specification/keyvault/data-plane/Secrets/stable/2025-07-01/secrets.json",
      "capabilities": [
        "secrets.store",
        "secrets.machine-identity",
        "secrets.audit",
        "secrets.rotate",
        "infra.azure"
      ],
      "tags": [
        "hosted",
        "closed-source",
        "usage-priced",
        "card-required",
        "openapi",
        "oauth",
        "python",
        "typescript",
        "go",
        "dotnet",
        "java",
        "enterprise",
        "sla",
        "eu"
      ],
      "lastRelease": "2026-10-02",
      "graded": true,
      "anchor": {
        "graded": true,
        "score": 74.7,
        "grade": "BB",
        "agentReady": true,
        "rank": 60,
        "ranked": true,
        "rankOf": 722,
        "categoryRank": 4,
        "methodology": "0.4",
        "run": "2026-10-01",
        "scores": {
          "ergonomics": 75,
          "maintenance": 80,
          "payments": 20,
          "reliability": 87,
          "schema": 85,
          "security": 86,
          "transparency": 77
        },
        "pending": [
          "performance",
          "tasks"
        ],
        "assessment": {
          "confidence": "medium",
          "date": "2026-10-08"
        },
        "negative": 0,
        "verdict": "Access runs on Microsoft Entra ID tokens and Azure roles that can be scoped to one secret, with soft delete, a 99.99 per cent SLA and a public OpenAPI contract. Secret rotation needs an Event Grid trigger and a function the owner writes, audit logging is off until enabled, and an Azure subscription needs a person and a payment card.",
        "bestFor": "Agents and runtimes already on Azure, where a managed identity reads a secret with no stored credential.",
        "strengths": [
          "No API keys. Every call carries a Microsoft Entra ID bearer token, and managed identities remove stored credentials for workloads on Azure",
          "Azure roles can be assigned on a vault or one secret, with Key Vault Secrets User limited to reading secret contents",
          "Deleted secrets stay recoverable for 7 to 90 days, and purging needs a separate permission",
          "SLA of 99.99 per cent uptime for read transactions, with 10 and 25 per cent credits, in the 1 October 2026 SLA document",
          "Public OpenAPI 2.0 contract for the 12 secrets operations, and Learn pages returned as Markdown on request"
        ],
        "weaknesses": [
          "No managed rotation for secrets. Key Vault raises a near-expiry event 30 days ahead and the owner's Azure Function does the rotation",
          "Audit logging is off until a diagnostic setting sends AuditEvent logs to a storage account, event hub or Azure Monitor",
          "Set Secret has no idempotency key, so a retried write adds another version",
          "Listing returns at most 25 secrets a page with no name or tag filter",
          "No free allowance for Key Vault was found, and an Azure account needs a phone number and a credit or debit card"
        ],
        "agentNotes": [
          "Request a token for the resource https://vault.azure.net and send it as a Bearer header. Every call must carry `api-version`, such as 2025-07-01, because there is no default",
          "Ask for the Key Vault Secrets User role on the vault or the single secret. Key Vault Reader returns metadata only, not values",
          "Cache secret values in memory. A vault allows 4,000 reads and 300 secret creations per 10 seconds, and a subscription five times that",
          "On 429 wait 1, 2, 4, 8 then 16 seconds. Throttled requests do not count against the limit",
          "Don't retry Set Secret blindly. Each successful call creates a new version of the secret"
        ],
        "metrics": {
          "kind": "remote",
          "measured": false
        },
        "reviewCount": 0,
        "avgRating": 0,
        "history": [
          {
            "basis": "public evidence",
            "confidence": "medium",
            "grade": "BB",
            "methodology": "0.4",
            "pending": [
              "performance",
              "tasks"
            ],
            "run": "2026-10-01",
            "runLabel": "October 2026 research run",
            "score": 74.7
          }
        ],
        "editorialScores": {
          "ergonomics": 75,
          "maintenance": 80,
          "payments": 20,
          "reliability": 87,
          "schema": 85,
          "security": 86,
          "transparency": 67
        },
        "provenanceScore": 86
      },
      "connect": {
        "install": "pip install azure-keyvault-secrets azure-identity   # or: npm i @azure/keyvault-secrets @azure/identity",
        "http": "GET https://\u003cvault-name\u003e.vault.azure.net/secrets/\u003csecret-name\u003e?api-version=2025-07-01\nAuthorization: Bearer \u003cEntra ID access token for https://vault.azure.net\u003e"
      },
      "letme": {
        "capability": "https://letme.dev/secrets.store",
        "tool": "https://letme.dev/azure-key-vault"
      },
      "sameCompany": [
        "azure-foundry-fine-tuning",
        "azure-ai-content-safety",
        "azure-speech-to-text",
        "azure-text-to-speech",
        "microsoft-agent-framework",
        "microsoft-execution-containers",
        "microsoft-entra-agent-id",
        "azure-devops-mcp",
        "microsoft-learn-mcp",
        "playwright-mcp",
        "azure-mcp",
        "azure-maps",
        "azure-translator",
        "microsoft-graph-calendar",
        "microsoft-teams",
        "dynamics-365-sales",
        "power-automate",
        "microsoft-advertising-api",
        "microsoft-excel-graph",
        "outlook-mail-graph"
      ],
      "area": "agent-runtime",
      "unitPrices": [
        {
          "item": "Secrets operations",
          "unit": "1k-calls",
          "usd": 0.003,
          "note": "$0.03 per 10,000 operations, East US, Standard and Premium"
        },
        {
          "item": "Certificate renewal request",
          "unit": "tx",
          "usd": 3,
          "note": "Per renewal request"
        }
      ],
      "provenance": {
        "legalEntity": "Microsoft Corporation",
        "domain": "microsoft.com",
        "domainRegistered": "1991-05-02",
        "domainNote": "Vaults answer at \u003cvault-name\u003e.vault.azure.net and management calls at management.azure.com, both Microsoft domains. Docs are on learn.microsoft.com.",
        "endpointOnVendorDomain": true,
        "terms": "https://www.microsoft.com/licensing/terms/product/ForOnlineServices/all",
        "privacy": "https://www.microsoft.com/en-us/privacy/privacystatement",
        "statusPage": "https://azure.status.microsoft/en-us/status",
        "changelog": "https://learn.microsoft.com/en-us/azure/key-vault/general/whats-new",
        "securityTxt": "expired",
        "checked": "2026-10-08",
        "notes": [
          "The Product Terms for Online Services cover Microsoft Azure, point to the Data Protection Addendum for customer data and to aka.ms/CSLA for the SLA. The page showed no effective date when read on 8 October 2026.",
          "Self-serve Azure accounts also accept the Microsoft Online Subscription Agreement (last updated March 2019, Microsoft Corporation, Washington law) at https://azure.microsoft.com/en-us/support/legal/subscription-agreement/, which incorporates the Online Services Terms and the SLAs.",
          "The privacy statement (last updated September 2026) names Microsoft Corporation, One Microsoft Way, Redmond, Washington 98052, and Microsoft Ireland Operations Limited in Dublin. It lists Microsoft Azure among the enterprise online services and says the customer's agreement controls where the two conflict.",
          "https://www.microsoft.com/.well-known/security.txt shows Expires 2026-09-23T16:00:00.000Z. It points to the MSRC researcher portal, the bounty policy and the coordinated disclosure policy.",
          "RDAP for microsoft.com gives a registration date of 1991-05-02.",
          "The what's new page is dated 8 September 2026 and its newest entry is March 2026."
        ],
        "score": 86
      },
      "pageJsonUrl": "https://www.anchorterminal.com/tools/azure-key-vault.json",
      "live": {
        "slug": "azure-key-vault",
        "probe": {
          "target": "https://\u003cvault-name\u003e.vault.azure.net",
          "method": "get",
          "lastAt": "2026-10-08T20:09:38.268434628Z",
          "lastOk": false,
          "lastStatus": 0,
          "lastMs": 0,
          "lastNote": "DNS lookup failed",
          "authRequired": false,
          "uptime24h": 0,
          "uptime30d": 0,
          "p50ms24h": 0,
          "p95ms24h": 0,
          "samples24h": 30,
          "samples30d": 30,
          "days": [
            {
              "date": "2026-10-08",
              "probes": 30,
              "ok": 0
            }
          ],
          "outages": [
            {
              "start": "2026-10-08T17:31:30.488017607Z",
              "end": "0001-01-01T00:00:00Z",
              "note": "DNS lookup failed"
            }
          ]
        },
        "pages": [
          {
            "url": "https://learn.microsoft.com/en-us/azure/key-vault/general/whats-new",
            "kind": "changelog",
            "status": 200,
            "checkedAt": "2026-10-08T18:21:34.108322139Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "8d3dc460aaab"
          },
          {
            "url": "https://azure.microsoft.com/en-us/pricing/purchase-options/azure-account",
            "kind": "pricing",
            "status": 200,
            "checkedAt": "2026-10-08T18:15:36.079506243Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "7a404bea65bc"
          },
          {
            "url": "https://prices.azure.com/api/retail/prices?$filter=serviceName%20eq%20%27Key%20Vault%27%20and%20armRegionName%20eq%20%27eastus%27",
            "kind": "pricing",
            "status": 200,
            "checkedAt": "2026-10-08T18:23:22.816237311Z",
            "changedAt": "0001-01-01T00:00:00Z"
          }
        ],
        "updatedAt": "2026-10-08T20:09:38.268434628Z"
      }
    },
    "answer": "Azure Key Vault scores 74.7 (BB) on agent readiness against Pulumi ESC's 71.1 (BB), and leads in 4 of 7 scored categories. Pulumi ESC leads on payments \u0026 pricing.",
    "b": {
      "slug": "pulumi-esc",
      "name": "Pulumi ESC",
      "vendor": "Pulumi Corporation",
      "vendorUrl": "https://www.pulumi.com",
      "kind": "http-api",
      "category": "secrets",
      "summary": "Pulumi ESC is the secrets and configuration service in Pulumi Cloud. Environments hold static secrets, pull from other vaults and issue short-lived cloud credentials over OIDC, read through the Pulumi CLI, a REST API and four SDKs.",
      "url": "https://www.anchorterminal.com/tools/pulumi-esc",
      "markdownUrl": "https://www.anchorterminal.com/tools/pulumi-esc.md",
      "slimMarkdownUrl": "https://www.anchorterminal.com/tools/pulumi-esc.min.md",
      "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/pulumi-esc.json",
      "repo": "https://github.com/pulumi/esc-sdk",
      "license": "Proprietary service under Pulumi's Terms \u0026 Conditions. The Pulumi CLI, the ESC evaluator and the ESC SDKs are Apache-2.0",
      "transports": [
        "http"
      ],
      "remoteUrl": "https://api.pulumi.com",
      "packages": [
        {
          "registry": "npm",
          "name": "@pulumi/esc-sdk"
        },
        {
          "registry": "pypi",
          "name": "pulumi-esc-sdk"
        },
        {
          "registry": "go",
          "name": "github.com/pulumi/esc-sdk/sdk"
        }
      ],
      "auth": "mixed",
      "authNotes": "Self-serve. Every request sends `Authorization: token \u003ctoken\u003e` to https://api.pulumi.com. A personal token comes from the console and carries all of the user's permissions. Organisation tokens (Essentials and above) and team tokens (Pro and above) are machine tokens that take a role, and custom roles with environment scopes need Pro. A workload on a registered OIDC issuer (GitHub Actions, GitLab CI, EKS, GKE and others) exchanges its ID token for a short-lived Pulumi token with `pulumi login --oidc-token` or POST /api/oauth/token. Under an agent with no credentials the CLI creates an ephemeral account by itself.",
      "pricing": "freemium",
      "pricingNotes": "Free edition with 25 secrets and 10,000 API calls a month for one user, no card. Essentials is $40 a month, Pro $400 and Enterprise $2,000, each including that many credits, with a managed secret at $0.50, $0.75 or $1.00 a month and API calls at $0.10 per 10,000. An agent can start with no contract through the free edition or an agent account (https://www.pulumi.com/pricing/, checked 2026-10-08).",
      "priceSummary": "$0.01 / 1k req",
      "where": "hosted",
      "x402": {
        "level": "no",
        "evidence": "No x402, MPP or L402 in the ESC docs, the OpenAPI document or the pricing page (checked 2026-10-08).",
        "endpoints": []
      },
      "toolCount": null,
      "popularity": {
        "githubStars": null,
        "npmWeekly": 20661,
        "pypiWeekly": 53903,
        "asOf": "2026-10-08"
      },
      "docsUrl": "https://www.pulumi.com/docs/esc/",
      "llmsTxt": "https://www.pulumi.com/llms.txt",
      "openapi": "https://api.pulumi.com/api/openapi/pulumi-spec.json",
      "capabilities": [
        "secrets.store",
        "secrets.rotate",
        "secrets.machine-identity",
        "secrets.audit"
      ],
      "tags": [
        "hosted",
        "closed-source",
        "freemium",
        "free-tier",
        "no-card",
        "openapi",
        "llms-txt",
        "oidc",
        "cli",
        "typescript",
        "python",
        "go",
        "dotnet",
        "status-page",
        "soc2",
        "enterprise"
      ],
      "lastRelease": "2026-10-07",
      "graded": true,
      "anchor": {
        "graded": true,
        "score": 71.1,
        "grade": "BB",
        "agentReady": true,
        "rank": 120,
        "ranked": true,
        "rankOf": 722,
        "categoryRank": 7,
        "methodology": "0.4",
        "run": "2026-10-01",
        "scores": {
          "ergonomics": 75,
          "maintenance": 82,
          "payments": 55,
          "reliability": 60,
          "schema": 82,
          "security": 79,
          "transparency": 65
        },
        "pending": [
          "performance",
          "tasks"
        ],
        "assessment": {
          "confidence": "medium",
          "date": "2026-10-08"
        },
        "negative": 0,
        "verdict": "An agent can start without a signup, because the Pulumi CLI creates a free ephemeral account that includes ESC, and the REST API has a public OpenAPI document. Audit logs, custom roles and approvals need the Pro edition at $400 a month, and no API rate limit was found in the reviewed documentation.",
        "bestFor": "Teams already on Pulumi, or anyone who wants one place that composes static secrets, other vaults and short-lived cloud credentials, and agents that need to start with no signup.",
        "strengths": [
          "The Pulumi CLI creates a free ephemeral account for an agent with no signup, with write access for 72 hours and 30 days to claim it",
          "Public OpenAPI 3.0.3 document with 127 ESC operations, an llms.txt and a Markdown copy of every docs page",
          "OIDC issuers exchange a workload's ID token for a short-lived Pulumi token, 25 hours at most by default",
          "Separate read, open and write scopes per environment, with open approvals and update approvals on Pro and Enterprise",
          "Prices published per unit, $0.50 a secret a month on Essentials and $0.10 per 10,000 API calls, with a free edition and no card"
        ],
        "weaknesses": [
          "Audit logs, custom roles, team tokens, approvals and customer-managed keys need Pro ($400 a month) or Enterprise",
          "No API rate limit with numbers was found in the reviewed documentation",
          "No public data processing addendum or subprocessor list was found, and the terms and privacy statement carry no date",
          "The official Pulumi MCP server lists no ESC tools, and the standalone esc CLI was retired at v0.26.0 on 9 July 2026",
          "A 42-minute major incident on 6 October 2026 affected inbound OIDC on the API and ESC, with no detail published",
          "The free edition has personal tokens only, which carry all of the user's permissions"
        ],
        "agentNotes": [
          "Use `pulumi env`, not `esc`. The standalone CLI stopped at v0.26.0 and gets no security fixes",
          "Read one value with `pulumi env open \u003corg\u003e/\u003cproject\u003e/\u003cenv\u003e \u003cproperty path\u003e` so the whole environment doesn't enter context",
          "Run tools with `pulumi env run \u003cenv\u003e -- \u003ccmd\u003e`, which filters secret values from the command's output unless -i is set",
          "Set PULUMI_ACCESS_TOKEN for the SDKs. From 0.14.0 they no longer read the CLI login on disk",
          "Send `Authorization: token \u003ctoken\u003e` and `Accept: application/vnd.pulumi+8` on REST calls, and expect 409 when an environment changed since it was read",
          "Relay the claim link an agent account prints. The account goes read-only after 72 hours and locks after 30 days unclaimed"
        ],
        "metrics": {
          "kind": "remote",
          "measured": false
        },
        "reviewCount": 0,
        "avgRating": 0,
        "history": [
          {
            "basis": "public evidence",
            "confidence": "medium",
            "grade": "BB",
            "methodology": "0.4",
            "pending": [
              "performance",
              "tasks"
            ],
            "run": "2026-10-01",
            "runLabel": "October 2026 research run",
            "score": 71.1
          }
        ],
        "editorialScores": {
          "ergonomics": 75,
          "maintenance": 82,
          "payments": 55,
          "reliability": 60,
          "schema": 82,
          "security": 79,
          "transparency": 48
        },
        "provenanceScore": 82
      },
      "connect": {
        "install": "curl -fsSL https://get.pulumi.com | sh",
        "http": "curl -H \"Authorization: token $PULUMI_ACCESS_TOKEN\" \\\n     -H \"Accept: application/vnd.pulumi+8\" \\\n     https://api.pulumi.com/api/user"
      },
      "letme": {
        "capability": "https://letme.dev/secrets.store",
        "tool": "https://letme.dev/pulumi-esc"
      },
      "area": "agent-runtime",
      "unitPrices": [
        {
          "item": "ESC API calls",
          "unit": "1k-requests",
          "usd": 0.01,
          "note": "$0.10 per 10,000. First 10,000 a month free on the free edition"
        },
        {
          "item": "Essentials edition",
          "unit": "month",
          "usd": 40,
          "note": "Includes 40 credits. A managed secret is $0.50 a month"
        },
        {
          "item": "Pro edition",
          "unit": "month",
          "usd": 400,
          "note": "Includes 400 credits. A managed secret is $0.75 a month"
        },
        {
          "item": "Enterprise edition",
          "unit": "month",
          "usd": 2000,
          "note": "Includes 2,000 credits. A managed secret is $1.00 a month"
        }
      ],
      "provenance": {
        "legalEntity": "Pulumi Corporation",
        "domain": "pulumi.com",
        "domainRegistered": "2017-02-13",
        "endpointOnVendorDomain": true,
        "terms": "https://www.pulumi.com/terms-and-conditions/",
        "privacy": "https://www.pulumi.com/privacy/",
        "statusPage": "https://status.pulumi.com",
        "changelog": "https://www.pulumi.com/releases/changelog/",
        "securityTxt": "none",
        "checked": "2026-10-08",
        "notes": [
          "The Terms \u0026 Conditions govern use of the Pulumi Services and name Pulumi Corporation, 601 Union St., Suite 1415, Seattle, WA 98101, with Washington law and King County courts. We found no date on the page.",
          "The privacy statement covers customers who register to use the services and gives privacy@pulumi.com as contact. We found no date on the page.",
          "www.pulumi.com/.well-known/security.txt and www.pulumi.com/security.txt both return 404. The security page gives security@pulumi.com and a PGP key.",
          "status.pulumi.com is Atlassian Statuspage with an ESC component. Its incident feed goes back to October 2023.",
          "No data processing addendum or subprocessor list was found on www.pulumi.com. The addresses we tried returned 404 and the sitemap lists neither.",
          "RDAP for pulumi.com gives a registration date of 2017-02-13."
        ],
        "score": 82
      },
      "pageJsonUrl": "https://www.anchorterminal.com/tools/pulumi-esc.json",
      "live": {
        "slug": "pulumi-esc",
        "probe": {
          "target": "https://api.pulumi.com",
          "method": "get",
          "lastAt": "2026-10-08T20:09:56.39392546Z",
          "lastOk": true,
          "lastStatus": 404,
          "lastMs": 218,
          "authRequired": false,
          "uptime24h": 100,
          "uptime30d": 100,
          "p50ms24h": 158,
          "p95ms24h": 272,
          "samples24h": 30,
          "samples30d": 30,
          "days": [
            {
              "date": "2026-10-08",
              "probes": 30,
              "ok": 30
            }
          ]
        },
        "vendorStatus": {
          "page": "https://status.pulumi.com",
          "indicator": "none",
          "summary": "All Systems Operational",
          "checkedAt": "2026-10-08T20:01:18.989791514Z"
        },
        "pages": [
          {
            "url": "https://www.pulumi.com/releases/changelog/",
            "kind": "changelog",
            "status": 200,
            "checkedAt": "2026-10-08T18:29:52.955269848Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "ddd6467eba9b"
          },
          {
            "url": "https://www.pulumi.com/pricing/",
            "kind": "pricing",
            "status": 200,
            "checkedAt": "2026-10-08T18:29:48.804855492Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "ba84dc7bc768"
          },
          {
            "url": "https://www.pulumi.com/privacy/",
            "kind": "privacy",
            "status": 200,
            "checkedAt": "2026-10-08T18:29:51.056197289Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "96eac852b529"
          },
          {
            "url": "https://www.pulumi.com/terms-and-conditions/",
            "kind": "terms",
            "status": 200,
            "checkedAt": "2026-10-08T18:29:55.102680068Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "660bfdce2184"
          }
        ],
        "updatedAt": "2026-10-08T20:09:56.39392546Z"
      }
    },
    "facts": [
      {
        "a": "HTTP API",
        "b": "HTTP API",
        "name": "Kind"
      },
      {
        "a": "Microsoft Corporation",
        "b": "Pulumi Corporation",
        "name": "Vendor"
      },
      {
        "a": "https://\u003cvault-name\u003e.vault.azure.net",
        "b": "https://api.pulumi.com",
        "name": "Hosted endpoint"
      },
      {
        "a": "HTTP",
        "b": "HTTP",
        "name": "Transports"
      },
      {
        "a": "OAuth",
        "b": "OAuth or key",
        "name": "Auth"
      },
      {
        "a": "Pay per use",
        "b": "Freemium",
        "name": "Pricing"
      },
      {
        "a": "no",
        "b": "no",
        "name": "x402"
      },
      {
        "a": "Proprietary service under Microsoft's Product Terms. The Azure SDK client libraries are MIT",
        "b": "Proprietary service under Pulumi's Terms \u0026 Conditions. The Pulumi CLI, the ESC evaluator and the ESC SDKs are Apache-2.0",
        "name": "Licence"
      },
      {
        "a": "no",
        "b": "yes",
        "name": "Read-only variant documented"
      },
      {
        "a": "no",
        "b": "yes",
        "name": "llms.txt"
      },
      {
        "a": "2026-10-02",
        "b": "2026-10-07",
        "name": "Last release"
      },
      {
        "a": "no date given",
        "b": "no date given",
        "name": "Terms last updated"
      },
      {
        "a": "2026-09-01",
        "b": "no date given",
        "name": "Privacy policy last updated"
      },
      {
        "a": "yes",
        "b": "not found in the text",
        "name": "Customer content may train models"
      },
      {
        "a": "yes",
        "b": "not found in the text",
        "name": "Terms restrict automated access"
      },
      {
        "a": "yes",
        "b": "not found in the text",
        "name": "Terms restrict benchmarking"
      },
      {
        "a": "not found in the text",
        "b": "yes",
        "name": "Terms or service can change without notice"
      },
      {
        "a": "not found in the text",
        "b": "not found in the text",
        "name": "Arbitration or class-action waiver"
      },
      {
        "a": "2.6M npm/wk, 9.5M PyPI/wk",
        "b": "21k npm/wk, 54k PyPI/wk",
        "name": "Popularity"
      }
    ],
    "faq": [
      {
        "answer": "Azure Key Vault scores 74.7 (BB) on agent readiness against Pulumi ESC's 71.1 (BB), and leads in 4 of 7 scored categories. Pulumi ESC leads on payments \u0026 pricing.",
        "question": "Which is better for AI agents, Azure Key Vault or Pulumi ESC?"
      },
      {
        "answer": "Azure Key Vault uses an OAuth sign-in. Pulumi ESC takes an API key or an OAuth sign-in.",
        "question": "Do Azure Key Vault and Pulumi ESC need an API key?"
      },
      {
        "answer": "Yes. Azure Key Vault has a hosted endpoint at https://\u003cvault-name\u003e.vault.azure.net and Pulumi ESC at https://api.pulumi.com.",
        "question": "Can an agent call Azure Key Vault and Pulumi ESC without installing anything?"
      }
    ],
    "goodFor": [
      {
        "aheadOn": [
          "Reliability, 87 against 60",
          "Security \u0026 auth, 86 against 79",
          "Transparency \u0026 trust, 77 against 65"
        ],
        "also": null,
        "goodFor": "Agents and runtimes already on Azure, where a managed identity reads a secret with no stored credential.",
        "slug": "azure-key-vault",
        "watchFor": "No managed rotation for secrets. Key Vault raises a near-expiry event 30 days ahead and the owner's Azure Function does the rotation"
      },
      {
        "aheadOn": [
          "Payments \u0026 pricing, 55 against 20"
        ],
        "also": [
          "Free to start without a card"
        ],
        "goodFor": "Teams already on Pulumi, or anyone who wants one place that composes static secrets, other vaults and short-lived cloud credentials, and agents that need to start with no signup.",
        "slug": "pulumi-esc",
        "watchFor": "Audit logs, custom roles, team tokens, approvals and customer-managed keys need Pro ($400 a month) or Enterprise"
      }
    ],
    "job": {
      "capability": "secrets.store",
      "name": "Secrets store"
    },
    "others": [
      {
        "json": "https://www.anchorterminal.com/compare/1password-vs-azure-key-vault.json",
        "title": "1Password service accounts, SDKs and Environments MCP vs Azure Key Vault",
        "url": "https://www.anchorterminal.com/compare/1password-vs-azure-key-vault"
      },
      {
        "json": "https://www.anchorterminal.com/compare/1password-vs-pulumi-esc.json",
        "title": "1Password service accounts, SDKs and Environments MCP vs Pulumi ESC",
        "url": "https://www.anchorterminal.com/compare/1password-vs-pulumi-esc"
      },
      {
        "json": "https://www.anchorterminal.com/compare/akeyless-vs-azure-key-vault.json",
        "title": "Akeyless (SecretlessAI and MCP server) vs Azure Key Vault",
        "url": "https://www.anchorterminal.com/compare/akeyless-vs-azure-key-vault"
      },
      {
        "json": "https://www.anchorterminal.com/compare/akeyless-vs-pulumi-esc.json",
        "title": "Akeyless (SecretlessAI and MCP server) vs Pulumi ESC",
        "url": "https://www.anchorterminal.com/compare/akeyless-vs-pulumi-esc"
      },
      {
        "json": "https://www.anchorterminal.com/compare/aws-secrets-manager-vs-azure-key-vault.json",
        "title": "AWS Secrets Manager vs Azure Key Vault",
        "url": "https://www.anchorterminal.com/compare/aws-secrets-manager-vs-azure-key-vault"
      },
      {
        "json": "https://www.anchorterminal.com/compare/aws-secrets-manager-vs-pulumi-esc.json",
        "title": "AWS Secrets Manager vs Pulumi ESC",
        "url": "https://www.anchorterminal.com/compare/aws-secrets-manager-vs-pulumi-esc"
      },
      {
        "json": "https://www.anchorterminal.com/compare/azure-key-vault-vs-bitwarden-secrets-manager.json",
        "title": "Azure Key Vault vs Bitwarden Secrets Manager",
        "url": "https://www.anchorterminal.com/compare/azure-key-vault-vs-bitwarden-secrets-manager"
      },
      {
        "json": "https://www.anchorterminal.com/compare/azure-key-vault-vs-doppler.json",
        "title": "Azure Key Vault vs Doppler",
        "url": "https://www.anchorterminal.com/compare/azure-key-vault-vs-doppler"
      },
      {
        "json": "https://www.anchorterminal.com/compare/azure-key-vault-vs-google-secret-manager.json",
        "title": "Azure Key Vault vs Google Cloud Secret Manager",
        "url": "https://www.anchorterminal.com/compare/azure-key-vault-vs-google-secret-manager"
      },
      {
        "json": "https://www.anchorterminal.com/compare/azure-key-vault-vs-hashicorp-vault.json",
        "title": "Azure Key Vault vs HashiCorp Vault + Vault MCP Server",
        "url": "https://www.anchorterminal.com/compare/azure-key-vault-vs-hashicorp-vault"
      },
      {
        "json": "https://www.anchorterminal.com/compare/azure-key-vault-vs-infisical.json",
        "title": "Azure Key Vault vs Infisical",
        "url": "https://www.anchorterminal.com/compare/azure-key-vault-vs-infisical"
      },
      {
        "json": "https://www.anchorterminal.com/compare/azure-key-vault-vs-keeper-secrets-manager.json",
        "title": "Azure Key Vault vs Keeper Secrets Manager",
        "url": "https://www.anchorterminal.com/compare/azure-key-vault-vs-keeper-secrets-manager"
      },
      {
        "json": "https://www.anchorterminal.com/compare/azure-key-vault-vs-phase.json",
        "title": "Azure Key Vault vs Phase",
        "url": "https://www.anchorterminal.com/compare/azure-key-vault-vs-phase"
      },
      {
        "json": "https://www.anchorterminal.com/compare/bitwarden-secrets-manager-vs-pulumi-esc.json",
        "title": "Bitwarden Secrets Manager vs Pulumi ESC",
        "url": "https://www.anchorterminal.com/compare/bitwarden-secrets-manager-vs-pulumi-esc"
      },
      {
        "json": "https://www.anchorterminal.com/compare/doppler-vs-pulumi-esc.json",
        "title": "Doppler vs Pulumi ESC",
        "url": "https://www.anchorterminal.com/compare/doppler-vs-pulumi-esc"
      },
      {
        "json": "https://www.anchorterminal.com/compare/google-secret-manager-vs-pulumi-esc.json",
        "title": "Google Cloud Secret Manager vs Pulumi ESC",
        "url": "https://www.anchorterminal.com/compare/google-secret-manager-vs-pulumi-esc"
      },
      {
        "json": "https://www.anchorterminal.com/compare/hashicorp-vault-vs-pulumi-esc.json",
        "title": "HashiCorp Vault + Vault MCP Server vs Pulumi ESC",
        "url": "https://www.anchorterminal.com/compare/hashicorp-vault-vs-pulumi-esc"
      },
      {
        "json": "https://www.anchorterminal.com/compare/infisical-vs-pulumi-esc.json",
        "title": "Infisical vs Pulumi ESC",
        "url": "https://www.anchorterminal.com/compare/infisical-vs-pulumi-esc"
      },
      {
        "json": "https://www.anchorterminal.com/compare/keeper-secrets-manager-vs-pulumi-esc.json",
        "title": "Keeper Secrets Manager vs Pulumi ESC",
        "url": "https://www.anchorterminal.com/compare/keeper-secrets-manager-vs-pulumi-esc"
      },
      {
        "json": "https://www.anchorterminal.com/compare/phase-vs-pulumi-esc.json",
        "title": "Phase vs Pulumi ESC",
        "url": "https://www.anchorterminal.com/compare/phase-vs-pulumi-esc"
      }
    ],
    "scores": [
      {
        "azure-key-vault": 87,
        "by": 27,
        "edge": "azure-key-vault",
        "key": "reliability",
        "name": "Reliability",
        "pulumi-esc": 60,
        "weight": 16
      },
      {
        "key": "performance",
        "name": "Performance",
        "pending": true,
        "weight": 10
      },
      {
        "azure-key-vault": 85,
        "by": 3,
        "edge": "azure-key-vault",
        "key": "schema",
        "name": "Schema \u0026 documentation",
        "pulumi-esc": 82,
        "weight": 13
      },
      {
        "azure-key-vault": 75,
        "by": 0,
        "edge": "",
        "key": "ergonomics",
        "name": "Agent ergonomics",
        "pulumi-esc": 75,
        "weight": 13
      },
      {
        "azure-key-vault": 86,
        "by": 7,
        "edge": "azure-key-vault",
        "key": "security",
        "name": "Security \u0026 auth",
        "pulumi-esc": 79,
        "weight": 14
      },
      {
        "azure-key-vault": 20,
        "by": 35,
        "edge": "pulumi-esc",
        "key": "payments",
        "name": "Payments \u0026 pricing",
        "pulumi-esc": 55,
        "weight": 10
      },
      {
        "key": "tasks",
        "name": "Task success",
        "pending": true,
        "weight": 10
      },
      {
        "azure-key-vault": 80,
        "by": 2,
        "edge": "pulumi-esc",
        "key": "maintenance",
        "name": "Maintenance \u0026 community",
        "pulumi-esc": 82,
        "weight": 7
      },
      {
        "azure-key-vault": 77,
        "by": 12,
        "edge": "azure-key-vault",
        "key": "transparency",
        "name": "Transparency \u0026 trust",
        "pulumi-esc": 65,
        "weight": 7
      }
    ],
    "summary": "Azure Key Vault scores 74.7 (BB) on agent readiness against Pulumi ESC's 71.1 (BB), and leads in 4 of 7 scored categories. Pulumi ESC leads on payments \u0026 pricing. Both do secrets store.",
    "verdicts": {
      "azure-key-vault": "Access runs on Microsoft Entra ID tokens and Azure roles that can be scoped to one secret, with soft delete, a 99.99 per cent SLA and a public OpenAPI contract. Secret rotation needs an Event Grid trigger and a function the owner writes, audit logging is off until enabled, and an Azure subscription needs a person and a payment card.",
      "pulumi-esc": "An agent can start without a signup, because the Pulumi CLI creates a free ephemeral account that includes ESC, and the REST API has a public OpenAPI document. Audit logs, custom roles and approvals need the Pro edition at $400 a month, and no API rate limit was found in the reviewed documentation."
    }
  },
  "kind": "anchor.page",
  "links": {
    "api": "https://www.anchorterminal.com/api/v1/index.json",
    "html": "https://www.anchorterminal.com/compare/azure-key-vault-vs-pulumi-esc",
    "json": "https://www.anchorterminal.com/compare/azure-key-vault-vs-pulumi-esc.json",
    "llms": "https://www.anchorterminal.com/llms.txt",
    "markdown": "https://www.anchorterminal.com/compare/azure-key-vault-vs-pulumi-esc.md",
    "slim": "https://www.anchorterminal.com/compare/azure-key-vault-vs-pulumi-esc.min.md"
  },
  "markdown": "Azure Key Vault scores 74.7 (BB) on agent readiness against Pulumi ESC's 71.1 (BB), and leads in 4 of 7 scored categories. Pulumi ESC leads on payments \u0026 pricing. Both do secrets store.\n\n- Azure Key Vault: grade BB, 74.7/100, rank #60 of 722. Markdown https://www.anchorterminal.com/tools/azure-key-vault.md · JSON https://www.anchorterminal.com/api/v1/tools/azure-key-vault.json\n- Pulumi ESC: grade BB, 71.1/100, rank #120 of 722. Markdown https://www.anchorterminal.com/tools/pulumi-esc.md · JSON https://www.anchorterminal.com/api/v1/tools/pulumi-esc.json\n\n## Which one, for what\n\n### Azure Key Vault (BB)\n\nGood for: Agents and runtimes already on Azure, where a managed identity reads a secret with no stored credential.\n\nAhead on:\n- Reliability, 87 against 60\n- Security \u0026 auth, 86 against 79\n- Transparency \u0026 trust, 77 against 65\n\nWatch for: No managed rotation for secrets. Key Vault raises a near-expiry event 30 days ahead and the owner's Azure Function does the rotation\n\n### Pulumi ESC (BB)\n\nGood for: Teams already on Pulumi, or anyone who wants one place that composes static secrets, other vaults and short-lived cloud credentials, and agents that need to start with no signup.\n\nAhead on:\n- Payments \u0026 pricing, 55 against 20\n\nAlso in its favour:\n- Free to start without a card\n\nWatch for: Audit logs, custom roles, team tokens, approvals and customer-managed keys need Pro ($400 a month) or Enterprise\n\n\n## Score by category\n\n| Category | Weight | Azure Key Vault | Pulumi ESC | Edge |\n| --- | --- | --- | --- | --- |\n| Reliability | 16% (20 this run) | 87 | 60 | Azure Key Vault +27 |\n| Performance | 10%, pending | pending | pending | not scored in this run |\n| Schema \u0026 documentation | 13% (16.2 this run) | 85 | 82 | Azure Key Vault +3 |\n| Agent ergonomics | 13% (16.2 this run) | 75 | 75 | even |\n| Security \u0026 auth | 14% (17.5 this run) | 86 | 79 | Azure Key Vault +7 |\n| Payments \u0026 pricing | 10% (12.5 this run) | 20 | 55 | Pulumi ESC +35 |\n| Task success | 10%, pending | pending | pending | not scored in this run |\n| Maintenance \u0026 community | 7% (8.8 this run) | 80 | 82 | Pulumi ESC +2 |\n| Transparency \u0026 trust | 7% (8.8 this run) | 77 | 65 | Azure Key Vault +12 |\n| Negative events | ≤15 | 0 | 0 | |\n| **Total** | | **74.7 · BB** | **71.1 · BB** | |\n\n## Facts side by side\n\n| Fact | Azure Key Vault | Pulumi ESC |\n| --- | --- | --- |\n| Kind | HTTP API | HTTP API |\n| Vendor | Microsoft Corporation | Pulumi Corporation |\n| Hosted endpoint | `https://\u003cvault-name\u003e.vault.azure.net` | `https://api.pulumi.com` |\n| Transports | HTTP | HTTP |\n| Auth | OAuth | OAuth or key |\n| Pricing | Pay per use | Freemium |\n| x402 | no | no |\n| Licence | Proprietary service under Microsoft's Product Terms. The Azure SDK client libraries are MIT | Proprietary service under Pulumi's Terms \u0026 Conditions. The Pulumi CLI, the ESC evaluator and the ESC SDKs are Apache-2.0 |\n| Read-only variant documented | no | yes |\n| llms.txt | no | yes |\n| Last release | 2026-10-02 | 2026-10-07 |\n| Terms last updated | no date given | no date given |\n| Privacy policy last updated | 2026-09-01 | no date given |\n| Customer content may train models | yes | not found in the text |\n| Terms restrict automated access | yes | not found in the text |\n| Terms restrict benchmarking | yes | not found in the text |\n| Terms or service can change without notice | not found in the text | yes |\n| Arbitration or class-action waiver | not found in the text | not found in the text |\n| Popularity | 2.6M npm/wk, 9.5M PyPI/wk | 21k npm/wk, 54k PyPI/wk |\n\n## Verdicts\n\n**Azure Key Vault.** Access runs on Microsoft Entra ID tokens and Azure roles that can be scoped to one secret, with soft delete, a 99.99 per cent SLA and a public OpenAPI contract. Secret rotation needs an Event Grid trigger and a function the owner writes, audit logging is off until enabled, and an Azure subscription needs a person and a payment card.\n\n**Pulumi ESC.** An agent can start without a signup, because the Pulumi CLI creates a free ephemeral account that includes ESC, and the REST API has a public OpenAPI document. Audit logs, custom roles and approvals need the Pro edition at $400 a month, and no API rate limit was found in the reviewed documentation.\n\n## Before you call either\n\n### Azure Key Vault\n\n1. Request a token for the resource https://vault.azure.net and send it as a Bearer header. Every call must carry `api-version`, such as 2025-07-01, because there is no default\n2. Ask for the Key Vault Secrets User role on the vault or the single secret. Key Vault Reader returns metadata only, not values\n3. Cache secret values in memory. A vault allows 4,000 reads and 300 secret creations per 10 seconds, and a subscription five times that\n4. On 429 wait 1, 2, 4, 8 then 16 seconds. Throttled requests do not count against the limit\n5. Don't retry Set Secret blindly. Each successful call creates a new version of the secret\n\n### Pulumi ESC\n\n1. Use `pulumi env`, not `esc`. The standalone CLI stopped at v0.26.0 and gets no security fixes\n2. Read one value with `pulumi env open \u003corg\u003e/\u003cproject\u003e/\u003cenv\u003e \u003cproperty path\u003e` so the whole environment doesn't enter context\n3. Run tools with `pulumi env run \u003cenv\u003e -- \u003ccmd\u003e`, which filters secret values from the command's output unless -i is set\n4. Set PULUMI_ACCESS_TOKEN for the SDKs. From 0.14.0 they no longer read the CLI login on disk\n5. Send `Authorization: token \u003ctoken\u003e` and `Accept: application/vnd.pulumi+8` on REST calls, and expect 409 when an environment changed since it was read\n6. Relay the claim link an agent account prints. The account goes read-only after 72 hours and locks after 30 days unclaimed\n\n## Questions\n\n### Which is better for AI agents, Azure Key Vault or Pulumi ESC?\n\nAzure Key Vault scores 74.7 (BB) on agent readiness against Pulumi ESC's 71.1 (BB), and leads in 4 of 7 scored categories. Pulumi ESC leads on payments \u0026 pricing.\n\n### Do Azure Key Vault and Pulumi ESC need an API key?\n\nAzure Key Vault uses an OAuth sign-in. Pulumi ESC takes an API key or an OAuth sign-in.\n\n### Can an agent call Azure Key Vault and Pulumi ESC without installing anything?\n\nYes. Azure Key Vault has a hosted endpoint at https://\u003cvault-name\u003e.vault.azure.net and Pulumi ESC at https://api.pulumi.com.\n\n\n## For agents\n\n- This comparison as JSON: https://www.anchorterminal.com/compare/azure-key-vault-vs-pulumi-esc.json, and with the fewest tokens: https://www.anchorterminal.com/compare/azure-key-vault-vs-pulumi-esc.min.md\n- Over MCP at https://www.anchorterminal.com/mcp (no key): `compare_tools {\"a\": \"azure-key-vault\", \"b\": \"pulumi-esc\"}`. From a terminal: `anchor compare azure-key-vault pulumi-esc`\n- Each listing in full: https://www.anchorterminal.com/api/v1/tools/azure-key-vault.json and https://www.anchorterminal.com/api/v1/tools/pulumi-esc.json\n\n## Other comparisons with Azure Key Vault or Pulumi ESC\n\n- [1Password service accounts, SDKs and Environments MCP vs Azure Key Vault](https://www.anchorterminal.com/compare/1password-vs-azure-key-vault.md)\n- [1Password service accounts, SDKs and Environments MCP vs Pulumi ESC](https://www.anchorterminal.com/compare/1password-vs-pulumi-esc.md)\n- [Akeyless (SecretlessAI and MCP server) vs Azure Key Vault](https://www.anchorterminal.com/compare/akeyless-vs-azure-key-vault.md)\n- [Akeyless (SecretlessAI and MCP server) vs Pulumi ESC](https://www.anchorterminal.com/compare/akeyless-vs-pulumi-esc.md)\n- [AWS Secrets Manager vs Azure Key Vault](https://www.anchorterminal.com/compare/aws-secrets-manager-vs-azure-key-vault.md)\n- [AWS Secrets Manager vs Pulumi ESC](https://www.anchorterminal.com/compare/aws-secrets-manager-vs-pulumi-esc.md)\n- [Azure Key Vault vs Bitwarden Secrets Manager](https://www.anchorterminal.com/compare/azure-key-vault-vs-bitwarden-secrets-manager.md)\n- [Azure Key Vault vs Doppler](https://www.anchorterminal.com/compare/azure-key-vault-vs-doppler.md)\n- [Azure Key Vault vs Google Cloud Secret Manager](https://www.anchorterminal.com/compare/azure-key-vault-vs-google-secret-manager.md)\n- [Azure Key Vault vs HashiCorp Vault + Vault MCP Server](https://www.anchorterminal.com/compare/azure-key-vault-vs-hashicorp-vault.md)\n- [Azure Key Vault vs Infisical](https://www.anchorterminal.com/compare/azure-key-vault-vs-infisical.md)\n- [Azure Key Vault vs Keeper Secrets Manager](https://www.anchorterminal.com/compare/azure-key-vault-vs-keeper-secrets-manager.md)\n- [Azure Key Vault vs Phase](https://www.anchorterminal.com/compare/azure-key-vault-vs-phase.md)\n- [Bitwarden Secrets Manager vs Pulumi ESC](https://www.anchorterminal.com/compare/bitwarden-secrets-manager-vs-pulumi-esc.md)\n- [Doppler vs Pulumi ESC](https://www.anchorterminal.com/compare/doppler-vs-pulumi-esc.md)\n- [Google Cloud Secret Manager vs Pulumi ESC](https://www.anchorterminal.com/compare/google-secret-manager-vs-pulumi-esc.md)\n- [HashiCorp Vault + Vault MCP Server vs Pulumi ESC](https://www.anchorterminal.com/compare/hashicorp-vault-vs-pulumi-esc.md)\n- [Infisical vs Pulumi ESC](https://www.anchorterminal.com/compare/infisical-vs-pulumi-esc.md)\n- [Keeper Secrets Manager vs Pulumi ESC](https://www.anchorterminal.com/compare/keeper-secrets-manager-vs-pulumi-esc.md)\n- [Phase vs Pulumi ESC](https://www.anchorterminal.com/compare/phase-vs-pulumi-esc.md)\n",
  "meta": {
    "attribution": "Anchor Terminal (https://www.anchorterminal.com)",
    "docs": "https://www.anchorterminal.com/docs/",
    "generatedAt": "2026-10-08",
    "license": "CC-BY-4.0",
    "method": "https://www.anchorterminal.com/benchmark/",
    "methodology": "0.4",
    "openapi": "https://www.anchorterminal.com/openapi.json",
    "preview": false,
    "run": "2026-10-01",
    "runLabel": "October 2026 research run"
  },
  "page": {
    "breadcrumbs": [
      {
        "name": "Home",
        "url": "https://www.anchorterminal.com/"
      },
      {
        "name": "Compare",
        "url": "https://www.anchorterminal.com/compare/"
      },
      {
        "name": "Azure Key Vault vs Pulumi ESC",
        "url": ""
      }
    ],
    "description": "Azure Key Vault scores 74.7 (BB) on agent readiness against Pulumi ESC's 71.1 (BB), and leads in 4 of 7 scored categories. Pulumi ESC leads on payments \u0026 pricing. Both do secrets store. Category scores, facts, verdicts and agent notes side by side.",
    "facts": [
      "Azure Key Vault BB 74.7",
      "Pulumi ESC BB 71.1",
      "scores"
    ],
    "h1": "Azure Key Vault vs Pulumi ESC",
    "image": "https://www.anchorterminal.com/assets/og/compare-azure-key-vault-vs-pulumi-esc.png",
    "path": "/compare/azure-key-vault-vs-pulumi-esc",
    "published": "2026-10-01",
    "section": "tools",
    "title": "Azure Key Vault vs Pulumi ESC for AI agents, BB 74.7 vs BB 71.1",
    "toc": null,
    "updated": "2026-10-08",
    "url": "https://www.anchorterminal.com/compare/azure-key-vault-vs-pulumi-esc"
  },
  "tokens": {
    "markdown": 2500,
    "slim": 680
  },
  "version": 1
}
