Implementing Automated PCI Redaction in Screen Recording during Secure Pause Events
What This Guide Covers
- Eliminating a critical PCI-DSS compliance gap by ensuring that when an agent triggers a “Secure Pause” to collect a credit card over the phone, the Genesys Cloud WEM Screen Recording also pauses automatically.
- Architecting a custom Secure Pause Architect flow that coordinates both Voice and Screen recording suspensions simultaneously using the Genesys Cloud API.
- The end result is a foolproof compliance mechanism that prevents agents’ screens (which are displaying the billing portal and typing out the credit card number) from being captured and stored in your historical quality management recordings.
Prerequisites, Roles & Licensing
- Licensing: Genesys Cloud CX 3 (or CX 1/2 with WEM Add-on).
- Permissions:
Architect > Flow > Edit,Quality > Screen Recording > Manage,Integrations > Action > Edit. - Infrastructure: A deployed Web Services Data Action integration configured to hit the Genesys Cloud Public API (
api.mypurecloud.com).
The Implementation Deep-Dive
1. The Screen Recording Blind Spot
When a customer is ready to pay, the agent clicks “Secure Pause” (or a Secure Flow is triggered via DTMF). This stops the voice recording for 60 seconds.
The Trap:
By default, the Voice recording pauses, but the Screen recording continues. The agent opens the external payment gateway, types the customer’s 16-digit credit card number into the portal, and clicks submit. Because the Screen Recording was still running, that 16-digit number was captured in full 1080p video and saved to your Genesys Cloud AWS S3 bucket. If an auditor reviews this recording, you instantly fail your PCI-DSS assessment, exposing the company to massive fines.
2. The Genesys Cloud API Architecture
To solve this, we must explicitly tell the Quality Management engine to pause the screen capture process whenever the voice recording is paused. We do this using the Genesys Cloud Conversations API.
Implementation Steps (The Data Action):
- Navigate to Admin > Integrations > Actions.
- Create a new custom Data Action named
Pause_Screen_Recording. - HTTP Method:
PUT - Endpoint URL:
/api/v2/conversations/{conversationId}/participants/{participantId}/screenrecording/pause - Input Contract:
conversationId(String)participantId(String)
- Create a secondary Data Action named
Resume_Screen_Recording. - HTTP Method:
PUT - Endpoint URL:
/api/v2/conversations/{conversationId}/participants/{participantId}/screenrecording/resume
3. Orchestrating the Secure IVR Flow
Instead of relying on the manual “Secure Pause” button in the UI (which relies on the agent remembering to click it), we will build a dedicated Secure Flow that handles the billing entry and the recording redaction autonomously.
Implementation Steps:
- Open Architect and create a new Secure Call Flow.
- The Entrance (Pause): When the call enters the Secure Flow, the voice recording is automatically paused by the platform.
- Immediately place a
Call Data Actionblock as the very first step. - Execute the
Pause_Screen_RecordingData Action you created in Step 2.- Use the built-in variables
Call.ConversationIdandCall.AgentParticipantId. - Result: The agent’s screen recording goes dark (or is overlaid with a privacy mask depending on the desktop app configuration) the exact second the voice recording stops.
- Use the built-in variables
- The DTMF Collection: Use a
Collect Inputblock to securely collect the customer’s credit card number via their telephone keypad. (The agent does not type it). - The Payment Gateway: Use another Data Action to process the payment through your gateway (e.g., Stripe, Cybersource).
- The Exit (Resume): Right before returning the call to the agent, use a
Call Data Actionblock to execute theResume_Screen_RecordingAPI call. The screen capture begins again, and the call seamlessly returns to the normal Agent Workspace.
4. Handling Agent-Initiated Manual Pauses
If you allow agents to manually click the “Secure Pause” button in their interface (rather than transferring to a Secure Flow), you must bridge the gap using EventBridge.
Implementation Steps:
- Configure an Amazon EventBridge integration.
- Subscribe to the
v2.detail.events.conversation.{id}.secure_pausetopic. - Route this to an AWS Lambda function.
- When the Lambda receives the
secure_pause_startedevent, it executes thePause_Screen_RecordingAPI call. - When the Lambda receives the
secure_pause_endedevent, it executes theResume_Screen_RecordingAPI call.
Note: Because this is an asynchronous event trigger, there may be a 1-2 second latency before the screen recording actually stops. If strict zero-tolerance PCI compliance is required, the Secure Flow architectural method (Step 3) is superior to the manual button.
Validation, Edge Cases & Troubleshooting
Edge Case 1: Multiple Agent Participants (Consult Transfers)
- The Failure Condition: Agent A receives the call. The screen recording starts. Agent A consult-transfers the call to Agent B. They are both on the line. Agent B initiates a Secure Pause to take payment. The API call is triggered, but it uses the original
participantId(Agent A). Agent A’s screen is paused, but Agent B’s screen (who is actively typing the credit card) is still being recorded. - The Root Cause: Architect flows often retain the
participantIdof the first agent who handled the interaction unless specifically updated. - The Solution: In your Data Action payload, you must dynamically query the active participants. If using EventBridge, the payload will explicitly identify which
userIdinitiated the Secure Pause. You must map thisuserIdto the correctparticipantIdbefore executing the screen pause API, ensuring the redaction applies to the agent currently controlling the payment gateway.
Edge Case 2: The Agent Application Screen Recording Policy
- The Failure Condition: You implement all the APIs perfectly. However, when you test it, you find that the screen recording didn’t pause; it completely terminated, creating two separate video files for a single interaction, causing errors in your QA dashboard playback.
- The Root Cause: Genesys Cloud Screen Recording relies on the Genesys Cloud Desktop App. If the desktop app loses network connectivity during a pause, or if the API call is malformed, it may fail gracefully by terminating the file handle rather than suspending it.
- The Solution: Ensure your agents are running the latest version of the Genesys Cloud Desktop App (web-browser screen recording via Chrome extensions behaves differently and is generally not recommended for PCI environments). Additionally, review your Quality > Policies to ensure the Screen Recording policy is set to “Record the entire interaction” rather than conditional recording, which interacts more smoothly with the explicit Pause/Resume API endpoints.