{"id":519,"date":"2025-04-17T05:32:37","date_gmt":"2025-04-17T05:32:37","guid":{"rendered":"http:\/\/localhost:8091\/?page_id=519"},"modified":"2025-07-07T09:45:44","modified_gmt":"2025-07-07T09:45:44","slug":"privacy-and-security-sensitive-data-protection-api","status":"publish","type":"page","link":"https:\/\/www.uxtweak.com\/help\/privacy-and-security-sensitive-data-protection-api\/","title":{"rendered":"Sensitive data protection API"},"content":{"rendered":"\n<p class=\"text-block\">We at UXtweak have great respect for user data privacy and security. UXtweak&#8217;s data protection API places the power to determine exactly which data can (and cannot) get recorded into your hands. By using the API, Website Testing&#8217;s, and Session Recording&#8217;s data collection can meet even the strictest criteria for data collection that protects user privacy and ensures the safety of all sensitive data.<\/p>\n\n\n<div class=\"callout-block\" tabindex=\"0\">\n            \n            <div class=\"callout-content\"><strong>Passwords and credit card details are never recorded.<\/strong><\/div>\n        <\/div>\n\n<h2 id=\"payment-gates\" class=\"heading-block\" tabindex=\"0\">Payment gates<a class=\"copy-link\" title=\"Copy link\" data-id=\"payment-gates\">&nbsp;<img decoding=\"async\" src=\"https:\/\/help.uxtweak.com\/wp-content\/themes\/uxtweak\/public\/assets\/images\/icons\/link.svg\" alt=\"Copy link\" \/><\/a><\/h2>\n\n\n<p class=\"text-block\">You don&#8217;t have to worry about credit cards being recorded during payments in 3rd party payment gates. Payment gates &#8211; which usually appear in iframes &#8211; are always blocked from recording.<\/p>\n\n\n<h2 id=\"content-suppression\" class=\"heading-block\" tabindex=\"0\">Content suppression<a class=\"copy-link\" title=\"Copy link\" data-id=\"content-suppression\">&nbsp;<img decoding=\"async\" src=\"https:\/\/help.uxtweak.com\/wp-content\/themes\/uxtweak\/public\/assets\/images\/icons\/link.svg\" alt=\"Copy link\" \/><\/a><\/h2>\n\n\n<p class=\"text-block\">While you can restrict the recording of certain pages and UI elements in your study setup, you can also do it directly on your website by using our API.<\/p>\n\n\n<h3 id=\"disable\" class=\"heading-block\" tabindex=\"0\">disable<a class=\"copy-link\" title=\"Copy link\" data-id=\"disable\">&nbsp;<img decoding=\"async\" src=\"https:\/\/help.uxtweak.com\/wp-content\/themes\/uxtweak\/public\/assets\/images\/icons\/link.svg\" alt=\"Copy link\" \/><\/a><\/h3>\n\n\n<p class=\"text-block\">Add this code to a page of your website that you wish not to be recorded at all (e.g. if the page deals with sensitive information).<\/p>\n\n\n<div class=\"code-block\"><div class=\"code-block-header\"><div class=\"code-block-title\" style=\"background-color: #ffe0b2;\"><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\"><path d=\"M4.09998 2H19.9C20.5 2 21 2.5 20.9 3.1L19.1 19.3C19.1 19.7 18.8 20 18.4 20.2L12.3 21.9C12.1 22 11.9 22 11.8 21.9L5.69998 20.2C5.29998 20.1 4.99998 19.8 4.99998 19.3L3.09998 3.1C3.09998 2.5 3.49998 2 4.09998 2Z\" stroke=\"#414237\" stroke-width=\"1.5\" stroke-miterlimit=\"10\" stroke-linecap=\"round\" stroke-linejoin=\"round\"\/><path d=\"M10.6 7V16L7.5 15.1\" stroke=\"#414237\" stroke-width=\"1.5\" stroke-miterlimit=\"10\" stroke-linecap=\"round\" stroke-linejoin=\"round\"\/><path d=\"M16.5 7L13.4 7.4V12.4L16.5 11.9V15.1L12.9 16\" stroke=\"#414237\" stroke-width=\"1.5\" stroke-miterlimit=\"10\" stroke-linecap=\"round\" stroke-linejoin=\"round\"\/><\/svg> JavaScript<\/div><button class=\"copy-button btn btn-transparent\">Copy<\/button><\/div><pre class=\"language-javascript line-numbers code\"><code class=\"language-javascript\">&lt;script&gt;\n\tuxtr(&#039;shutdown&#039;, true);\n&lt;\/script&gt;<\/code><\/pre><\/div>\n\n\n<p class=\"text-block\">Add&nbsp;<code class=\"language-html\">data-uxtr=\"disable\"<\/code>&nbsp;as an attribute to an element that you wish not to be recorded (e.g., a form that asks the user for personal data). This element will appear as a grey box within the recording.<\/p>\n\n\n<div class=\"code-block\"><div class=\"code-block-header\"><div class=\"code-block-title\" style=\"background-color: #ffccbc;\"><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\"><path d=\"M4.09998 2H19.9C20.5 2 21 2.5 20.9 3.1L19.1 19.3C19.1 19.7 18.8 20 18.4 20.2L12.3 21.9C12.1 22 11.9 22 11.8 21.9L5.69998 20.2C5.29998 20.1 4.99998 19.8 4.99998 19.3L3.09998 3.1C3.09998 2.5 3.49998 2 4.09998 2Z\" stroke=\"#414237\" stroke-width=\"1.5\" stroke-miterlimit=\"10\" stroke-linecap=\"round\" stroke-linejoin=\"round\"\/><path d=\"M16.2 6.7998H7.80005L8.20005 11.1998H15.8L15.2 16.1998L11.8 17.1998L8.20005 16.1998V14.1998\" stroke=\"#414237\" stroke-width=\"1.5\" stroke-miterlimit=\"10\" stroke-linecap=\"round\" stroke-linejoin=\"round\"\/><\/svg> HTML<\/div><button class=\"copy-button btn btn-transparent\">Copy<\/button><\/div><pre class=\"language-html line-numbers code\"><code class=\"language-html\">&lt;div data-uxtr=&quot;disable&quot;&gt;\n\tThis element will not be recorded.\n\tIt will appear in recordings as a grey box.\n&lt;\/div&gt;<\/code><\/pre><\/div>\n\n<h3 id=\"sensitive\" class=\"heading-block\" tabindex=\"0\">sensitive<a class=\"copy-link\" title=\"Copy link\" data-id=\"sensitive\">&nbsp;<img decoding=\"async\" src=\"https:\/\/help.uxtweak.com\/wp-content\/themes\/uxtweak\/public\/assets\/images\/icons\/link.svg\" alt=\"Copy link\" \/><\/a><\/h3>\n\n\n<p class=\"text-block\">There are two other alternatives for using the&nbsp;<code class=\"language-html\">data-uxtr<\/code>&nbsp;attribute on elements to mask the values inside them. These options are as follows:<\/p>\n\n\n\n<ul class=\"bullet-list\">\n<li><code class=\"language-html\">mask<\/code>&nbsp;&#8211; swap all text inside the element and its children for asterisks (&#8216;*&#8217;)<\/li>\n\n\n\n<li><code class=\"language-html\">ignore<\/code>&nbsp;&#8211; completely ignore all events inside input fields (so unlike the mask option, you don&#8217;t even see whether a field is being filled or not)<\/li>\n<\/ul>\n\n\n<div class=\"code-block\"><div class=\"code-block-header\"><div class=\"code-block-title\" style=\"background-color: #ffccbc;\"><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\"><path d=\"M4.09998 2H19.9C20.5 2 21 2.5 20.9 3.1L19.1 19.3C19.1 19.7 18.8 20 18.4 20.2L12.3 21.9C12.1 22 11.9 22 11.8 21.9L5.69998 20.2C5.29998 20.1 4.99998 19.8 4.99998 19.3L3.09998 3.1C3.09998 2.5 3.49998 2 4.09998 2Z\" stroke=\"#414237\" stroke-width=\"1.5\" stroke-miterlimit=\"10\" stroke-linecap=\"round\" stroke-linejoin=\"round\"\/><path d=\"M16.2 6.7998H7.80005L8.20005 11.1998H15.8L15.2 16.1998L11.8 17.1998L8.20005 16.1998V14.1998\" stroke=\"#414237\" stroke-width=\"1.5\" stroke-miterlimit=\"10\" stroke-linecap=\"round\" stroke-linejoin=\"round\"\/><\/svg> HTML<\/div><button class=\"copy-button btn btn-transparent\">Copy<\/button><\/div><pre class=\"language-html line-numbers code\"><code class=\"language-html\">&lt;div data-uxtr=&quot;mask&quot;&gt;\n\tThis text won&#039;t be readable in the recording, being replaced by *.\n\t&lt;div&gt;\n\t\tChild element&#039;s text is also replaced with *.\n\t&lt;\/div&gt;\n&lt;\/div&gt;<\/code><\/pre><\/div>\n\n\n<p class=\"text-block\">In the recording, the HTML element above will look like this:<\/p>\n\n\n<div class=\"code-block\"><div class=\"code-block-header\"><div class=\"code-block-title\" style=\"background-color: #ffccbc;\"><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\"><path d=\"M4.09998 2H19.9C20.5 2 21 2.5 20.9 3.1L19.1 19.3C19.1 19.7 18.8 20 18.4 20.2L12.3 21.9C12.1 22 11.9 22 11.8 21.9L5.69998 20.2C5.29998 20.1 4.99998 19.8 4.99998 19.3L3.09998 3.1C3.09998 2.5 3.49998 2 4.09998 2Z\" stroke=\"#414237\" stroke-width=\"1.5\" stroke-miterlimit=\"10\" stroke-linecap=\"round\" stroke-linejoin=\"round\"\/><path d=\"M16.2 6.7998H7.80005L8.20005 11.1998H15.8L15.2 16.1998L11.8 17.1998L8.20005 16.1998V14.1998\" stroke=\"#414237\" stroke-width=\"1.5\" stroke-miterlimit=\"10\" stroke-linecap=\"round\" stroke-linejoin=\"round\"\/><\/svg> HTML<\/div><button class=\"copy-button btn btn-transparent\">Copy<\/button><\/div><pre class=\"language-html line-numbers code\"><code class=\"language-html\">&lt;div data-uxtr=&quot;mask&quot;&gt;\n\t**** **** ***** ** ******* ** *** ********** ***** ******* ** **\n\t&lt;div&gt;\n\t\t***** ********* **** ** **** ******** **** **\n\t&lt;\/div&gt;\n&lt;\/div&gt;<\/code><\/pre><\/div>\n\n\n<p class=\"text-block\">Most websites contain forms, and yours is likely no exception. Consider which of them might warrant masking to hide sensitive contents.<\/p>\n\n\n<div class=\"callout-block\" tabindex=\"0\">\n            \n            <div class=\"callout-content\"><strong>Use masking on input fields and forms to prevent the recording of sensitive data inside them.<\/strong><\/div>\n        <\/div>\n\n<div class=\"code-block\"><div class=\"code-block-header\"><div class=\"code-block-title\" style=\"background-color: #ffccbc;\"><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\"><path d=\"M4.09998 2H19.9C20.5 2 21 2.5 20.9 3.1L19.1 19.3C19.1 19.7 18.8 20 18.4 20.2L12.3 21.9C12.1 22 11.9 22 11.8 21.9L5.69998 20.2C5.29998 20.1 4.99998 19.8 4.99998 19.3L3.09998 3.1C3.09998 2.5 3.49998 2 4.09998 2Z\" stroke=\"#414237\" stroke-width=\"1.5\" stroke-miterlimit=\"10\" stroke-linecap=\"round\" stroke-linejoin=\"round\"\/><path d=\"M16.2 6.7998H7.80005L8.20005 11.1998H15.8L15.2 16.1998L11.8 17.1998L8.20005 16.1998V14.1998\" stroke=\"#414237\" stroke-width=\"1.5\" stroke-miterlimit=\"10\" stroke-linecap=\"round\" stroke-linejoin=\"round\"\/><\/svg> HTML<\/div><button class=\"copy-button btn btn-transparent\">Copy<\/button><\/div><pre class=\"language-html line-numbers code\"><code class=\"language-html\">&lt;input type=&quot;text&quot; placeholder=&quot;Gender&quot; data-uxtr=&quot;mask&quot;&gt;<\/code><\/pre><\/div>\n\n<div class=\"code-block\"><div class=\"code-block-header\"><div class=\"code-block-title\" style=\"background-color: #ffccbc;\"><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\"><path d=\"M4.09998 2H19.9C20.5 2 21 2.5 20.9 3.1L19.1 19.3C19.1 19.7 18.8 20 18.4 20.2L12.3 21.9C12.1 22 11.9 22 11.8 21.9L5.69998 20.2C5.29998 20.1 4.99998 19.8 4.99998 19.3L3.09998 3.1C3.09998 2.5 3.49998 2 4.09998 2Z\" stroke=\"#414237\" stroke-width=\"1.5\" stroke-miterlimit=\"10\" stroke-linecap=\"round\" stroke-linejoin=\"round\"\/><path d=\"M16.2 6.7998H7.80005L8.20005 11.1998H15.8L15.2 16.1998L11.8 17.1998L8.20005 16.1998V14.1998\" stroke=\"#414237\" stroke-width=\"1.5\" stroke-miterlimit=\"10\" stroke-linecap=\"round\" stroke-linejoin=\"round\"\/><\/svg> HTML<\/div><button class=\"copy-button btn btn-transparent\">Copy<\/button><\/div><pre class=\"language-html line-numbers code\"><code class=\"language-html\">&lt;input type=&quot;text&quot; placeholder=&quot;Internet banking ID&quot; data-uxtr=&quot;ignore&quot;&gt;<\/code><\/pre><\/div>\n\n\n<p class=\"text-block\">In most cases, Website Testing&#8217;s and Session Recording&#8217;s data collector leaves credit cards out of recordings automatically. However, if your website payments involve some kind of non-standard custom-made payment component, it&#8217;s possible that our collector won&#8217;t recognize it. If this is true, please use the data-uxtr-sensitive attribute to ensure credit card information isn&#8217;t recorded.<\/p>\n\n\n\n<p class=\"text-block\">You can also mask an entire form by using the&nbsp;<code class=\"language-html\">data-uxtr=\"mask\"<\/code>&nbsp;on the form parent like this:<\/p>\n\n\n<div class=\"code-block\"><div class=\"code-block-header\"><div class=\"code-block-title\" style=\"background-color: #ffccbc;\"><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\"><path d=\"M4.09998 2H19.9C20.5 2 21 2.5 20.9 3.1L19.1 19.3C19.1 19.7 18.8 20 18.4 20.2L12.3 21.9C12.1 22 11.9 22 11.8 21.9L5.69998 20.2C5.29998 20.1 4.99998 19.8 4.99998 19.3L3.09998 3.1C3.09998 2.5 3.49998 2 4.09998 2Z\" stroke=\"#414237\" stroke-width=\"1.5\" stroke-miterlimit=\"10\" stroke-linecap=\"round\" stroke-linejoin=\"round\"\/><path d=\"M16.2 6.7998H7.80005L8.20005 11.1998H15.8L15.2 16.1998L11.8 17.1998L8.20005 16.1998V14.1998\" stroke=\"#414237\" stroke-width=\"1.5\" stroke-miterlimit=\"10\" stroke-linecap=\"round\" stroke-linejoin=\"round\"\/><\/svg> HTML<\/div><button class=\"copy-button btn btn-transparent\">Copy<\/button><\/div><pre class=\"language-html line-numbers code\"><code class=\"language-html\">&lt;form data-uxtr=&quot;mask&quot;&gt;\n\t&lt;div&gt;\n\t\t&lt;label&gt;Card number&lt;\/label&gt;\n\t\t&lt;input type=&quot;text&quot; placeholder=&quot;Card number&quot;&gt;\n\t&lt;\/div&gt;\n\t&lt;div&gt;\n\t\t&lt;label&gt;Expiration date&lt;\/label&gt;\n\t\t&lt;input type=&quot;text&quot; placeholder=&quot;MM-YY&quot;&gt;\n\t&lt;\/div&gt;\n&lt;\/form&gt;<\/code><\/pre><\/div>","protected":false},"excerpt":{"rendered":"<p>We at UXtweak have great respect for user data privacy and security. UXtweak&#8217;s data protection API places the power to determine exactly which data can (and cannot) get recorded into your hands. By using the API, Website Testing&#8217;s, and Session Recording&#8217;s data collection can meet even the strictest criteria for data collection that protects user [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":65,"comment_status":"closed","ping_status":"closed","template":"","meta":{"_acf_changed":false,"content-type":"","inline_featured_image":false,"footnotes":""},"categories":[8],"tags":[],"class_list":["post-519","page","type-page","status-publish","hentry","category-privacy-and-security"],"acf":[],"_links":{"self":[{"href":"https:\/\/www.uxtweak.com\/help\/wp-json\/wp\/v2\/pages\/519","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.uxtweak.com\/help\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/www.uxtweak.com\/help\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/www.uxtweak.com\/help\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.uxtweak.com\/help\/wp-json\/wp\/v2\/comments?post=519"}],"version-history":[{"count":7,"href":"https:\/\/www.uxtweak.com\/help\/wp-json\/wp\/v2\/pages\/519\/revisions"}],"predecessor-version":[{"id":3013,"href":"https:\/\/www.uxtweak.com\/help\/wp-json\/wp\/v2\/pages\/519\/revisions\/3013"}],"wp:attachment":[{"href":"https:\/\/www.uxtweak.com\/help\/wp-json\/wp\/v2\/media?parent=519"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.uxtweak.com\/help\/wp-json\/wp\/v2\/categories?post=519"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.uxtweak.com\/help\/wp-json\/wp\/v2\/tags?post=519"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}