{
  "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-08T21:12:04.826805764Z",
          "lastOk": false,
          "lastStatus": 0,
          "lastMs": 0,
          "lastNote": "DNS lookup failed",
          "authRequired": false,
          "uptime24h": 0,
          "uptime30d": 0,
          "p50ms24h": 0,
          "p95ms24h": 0,
          "samples24h": 41,
          "samples30d": 41,
          "days": [
            {
              "date": "2026-10-08",
              "probes": 41,
              "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-08T21:12:04.826805764Z"
      }
    },
    "answer": "Azure Key Vault scores 74.7 (BB) on agent readiness against Phase's 68 (B), and leads in 4 of 7 scored categories. Phase leads on payments \u0026 pricing.",
    "b": {
      "slug": "phase",
      "name": "Phase",
      "vendor": "Phi Security Inc.",
      "vendorUrl": "https://phase.dev",
      "kind": "http-api",
      "category": "secrets",
      "summary": "Phase is an open-source secrets manager from Phi Security Inc. with end-to-end encryption, service accounts, secret rotation and audit logs. Agents reach it through a REST API, a CLI and SDKs, on Phase Cloud or self-hosted.",
      "url": "https://www.anchorterminal.com/tools/phase",
      "markdownUrl": "https://www.anchorterminal.com/tools/phase.md",
      "slimMarkdownUrl": "https://www.anchorterminal.com/tools/phase.min.md",
      "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/phase.json",
      "repo": "https://github.com/phasehq/console",
      "license": "MIT outside the `ee/` directories, which are under the proprietary Phase Console Enterprise licence",
      "transports": [
        "http"
      ],
      "remoteUrl": "https://api.phase.dev",
      "packages": [
        {
          "registry": "npm",
          "name": "@phase.dev/phase-node"
        },
        {
          "registry": "pypi",
          "name": "phase-dev"
        },
        {
          "registry": "go",
          "name": "github.com/phasehq/golang-sdk"
        }
      ],
      "auth": "mixed",
      "authNotes": "Self-serve. A person signs in to the console with Google, GitHub or GitLab, creates a service account and a token with an optional expiry, and the agent sends it as `Authorization: Bearer ServiceAccount \u003ctoken\u003e`. Personal access tokens use `Bearer User \u003ctoken\u003e` and inherit the user's role. Tokens can also be created and deleted over the API for service accounts with server-side key management. Workloads on AWS or Azure can log in with an external identity and receive a token with a TTL. Access follows the account's role and its apps and environments, not the individual token.",
      "pricing": "freemium",
      "pricingNotes": "Free plan at $0 with 5 users or service accounts, 3 apps, 3 environments, 24-hour audit logs and 120 API requests a minute. Pro is $10 a user a month ($120 billed yearly) with a 14-day trial, unlimited apps, rotation, custom roles, network access policies, 90-day audit logs and 240 requests a minute. Enterprise is $25 a user a month ($300 yearly) with dynamic secrets, OIDC SSO, SCIM, log forwarding and a 99.99 per cent uptime SLA listed. Only human users are charged, and service accounts are free. The pricing page does not say whether a card is taken. Self-hosting the MIT core is free, and the Pro and Enterprise tiers need a licence (https://phase.dev/pricing/).",
      "priceSummary": "$10 / seat-mo",
      "where": "hosted",
      "x402": {
        "level": "no",
        "evidence": "No x402, MPP or L402 in the docs, the API reference or the pricing page (checked 2026-10-08).",
        "endpoints": []
      },
      "toolCount": null,
      "popularity": {
        "githubStars": 928,
        "npmWeekly": 2485,
        "pypiWeekly": 235,
        "asOf": "2026-10-08"
      },
      "docsUrl": "https://docs.phase.dev",
      "llmsTxt": "https://docs.phase.dev/llms.txt",
      "capabilities": [
        "secrets.store",
        "secrets.machine-identity",
        "secrets.audit",
        "secrets.self-host",
        "secrets.rotate"
      ],
      "tags": [
        "hosted",
        "self-hosted",
        "open-source",
        "freemium",
        "free-tier",
        "cli",
        "llms-txt",
        "go",
        "typescript",
        "python",
        "eu",
        "status-page",
        "soc2"
      ],
      "lastRelease": "2026-10-04",
      "graded": true,
      "anchor": {
        "graded": true,
        "score": 68,
        "grade": "B",
        "agentReady": false,
        "rank": 194,
        "ranked": true,
        "rankOf": 722,
        "categoryRank": 10,
        "methodology": "0.4",
        "run": "2026-10-01",
        "scores": {
          "ergonomics": 56,
          "maintenance": 83,
          "payments": 25,
          "reliability": 91,
          "schema": 58,
          "security": 83,
          "transparency": 73
        },
        "pending": [
          "performance",
          "tasks"
        ],
        "assessment": {
          "confidence": "medium",
          "date": "2026-10-08"
        },
        "negative": 0,
        "verdict": "Service account tokens can be minted with an expiry over the API, every secret read is logged, and the CLI redacts values when it detects an AI agent. No OpenAPI document or pagination was found in the reviewed documentation, and the Free plan keeps audit logs for 24 hours.",
        "bestFor": "Small teams that want an open-source secrets manager hosted in the EU or self-hosted, with coding agents kept away from values through the CLI.",
        "strengths": [
          "Service account tokens take an expiry and can be created and deleted through `/v1/service-accounts/:id/tokens`, and service accounts are free on every plan",
          "The CLI's AI mode redacts `secret` and `sealed` values and blocks `printenv`, `env` and `phase shell` when it detects an agent",
          "Every reveal and every REST fetch of a secret is recorded as a `READ` event with actor and IP address",
          "MIT outside the `ee/` directories, self-hosted with Docker Compose or Kubernetes, with no outbound usage telemetry per the docs",
          "Eleven console versions between 24 July and 8 October 2026, and no incident on the status page since 30 June 2026"
        ],
        "weaknesses": [
          "No OpenAPI document was found. The REST reference is prose with examples, covering 47 operations",
          "No pagination, field selection or idempotency keys were found in the API reference, and errors are a single free-text `error` string",
          "The Free plan keeps audit logs for 24 hours. Rotation, custom roles and network access policies need Pro, and dynamic secrets need Enterprise",
          "The REST API works only on apps with server-side encryption enabled, which gives up end-to-end encryption for that app",
          "The pricing page lists a Phase Agents Relay credential proxy on every plan, but no documentation or CLI command for it was found"
        ],
        "agentNotes": [
          "Enable server-side encryption on the app before calling `/v1/secrets`. Without it the REST API cannot read or write that app's secrets",
          "Send `Authorization: Bearer ServiceAccount \u003ctoken\u003e` for a service account and `Bearer User \u003ctoken\u003e` for a personal access token. The token type is part of the header",
          "Stay under 120 requests a minute per account on Free and 240 on Pro, and wait the seconds in the `retry-after` header on a 429",
          "Treat a 409 on `POST /v1/secrets` as the key already existing at that path, and use `PUT` to change it. Rotating secrets reject `PUT` and `DELETE`",
          "Have a person run `phase ai enable` and choose masked values. The CLI blocks an agent from running `phase ai enable` or `phase ai disable` itself"
        ],
        "metrics": {
          "kind": "remote",
          "measured": false
        },
        "reviewCount": 0,
        "avgRating": 0,
        "history": [
          {
            "basis": "public evidence",
            "confidence": "medium",
            "grade": "B",
            "methodology": "0.4",
            "pending": [
              "performance",
              "tasks"
            ],
            "run": "2026-10-01",
            "runLabel": "October 2026 research run",
            "score": 68
          }
        ],
        "editorialScores": {
          "ergonomics": 56,
          "maintenance": 83,
          "payments": 25,
          "reliability": 91,
          "schema": 58,
          "security": 83,
          "transparency": 58
        },
        "provenanceScore": 87
      },
      "connect": {
        "install": "curl -fsSL https://pkg.phase.dev/install.sh | sh   # or: brew tap phasehq/cli \u0026\u0026 brew install phase",
        "http": "curl -G https://api.phase.dev/v1/secrets/ -H \"Authorization: Bearer ServiceAccount $PHASE_TOKEN\" \\\n  -d app_id=$PHASE_APP_ID -d env=development",
        "claudeCode": "phase ai enable"
      },
      "letme": {
        "capability": "https://letme.dev/secrets.store",
        "tool": "https://letme.dev/phase"
      },
      "area": "agent-runtime",
      "unitPrices": [
        {
          "item": "Pro plan",
          "unit": "seat-month",
          "usd": 10,
          "note": "$120 a user billed yearly. Service accounts free"
        },
        {
          "item": "Enterprise plan",
          "unit": "seat-month",
          "usd": 25,
          "note": "$300 a user billed yearly"
        }
      ],
      "provenance": {
        "legalEntity": "Phi Security Inc.",
        "domain": "phase.dev",
        "domainRegistered": "2023-02-03",
        "endpointOnVendorDomain": true,
        "terms": "https://phase.dev/legal/terms/",
        "privacy": "https://phase.dev/legal/privacy/",
        "statusPage": "https://phase.statuspage.io",
        "changelog": "https://phase.dev/changelog/",
        "securityTxt": "valid",
        "checked": "2026-10-08",
        "notes": [
          "The terms of service (last updated 6 October 2025) name Phi Security Inc. and cover the website, the Phase Console and the self-hosted version. The site footer gives 8 The Green, Ste A, Dover, DE 19901, United States.",
          "The privacy policy (last updated 11 March 2026) covers phase.dev and the services, gives no retention period in days and refers to the trust centre for the subprocessor list.",
          "security.txt at phase.dev expires on 10 December 2030, lists three contact addresses and points to `SECURITY.md` in the console repository.",
          "trust.phase.dev is drawn by script and gave our reader no text, so the subprocessor list and any DPA were not read.",
          "RDAP for phase.dev gives a registration date of 2023-02-03.",
          "The status page is an Atlassian Statuspage at phase.statuspage.io with components for the console, the API, Cloudflare and AWS eu-central-1."
        ],
        "score": 87
      },
      "pageJsonUrl": "https://www.anchorterminal.com/tools/phase.json",
      "live": {
        "slug": "phase",
        "probe": {
          "target": "https://api.phase.dev",
          "method": "get",
          "lastAt": "2026-10-08T21:12:18.362967625Z",
          "lastOk": true,
          "lastStatus": 200,
          "lastMs": 136,
          "authRequired": false,
          "uptime24h": 100,
          "uptime30d": 100,
          "p50ms24h": 126,
          "p95ms24h": 199,
          "samples24h": 21,
          "samples30d": 21,
          "days": [
            {
              "date": "2026-10-08",
              "probes": 21,
              "ok": 21
            }
          ]
        },
        "vendorStatus": {
          "page": "https://phase.statuspage.io",
          "indicator": "none",
          "summary": "All Systems Operational",
          "checkedAt": "2026-10-08T21:06:21.645663435Z"
        },
        "updatedAt": "2026-10-08T21:12:18.362967625Z"
      }
    },
    "facts": [
      {
        "a": "HTTP API",
        "b": "HTTP API",
        "name": "Kind"
      },
      {
        "a": "Microsoft Corporation",
        "b": "Phi Security Inc.",
        "name": "Vendor"
      },
      {
        "a": "https://\u003cvault-name\u003e.vault.azure.net",
        "b": "https://api.phase.dev",
        "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": "MIT outside the `ee/` directories, which are under the proprietary Phase Console Enterprise licence",
        "name": "Licence"
      },
      {
        "a": "no",
        "b": "no",
        "name": "Read-only variant documented"
      },
      {
        "a": "no",
        "b": "yes",
        "name": "llms.txt"
      },
      {
        "a": "2026-10-02",
        "b": "2026-10-04",
        "name": "Last release"
      },
      {
        "a": "no date given",
        "b": "2025-10-06",
        "name": "Terms last updated"
      },
      {
        "a": "2026-09-01",
        "b": "2026-03-11",
        "name": "Privacy policy last updated"
      },
      {
        "a": "yes",
        "b": "not found in the text",
        "name": "Customer content may train models"
      },
      {
        "a": "yes",
        "b": "yes",
        "name": "Terms restrict automated access"
      },
      {
        "a": "yes",
        "b": "yes",
        "name": "Terms restrict benchmarking"
      },
      {
        "a": "not found in the text",
        "b": "not found in the text",
        "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": "928 stars, 2.5k npm/wk, 235 PyPI/wk",
        "name": "Popularity"
      }
    ],
    "faq": [
      {
        "answer": "Azure Key Vault scores 74.7 (BB) on agent readiness against Phase's 68 (B), and leads in 4 of 7 scored categories. Phase leads on payments \u0026 pricing.",
        "question": "Which is better for AI agents, Azure Key Vault or Phase?"
      },
      {
        "answer": "Azure Key Vault uses an OAuth sign-in. Phase takes an API key or an OAuth sign-in.",
        "question": "Do Azure Key Vault and Phase need an API key?"
      },
      {
        "answer": "Yes. Azure Key Vault has a hosted endpoint at https://\u003cvault-name\u003e.vault.azure.net and Phase at https://api.phase.dev.",
        "question": "Can an agent call Azure Key Vault and Phase without installing anything?"
      },
      {
        "answer": "No open-source release is listed for Azure Key Vault. Phase is open source (MIT outside the `ee/` directories, which are under the proprietary Phase Console Enterprise licence).",
        "question": "Are Azure Key Vault and Phase open source?"
      }
    ],
    "goodFor": [
      {
        "aheadOn": [
          "Schema \u0026 documentation, 85 against 58",
          "Agent ergonomics, 75 against 56"
        ],
        "also": [
          "Agent-ready, a grade of BB or better"
        ],
        "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, 25 against 20"
        ],
        "also": [
          "Open source"
        ],
        "goodFor": "Small teams that want an open-source secrets manager hosted in the EU or self-hosted, with coding agents kept away from values through the CLI.",
        "slug": "phase",
        "watchFor": "No OpenAPI document was found. The REST reference is prose with examples, covering 47 operations"
      }
    ],
    "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-phase.json",
        "title": "1Password service accounts, SDKs and Environments MCP vs Phase",
        "url": "https://www.anchorterminal.com/compare/1password-vs-phase"
      },
      {
        "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-phase.json",
        "title": "Akeyless (SecretlessAI and MCP server) vs Phase",
        "url": "https://www.anchorterminal.com/compare/akeyless-vs-phase"
      },
      {
        "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-phase.json",
        "title": "AWS Secrets Manager vs Phase",
        "url": "https://www.anchorterminal.com/compare/aws-secrets-manager-vs-phase"
      },
      {
        "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-pulumi-esc.json",
        "title": "Azure Key Vault vs Pulumi ESC",
        "url": "https://www.anchorterminal.com/compare/azure-key-vault-vs-pulumi-esc"
      },
      {
        "json": "https://www.anchorterminal.com/compare/bitwarden-secrets-manager-vs-phase.json",
        "title": "Bitwarden Secrets Manager vs Phase",
        "url": "https://www.anchorterminal.com/compare/bitwarden-secrets-manager-vs-phase"
      },
      {
        "json": "https://www.anchorterminal.com/compare/doppler-vs-phase.json",
        "title": "Doppler vs Phase",
        "url": "https://www.anchorterminal.com/compare/doppler-vs-phase"
      },
      {
        "json": "https://www.anchorterminal.com/compare/google-secret-manager-vs-phase.json",
        "title": "Google Cloud Secret Manager vs Phase",
        "url": "https://www.anchorterminal.com/compare/google-secret-manager-vs-phase"
      },
      {
        "json": "https://www.anchorterminal.com/compare/hashicorp-vault-vs-phase.json",
        "title": "HashiCorp Vault + Vault MCP Server vs Phase",
        "url": "https://www.anchorterminal.com/compare/hashicorp-vault-vs-phase"
      },
      {
        "json": "https://www.anchorterminal.com/compare/infisical-vs-phase.json",
        "title": "Infisical vs Phase",
        "url": "https://www.anchorterminal.com/compare/infisical-vs-phase"
      },
      {
        "json": "https://www.anchorterminal.com/compare/keeper-secrets-manager-vs-phase.json",
        "title": "Keeper Secrets Manager vs Phase",
        "url": "https://www.anchorterminal.com/compare/keeper-secrets-manager-vs-phase"
      },
      {
        "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": 4,
        "edge": "phase",
        "key": "reliability",
        "name": "Reliability",
        "phase": 91,
        "weight": 16
      },
      {
        "key": "performance",
        "name": "Performance",
        "pending": true,
        "weight": 10
      },
      {
        "azure-key-vault": 85,
        "by": 27,
        "edge": "azure-key-vault",
        "key": "schema",
        "name": "Schema \u0026 documentation",
        "phase": 58,
        "weight": 13
      },
      {
        "azure-key-vault": 75,
        "by": 19,
        "edge": "azure-key-vault",
        "key": "ergonomics",
        "name": "Agent ergonomics",
        "phase": 56,
        "weight": 13
      },
      {
        "azure-key-vault": 86,
        "by": 3,
        "edge": "azure-key-vault",
        "key": "security",
        "name": "Security \u0026 auth",
        "phase": 83,
        "weight": 14
      },
      {
        "azure-key-vault": 20,
        "by": 5,
        "edge": "phase",
        "key": "payments",
        "name": "Payments \u0026 pricing",
        "phase": 25,
        "weight": 10
      },
      {
        "key": "tasks",
        "name": "Task success",
        "pending": true,
        "weight": 10
      },
      {
        "azure-key-vault": 80,
        "by": 3,
        "edge": "phase",
        "key": "maintenance",
        "name": "Maintenance \u0026 community",
        "phase": 83,
        "weight": 7
      },
      {
        "azure-key-vault": 77,
        "by": 4,
        "edge": "azure-key-vault",
        "key": "transparency",
        "name": "Transparency \u0026 trust",
        "phase": 73,
        "weight": 7
      }
    ],
    "summary": "Azure Key Vault scores 74.7 (BB) on agent readiness against Phase's 68 (B), and leads in 4 of 7 scored categories. Phase 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.",
      "phase": "Service account tokens can be minted with an expiry over the API, every secret read is logged, and the CLI redacts values when it detects an AI agent. No OpenAPI document or pagination was found in the reviewed documentation, and the Free plan keeps audit logs for 24 hours."
    }
  },
  "kind": "anchor.page",
  "links": {
    "api": "https://www.anchorterminal.com/api/v1/index.json",
    "html": "https://www.anchorterminal.com/compare/azure-key-vault-vs-phase",
    "json": "https://www.anchorterminal.com/compare/azure-key-vault-vs-phase.json",
    "llms": "https://www.anchorterminal.com/llms.txt",
    "markdown": "https://www.anchorterminal.com/compare/azure-key-vault-vs-phase.md",
    "slim": "https://www.anchorterminal.com/compare/azure-key-vault-vs-phase.min.md"
  },
  "markdown": "Azure Key Vault scores 74.7 (BB) on agent readiness against Phase's 68 (B), and leads in 4 of 7 scored categories. Phase 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- Phase: grade B, 68/100, rank #194 of 722. Markdown https://www.anchorterminal.com/tools/phase.md · JSON https://www.anchorterminal.com/api/v1/tools/phase.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- Schema \u0026 documentation, 85 against 58\n- Agent ergonomics, 75 against 56\n\nAlso in its favour:\n- Agent-ready, a grade of BB or better\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### Phase (B)\n\nGood for: Small teams that want an open-source secrets manager hosted in the EU or self-hosted, with coding agents kept away from values through the CLI.\n\nAhead on:\n- Payments \u0026 pricing, 25 against 20\n\nAlso in its favour:\n- Open source\n\nWatch for: No OpenAPI document was found. The REST reference is prose with examples, covering 47 operations\n\n\n## Score by category\n\n| Category | Weight | Azure Key Vault | Phase | Edge |\n| --- | --- | --- | --- | --- |\n| Reliability | 16% (20 this run) | 87 | 91 | Phase +4 |\n| Performance | 10%, pending | pending | pending | not scored in this run |\n| Schema \u0026 documentation | 13% (16.2 this run) | 85 | 58 | Azure Key Vault +27 |\n| Agent ergonomics | 13% (16.2 this run) | 75 | 56 | Azure Key Vault +19 |\n| Security \u0026 auth | 14% (17.5 this run) | 86 | 83 | Azure Key Vault +3 |\n| Payments \u0026 pricing | 10% (12.5 this run) | 20 | 25 | Phase +5 |\n| Task success | 10%, pending | pending | pending | not scored in this run |\n| Maintenance \u0026 community | 7% (8.8 this run) | 80 | 83 | Phase +3 |\n| Transparency \u0026 trust | 7% (8.8 this run) | 77 | 73 | Azure Key Vault +4 |\n| Negative events | ≤15 | 0 | 0 | |\n| **Total** | | **74.7 · BB** | **68 · B** | |\n\n## Facts side by side\n\n| Fact | Azure Key Vault | Phase |\n| --- | --- | --- |\n| Kind | HTTP API | HTTP API |\n| Vendor | Microsoft Corporation | Phi Security Inc. |\n| Hosted endpoint | `https://\u003cvault-name\u003e.vault.azure.net` | `https://api.phase.dev` |\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 | MIT outside the `ee/` directories, which are under the proprietary Phase Console Enterprise licence |\n| Read-only variant documented | no | no |\n| llms.txt | no | yes |\n| Last release | 2026-10-02 | 2026-10-04 |\n| Terms last updated | no date given | 2025-10-06 |\n| Privacy policy last updated | 2026-09-01 | 2026-03-11 |\n| Customer content may train models | yes | not found in the text |\n| Terms restrict automated access | yes | yes |\n| Terms restrict benchmarking | yes | yes |\n| Terms or service can change without notice | not found in the text | not found in the text |\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 | 928 stars, 2.5k npm/wk, 235 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**Phase.** Service account tokens can be minted with an expiry over the API, every secret read is logged, and the CLI redacts values when it detects an AI agent. No OpenAPI document or pagination was found in the reviewed documentation, and the Free plan keeps audit logs for 24 hours.\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### Phase\n\n1. Enable server-side encryption on the app before calling `/v1/secrets`. Without it the REST API cannot read or write that app's secrets\n2. Send `Authorization: Bearer ServiceAccount \u003ctoken\u003e` for a service account and `Bearer User \u003ctoken\u003e` for a personal access token. The token type is part of the header\n3. Stay under 120 requests a minute per account on Free and 240 on Pro, and wait the seconds in the `retry-after` header on a 429\n4. Treat a 409 on `POST /v1/secrets` as the key already existing at that path, and use `PUT` to change it. Rotating secrets reject `PUT` and `DELETE`\n5. Have a person run `phase ai enable` and choose masked values. The CLI blocks an agent from running `phase ai enable` or `phase ai disable` itself\n\n## Questions\n\n### Which is better for AI agents, Azure Key Vault or Phase?\n\nAzure Key Vault scores 74.7 (BB) on agent readiness against Phase's 68 (B), and leads in 4 of 7 scored categories. Phase leads on payments \u0026 pricing.\n\n### Do Azure Key Vault and Phase need an API key?\n\nAzure Key Vault uses an OAuth sign-in. Phase takes an API key or an OAuth sign-in.\n\n### Can an agent call Azure Key Vault and Phase without installing anything?\n\nYes. Azure Key Vault has a hosted endpoint at https://\u003cvault-name\u003e.vault.azure.net and Phase at https://api.phase.dev.\n\n### Are Azure Key Vault and Phase open source?\n\nNo open-source release is listed for Azure Key Vault. Phase is open source (MIT outside the `ee/` directories, which are under the proprietary Phase Console Enterprise licence).\n\n\n## For agents\n\n- This comparison as JSON: https://www.anchorterminal.com/compare/azure-key-vault-vs-phase.json, and with the fewest tokens: https://www.anchorterminal.com/compare/azure-key-vault-vs-phase.min.md\n- Over MCP at https://www.anchorterminal.com/mcp (no key): `compare_tools {\"a\": \"azure-key-vault\", \"b\": \"phase\"}`. From a terminal: `anchor compare azure-key-vault phase`\n- Each listing in full: https://www.anchorterminal.com/api/v1/tools/azure-key-vault.json and https://www.anchorterminal.com/api/v1/tools/phase.json\n\n## Other comparisons with Azure Key Vault or Phase\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 Phase](https://www.anchorterminal.com/compare/1password-vs-phase.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 Phase](https://www.anchorterminal.com/compare/akeyless-vs-phase.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 Phase](https://www.anchorterminal.com/compare/aws-secrets-manager-vs-phase.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 Pulumi ESC](https://www.anchorterminal.com/compare/azure-key-vault-vs-pulumi-esc.md)\n- [Bitwarden Secrets Manager vs Phase](https://www.anchorterminal.com/compare/bitwarden-secrets-manager-vs-phase.md)\n- [Doppler vs Phase](https://www.anchorterminal.com/compare/doppler-vs-phase.md)\n- [Google Cloud Secret Manager vs Phase](https://www.anchorterminal.com/compare/google-secret-manager-vs-phase.md)\n- [HashiCorp Vault + Vault MCP Server vs Phase](https://www.anchorterminal.com/compare/hashicorp-vault-vs-phase.md)\n- [Infisical vs Phase](https://www.anchorterminal.com/compare/infisical-vs-phase.md)\n- [Keeper Secrets Manager vs Phase](https://www.anchorterminal.com/compare/keeper-secrets-manager-vs-phase.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 Phase",
        "url": ""
      }
    ],
    "description": "Azure Key Vault scores 74.7 (BB) on agent readiness against Phase's 68 (B), and leads in 4 of 7 scored categories. Phase 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",
      "Phase B 68",
      "scores"
    ],
    "h1": "Azure Key Vault vs Phase",
    "image": "https://www.anchorterminal.com/assets/og/compare-azure-key-vault-vs-phase.png",
    "path": "/compare/azure-key-vault-vs-phase",
    "published": "2026-10-01",
    "section": "tools",
    "title": "Azure Key Vault vs Phase for AI agents, BB 74.7 vs B 68",
    "toc": null,
    "updated": "2026-10-08",
    "url": "https://www.anchorterminal.com/compare/azure-key-vault-vs-phase"
  },
  "tokens": {
    "markdown": 2450,
    "slim": 630
  },
  "version": 1
}
