Skip to content

Safety model

An assistant connected to your workspace is powerful. These rules are enforced by VibeSell’s server on every call, whatever the client, the model or the prompt.

Anything that spends money, imports leads, sends emails or cannot be undone opens an approval card and stops there. Only your click runs it. The rule is held twice: the catalog test refuses a tool that would act without a card, and the server refuses such a call again at run time. See Approval cards.

confirm_target, confirm_sizing and approve_sequence take theirWords: the sentence you wrote, quoted as you wrote it. Tool descriptions tell the model never to confirm on its own judgment, and confirm_target is refused unless you were shown real people of that target first.

The server exposes a fixed list of tools — the reference is generated from it. There is no generic “run anything” tool, no proxy to VibeSell’s own agent, and no web browsing: your assistant reads your website with its own web tools.

Every connection can read (mcp). Saving and preparing need mcp:act, which you accept on VibeSell’s consent page. A read-only connection doesn’t even see the act tools. See Permissions & consent.

A call from the MCP runs through the same core as VibeSell’s agent, with the same checks in the same order:

  1. The account — the workspace must be open to it; a locked account is locked here too.
  2. The subscription — no spending before an active plan.
  3. The tool’s own pre-check — a target before its filters, a confirmed target before sizing…
  4. The step — a tool of a later step is refused until the workspace gets there.

If VibeSell’s own agent is working on your workspace in the app at that moment, act tools wait: “VibeSell’s agent is working in the VibeSell app right now, on this same workspace. Try again in a minute.” Reads are never blocked.

The MCP never posts in the conversation of the VibeSell app: no message, no lead sample, no workspace event from a read. Your assistant is the only voice in its chat; VibeSell’s agent stays the only voice in the app. What the assistant saves — the offer, the target, a sequence — is of course in your workspace, as if you had done it in the app.

Previews never include email addresses. Emails come only with an import you approved.

Every tool call is written to VibeSell’s command journal — the account, the app, the tool, its arguments and its outcome — and every decision on an approval card is kept in an append-only log.

The server is stateless: each request opens its own MCP server instance carrying the access of the token that opened it, and closes it with the response. Nothing survives between two requests, so nothing can leak from one account to another.

Codes and tokens are stored only as hashes. Access tokens last one hour, refresh tokens rotate on every use, and a replayed refresh token revokes the whole connection. See Authorization.