← Use cases

Support Ops / CX

Support agents that issue refunds

A support agent resolves tickets and can issue refunds, apply credits, and update the CRM. Every inbound message is untrusted input aimed at something that can move money.

Real example — shipping today

source →

Salesforce · Agentforce (Service Agent)

Autonomous service agents resolve cases across chat, email, and SMS — querying history, updating records, resetting passwords, and taking customer-facing actions.

Their own controls — Agentforce runs on the Einstein Trust Layer with standard permissions, sharing rules, and prompt-injection guardrails.

The danger without a gate

A crafted message prompt-injects the agent into refunding thousands, or into reading another customer’s record — with no authorization tied to the actual amount and account, and no tamper-evident proof of what was approved.

How MCPIP handles it, step by step

Read it top to bottom. Each step shows the real command and exactly what MCPIP returns — the same allow / step-up / denied envelope every time.

1

The agent requests a refund

It asks to refund $1,800 to a customer. The agent only ever sees an opaque alias — account_7fZk — never the real account.

bash
$ mcpip --json authorize skill_issue_refund --arg account=account_7fZk --arg amount_usd=1800
step-up requiredwhat mcpip returns
{
  "error": "step_up_pending",
  "challenge_id": "chg_2f91aa",
  "correlation_id": "b3d1f0a7"
}
2

MCPIP binds a one-time PIN to this exact refund

Anything over the threshold is held for approval. The PIN is cryptographically bound to this amount and this account — change either later and it’s void.

3

A human approves it

A supervisor confirms with the PIN; MCPIP seals the decision and the refund runs.

bash
$ mcpip --json complete --challenge chg_2f91aa
allowwhat mcpip returns
{
  "decision": "allow",
  "status": "executed",
  "transaction_ref": "txn_5c8a12",
  "executed_target_class": "rest",
  "worm_sequence": 48214,
  "correlation_id": "b3d1f0a7"
}
4

attackThe attack: a prompt injection bumps the amount to $4,800

A hostile ticket tries to escalate the refund. The new payload drifts from what was approved, so the approval doesn’t apply — denied, opaquely.

bash
$ mcpip --json authorize skill_issue_refund --arg account=account_7fZk --arg amount_usd=4800
deniedwhat mcpip returns
{
  "error": "denied",
  "correlation_id": "c81d02f7"
}

The result

Refund and CRM automation that can’t be talked into fraud, and is provable after the fact.

per-call authzpayload PINopaque aliasWORM

The same flow, at a glance

SUPPORT AGENTMCPIPAPPROVERBILLING APIrefund $1,800 · account_7fZkopaque aliasstage · PIN binds amount+accountPIN approves THIS refundverify · seal WORMexecute refundreplay $4,800 → deny

Every command above runs against a local sandbox in one line.

run it yourself — curl … | bash && mcpip up →