<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic Re: GDPR: Is it possible to decrypt sensitive fields only at visualization layer in Qlik Sense? in Connectivity &amp; Data Prep</title>
    <link>https://community.qlik.com/t5/Connectivity-Data-Prep/GDPR-Is-it-possible-to-decrypt-sensitive-fields-only-at/m-p/2546502#M15455</link>
    <description>&lt;P&gt;I don't understand how Section Access would not handle this. What do you mean that the data would be exposed in the data model? Are there field names with sensitive information (e.g. a field like [John Doe])?&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;On the issue of not exposing data in the script, perhaps you could use an&amp;nbsp;&lt;A href="https://help.qlik.com/en-US/sense/November2017/Subsystems/Hub/Content/Scripting/SystemVariables/Include.htm" target="_self"&gt;include statement&lt;/A&gt;&amp;nbsp;to protect sensitive information in the script:&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;$(Must_Include=lib://MyDataFiles\abc.txt); &amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;</description>
    <pubDate>Thu, 09 Apr 2026 12:09:28 GMT</pubDate>
    <dc:creator>KeaneGleeson</dc:creator>
    <dc:date>2026-04-09T12:09:28Z</dc:date>
    <item>
      <title>GDPR: Is it possible to decrypt sensitive fields only at visualization layer in Qlik Sense?</title>
      <link>https://community.qlik.com/t5/Connectivity-Data-Prep/GDPR-Is-it-possible-to-decrypt-sensitive-fields-only-at/m-p/2545654#M15431</link>
      <description>&lt;P data-end="381" data-start="244"&gt;We are working on implementing GDPR-compliant data handling in a Qlik Sense application and need clarification on a specific requirement.&lt;/P&gt;
&lt;P data-end="411" data-start="383"&gt;Our current architecture is:&lt;/P&gt;
&lt;UL data-end="606" data-start="413"&gt;
&lt;LI data-end="485" data-start="413" data-section-id="1n2j5fc"&gt;Data is encrypted at source (e.g., MySQL/MariaDB using AES encryption)&lt;/LI&gt;
&lt;LI data-end="551" data-start="486" data-section-id="17c6g8u"&gt;Encrypted data is stored in QVDs and loaded into the data model&lt;/LI&gt;
&lt;LI data-end="606" data-start="552" data-section-id="1u22cw4"&gt;Sensitive fields include name, email, username, etc.&lt;/LI&gt;
&lt;/UL&gt;
&lt;P data-end="649" data-start="608"&gt;The requirement we are trying to meet is:&lt;/P&gt;
&lt;BLOCKQUOTE data-end="830" data-start="651"&gt;
&lt;P data-end="830" data-start="653"&gt;Decrypted values should &lt;STRONG data-end="741" data-start="677"&gt;not be exposed in the Qlik script or data model at any stage&lt;/STRONG&gt;, and should only be visible at the &lt;STRONG data-end="829" data-start="777"&gt;visualization (sheet) level for authorized users&lt;/STRONG&gt;.&lt;/P&gt;
&lt;/BLOCKQUOTE&gt;
&lt;P data-end="849" data-start="832"&gt;We have explored:&lt;/P&gt;
&lt;UL data-end="1080" data-start="850"&gt;
&lt;LI data-end="947" data-start="850" data-section-id="ciq5wn"&gt;SQL-based decryption using &lt;CODE data-end="892" data-start="879"&gt;AES_DECRYPT&lt;/CODE&gt; → but this exposes decrypted data in the load script&lt;/LI&gt;
&lt;LI data-end="995" data-start="948" data-section-id="1pb7hft"&gt;Mapping / join approaches → same limitation&lt;/LI&gt;
&lt;LI data-end="1080" data-start="996" data-section-id="w92t3k"&gt;Section Access → controls access but does not prevent exposure in the data model&lt;/LI&gt;
&lt;/UL&gt;
&lt;P data-end="1096" data-start="1082"&gt;Our questions:&lt;/P&gt;
&lt;OL data-end="1472" data-start="1098"&gt;
&lt;LI data-end="1266" data-start="1098" data-section-id="a28jb7"&gt;Is there any &lt;STRONG data-end="1149" data-start="1114"&gt;native capability in Qlik Sense&lt;/STRONG&gt; to decrypt or transform data &lt;STRONG data-end="1216" data-start="1179"&gt;only at visualization/render time&lt;/STRONG&gt;, without exposing it in the script or data model?&lt;/LI&gt;
&lt;LI data-end="1392" data-start="1267" data-section-id="1iic9b7"&gt;Can this be achieved using:
&lt;UL data-end="1392" data-start="1301"&gt;
&lt;LI data-end="1352" data-start="1301" data-section-id="m7bb5a"&gt;REST Connector (on-demand API calls from charts?)&lt;/LI&gt;
&lt;LI data-end="1392" data-start="1356" data-section-id="1jg355g"&gt;Dynamic expressions or extensions?&lt;/LI&gt;
&lt;/UL&gt;
&lt;/LI&gt;
&lt;LI data-end="1472" data-start="1393" data-section-id="mykff0"&gt;What would be the &lt;STRONG data-end="1442" data-start="1414"&gt;recommended architecture&lt;/STRONG&gt; in Qlik for this requirement?&lt;/LI&gt;
&lt;/OL&gt;
&lt;P data-end="1628" data-start="1474"&gt;Given our environment includes &lt;STRONG data-end="1539" data-start="1505"&gt;many dynamic databases (1000+)&lt;/STRONG&gt;, solutions requiring database-level objects (like views/functions per DB) are not ideal.&lt;/P&gt;
&lt;P data-end="1807" data-start="1630"&gt;We are trying to understand whether this requirement is achievable within Qlik itself, or if it necessarily requires an &lt;STRONG data-end="1780" data-start="1750"&gt;external API/service layer&lt;/STRONG&gt; for controlled decryption.&lt;/P&gt;
&lt;P data-end="1882" data-start="1809"&gt;Any guidance or real-world implementation examples would be very helpful.&lt;/P&gt;</description>
      <pubDate>Fri, 27 Mar 2026 09:35:53 GMT</pubDate>
      <guid>https://community.qlik.com/t5/Connectivity-Data-Prep/GDPR-Is-it-possible-to-decrypt-sensitive-fields-only-at/m-p/2545654#M15431</guid>
      <dc:creator>adityasshd</dc:creator>
      <dc:date>2026-03-27T09:35:53Z</dc:date>
    </item>
    <item>
      <title>Re: GDPR: Is it possible to decrypt sensitive fields only at visualization layer in Qlik Sense?</title>
      <link>https://community.qlik.com/t5/Connectivity-Data-Prep/GDPR-Is-it-possible-to-decrypt-sensitive-fields-only-at/m-p/2546273#M15440</link>
      <description>&lt;P&gt;&lt;a href="https://community.qlik.com/t5/user/viewprofilepage/user-id/365553"&gt;@adityasshd&lt;/a&gt;&amp;nbsp;, is it possible to reframe your core requirement?&amp;nbsp; What you currently list as a requirement is framed more like a solution.&amp;nbsp; Is the main requirement that the application/dashboard developers cannot have access to the sensitive data?&amp;nbsp; There are other ways to solution for that than trying to decrypt during presentation.&amp;nbsp; If your requirement is to limit access to sensitive fields for only specific end users, that also has other solutions.&amp;nbsp; If you're looking to reduce the risk of exposing sensitive data outside your organization, there are specific solutions for that as well.&lt;/P&gt;</description>
      <pubDate>Tue, 07 Apr 2026 13:19:26 GMT</pubDate>
      <guid>https://community.qlik.com/t5/Connectivity-Data-Prep/GDPR-Is-it-possible-to-decrypt-sensitive-fields-only-at/m-p/2546273#M15440</guid>
      <dc:creator>mshann01</dc:creator>
      <dc:date>2026-04-07T13:19:26Z</dc:date>
    </item>
    <item>
      <title>Re: GDPR: Is it possible to decrypt sensitive fields only at visualization layer in Qlik Sense?</title>
      <link>https://community.qlik.com/t5/Connectivity-Data-Prep/GDPR-Is-it-possible-to-decrypt-sensitive-fields-only-at/m-p/2546447#M15453</link>
      <description>&lt;P data-path-to-node="3"&gt;&lt;a href="https://community.qlik.com/t5/user/viewprofilepage/user-id/24989"&gt;@mshann01&lt;/a&gt;, thanks for the reply. To give you some context on why I'm looking for this specific solution:&lt;/P&gt;
&lt;P data-path-to-node="4"&gt;Our requirement is actually driven by a strict "Zero-Knowledge" policy. In our setup, the Qlik Data Model (the RAM and the QVDs) is treated as a storage layer. My compliance team doesn't allow decrypted PII to sit in the data model at all, even if it's hidden by Section Access. We need the data to stay as ciphertext until the very second it hits the user's screen.&lt;/P&gt;
&lt;P data-path-to-node="5"&gt;Because I have to manage over 1000 dynamic databases, I can't really go with database-level views or complex Mapping Loads in the script. Instead, I’ve been working on a "side-car" approach:&lt;/P&gt;
&lt;OL start="1" data-path-to-node="6"&gt;
&lt;LI&gt;
&lt;P data-path-to-node="6,0,0"&gt;&lt;STRONG data-index-in-node="0" data-path-to-node="6,0,0"&gt;Ciphertext in Model:&lt;/STRONG&gt; I keep the fields (email, name, etc.) encrypted in the Qlik app.&lt;/P&gt;
&lt;/LI&gt;
&lt;LI&gt;
&lt;P data-path-to-node="6,1,0"&gt;&lt;STRONG data-index-in-node="0" data-path-to-node="6,1,0"&gt;External API:&lt;/STRONG&gt; I have a secure API that handles the decryption.&lt;/P&gt;
&lt;/LI&gt;
&lt;LI&gt;
&lt;P data-path-to-node="6,2,0"&gt;&lt;STRONG data-index-in-node="0" data-path-to-node="6,2,0"&gt;Custom Extension:&lt;/STRONG&gt; I’ve built an extension that identifies which IDs are currently visible in the user's table viewport, fetches the cleartext from the API, and then uses a "dynamic patch" to overlay that data onto the native Qlik object.&lt;/P&gt;
&lt;/LI&gt;
&lt;/OL&gt;
&lt;P data-path-to-node="7"&gt;It’s working well in my initial tests, but I’m curious if anyone here has run into issues with this kind of approach—specifically regarding engine performance or limits on how large those dynamic "Pick(Match())" expressions can get before they start causing timeouts for users.&lt;/P&gt;
&lt;P data-path-to-node="8"&gt;I’d love to hear if there’s a more "native" way to intercept the data at the render level, but so far, this API-to-Extension path seems like the only way to keep the cleartext out of the engine entirely.&lt;BR /&gt;&lt;BR /&gt;I have implemented almost everything, with only thing remaining is Realtime tracking of scrolling and table update to get the visible record range.&lt;/P&gt;</description>
      <pubDate>Thu, 09 Apr 2026 00:29:46 GMT</pubDate>
      <guid>https://community.qlik.com/t5/Connectivity-Data-Prep/GDPR-Is-it-possible-to-decrypt-sensitive-fields-only-at/m-p/2546447#M15453</guid>
      <dc:creator>adityasshd</dc:creator>
      <dc:date>2026-04-09T00:29:46Z</dc:date>
    </item>
    <item>
      <title>Re: GDPR: Is it possible to decrypt sensitive fields only at visualization layer in Qlik Sense?</title>
      <link>https://community.qlik.com/t5/Connectivity-Data-Prep/GDPR-Is-it-possible-to-decrypt-sensitive-fields-only-at/m-p/2546502#M15455</link>
      <description>&lt;P&gt;I don't understand how Section Access would not handle this. What do you mean that the data would be exposed in the data model? Are there field names with sensitive information (e.g. a field like [John Doe])?&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;On the issue of not exposing data in the script, perhaps you could use an&amp;nbsp;&lt;A href="https://help.qlik.com/en-US/sense/November2017/Subsystems/Hub/Content/Scripting/SystemVariables/Include.htm" target="_self"&gt;include statement&lt;/A&gt;&amp;nbsp;to protect sensitive information in the script:&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;$(Must_Include=lib://MyDataFiles\abc.txt); &amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;</description>
      <pubDate>Thu, 09 Apr 2026 12:09:28 GMT</pubDate>
      <guid>https://community.qlik.com/t5/Connectivity-Data-Prep/GDPR-Is-it-possible-to-decrypt-sensitive-fields-only-at/m-p/2546502#M15455</guid>
      <dc:creator>KeaneGleeson</dc:creator>
      <dc:date>2026-04-09T12:09:28Z</dc:date>
    </item>
    <item>
      <title>Re: GDPR: Is it possible to decrypt sensitive fields only at visualization layer in Qlik Sense?</title>
      <link>https://community.qlik.com/t5/Connectivity-Data-Prep/GDPR-Is-it-possible-to-decrypt-sensitive-fields-only-at/m-p/2546510#M15456</link>
      <description>&lt;P&gt;Are you using Qlik Cloud?&amp;nbsp; Or QSEoW?&amp;nbsp; I work in a strict healthcare environment utilizing the BYOK/CMK for Qlik Cloud and in the US, it's got the basics covered to be compliant with our PHI/PII regulations.&lt;/P&gt;&lt;P&gt;&lt;SPAN class=""&gt;Qlik Cloud&lt;/SPAN&gt;&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;uses the following encryption standards:&lt;/P&gt;&lt;UL&gt;&lt;LI&gt;&lt;P&gt;In transit—TLS 1.2 encryption&lt;/P&gt;&lt;/LI&gt;&lt;LI&gt;&lt;P&gt;&lt;STRONG&gt;At rest—AES-256-GCM encryption&lt;/STRONG&gt;&lt;/P&gt;&lt;/LI&gt;&lt;LI&gt;&lt;P&gt;Within the platform (after authentication with a designated IdP)—Signed JSON Web Tokens (JWTs) to ensure integrity, authenticity, and non-repudiation&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;A href="https://help.qlik.com/en-US/cloud-services/Subsystems/Hub/Content/Sense_Hub/Introduction/tenant-encryption.htm#:~:text=When%20a%20tenant%20is%20created%2C%20Qlik%20Cloud%20uses,encryption%20service%20to%20encrypt%20content%20in%20the%20tenant." target="_blank"&gt;Tenant encryption | Qlik Cloud Help&lt;/A&gt;&lt;/P&gt;</description>
      <pubDate>Thu, 09 Apr 2026 12:45:39 GMT</pubDate>
      <guid>https://community.qlik.com/t5/Connectivity-Data-Prep/GDPR-Is-it-possible-to-decrypt-sensitive-fields-only-at/m-p/2546510#M15456</guid>
      <dc:creator>mshann01</dc:creator>
      <dc:date>2026-04-09T12:45:39Z</dc:date>
    </item>
  </channel>
</rss>

