Genesys Cloud - Developer Community!

 View Only

Sign Up

  • 1.  Best practice to sanitize sensitive Participant Data after a Genesys Cloud interaction ends

    Posted 3 hours ago

    Hi everyone,

    I'm looking for some guidance on the best practice for handling sensitive information stored in Participant Data in Genesys Cloud.

    In our IVR architecture, we use Participant Data to transfer information between Architect flows. Some of these attributes may contain sensitive customer information, so we would like to prevent those values from remaining visible in the interaction details once the interaction has ended.

    We are considering the following approach:

    1. During the interaction, sensitive information is stored in Participant Data and used between flows as required.

    2. We have a Genesys Cloud Trigger that detects interaction/conversation disconnect or completion events.

    3. Once the interaction is disconnected, the trigger identifies the conversation and executes an update of the relevant Participant Data attributes.

    4. Instead of keeping the original value, we overwrite it with a constant value such as DATA_REMOVED or REDACTED.

    For example:

    Before the interaction ends:

    CUSTOMER_DOCUMENT = 1234567890
    CUSTOMER_ACCOUNT = 987654321
    CUSTOMER_PHONE = 3001234567

    After the cleanup process:

    CUSTOMER_DOCUMENT = DATA_REMOVED
    CUSTOMER_ACCOUNT = DATA_REMOVED
    CUSTOMER_PHONE = DATA_REMOVED

    The objective is to minimize the exposure of sensitive customer information in historical interaction details while still allowing the data to be used normally during the interaction.

    My questions are:

    • Is updating/overwriting Participant Data after the interaction has disconnected a supported and recommended approach?

    • Is there a specific conversation event/trigger that would be considered the best point to perform this sanitization?

    • Are there any limitations or race conditions we should consider when updating Participant Data immediately after a disconnect event?

    • Does overwriting the attribute remove the previous value from the interaction details, or could the original value still be accessible somewhere in Genesys Cloud?

    • Is there a Genesys-recommended approach for this type of Participant Data sanitization/redaction?

    I would really appreciate any experience or recommendations from the community.

    Thanks!


    #Architect
    #Triggers

    ------------------------------
    [Camilo] [Vaca]
    [Claro Colombia]
    [Colombia]
    ------------------------------


  • 2.  RE: Best practice to sanitize sensitive Participant Data after a Genesys Cloud interaction ends

    Posted 2 hours ago

    Hi Camilo,

    This is a great question, especially since Participant Data is often used to pass information between Architect flows, integrations, and routing logic.

    From an architectural perspective, your proposed approach of overwriting Participant Data after the interaction ends can work, but I would view it as a compensating control rather than a primary security strategy.

    My Recommendations

    1. Avoid Storing Sensitive Data Whenever Possible

    The best practice is usually to avoid placing sensitive information in Participant Data unless it is absolutely required for call processing.

    Before storing information such as:

    • Account numbers
    • Government IDs
    • Credit card information
    • Personal identifiers

    ask whether a token, reference ID, or lookup key could be used instead.

    For example:

    Instead of: CUSTOMER_DOCUMENT = 1234567890

    Store: CUSTOMER_ID = ABC123

    and retrieve the sensitive information from a secure external system only when needed.


    2. Overwriting Participant Data Is Better Than Leaving It Behind

    If sensitive values must exist during the interaction, overwriting them after call completion is certainly better than leaving the original values available indefinitely.

    Your workflow:

    Conversation Ends

    Trigger Fires

    Update Participant Data

    Replace Values with REDACTED

    is a reasonable approach for reducing exposure in interaction details.


    3. Be Careful About Timing

    The main concern I would have is timing and event processing.

    Questions to validate include:

    • Has all required reporting completed?
    • Have any workflows, triggers, or integrations already consumed the data?
    • Does the update occur before any downstream process needs the original value?

    In general, a conversation disconnect/completed event is probably the logical place to perform the cleanup, but thorough testing is important.


    4. Verify What Gets Persisted

    This is the most important question in your post.

    Even if you overwrite:

    CUSTOMER_DOCUMENT = REDACTED

    you should verify whether:

    • Historical analytics
    • Event streams
    • Audit records
    • Integration logs
    • External systems
    • Conversation detail records

    have already captured the original value.

    Overwriting the current Participant Data value does not necessarily guarantee that the original value has been removed from every location where it may have been recorded.


    5. Consider Data Governance Requirements

    Depending on the type of information involved, you may also want to review:

    • Internal security policies
    • Data retention requirements
    • Privacy requirements
    • Compliance requirements

    The ideal solution is usually:

    Minimize

    Tokenize

    Protect

    Remove when no longer needed

    rather than storing sensitive values and cleaning them afterward.


    My Preferred Approach

    If possible, I would rank the options as:

    1. Best: Never store the sensitive value in Participant Data.

    2. Better: Store a token/reference key and retrieve the sensitive data from a secure source when needed.

    3. Good: Store the value temporarily and overwrite it immediately after the conversation completes, as you're proposing.

    Your approach can definitely help reduce exposure, but I'd recommend testing carefully to confirm whether the original value remains available anywhere else in the conversation lifecycle.

    I'd be interested to hear if anyone from Genesys Product or Professional Services has specific guidance on Participant Data sanitization and retention behavior.



    ------------------------------
    Francis Guo
    NA
    ------------------------------



  • 3.  RE: Best practice to sanitize sensitive Participant Data after a Genesys Cloud interaction ends

    Posted 2 hours ago

    Hi Camilo,

    Good points above. Another option that may be worth looking into is Customer Secured Data in Architect.

    I haven't used this capability myself, but from the Genesys documentation, Set Secured Data / Get Secured Data are designed for sensitive attributes that need to persist across flows, with additional encryption controls available using your own AWS KMS key.

    Given that your requirement is specifically to pass sensitive information between flows, it may be worth exploring whether this is a better fit than standard Participant Data and then trying to sanitise it afterwards.

    Set Secured Data:
    https://help.genesys.cloud/articles/set-secured-data-action/

    Get Secured Data:
    https://help.genesys.cloud/articles/get-secured-data-action/

    I haven't validated this approach myself, but thought it was worth mentioning as another option to investigate.



    ------------------------------
    Phaneendra
    Technical Solutions Consultant
    ------------------------------