You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
fix: reframe PCI handoff docs to neutral feature documentation
Remove incident-response framing ("What happened", "What we've fixed",
"What you need to do") from PCI.mdx and present previousAssistantMessages
as a standard feature for controlling handoff context in sensitive flows.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Copy file name to clipboardExpand all lines: fern/security-and-privacy/PCI.mdx
+9-19Lines changed: 9 additions & 19 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -227,41 +227,31 @@ The key component is the `artifactPlan` in Assistant 2:
227
227
228
228
This ensures that sensitive payment information is never recorded, logged, or transcribed, while still allowing you to maintain call quality data for the non-sensitive portions of the conversation.
229
229
230
-
## Securing Handoffs with Sensitive Data
230
+
## Handoff Context Configuration
231
231
232
-
When using squads or the handoff tool with PCI-mode assistants, it is important to control what conversation context is forwarded to the next assistant. By default, handoffs use `contextEngineeringPlan` type `all`, which transfers the **entire** conversation history -- including tool call results that may contain sensitive data such as card numbers.
232
+
When using squads or the handoff tool, you can control what conversation context is forwarded to the next assistant using `contextEngineeringPlan`. This is particularly important for PCI-compliant flows where an assistant handles sensitive data such as payment card numbers.
233
233
234
-
### What Vapi has fixed
235
-
236
-
Vapi has deployed a server-side fix to ensure that sensitive data is no longer stored in internal systems or logs for any assistant that has PCI mode enabled, logging disabled, or zero data retention (ZDR) configured. This fix applies automatically to all qualifying assistants.
237
-
238
-
### What you need to do
239
-
240
-
As a defense-in-depth measure, if your flow uses assistant handoffs -- particularly handing off **from** a card-collection (or similarly sensitive) assistant **to** another assistant -- you should configure the `contextEngineeringPlan` on the handoff destination to prevent sensitive tool call data from being forwarded.
234
+
By default, handoffs use `contextEngineeringPlan` type `all`, which transfers the entire conversation history -- including tool call results. For assistants that process sensitive data, you should choose a more restrictive context type to ensure that tool call results (which may contain card numbers or other sensitive values) are not forwarded.
241
235
242
236
<Warning>
243
-
If your sensitive assistant uses the default `contextEngineeringPlan` (type `all`), the full conversation context -- including tool call results containing card numbers or other sensitive data -- will be forwarded to the next assistant. Always set an appropriate context engineering plan on handoff destinations from sensitive assistants.
237
+
If a sensitive assistant uses the default `contextEngineeringPlan` (type `all`), the full conversation context -- including tool call results -- will be forwarded to the next assistant. Always set an appropriate context engineering plan on handoff destinations from assistants that handle sensitive data.
244
238
</Warning>
245
239
246
-
#### Step 1: Identify your sensitive assistant handoffs
247
-
248
-
Review your squad or handoff tool configuration. Look for any assistant that collects sensitive data (card numbers, SSNs, etc.) and has `assistantDestinations` or handoff tool `destinations` pointing to another assistant.
249
-
250
-
#### Step 2: Set the context engineering plan
240
+
### Recommended context types
251
241
252
-
On each destination **from** a sensitive assistant, add a `contextEngineeringPlan`that excludes tool call data. The recommended options are:
242
+
The following `contextEngineeringPlan`types are well-suited for PCI and other sensitive data flows:
253
243
254
244
| Type | Behavior | When to use |
255
245
|------|----------|-------------|
256
-
|`previousAssistantMessages`| Forwards only the conversation history from **before** the current (sensitive) assistant's session. Excludes the sensitive assistant's own messages and tool calls entirely. |**Recommended.** Preserves useful pre-payment context while fully excluding sensitive data. |
246
+
|`previousAssistantMessages`| Forwards only the conversation history from **before** the current assistant's session. Excludes the current assistant's own messages and tool calls entirely. |**Recommended.** Preserves useful pre-payment context while fully excluding the sensitive assistant's data. |
257
247
|`userAndAssistantMessages`| Forwards only user and assistant spoken messages, stripping out all tool calls and tool results. | Good alternative when you want the next assistant to see the conversational flow but not internal tool data. |
258
248
|`none`| Starts the next assistant with a blank conversation. No prior context is forwarded. | Maximum isolation. Use when the next assistant does not need any prior context. |
259
249
260
250
<Note>
261
251
For a full reference on all context engineering plan types, see the [Handoff Tool - Context Engineering](/squads/handoff#context-engineering) documentation.
262
252
</Note>
263
253
264
-
#### Step 3: Apply the configuration
254
+
###Configuring the context engineering plan
265
255
266
256
Set the `contextEngineeringPlan` on the handoff destination from your sensitive assistant. Here is an example using `previousAssistantMessages`:
267
257
@@ -296,7 +286,7 @@ Or equivalently, when using the handoff tool:
296
286
}
297
287
```
298
288
299
-
#### Step 4: Use variable extraction for safe data passing
289
+
###Using variable extraction for safe data passing
300
290
301
291
If the next assistant needs specific data from the sensitive session (such as the last four digits of a card number for confirmation), use `variableExtractionPlan` instead of relying on full context forwarding. This extracts only the structured fields you define:
Copy file name to clipboardExpand all lines: fern/squads/handoff.mdx
+1-1Lines changed: 1 addition & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -452,7 +452,7 @@ Transfers only the conversation history from **before** the current assistant's
452
452
This mode is particularly useful when the current assistant handles sensitive data (such as payment card numbers in a PCI-compliant flow). By excluding the current assistant's session from the forwarded context, you prevent sensitive tool call results from reaching the next assistant.
453
453
454
454
<Tip>
455
-
Use `previousAssistantMessages` when handing off from a sensitive assistant (e.g., one collecting payment data) to a non-sensitive assistant. It preserves useful conversation context from earlier in the call while ensuring the sensitive assistant's tool call data is not forwarded. See the [PCI Compliance - Securing Handoffs](/security-and-privacy/pci#securing-handoffs-with-sensitive-data) guide for a complete walkthrough.
455
+
Use `previousAssistantMessages` when handing off from a sensitive assistant (e.g., one collecting payment data) to a non-sensitive assistant. It preserves useful conversation context from earlier in the call while ensuring the sensitive assistant's tool call data is not forwarded. See the [PCI Compliance - Handoff Context Configuration](/security-and-privacy/pci#handoff-context-configuration) guide for a complete walkthrough.
0 commit comments