{"id":"delegated-mcp-oauth-vault","slug":"delegated-mcp-oauth-vault","name":"Delegated User OAuth, Token Refresh & Scoped Credential Vaulting for MCP Tools","shortName":"Delegated OAuth vault for MCP tools","problemStatement":"Manage end-user OAuth2 tokens, automatic refresh loops and least-privilege scopes across 100+ SaaS APIs so tool-calling agents act on a user's behalf without ever seeing raw secrets.","whenNotTopPick":"Agent tool-router breadth with managed auth — Composio; end-user auth/passkeys — Stytch; enterprise SSO and directory sync — WorkOS; machine secrets (not user OAuth) — Infisical.","categoryIds":["cat-auth-payments"],"depotPickProviderId":"nango","depotPickRationale":"Nango runs the OAuth dance, token storage and refresh for hundreds of APIs with per-connection scopes, so an MCP server calls APIs through Nango instead of holding tokens.","runnersUpIds":["composio","stytch","workos","infisical"],"weights":{"capabilityFit":0.26,"pricePerformance":0.16,"latencyReliability":0.16,"developerDx":0.16,"privacyPosture":0.12,"lockInRisk":0.06,"maturity":0.08},"methodologyNotes":"Scores API coverage, refresh reliability, scope minimization and self-host option (lock-in).","tags":["oauth","mcp","credentials","vault","auth"],"scoreMargin":0.49,"isNearTie":false,"pickConfidenceBand":"moderate_lead","nearTie":{"isNearTie":false,"scoreMargin":0.49,"threshold":0.35,"pickConfidenceBand":"moderate_lead","coPickProviderId":"composio","coPickProviderName":"Composio","coPickScore":7.68,"decidingFactor":"privacyPosture (8.4 vs 7.2)","methodologyWarning":null,"tieBreakerRule":"Agent tool-router breadth with managed auth — Composio; end-user auth/passkeys — Stytch; enterprise SSO and directory sync — WorkOS; machine secrets (not user OAuth) — Infisical."},"evidenceStatus":{"decisionRole":"independent_prior_and_candidate_generator","positioning":"The independent, agent-readable prior for choosing AI infrastructure — not a universal router, generic marketplace, or synthetic leaderboard.","freshnessThresholdDays":30,"freshness_policy":{"policy_version":"agentdepot.freshness_policy.v1","threshold_days":30},"freshness_state":"fresh","editorial_freshness_state":"fresh","unqualified_current_pick_allowed":true,"pick_qualification":"qualified_current_pick","promotionClass":"deterministic_source_reverified","evidenceClass":"editorial_prior","staleDowngraded":false,"effectiveConfidence":"high","confidenceHalfWidth":0.5,"pickScoreAgeDays":0,"editorialJudgmentAgeDays":0,"pricingAgeDays":0,"isPickScoreStale":false,"isPricingStale":false,"editorialJudgmentAsOf":"2026-10-28","pricingVerifiedAt":"2026-10-28","outcomeVerifiedAt":null,"effectiveVerifiedAsOf":"2026-10-28","downgradeReasons":[],"stalenessWarning":"Editorial judgment and deterministic pricing verification are both within the 30-day freshness threshold.","promotionGate":{"deterministicPricingCheck":true,"approvedScoreReaffirm":true,"pendingHumanReviewBlock":false,"zeroUnverifiedSkus":true,"costEfficiencyConsistent":true,"lockInAndReliabilityConsistent":true,"secondModelOrRuleAudit":true,"countersignReceiptIds":[],"otsAttestationHead":"b32634d5784cbfe663be0a16cce4f60a3ff1c3d4490437be00361cb4ae5d5d59","sourceCheckDate":"2026-10-28","activePricingRowsCount":0,"freeResourcesCount":0,"runnerUpPricingRowsCount":17},"claimProvenance":{"claim_id":"claim:delegated-mcp-oauth-vault:nango:depot-pick","provider_id":"nango","jtbd_id":"delegated-mcp-oauth-vault","primary_url":"https://nango.dev/pricing","source_type":"primary_pricing","source_revision":"sha256:79449e360210975c","observed_at":"2026-10-28","checked_at":"2026-10-28","claim_support_state":"claim_specific_supported","max_allowed_evidence_class":"replicated_outcome","defect_codes":[],"sources":[{"original_url":"https://nango.dev/pricing","final_url":"https://nango.dev/pricing","redirected":false,"http_status":200,"reachable":true,"source_type":"primary_pricing","is_claim_specific":true,"source_revision":"sha256:79449e360210975c","observed_at":"2026-10-28","checked_at":"2026-10-28"},{"original_url":"https://nango.dev","final_url":"https://nango.dev","redirected":false,"http_status":200,"reachable":true,"source_type":"generic_homepage","is_claim_specific":false,"source_revision":"sha256:2b8b5b6c4c34c5b0","observed_at":"2026-10-28","checked_at":"2026-10-28"}]},"verifiedOutcomeSummary":{"totalVerifiedReceipts":0,"byEvidenceTier":{"E0_ASSERTION":0,"E1_SOURCE_BOUND":0,"E2_DELIVERY":0,"E3_INDEPENDENT_OUTCOME":0,"E4_REPLICATED_OUTCOME":0},"bySubjectLayer":{"provider":0,"product":0,"model_version":0,"runtime_route":0}}},"pickScoreDetails":{"scoreRange":[7.67,8.67],"formattedScore":"8.2 ± 0.5 (7.7–8.7 · editorial_prior)","evidenceClass":"editorial_prior","promotionClass":"deterministic_source_reverified","staleDowngraded":false,"freshState":"fresh","freshness_state":"fresh","effectiveConfidence":"high","confidenceInterval":{"low":7.67,"mid":8.17,"high":8.67,"halfWidth":0.5,"confidenceLevel":0.8,"basis":"deterministic_source_reverified_interval_0.5"},"editorialJudgmentAsOf":"2026-10-28","sourceAgeDays":0,"pricingVerifiedAt":"2026-10-28","pricingAgeDays":0,"outcomeVerifiedAt":null,"effectiveVerifiedAsOf":"2026-10-28","dissentingEvidence":["Not a turnkey 1000-tool agent router like Composio","Pricing page sometimes bot/409 flaky — confirm console","You still implement per-API actions","When not to use top pick: Agent tool-router breadth with managed auth — Composio; end-user auth/passkeys — Stytch; enterprise SSO and directory sync — WorkOS; machine secrets (not user OAuth) — Infisical.","Runner-up Composio (composio) is the primary alternative when constraints disqualify Nango."],"whatWouldChangePick":["Caller constraint matching: Agent tool-router breadth with managed auth — Composio; end-user auth/passkeys — Stytch; enterprise SSO and directory sync — WorkOS; machine secrets (not user OAuth) — Infisical.","Live quota or rate-limit exhaustion on nango (pass ?exhausted=nango or liveQuota.exhaustedProviders=[\"nango\"] to promote composio).","Active subscription or enterprise commit on composio combined with low switching-cost tolerance (existingSubscriptions + switchingCost.maxMigrationEffort=\"low\").","Sourced price increase >20% on https://nango.dev or unverified SKU drift detected by npm run check:sources."],"claimProvenance":{"claim_id":"claim:delegated-mcp-oauth-vault:nango:depot-pick","provider_id":"nango","jtbd_id":"delegated-mcp-oauth-vault","primary_url":"https://nango.dev/pricing","source_type":"primary_pricing","source_revision":"sha256:79449e360210975c","observed_at":"2026-10-28","checked_at":"2026-10-28","claim_support_state":"claim_specific_supported","max_allowed_evidence_class":"replicated_outcome","defect_codes":[],"sources":[{"original_url":"https://nango.dev/pricing","final_url":"https://nango.dev/pricing","redirected":false,"http_status":200,"reachable":true,"source_type":"primary_pricing","is_claim_specific":true,"source_revision":"sha256:79449e360210975c","observed_at":"2026-10-28","checked_at":"2026-10-28"},{"original_url":"https://nango.dev","final_url":"https://nango.dev","redirected":false,"http_status":200,"reachable":true,"source_type":"generic_homepage","is_claim_specific":false,"source_revision":"sha256:2b8b5b6c4c34c5b0","observed_at":"2026-10-28","checked_at":"2026-10-28"}]},"calibratedScore":{"point":8.17,"band":[7.67,8.67],"interval":{"lower":7.67,"upper":8.67,"half_width":0.5},"score_kind":"source_bound_prior_band","evidence_class":"source_bound","confidence":"medium","confidence_ceiling":"medium","age_days":0,"dissent":["Not a turnkey 1000-tool agent router like Composio","Pricing page sometimes bot/409 flaky — confirm console","You still implement per-API actions","When not to use top pick: Agent tool-router breadth with managed auth — Composio; end-user auth/passkeys — Stytch; enterprise SSO and directory sync — WorkOS; machine secrets (not user OAuth) — Infisical.","Runner-up Composio (composio) is the primary alternative when constraints disqualify Nango."],"what_would_change_this":["Caller constraint matching: Agent tool-router breadth with managed auth — Composio; end-user auth/passkeys — Stytch; enterprise SSO and directory sync — WorkOS; machine secrets (not user OAuth) — Infisical.","Live quota or rate-limit exhaustion on nango (pass ?exhausted=nango or liveQuota.exhaustedProviders=[\"nango\"] to promote composio).","Active subscription or enterprise commit on composio combined with low switching-cost tolerance (existingSubscriptions + switchingCost.maxMigrationEffort=\"low\").","Sourced price increase >20% on https://nango.dev or unverified SKU drift detected by npm run check:sources."],"subject_layer":"provider"},"subject_ref":{"layer":"provider","provider_id":"nango","product_id":"nango-core","model_id":null,"version":null,"route_class":null,"inheritance_policy":"no_cross_layer_inheritance"}},"runtimeRoutes":[{"routeId":"delegated-mcp-oauth-vault:nango:primary","roleForJob":"depot_pick","provider":{"id":"nango","slug":"nango","name":"Nango","website":"https://nango.dev","status":"active"},"model":{"representativeModelId":"Nango Primary Runtime","skuId":null,"unit":null,"amountUsd":null,"sourceUrl":"https://nango.dev","asOf":"2026-10-28"},"servingRoute":{"primaryRouteType":"self_hosted_or_oss_compatible","endpointPattern":"https://nango.dev (self hosted or oss compatible)","aggregatorAlternatives":[{"aggregatorId":"direct-only","name":"Nango Direct API","routeType":"first_party","tradeoff":"Direct vendor SDK/REST contract; pair with runner-up for multi-vendor failover."}]},"accountAndQuota":{"freeTierAvailable":false,"freeTierSummary":null,"rateLimitsSummary":"Free: Plans Free $0 /mo API & MCP auth, tools & syncs Hard-capped limits, reset monthly … Start ","subscriptionFirstEligible":true,"documentedPlansCount":2},"regions":{"supportedRegions":["global","us","eu"],"multiRegionFailover":true,"euResidencyAvailable":true},"toolSchemaSupport":{"strictJsonSchema":true,"parallelToolCalls":false,"mcpServerAvailable":true,"streamingSupported":true},"latencyTier":{"tier":"standard_1s_to_5s","latencyReliabilityScore":8.2,"coldStartNotes":"Standard warm pool; check provider SLA for burst concurrency"},"privacyConfig":{"privacyPostureScore":8.4,"zeroDataRetentionAvailable":true,"trainsOnApiDataByDefault":false,"hipaaEligible":false,"selfHostable":true},"availabilityStatus":{"providerStatus":"active","verifiedActiveSkus":0,"unverifiedSkus":0,"liveFailoverTargetId":"composio"},"subject_ref":{"layer":"runtime_route","subject_id":"runtime_route:nango:nango-primary:self_hosted_or_oss_compatible:global","provider_id":"nango","product_id":"nango-core","model_id":"nango-primary","version":"2026-10-28","route_class":"self_hosted_or_oss_compatible","region":"global","score_status":"unknown","layer_score":"unknown","inherited_from_parent_layer":false,"inheritance_policy":"no_cross_layer_inheritance"},"distinctRouteSubjects":[{"layer":"runtime_route","subject_id":"runtime_route:nango:nango-primary:direct_api:global","provider_id":"nango","product_id":"nango-core","model_id":"nango-primary","version":"2026-10-28","route_class":"direct_api","region":"global","score_status":"layer_evidenced","layer_score":"unknown","inherited_from_parent_layer":false,"inheritance_policy":"no_cross_layer_inheritance"}]},{"routeId":"delegated-mcp-oauth-vault:composio:primary","roleForJob":"runner_up","provider":{"id":"composio","slug":"composio","name":"Composio","website":"https://composio.dev","status":"active"},"model":{"representativeModelId":"Hobby","skuId":"composio-hobby","unit":"usd_per_month","amountUsd":0,"sourceUrl":"https://composio.dev/pricing","asOf":"2026-10-28"},"servingRoute":{"primaryRouteType":"self_hosted_or_oss_compatible","endpointPattern":"https://composio.dev (self hosted or oss compatible)","aggregatorAlternatives":[{"aggregatorId":"direct-only","name":"Composio Direct API","routeType":"first_party","tradeoff":"Direct vendor SDK/REST contract; pair with runner-up for multi-vendor failover."}]},"accountAndQuota":{"freeTierAvailable":true,"freeTierSummary":"Composio SDK (oss, asOf 2026-10-25)","rateLimitsSummary":"Hobby: Start for free. Then pay as you go. 100,000 tool calls, 50,000 triggers, and 3 team member","subscriptionFirstEligible":true,"documentedPlansCount":2},"regions":{"supportedRegions":["global","us"],"multiRegionFailover":true,"euResidencyAvailable":true},"toolSchemaSupport":{"strictJsonSchema":true,"parallelToolCalls":false,"mcpServerAvailable":true,"streamingSupported":true},"latencyTier":{"tier":"standard_1s_to_5s","latencyReliabilityScore":7.8,"coldStartNotes":"Standard warm pool; check provider SLA for burst concurrency"},"privacyConfig":{"privacyPostureScore":7.2,"zeroDataRetentionAvailable":false,"trainsOnApiDataByDefault":false,"hipaaEligible":false,"selfHostable":true},"availabilityStatus":{"providerStatus":"active","verifiedActiveSkus":16,"unverifiedSkus":0,"liveFailoverTargetId":"nango"},"subject_ref":{"layer":"runtime_route","subject_id":"runtime_route:composio:Hobby:self_hosted_or_oss_compatible:global","provider_id":"composio","product_id":"composio-core","model_id":"Hobby","version":"2026-10-28","route_class":"self_hosted_or_oss_compatible","region":"global","score_status":"unknown","layer_score":"unknown","inherited_from_parent_layer":false,"inheritance_policy":"no_cross_layer_inheritance"},"distinctRouteSubjects":[{"layer":"runtime_route","subject_id":"runtime_route:composio:Hobby:direct_api:global","provider_id":"composio","product_id":"composio-core","model_id":"Hobby","version":"2026-10-28","route_class":"direct_api","region":"global","score_status":"layer_evidenced","layer_score":"unknown","inherited_from_parent_layer":false,"inheritance_policy":"no_cross_layer_inheritance"}]},{"routeId":"delegated-mcp-oauth-vault:stytch:primary","roleForJob":"runner_up","provider":{"id":"stytch","slug":"stytch","name":"Stytch","website":"https://stytch.com","status":"active"},"model":{"representativeModelId":"Stytch Primary Runtime","skuId":null,"unit":null,"amountUsd":null,"sourceUrl":"https://stytch.com","asOf":"2026-10-28"},"servingRoute":{"primaryRouteType":"managed_cloud_service","endpointPattern":"https://stytch.com (managed cloud service)","aggregatorAlternatives":[{"aggregatorId":"direct-only","name":"Stytch Direct API","routeType":"first_party","tradeoff":"Direct vendor SDK/REST contract; pair with runner-up for multi-vendor failover."}]},"accountAndQuota":{"freeTierAvailable":false,"freeTierSummary":null,"rateLimitsSummary":"Pay as you go: Always free: 10,000 monthly active users and AI agents … 5 SSO or SCIM Connections, 1,000 ","subscriptionFirstEligible":true,"documentedPlansCount":1},"regions":{"supportedRegions":["global","us"],"multiRegionFailover":true,"euResidencyAvailable":true},"toolSchemaSupport":{"strictJsonSchema":true,"parallelToolCalls":false,"mcpServerAvailable":true,"streamingSupported":true},"latencyTier":{"tier":"standard_1s_to_5s","latencyReliabilityScore":8.4,"coldStartNotes":"Standard warm pool; check provider SLA for burst concurrency"},"privacyConfig":{"privacyPostureScore":8.2,"zeroDataRetentionAvailable":true,"trainsOnApiDataByDefault":false,"hipaaEligible":false,"selfHostable":false},"availabilityStatus":{"providerStatus":"active","verifiedActiveSkus":0,"unverifiedSkus":0,"liveFailoverTargetId":"nango"},"subject_ref":{"layer":"runtime_route","subject_id":"runtime_route:stytch:stytch-primary:managed_cloud_service:global","provider_id":"stytch","product_id":"stytch-core","model_id":"stytch-primary","version":"2026-10-28","route_class":"managed_cloud_service","region":"global","score_status":"layer_evidenced","layer_score":"unknown","inherited_from_parent_layer":false,"inheritance_policy":"no_cross_layer_inheritance"},"distinctRouteSubjects":[{"layer":"runtime_route","subject_id":"runtime_route:stytch:stytch-primary:direct_api:global","provider_id":"stytch","product_id":"stytch-core","model_id":"stytch-primary","version":"2026-10-28","route_class":"direct_api","region":"global","score_status":"layer_evidenced","layer_score":"unknown","inherited_from_parent_layer":false,"inheritance_policy":"no_cross_layer_inheritance"}]},{"routeId":"delegated-mcp-oauth-vault:workos:primary","roleForJob":"runner_up","provider":{"id":"workos","slug":"workos","name":"WorkOS","website":"https://workos.com","status":"active"},"model":{"representativeModelId":"WorkOS Primary Runtime","skuId":null,"unit":null,"amountUsd":null,"sourceUrl":"https://workos.com","asOf":"2026-10-28"},"servingRoute":{"primaryRouteType":"managed_cloud_service","endpointPattern":"https://workos.com (managed cloud service)","aggregatorAlternatives":[{"aggregatorId":"direct-only","name":"WorkOS Direct API","routeType":"first_party","tradeoff":"Direct vendor SDK/REST contract; pair with runner-up for multi-vendor failover."}]},"accountAndQuota":{"freeTierAvailable":false,"freeTierSummary":null,"rateLimitsSummary":"AuthKit (pay as you go): AuthKit … Up to 1 million users Free · Per additional 1M users $2,500 / mo … Single Sign-O","subscriptionFirstEligible":true,"documentedPlansCount":1},"regions":{"supportedRegions":["global"],"multiRegionFailover":true,"euResidencyAvailable":true},"toolSchemaSupport":{"strictJsonSchema":true,"parallelToolCalls":false,"mcpServerAvailable":true,"streamingSupported":true},"latencyTier":{"tier":"interactive_sub_1s","latencyReliabilityScore":9,"coldStartNotes":"Standard warm pool; check provider SLA for burst concurrency"},"privacyConfig":{"privacyPostureScore":8.8,"zeroDataRetentionAvailable":true,"trainsOnApiDataByDefault":false,"hipaaEligible":true,"selfHostable":false},"availabilityStatus":{"providerStatus":"active","verifiedActiveSkus":0,"unverifiedSkus":0,"liveFailoverTargetId":"nango"},"subject_ref":{"layer":"runtime_route","subject_id":"runtime_route:workos:workos-primary:managed_cloud_service:global","provider_id":"workos","product_id":"workos-core","model_id":"workos-primary","version":"2026-10-28","route_class":"managed_cloud_service","region":"global","score_status":"layer_evidenced","layer_score":"unknown","inherited_from_parent_layer":false,"inheritance_policy":"no_cross_layer_inheritance"},"distinctRouteSubjects":[{"layer":"runtime_route","subject_id":"runtime_route:workos:workos-primary:direct_api:global","provider_id":"workos","product_id":"workos-core","model_id":"workos-primary","version":"2026-10-28","route_class":"direct_api","region":"global","score_status":"layer_evidenced","layer_score":"unknown","inherited_from_parent_layer":false,"inheritance_policy":"no_cross_layer_inheritance"}]}],"depth":{"whenNotToUse":{"text":"Agent tool-router breadth with managed auth — Composio; end-user auth/passkeys — Stytch; enterprise SSO and directory sync — WorkOS; machine secrets (not user OAuth) — Infisical.","source":"editorial `whenNotTopPick` (data/jtbds.json)"},"whenNotToUseReason":null,"runnerUp":{"providerId":"composio","name":"Composio","overallForJob":7.68,"pickOverallForJob":8.17,"beatsPickOn":["developerDx"],"source":"first resolvable entry of the job's editorially ranked `runnersUpIds`; scores are stored job-weighted scores"},"runnerUpReason":null,"lockIn":{"pickLockInRisk":3.5,"runnerUpLockInRisk":5.8,"scale":"0–10 stored curated estimate; higher = more lock-in (worse)","pickExitSignals":["open source (provider tag `oss`)"],"runnerUpExitSignals":[],"pickNotes":[{"text":"Self-host escape hatch vs pure SaaS tool routers","field":"strengths"}],"selfHostFallback":[],"migration":"The pick has lower stored lock-in risk than runner-up Composio (3.5 vs 5.8). Pick exit signals: open source (provider tag `oss`).","migrationReason":null,"derivedFrom":"stored lockInRisk scores, provider tags (oss, self-host, openai-compat, open-models), free rows that list this job, and verbatim provider notes. No migration guide was invented."}},"freshness":{"pick":{"score":{"asOf":"2026-10-28","ageDays":1,"stale":false,"staleAfterDays":30,"reason":null},"lastReviewed":{"asOf":"2026-10-28","ageDays":1,"stale":false,"staleAfterDays":30,"reason":null},"sourceCheck":{"checkedAt":"2026-10-28","sourceUrls":2,"sourcesReachable":2,"pricingRows":0,"pricingRowsReconfirmed":0,"note":"A source re-check confirms the page is reachable and, for pricing rows, that the stored amount and SKU name appear on it. It does not re-derive or change the score.","reason":null}}},"whenNotTopPickRules":[{"ifConstraint":"escape_hatch_clause_1","recommendedProviderId":"composio","activeModelOrSku":"composio-ridiculously-cheap","reason":"Agent tool-router breadth with managed auth — Composio"},{"ifConstraint":"escape_hatch_clause_2","recommendedProviderId":"stytch","activeModelOrSku":"stytch-b2b-mau","reason":"end-user auth/passkeys — Stytch"},{"ifConstraint":"escape_hatch_clause_3","recommendedProviderId":"workos","activeModelOrSku":"workos-authkit-free-1m-mau","reason":"enterprise SSO and directory sync — WorkOS"},{"ifConstraint":"escape_hatch_clause_4","recommendedProviderId":"infisical","activeModelOrSku":"infisical-pro-tier","reason":"machine secrets (not user OAuth) — Infisical."}],"bootstrap":{"sdkInstall":{"npm":"npm install @nangohq/node","pip":null},"installCommand":"npm install @nangohq/node","envVars":["NANGO_SECRET_KEY"],"activeModelOrSku":"nango-cloud","canonicalSnippet":"import { Nango } from \"@nangohq/node\";\nconst nango = new Nango({ secretKey: process.env.NANGO_SECRET_KEY! });\nconst conn = await nango.getConnection(\"github\", \"connection-1\");","docsUrl":"https://docs.nango.dev/","bootstrapReason":"Official Node SDK (@nangohq/node) and REST API; Python consumers call the REST API directly.","authType":"api_key","signupUrl":"https://nango.dev","apiKeyUrl":"https://nango.dev","mcpServer":null,"cliInit":null,"verifyCommand":"test -n \"$NANGO_SECRET_KEY\" && echo \"NANGO_SECRET_KEY configured\""},"quickstartSpec":{"installCommand":"npm install @nangohq/node","envVars":["NANGO_SECRET_KEY"],"activeModelOrSku":"nango-cloud","canonicalSnippet":"import { Nango } from \"@nangohq/node\";\nconst nango = new Nango({ secretKey: process.env.NANGO_SECRET_KEY! });\nconst conn = await nango.getConnection(\"github\", \"connection-1\");","sdkInstall":{"npm":"npm install @nangohq/node","pip":null},"verifyCommand":"test -n \"$NANGO_SECRET_KEY\" && echo \"NANGO_SECRET_KEY configured\"","apiKeyUrl":"https://nango.dev","docsUrl":"https://docs.nango.dev/","mcpServer":null,"bootstrapReason":"Official Node SDK (@nangohq/node) and REST API; Python consumers call the REST API directly."},"operationalGotchas":[{"code":"hidden_spend_tier_gates","severity":"warning","summary":"Not a turnkey 1000-tool agent router like Composio","sourceDate":"2026-10-28"},{"code":"hidden_spend_tier_gates","severity":"warning","summary":"Pricing page sometimes bot/409 flaky — confirm console","sourceDate":"2026-10-28"}],"relatedPacks":[],"depotPick":{"id":"nango","slug":"nango","name":"Nango","tagline":"Depot pick for saas-oauth-integrations (embed customer SaaS OAuth/sync). Composio remains agent-tool-router…","overall":8.17},"runnersUp":[{"id":"composio","slug":"composio","name":"Composio","tagline":"Depot pick for tool/MCP router with managed OAuth across 1500+ apps. Official rate card is now public — Hobby…","overall":7.68},{"id":"stytch","slug":"stytch","name":"Stytch","tagline":"Auth pick when agents/M2M + org SSO matter more than Clerk's consumer UI kit. Watch Twilio integration…","overall":8.37},{"id":"workos","slug":"workos","name":"WorkOS","tagline":"When your first big customer asks for Okta SSO tomorrow, WorkOS is how you say yes without a rewrite.","overall":8.6},{"id":"infisical","slug":"infisical","name":"Infisical","tagline":"Depot default for agent secrets when you want OSS exit + Agent Proxy (placeholders instead of raw keys in the…","overall":8.41}]}