Why card data should stay out of support conversations
A support conversation is copied to several places: your helpdesk, Fini’s Inbox mirror, the AI Steps trace, analytics, and any email thread. If a customer types a full card number into chat, every one of those copies is now cardholder data, and each system that holds it can fall into your PCI scope. Keeping card data out of conversations removes that problem at the source, regardless of any vendor’s attestation:How to configure Fini
1. Identify cards without asking for them
Let the authenticated session identify the customer, and load their cards from your systems. A User Attribute or a lookup Action returns the customer’s cards with tokens and last-four digits; the Rulebook asks the customer to pick one by last four or nickname. The card replacement walkthrough builds exactly this pattern: list the customer’s cards, confirm which one, freeze it, order a replacement, without the customer typing a card number.2. Run card operations through Actions in your systems
Freezing a card, ordering a replacement, disputing a charge or updating a payment method should be an Action that calls your card-management or payments API with a token, not something the agent does by handling card details. Actions run only when a Rulebook Tool node invokes them, so the call happens in a deterministic flow you built and tested. If your firewall restricts inbound traffic, allowlist Fini’s static IP addresses. When a customer genuinely needs to enter a new card, send them to your own hosted payment page or in-app flow with a Reply node, rather than collecting the number in the conversation.3. Tell the agent never to ask, and escalate when a customer volunteers
- In the Planning Prompt, add an Escalation Topics trigger for sensitive data shared in-channel, as the prompt guidance suggests for “last 4 of card, SSN” and similar. See Prompts.
- In your Main Guidelines, state that the agent never requests a full card number, security code or PIN, and directs customers to the secure flow instead.
4. Add guardrails on replies
- Confidential attributes: select any attribute keys that carry card details (for example a full card number your attributes endpoint should not return in the first place). If a reply contains one of those values, Fini attempts a rewrite and, if that fails, escalates instead of sending it.
- Banned terms: add a regular expression that matches 13 to 19 digit sequences, including ones separated by spaces or hyphens, so a reply does not echo a card number back.
- Custom rule: fail any reply that asks the customer for a card number, CVV or PIN.
5. Use Reply Rules for card-sensitive topics
If your helpdesk policy is that card disputes or payment-method changes always go to a person, add a condition on the Internal Comment or No Reply card, for example Type of Issue In disputes, chargebacks. See Reply Rules.6. Test it
Build a Test Suite set with the Safety & boundaries judge and scenarios where a customer pastes a card number, asks the agent to “just take my card details”, or offers a CVV. The expected outcome is that the agent declines, points to the secure flow, and escalates where your policy requires.What this means for your PCI scope
Your QSA decides your scope. The configuration above is designed so that Fini, your helpdesk and your conversation logs do not receive cardholder data during normal support, and card operations happen only in systems you already assess. Document that design, and the Test Suite results, in your scoping evidence.Related
End-to-end: card replacement
A deterministic lost-or-stolen card flow with no card numbers in chat.
Guardrails
Confidential attributes, banned terms and custom rules.
Fintech setup
Recommended configuration for banking and fintech support.
Security overview
Fini’s certifications and how to request reports.

