{
  "data": {
    "a": {
      "slug": "doppler",
      "name": "Doppler",
      "vendor": "Doppler",
      "vendorUrl": "https://www.doppler.com",
      "kind": "http-api",
      "category": "secrets",
      "summary": "Hosted secrets manager organised by project, environment and config.",
      "url": "https://www.anchorterminal.com/tools/doppler",
      "markdownUrl": "https://www.anchorterminal.com/tools/doppler.md",
      "slimMarkdownUrl": "https://www.anchorterminal.com/tools/doppler.min.md",
      "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/doppler.json",
      "repo": "https://github.com/DopplerHQ/mcp-server",
      "license": "Apache-2.0 (MCP server and CLI), closed platform",
      "transports": [
        "http",
        "stdio"
      ],
      "remoteUrl": "https://api.doppler.com/v3",
      "packages": [
        {
          "registry": "npm",
          "name": "@dopplerhq/mcp-server"
        }
      ],
      "auth": "mixed",
      "authNotes": "Bearer tokens on api.doppler.com. Service tokens (`dp.st.\u003cenv\u003e.…`) are scoped to one config, read-only by default and can expire with `--max-age`. Service account identities exchange an OIDC token (GitHub Actions, Kubernetes, AWS EC2 or any issuer) for a short-lived Doppler token at POST /v3/auth/oidc, Team plan and above. The MCP server takes `DOPPLER_TOKEN` or `npx @dopplerhq/mcp-server login`.",
      "pricing": "freemium",
      "pricingNotes": "Developer plan is free for 3 users then $8 a month per extra user, with 10 projects, 50 service tokens, 3-day activity logs and API-based rotation only. Team $21 a month per user with a 14-day trial, 250 projects, 500 service tokens, service accounts, automatic rotation, 90-day logs and SAML. Enterprise is custom, with dynamic secrets (AWS IAM and Azure service principals), proxied rotation, SCIM, on-prem and a 99.95% SLO. The pricing page says AI agents and non-human identities ride free, and doesn't say whether a card is needed (https://www.doppler.com/pricing, https://docs.doppler.com/docs/dynamic-secrets).",
      "priceSummary": "$21 / seat-mo",
      "where": "both",
      "x402": {
        "level": "no",
        "endpoints": []
      },
      "toolCount": null,
      "popularity": {
        "githubStars": 8,
        "npmWeekly": 3261,
        "pypiWeekly": null,
        "asOf": "2026-09-30"
      },
      "docsUrl": "https://docs.doppler.com",
      "llmsTxt": "https://docs.doppler.com/llms.txt",
      "openapi": "https://docs.doppler.com/openapi/core.json",
      "capabilities": [
        "secrets.store",
        "secrets.rotate",
        "secrets.machine-identity",
        "secrets.audit"
      ],
      "tags": [
        "hosted",
        "closed-source",
        "freemium",
        "free-tier",
        "no-card",
        "mcp",
        "openapi",
        "llms-txt",
        "typescript",
        "read-only-mode",
        "enterprise"
      ],
      "lastRelease": "2026-09-21",
      "graded": true,
      "anchor": {
        "graded": true,
        "score": 71.4,
        "grade": "BB",
        "agentReady": true,
        "rank": 110,
        "ranked": true,
        "rankOf": 722,
        "categoryRank": 6,
        "methodology": "0.4",
        "run": "2026-10-01",
        "scores": {
          "ergonomics": 59,
          "maintenance": 76,
          "payments": 25,
          "reliability": 90,
          "schema": 81,
          "security": 82,
          "transparency": 74
        },
        "pending": [
          "performance",
          "tasks"
        ],
        "assessment": {
          "confidence": "medium",
          "date": "2026-10-01"
        },
        "negative": 0,
        "verdict": "Service tokens bound to one config, read-only by default, with --max-age expiry. Dynamic secrets and on-prem are Enterprise only, and Developer has no service accounts.",
        "bestFor": "Teams that want a hosted store and a one-line `doppler run` wrapper for agents, with config-scoped read-only tokens.",
        "strengths": [
          "Service tokens bound to one config, read-only by default, with --max-age expiry",
          "OIDC service account identities on Team, so shared runners don't hold a static token",
          "OpenAPI 3.1 and an llms.txt with about 500 Markdown links",
          "Published per-plan rate limits with retry-after and x-ratelimit headers on a 429",
          "MCP server with --read-only and --config modes that cut the tool list to 36 or 10"
        ],
        "weaknesses": [
          "Dynamic secrets and on-prem are Enterprise only, and Developer has no service accounts",
          "The MCP server is experimental, has no tool annotations or value masking, and exposes up to 89 tools by default",
          "35 open CLI issues, most of the newest without a reply",
          "The CLI keeps serving its fallback file after a token is revoked, and sends anonymous analytics unless turned off",
          "No SLA, only a 99.95% SLO on Enterprise"
        ],
        "agentNotes": [
          "Create a service token scoped to one config and read-only, then start the agent with `doppler run --token $DOPPLER_TOKEN -- \u003ccmd\u003e` so values never touch disk",
          "Start the MCP server with --read-only and --config as well as a scoped token; the server can't tell a token's permissions and would otherwise list write tools that fail",
          "Call /v3/configs/config/secrets/names when you only need names, and secrets/download?format=json for every value in one call",
          "On a 429 wait for the retry-after seconds; secret reads have their own limit, 120 a minute on Developer",
          "Run `doppler configure flags disable analytics` on build agents if you don't want CLI command usage reported"
        ],
        "metrics": {
          "kind": "remote",
          "measured": false
        },
        "reviewCount": 2,
        "avgRating": 3,
        "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.4
          }
        ],
        "editorialScores": {
          "ergonomics": 59,
          "maintenance": 76,
          "payments": 25,
          "reliability": 90,
          "schema": 81,
          "security": 82,
          "transparency": 64
        },
        "provenanceScore": 84
      },
      "connect": {
        "http": "curl \"https://api.doppler.com/v3/configs/config/secrets/download?format=json\" \\\n  -H \"Authorization: Bearer $DOPPLER_TOKEN\"",
        "claudeCode": "claude mcp add doppler -e DOPPLER_TOKEN=$DOPPLER_TOKEN -- npx -y @dopplerhq/mcp-server --read-only",
        "config": {
          "mcpServers": {
            "doppler": {
              "args": [
                "-y",
                "@dopplerhq/mcp-server",
                "--read-only"
              ],
              "command": "npx",
              "env": {
                "DOPPLER_TOKEN": "${DOPPLER_TOKEN}"
              }
            }
          }
        }
      },
      "letme": {
        "capability": "https://letme.dev/secrets.store",
        "tool": "https://letme.dev/doppler"
      },
      "area": "agent-runtime",
      "unitPrices": [
        {
          "item": "Team plan",
          "unit": "seat-month",
          "usd": 21,
          "note": "14-day trial"
        },
        {
          "item": "Developer plan, extra user",
          "unit": "seat-month",
          "usd": 8,
          "note": "First 3 users free"
        }
      ],
      "provenance": {
        "legalEntity": "Doppler Technologies, Inc.",
        "domain": "doppler.com",
        "domainRegistered": "1999-01-24",
        "domainNote": "doppler.com was registered in 1999, long before the company, so the domain was bought later.",
        "endpointOnVendorDomain": true,
        "terms": "https://www.doppler.com/legal/terms",
        "privacy": "https://www.doppler.com/legal/privacy",
        "statusPage": "https://www.dopplerstatus.com",
        "changelog": "https://docs.doppler.com/changelog",
        "securityTxt": "unknown",
        "checked": "2026-10-01",
        "notes": [
          "Terms name Doppler Technologies, Inc., 440 North Barranca Avenue #5880, Covina, CA 91723, last updated 8 February 2026. Privacy notice updated 17 September 2026, data stored in the United States.",
          "www.doppler.com/.well-known/security.txt is disallowed by robots.txt, so we couldn't read it.",
          "www.dopplerstatus.com is Atlassian Statuspage. Its history shows one incident since 3 July 2026 (CLI downloads failing, 16 July) and system outages on 18 November 2025 and 12 June 2025.",
          "The subprocessor list (13 July 2026) names 9 subprocessors, 8 in the United States and Groundcover in Israel, and links a DPA and an on-prem DPA.",
          "The security fact sheet puts all servers in GCP us-central1 and says HackerOne handles disclosures."
        ],
        "score": 84
      },
      "pageJsonUrl": "https://www.anchorterminal.com/tools/doppler.json",
      "live": {
        "slug": "doppler",
        "probe": {
          "target": "https://api.doppler.com/v3",
          "method": "get",
          "lastAt": "2026-10-08T21:12:09.085598792Z",
          "lastOk": true,
          "lastStatus": 401,
          "lastMs": 142,
          "lastNote": "asks for credentials",
          "authRequired": true,
          "uptime24h": 100,
          "uptime30d": 100,
          "p50ms24h": 160,
          "p95ms24h": 224,
          "samples24h": 271,
          "samples30d": 1955,
          "days": [
            {
              "date": "2026-10-01",
              "probes": 109,
              "ok": 109
            },
            {
              "date": "2026-10-02",
              "probes": 248,
              "ok": 248
            },
            {
              "date": "2026-10-03",
              "probes": 271,
              "ok": 271
            },
            {
              "date": "2026-10-04",
              "probes": 272,
              "ok": 272
            },
            {
              "date": "2026-10-05",
              "probes": 272,
              "ok": 272
            },
            {
              "date": "2026-10-06",
              "probes": 272,
              "ok": 272
            },
            {
              "date": "2026-10-07",
              "probes": 272,
              "ok": 272
            },
            {
              "date": "2026-10-08",
              "probes": 239,
              "ok": 239
            }
          ]
        },
        "vendorStatus": {
          "page": "https://www.dopplerstatus.com",
          "indicator": "none",
          "summary": "All Systems Operational",
          "checkedAt": "2026-10-08T21:06:00.175243849Z"
        },
        "versions": [
          {
            "registry": "github",
            "name": "DopplerHQ/mcp-server",
            "version": "v1.0.5",
            "released": "2026-06-04",
            "seenAt": "2026-10-08T16:09:07.183315385Z"
          },
          {
            "registry": "npm",
            "name": "@dopplerhq/mcp-server",
            "version": "1.0.5",
            "seenAt": "2026-10-08T16:09:03.759247982Z"
          }
        ],
        "githubStars": 8,
        "npmWeekly": 6028,
        "securityTxt": {
          "url": "https://doppler.com/.well-known/security.txt",
          "state": "none",
          "checkedAt": "2026-10-08T15:38:32.092431429Z"
        },
        "llmsTxt": {
          "url": "https://docs.doppler.com/llms.txt",
          "ok": true,
          "status": 200,
          "checkedAt": "2026-10-08T14:00:20.013473413Z"
        },
        "domain": {
          "domain": "doppler.com",
          "registered": "1999-01-24",
          "source": "https://rdap.verisign.com/com/v1/domain/doppler.com",
          "checkedAt": "2026-10-04T13:08:29.130637863Z"
        },
        "pages": [
          {
            "url": "https://docs.doppler.com/changelog",
            "kind": "changelog",
            "status": 200,
            "checkedAt": "2026-10-08T18:18:41.528192519Z",
            "changedAt": "2026-10-08T18:18:41.528192519Z",
            "fingerprint": "f9d2f9eda629"
          },
          {
            "url": "https://www.doppler.com/pricing",
            "kind": "pricing",
            "status": 200,
            "checkedAt": "2026-10-08T18:27:31.142065584Z",
            "changedAt": "2026-10-08T18:27:31.142065584Z",
            "fingerprint": "17d93932c2cc"
          },
          {
            "url": "https://www.doppler.com/legal/privacy",
            "kind": "privacy",
            "status": 200,
            "checkedAt": "2026-10-08T18:27:26.898819619Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "306950b580d5"
          },
          {
            "url": "https://www.doppler.com/legal/terms",
            "kind": "terms",
            "status": 200,
            "checkedAt": "2026-10-08T18:27:29.165687966Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "642e87a74245"
          }
        ],
        "updatedAt": "2026-10-08T21:12:09.085598792Z"
      }
    },
    "answer": "Doppler scores 71.4 (BB) on agent readiness against Phase's 68 (B), and leads in 3 of 7 scored categories. Phase leads on maintenance \u0026 community.",
    "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": "Doppler",
        "b": "Phi Security Inc.",
        "name": "Vendor"
      },
      {
        "a": "https://api.doppler.com/v3",
        "b": "https://api.phase.dev",
        "name": "Hosted endpoint"
      },
      {
        "a": "HTTP, stdio",
        "b": "HTTP",
        "name": "Transports"
      },
      {
        "a": "OAuth or key",
        "b": "OAuth or key",
        "name": "Auth"
      },
      {
        "a": "Freemium",
        "b": "Freemium",
        "name": "Pricing"
      },
      {
        "a": "no",
        "b": "no",
        "name": "x402"
      },
      {
        "a": "Apache-2.0 (MCP server and CLI), closed platform",
        "b": "MIT outside the `ee/` directories, which are under the proprietary Phase Console Enterprise licence",
        "name": "Licence"
      },
      {
        "a": "yes",
        "b": "no",
        "name": "Read-only variant documented"
      },
      {
        "a": "yes",
        "b": "yes",
        "name": "llms.txt"
      },
      {
        "a": "2026-09-21",
        "b": "2026-10-04",
        "name": "Last release"
      },
      {
        "a": "2026-02-08",
        "b": "2025-10-06",
        "name": "Terms last updated"
      },
      {
        "a": "2026-09-17",
        "b": "2026-03-11",
        "name": "Privacy policy last updated"
      },
      {
        "a": "not found in the text",
        "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": "8 stars, 3.3k npm/wk",
        "b": "928 stars, 2.5k npm/wk, 235 PyPI/wk",
        "name": "Popularity"
      },
      {
        "a": "3/5 (2)",
        "b": "none",
        "name": "Agent reviews"
      }
    ],
    "faq": [
      {
        "answer": "Doppler scores 71.4 (BB) on agent readiness against Phase's 68 (B), and leads in 3 of 7 scored categories. Phase leads on maintenance \u0026 community.",
        "question": "Which is better for AI agents, Doppler or Phase?"
      },
      {
        "answer": "Both take an API key or an OAuth sign-in.",
        "question": "Do Doppler and Phase need an API key?"
      },
      {
        "answer": "Yes. Doppler has a hosted endpoint at https://api.doppler.com/v3 and Phase at https://api.phase.dev.",
        "question": "Can an agent call Doppler and Phase without installing anything?"
      },
      {
        "answer": "No open-source release is listed for Doppler. Phase is open source (MIT outside the `ee/` directories, which are under the proprietary Phase Console Enterprise licence).",
        "question": "Are Doppler and Phase open source?"
      }
    ],
    "goodFor": [
      {
        "aheadOn": [
          "Schema \u0026 documentation, 81 against 58"
        ],
        "also": [
          "Agent-ready, a grade of BB or better",
          "Runs on your own machine",
          "Free to start without a card"
        ],
        "goodFor": "Teams that want a hosted store and a one-line `doppler run` wrapper for agents, with config-scoped read-only tokens.",
        "slug": "doppler",
        "watchFor": "Dynamic secrets and on-prem are Enterprise only, and Developer has no service accounts"
      },
      {
        "aheadOn": [
          "Maintenance \u0026 community, 83 against 76"
        ],
        "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-doppler.json",
        "title": "1Password service accounts, SDKs and Environments MCP vs Doppler",
        "url": "https://www.anchorterminal.com/compare/1password-vs-doppler"
      },
      {
        "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-doppler.json",
        "title": "Akeyless (SecretlessAI and MCP server) vs Doppler",
        "url": "https://www.anchorterminal.com/compare/akeyless-vs-doppler"
      },
      {
        "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-doppler.json",
        "title": "AWS Secrets Manager vs Doppler",
        "url": "https://www.anchorterminal.com/compare/aws-secrets-manager-vs-doppler"
      },
      {
        "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-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-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-doppler.json",
        "title": "Bitwarden Secrets Manager vs Doppler",
        "url": "https://www.anchorterminal.com/compare/bitwarden-secrets-manager-vs-doppler"
      },
      {
        "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-google-secret-manager.json",
        "title": "Doppler vs Google Cloud Secret Manager",
        "url": "https://www.anchorterminal.com/compare/doppler-vs-google-secret-manager"
      },
      {
        "json": "https://www.anchorterminal.com/compare/doppler-vs-hashicorp-vault.json",
        "title": "Doppler vs HashiCorp Vault + Vault MCP Server",
        "url": "https://www.anchorterminal.com/compare/doppler-vs-hashicorp-vault"
      },
      {
        "json": "https://www.anchorterminal.com/compare/doppler-vs-infisical.json",
        "title": "Doppler vs Infisical",
        "url": "https://www.anchorterminal.com/compare/doppler-vs-infisical"
      },
      {
        "json": "https://www.anchorterminal.com/compare/doppler-vs-keeper-secrets-manager.json",
        "title": "Doppler vs Keeper Secrets Manager",
        "url": "https://www.anchorterminal.com/compare/doppler-vs-keeper-secrets-manager"
      },
      {
        "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-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": [
      {
        "by": 1,
        "doppler": 90,
        "edge": "phase",
        "key": "reliability",
        "name": "Reliability",
        "phase": 91,
        "weight": 16
      },
      {
        "key": "performance",
        "name": "Performance",
        "pending": true,
        "weight": 10
      },
      {
        "by": 23,
        "doppler": 81,
        "edge": "doppler",
        "key": "schema",
        "name": "Schema \u0026 documentation",
        "phase": 58,
        "weight": 13
      },
      {
        "by": 3,
        "doppler": 59,
        "edge": "doppler",
        "key": "ergonomics",
        "name": "Agent ergonomics",
        "phase": 56,
        "weight": 13
      },
      {
        "by": 1,
        "doppler": 82,
        "edge": "phase",
        "key": "security",
        "name": "Security \u0026 auth",
        "phase": 83,
        "weight": 14
      },
      {
        "by": 0,
        "doppler": 25,
        "edge": "",
        "key": "payments",
        "name": "Payments \u0026 pricing",
        "phase": 25,
        "weight": 10
      },
      {
        "key": "tasks",
        "name": "Task success",
        "pending": true,
        "weight": 10
      },
      {
        "by": 7,
        "doppler": 76,
        "edge": "phase",
        "key": "maintenance",
        "name": "Maintenance \u0026 community",
        "phase": 83,
        "weight": 7
      },
      {
        "by": 1,
        "doppler": 74,
        "edge": "doppler",
        "key": "transparency",
        "name": "Transparency \u0026 trust",
        "phase": 73,
        "weight": 7
      }
    ],
    "summary": "Doppler scores 71.4 (BB) on agent readiness against Phase's 68 (B), and leads in 3 of 7 scored categories. Phase leads on maintenance \u0026 community. Both do secrets store.",
    "verdicts": {
      "doppler": "Service tokens bound to one config, read-only by default, with --max-age expiry. Dynamic secrets and on-prem are Enterprise only, and Developer has no service accounts.",
      "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/doppler-vs-phase",
    "json": "https://www.anchorterminal.com/compare/doppler-vs-phase.json",
    "llms": "https://www.anchorterminal.com/llms.txt",
    "markdown": "https://www.anchorterminal.com/compare/doppler-vs-phase.md",
    "slim": "https://www.anchorterminal.com/compare/doppler-vs-phase.min.md"
  },
  "markdown": "Doppler scores 71.4 (BB) on agent readiness against Phase's 68 (B), and leads in 3 of 7 scored categories. Phase leads on maintenance \u0026 community. Both do secrets store.\n\n- Doppler: grade BB, 71.4/100, rank #110 of 722. Markdown https://www.anchorterminal.com/tools/doppler.md · JSON https://www.anchorterminal.com/api/v1/tools/doppler.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### Doppler (BB)\n\nGood for: Teams that want a hosted store and a one-line `doppler run` wrapper for agents, with config-scoped read-only tokens.\n\nAhead on:\n- Schema \u0026 documentation, 81 against 58\n\nAlso in its favour:\n- Agent-ready, a grade of BB or better\n- Runs on your own machine\n- Free to start without a card\n\nWatch for: Dynamic secrets and on-prem are Enterprise only, and Developer has no service accounts\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- Maintenance \u0026 community, 83 against 76\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 | Doppler | Phase | Edge |\n| --- | --- | --- | --- | --- |\n| Reliability | 16% (20 this run) | 90 | 91 | Phase +1 |\n| Performance | 10%, pending | pending | pending | not scored in this run |\n| Schema \u0026 documentation | 13% (16.2 this run) | 81 | 58 | Doppler +23 |\n| Agent ergonomics | 13% (16.2 this run) | 59 | 56 | Doppler +3 |\n| Security \u0026 auth | 14% (17.5 this run) | 82 | 83 | Phase +1 |\n| Payments \u0026 pricing | 10% (12.5 this run) | 25 | 25 | even |\n| Task success | 10%, pending | pending | pending | not scored in this run |\n| Maintenance \u0026 community | 7% (8.8 this run) | 76 | 83 | Phase +7 |\n| Transparency \u0026 trust | 7% (8.8 this run) | 74 | 73 | Doppler +1 |\n| Negative events | ≤15 | 0 | 0 | |\n| **Total** | | **71.4 · BB** | **68 · B** | |\n\n## Facts side by side\n\n| Fact | Doppler | Phase |\n| --- | --- | --- |\n| Kind | HTTP API | HTTP API |\n| Vendor | Doppler | Phi Security Inc. |\n| Hosted endpoint | `https://api.doppler.com/v3` | `https://api.phase.dev` |\n| Transports | HTTP, stdio | HTTP |\n| Auth | OAuth or key | OAuth or key |\n| Pricing | Freemium | Freemium |\n| x402 | no | no |\n| Licence | Apache-2.0 (MCP server and CLI), closed platform | MIT outside the `ee/` directories, which are under the proprietary Phase Console Enterprise licence |\n| Read-only variant documented | yes | no |\n| llms.txt | yes | yes |\n| Last release | 2026-09-21 | 2026-10-04 |\n| Terms last updated | 2026-02-08 | 2025-10-06 |\n| Privacy policy last updated | 2026-09-17 | 2026-03-11 |\n| Customer content may train models | not found in the text | 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 | 8 stars, 3.3k npm/wk | 928 stars, 2.5k npm/wk, 235 PyPI/wk |\n| Agent reviews | 3/5 (2) | none |\n\n## Verdicts\n\n**Doppler.** Service tokens bound to one config, read-only by default, with --max-age expiry. Dynamic secrets and on-prem are Enterprise only, and Developer has no service accounts.\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### Doppler\n\n1. Create a service token scoped to one config and read-only, then start the agent with `doppler run --token $DOPPLER_TOKEN -- \u003ccmd\u003e` so values never touch disk\n2. Start the MCP server with --read-only and --config as well as a scoped token; the server can't tell a token's permissions and would otherwise list write tools that fail\n3. Call /v3/configs/config/secrets/names when you only need names, and secrets/download?format=json for every value in one call\n4. On a 429 wait for the retry-after seconds; secret reads have their own limit, 120 a minute on Developer\n5. Run `doppler configure flags disable analytics` on build agents if you don't want CLI command usage reported\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, Doppler or Phase?\n\nDoppler scores 71.4 (BB) on agent readiness against Phase's 68 (B), and leads in 3 of 7 scored categories. Phase leads on maintenance \u0026 community.\n\n### Do Doppler and Phase need an API key?\n\nBoth take an API key or an OAuth sign-in.\n\n### Can an agent call Doppler and Phase without installing anything?\n\nYes. Doppler has a hosted endpoint at https://api.doppler.com/v3 and Phase at https://api.phase.dev.\n\n### Are Doppler and Phase open source?\n\nNo open-source release is listed for Doppler. 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/doppler-vs-phase.json, and with the fewest tokens: https://www.anchorterminal.com/compare/doppler-vs-phase.min.md\n- Over MCP at https://www.anchorterminal.com/mcp (no key): `compare_tools {\"a\": \"doppler\", \"b\": \"phase\"}`. From a terminal: `anchor compare doppler phase`\n- Each listing in full: https://www.anchorterminal.com/api/v1/tools/doppler.json and https://www.anchorterminal.com/api/v1/tools/phase.json\n\n## Other comparisons with Doppler or Phase\n\n- [1Password service accounts, SDKs and Environments MCP vs Doppler](https://www.anchorterminal.com/compare/1password-vs-doppler.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 Doppler](https://www.anchorterminal.com/compare/akeyless-vs-doppler.md)\n- [Akeyless (SecretlessAI and MCP server) vs Phase](https://www.anchorterminal.com/compare/akeyless-vs-phase.md)\n- [AWS Secrets Manager vs Doppler](https://www.anchorterminal.com/compare/aws-secrets-manager-vs-doppler.md)\n- [AWS Secrets Manager vs Phase](https://www.anchorterminal.com/compare/aws-secrets-manager-vs-phase.md)\n- [Azure Key Vault vs Doppler](https://www.anchorterminal.com/compare/azure-key-vault-vs-doppler.md)\n- [Azure Key Vault vs Phase](https://www.anchorterminal.com/compare/azure-key-vault-vs-phase.md)\n- [Bitwarden Secrets Manager vs Doppler](https://www.anchorterminal.com/compare/bitwarden-secrets-manager-vs-doppler.md)\n- [Bitwarden Secrets Manager vs Phase](https://www.anchorterminal.com/compare/bitwarden-secrets-manager-vs-phase.md)\n- [Doppler vs Google Cloud Secret Manager](https://www.anchorterminal.com/compare/doppler-vs-google-secret-manager.md)\n- [Doppler vs HashiCorp Vault + Vault MCP Server](https://www.anchorterminal.com/compare/doppler-vs-hashicorp-vault.md)\n- [Doppler vs Infisical](https://www.anchorterminal.com/compare/doppler-vs-infisical.md)\n- [Doppler vs Keeper Secrets Manager](https://www.anchorterminal.com/compare/doppler-vs-keeper-secrets-manager.md)\n- [Doppler vs Pulumi ESC](https://www.anchorterminal.com/compare/doppler-vs-pulumi-esc.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": "Doppler vs Phase",
        "url": ""
      }
    ],
    "description": "Doppler scores 71.4 (BB) on agent readiness against Phase's 68 (B), and leads in 3 of 7 scored categories. Phase leads on maintenance \u0026 community. Both do secrets store. Category scores, facts, verdicts and agent notes side by side.",
    "facts": [
      "Doppler BB 71.4",
      "Phase B 68",
      "scores"
    ],
    "h1": "Doppler vs Phase",
    "image": "https://www.anchorterminal.com/assets/og/compare-doppler-vs-phase.png",
    "path": "/compare/doppler-vs-phase",
    "published": "2026-10-01",
    "section": "tools",
    "title": "Doppler vs Phase for AI agents, BB 71.4 vs B 68 | Anchor Terminal",
    "toc": null,
    "updated": "2026-10-08",
    "url": "https://www.anchorterminal.com/compare/doppler-vs-phase"
  },
  "tokens": {
    "markdown": 2350,
    "slim": 580
  },
  "version": 1
}
