{"generated_at":"2026-10-14T20:07:22+00:00","item":{"added_at":"2026-07-03","analysis_method":"independent_manual_review_2026-10-10","assessment_status":"provisional","auth_posture":"auth_required","catalog_reconciliation":{"basis":"Documented actions on the identified catalog surface; not an execution test.","confidence":"medium","evidence_completeness":"partial","previous":{"confidence":"low","detail_sha256":"6e0b7b24ea3b5727fe87584f4593dd7702bfadfa4ddde674f04161def3f5b23b","risk":"low"},"proposal_file":"claude-tail-proposals.json","rationale":"The vendor integration guide (now readable) confirms the connector is read-only ('The current integration is read-only'), with OAuth 2.0 via Frontegg/auth.spendflo.com. That resolves the write question, but the reads cover the organization's private contracts, renewals, purchase orders, vendor spend, users, departments and approval tasks. Under the rubric and the consistency anchor, a read-only connector over a customer's private business data is Medium, so Low understates it. customQuery still lacks a published schema, though it is still covered by the read-only statement.","review_key":"claudesec:874cc786-1cf9-4ba5-a031-9bdd5cae5794","reviewed_at":"2026-10-12","runtime_verified":false,"sources":["https://help.spendflo.com/support/solutions/articles/103000391523-spendflo-claude-mcp-integration-documentation","https://help.spendflo.com/support/solutions/articles/103000398429-spendflo-mcp-model-context-protocol-","https://api-v2.spendflo.com/.well-known/oauth-protected-resource/mcp","https://api.anthropic.com/api/directory/servers"],"status":"resolved"},"category":"Web Connector","confidence":"low","description":"Spendflo retrieves procurement, vendor, contract, and technology-spend context. Inspect purchase requests, approvers, renewals, purchase orders, and workflow status. Authenticated queries support procurement research across teams or subsidiaries.","did":"874cc786-1cf9-4ba5-a031-9bdd5cae5794","documentation_url":"https://help.spendflo.com/support/solutions/articles/103000391523-spendflo-claude-mcp-integration-documentation","editorial_description":{"extended_description":"Retrieve user tasks, departments, team products, counts, and contract summaries for procurement visibility.","schema_version":1,"summary":"Spendflo retrieves procurement, vendor, contract, and technology-spend context.\nInspect purchase requests, approvers, renewals, purchase orders, and workflow status.\nAuthenticated queries support procurement research across teams or subsidiaries."},"homepage_url":"","icon":"","id":"874cc786-1cf9-4ba5-a031-9bdd5cae5794","installs":0,"last_scanned":"","license":"","long_description":"Retrieve user tasks, departments, team products, counts, and contract summaries for procurement visibility.","manual_assessment":"low","manual_review":{"all_findings":[{"evidence":"All named operations retrieve procurement records, users, workflows and approvals.","reasoning":"Contracts, POs, vendors, spend and approvals are sensitive business data.","risk_type":"private_data_read","severity":"low","title":"Reads private procurement, vendor, contract and spend data","triggering_tools_or_skills":["queryRequests","getRequestDetails","queryVendors","getContractDetails","getUpcomingRenewals","queryPurchaseOrders","getPurchaseOrderDetails","getUserTasks"]},{"evidence":"The tool name is generic, but the listing frames the connector as programmatic read access and does not describe SQL or write execution.","reasoning":"Runtime schema is needed to confirm it is only a bounded read query.","risk_type":"evidence_gap","severity":"low","title":"Custom query bounds are undocumented","triggering_tools_or_skills":["customQuery"]}],"assessment_status":"provisional","auth_and_scopes":"Authentication to Spendflo is required; procurement/vendor/contract/order/task visibility follows the user’s Spendflo role, but customQuery syntax is not documented.","blocked_missing_evidence":null,"confidence":"low","displayed_risk":"low","evidence_completeness":"partial","manual_overall_risk":"low","official_sources":[{"accessed_at":"2026-10-10T20:24:37Z","url_or_path":"plutosecurity/plutonium@b749c8dc43536c794409be9805edd48063f045e2:app/data/conn/claudesec/874cc786-1cf9-4ba5-a031-9bdd5cae5794.json","what_it_proves":"Candidate PR #125 record identity (name \"Spendflo\", publisher, type web_connector) and 29 stored tool names; no tool descriptions stored"},{"accessed_at":"2026-09-22T10:46:07Z","url_or_path":"https://api.anthropic.com/api/directory/servers?verified_tier=anthropic,partner,community (snapshot claude-directory-all-tiers-2026-09-22.json)","what_it_proves":"Official Claude Directory listing https://claude.ai/directory/874cc786-1cf9-4ba5-a031-9bdd5cae5794: complete tool_names inventory (29 tools), remote streamable-http endpoint https://api-v2.spendflo.com/mcp, auth_posture auth_required, directory tier community"}],"primary_reason":"Spendflo appears read-only, but customQuery needs documented query-language and side-effect bounds.","provisional_risk":null,"publication_recommendation":"fix","requires_runtime_verification":true,"review_key":"claude:874cc786-1cf9-4ba5-a031-9bdd5cae5794","reviewed_at":"2026-10-10","reviewer_notes":"Reviewed all 29 tools. The official help URL failed in lookup; no create/update/approve/pay/delete tool is present, so low is supported provisionally while customQuery should be documented.","risk_domains":{"arbitrary_network_access":"false","authz_ambiguity":"unknown","browser_control":"false","credential_or_admin_actions":"false","deletes_data":"false","deployment_or_infrastructure":"false","dynamic_hidden_actions":"false","filesystem_or_repo_access":"false","forwards_data_to_third_party":"true","modifies_data":"false","persistent_credentials":"true","prompt_injection_exposure":"true","provenance_uncertainty":"true","reads_private_data":"true","runs_code_or_queries":"false","sends_messages_as_user":"false","spends_or_moves_money":"false"},"tools_or_skills_reviewed":29,"tools_or_skills_total":29},"name":"Spendflo","needs_runtime_verification":true,"plutonium_url":"https://plutonium.pluto.security/detail.html?planet=claudesec&did=874cc786-1cf9-4ba5-a031-9bdd5cae5794&utm_source=plutonium_analysis_skill&utm_medium=claude_skill&utm_campaign=connector_risk_assessment","privacy_policy_url":"https://www.spendflo.com/privacy-policy","provisional_risk":null,"publication_recommendation":"fix","publisher":"Spendflo","publisher_url":"https://www.spendflo.com/","remote_url":"https://api-v2.spendflo.com/mcp","repository_url":"","risk":"medium","risk_severity":"medium","security_risks":[{"description":"Retrieves contracts, renewals, purchase orders, vendor spend, user and department information and approval tasks from your organization.","evidence":"Actions: queryRequests, getRequestDetails, queryVendors, getVendorDetails, queryContracts, getContractDetails, getUpcomingRenewals, queryPurchaseOrders, getPurchaseOrderDetails, queryUsers, getUsersInDepartment, getUserTasks, customQuery. https://help.spendflo.com/support/solutions/articles/103000391523-spendflo-claude-mcp-integration-documentation — FAQ: integration is read-only; getDepartments, queryVendors, getUserTasks; https://api.anthropic.com/api/directory/servers (snapshot claude-directory-all-tiers-2026-09-22.json) — 29 query/get/count tools","risk_type":"reads_private_data","severity":"medium","title":"Reads private procurement and spending records"}],"signature_status":"unknown","source_code_reviewed":false,"support_url":"support@spendflo.com","tags":["reads_private_data"],"tools":[{"description":"","name":"queryRequests"},{"description":"","name":"getRequestDetails"},{"description":"","name":"getRequestCount"},{"description":"","name":"findApproversForTask"},{"description":"","name":"queryVendors"},{"description":"","name":"getVendorDetails"},{"description":"","name":"getVendorCount"},{"description":"","name":"queryContracts"},{"description":"","name":"getContractDetails"},{"description":"","name":"getContractOverview"},{"description":"","name":"getContractSummary"},{"description":"","name":"getUpcomingRenewals"},{"description":"","name":"queryRenewals"},{"description":"","name":"getRenewalCount"},{"description":"","name":"getRenewalSummary"},{"description":"","name":"getCurrentUser"},{"description":"","name":"getUserDetails"},{"description":"","name":"getUserTasks"},{"description":"","name":"queryUsers"},{"description":"","name":"getDepartments"},{"description":"","name":"getUsersInDepartment"},{"description":"","name":"getTeamDetails"},{"description":"","name":"getTeamProducts"},{"description":"","name":"queryPurchaseOrders"},{"description":"","name":"getPurchaseOrderDetails"},{"description":"","name":"getPurchaseOrderCount"},{"description":"","name":"customQuery"},{"description":"","name":"queryWorkflows"},{"description":"","name":"listSubsidiaries"}],"tools_count":29,"transport":"streamable-http","type":"web_connector","url":"https://claude.ai/directory/874cc786-1cf9-4ba5-a031-9bdd5cae5794","uuid":"0b1f1181-aef5-5eae-a75f-107cad7bead6","verification_tier":"community","version":""},"query_key":"spendflo","schema_version":1,"status":"match"}
