Docs · Claude connector · Security

Security and administration

Each member connects their own SimpleSend account over OAuth 2.1. There is no shared service credential, no member can reach another member’s data, and every member can revoke their own connection at any time. There is no administrator console for those connections yet. This page says precisely what that does and does not give you.

Setting the connector up is covered on the connector docs page.

How a member connects

SimpleSend’s connector is an OAuth 2.1 resource server at https://simplesend.tech/api/mcp. Authentication is delegated to our identity provider, Supabase Auth, which is the authorization server for SimpleSend accounts. It issues the tokens; SimpleSend verifies every one of them with it on every call. SimpleSend does not run its own authorization server and does not issue tokens.

  • We publish protected-resource metadata (RFC 9728) at /.well-known/oauth-protected-resource/api/mcp, naming that authorization server. A request without a valid token is answered 401 with a WWW-Authenticate header pointing at it.
  • The authorization code flow uses PKCE, and redirect URIs must match exactly. Both are enforced by the authorization server.
  • The member approves the connection on a SimpleSend consent screen while signed in to their own account. An authorization request expires after ten minutes.
  • Loopback redirect URIs are not accepted, so Claude Code and other local clients authenticate with a personal access key instead of OAuth.

What a connection can do

The connector exposes 16 tools. Nine are read-only and seven write; none deletes anything. A connection can read the member’s lead lists, campaigns and drafts, create lists and campaigns, research companies against the member’s unit balance, save drafts, and export campaigns. It cannot see billing details, change a plan, or read credentials for any other connected application.

A connector connection has full access to that member’s own SimpleSend data. The capability list on the consent screen describes what the tools do. It is not a set of permissions the member can narrow, and there is no read-only connector connection. Read-only access exists only for personal access keys, which a member can create with a read scope for Claude Code or a custom client. A read-only key is refused by every writing tool before the tool runs.

Tokens and keys

OAuth connections. Access tokens are issued, expired and refreshed by the authorization server. SimpleSend stores no access or refresh token; it verifies each token with the authorization server on every call, so a revoked connection stops working immediately rather than at the end of a cached window. Disconnecting deletes that client’s sessions and refresh tokens.

Personal access keys. A key is 32 random bytes, displayed once at creation and never again. We store only an HMAC-SHA256 digest of it, keyed with a server-side secret that is never written to the database, so a copy of the database alone can neither verify nor forge a key. The digest column is excluded from the grant that signed-in clients read, so it cannot be selected even by accident. A member may hold up to 10 active keys.

Keys expire after 365 days by default. A member can shorten that, or set a key not to expire, so key lifetime is a member’s choice rather than an organization policy. Revoking a key takes effect immediately. Rotating a key is different: the previous key stays valid for 24 hours so configuration can be updated without an outage. Use revoke, not rotate, when a key may be compromised.

Isolation

  • Every query is scoped to the connecting member. No tool accepts an account identifier, so there is no parameter through which one member could request another member's data.
  • A web session token is refused. The connector accepts only tokens issued to a registered client, so a stolen browser session cannot drive it.
  • Connector tokens cannot reach the database directly. A restrictive policy limits every table to first-party sessions, and the connector reads through the server rather than the data API.
  • No token passthrough. We never forward a member's Claude token to any third party; calls to our own providers use SimpleSend's credentials.

Limits

Limits are enforced per member and per IP address. They are not configurable per organization.

WhatLimit
Tool calls60 per member per 5 minutes
Tool calls1000 per member per 24 hours
Tool calls120 per IP address per 5 minutes
Protocol traffic300 per member per 5 minutes, 6000 per 24 hours
Company research200 companies per member per day
Personal access keys10 active per member

Logging and retention

We write one record per tool call: the tool name, the time, whether it succeeded, an error code if not, the units consumed, how long it took, the caller’s IP address, and a short one-way digest of the arguments. The arguments themselves are never stored — the digest is enough to answer a support question without the log becoming a second copy of your data. These records are deleted after 90 days by a scheduled job.

What the connector sends us, what we send back, which third parties are involved, and how long each kind of data is kept is set out in section 9 of the privacy policy.

What an administrator controls

SimpleSend has companies, team invitations and company administrators. Connector connections sit outside all of it: today the connector is a per-member, self-service feature. Being direct about that is more useful than implying otherwise.

What you can do today

  • Remove the member's SimpleSend account. This is the real off-switch: their keys and connections are deleted with it.
  • Decide whether the connector is available at all. Whether your organization can enable a connector is settled in Claude, not in SimpleSend, and your Claude administrator owns that decision.
  • Ask us. On a verified request from an administrator we will revoke a member’s connection or produce their connector audit history. Write to ethan@simplesend.tech and we will respond within two business days.

What is not available

  • Single sign-on (SAML or OIDC) and SCIM provisioning.
  • Domain capture, so members of your domain are not automatically bound to an organization.
  • An administrator view of which members have connected, or of their activity.
  • Administrator revocation of another member's connection or key.
  • An organization policy to disable the connector, require approval before connecting, or restrict which clients may connect.
  • An administrator-visible audit log, log export, or SIEM feed.
  • Organization-level spend caps for connector usage. Every limit is per member.

Security contact

Security questions, vulnerability reports and administrator requests go to ethan@simplesend.tech. Please include the word “security” in the subject line.