Consider a case where the Managed Card Paylet API returns full-card details (number, CVV etc.) for the Application to render on the UI (at some point, the user will need to see these details and hence the Application will need to get the information from OPC). Consider also that through error or through malicious intention, the Application writes this sensitive information in the web-server audit logs which at some point, is likely to compromise the security of OPC.
OPC deals directly with this problem and part of the solution requires the application of the UX framework.
When a Payment Model is defined, there are Paylet attributes that are marked as sensitive, such as the card details. In these cases, the Paylet APIs are designed to return a token or an encrypted version of this information. That is, the Application, will receive the information, but not in its native form and if it is logged accidentally or intentionally in an audit file this information poses no risk. The obvious challenge is how to ultimately render this information on the user’s browser.
The UX framework enables information to be ‘decrypted’ directly on the user’s browser. A secure channel between OPC and the user’s browser is established (using the authenticated user’s permission and authenticated session) and protected using browser sandboxing (standard iframe security). The Application’s role is that of a proxy forwarding encrypted information and tokens to the secured user’s browser.