<?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: How to anonymize the Data (not masking) in SAS Data Management</title>
    <link>https://communities.sas.com/t5/SAS-Data-Management/How-to-anonymize-the-Data-not-masking/m-p/785038#M20175</link>
    <description>Thanks for your reply.&lt;BR /&gt;I was expecting a real-like name so that the data for test users will be a&lt;BR /&gt;bit meaningful.&lt;BR /&gt;&lt;BR /&gt;If I can keep this requirement aside (suppose I want only anonymization and&lt;BR /&gt;ready to accept any translated Name), what is the best way to achieve this&lt;BR /&gt;in SAS DI?&lt;BR /&gt;&lt;BR /&gt;Similarly, how can I get the similar conversion for my 2nd requirement?&lt;BR /&gt;For e.g. Social security number *GF*123456XY should be changed to *YZ*987643&lt;BR /&gt;*AB* (by keeping the format same- 2 string-6 digits-2 strings)?&lt;BR /&gt;&lt;BR /&gt;Could you please suggest?&lt;BR /&gt;</description>
    <pubDate>Wed, 08 Dec 2021 23:14:23 GMT</pubDate>
    <dc:creator>Biswadas</dc:creator>
    <dc:date>2021-12-08T23:14:23Z</dc:date>
    <item>
      <title>How to anonymize the Data (not masking)</title>
      <link>https://communities.sas.com/t5/SAS-Data-Management/How-to-anonymize-the-Data-not-masking/m-p/784244#M20166</link>
      <description>&lt;P&gt;Hi All,&lt;/P&gt;&lt;P&gt;I want to anonymize few names fields and the requirement is to get the new anonymized names that look real.&lt;/P&gt;&lt;P&gt;For example, DAVID can be changed to something like "CHARLES" (it looks real) nut not ("CFSDJN")&lt;/P&gt;&lt;P&gt;Is there a way in achieving this in SAS?&lt;/P&gt;&lt;P&gt;If not, can it be done in any other tool and technologies?&lt;/P&gt;&lt;P&gt;2. similarly some fields that contain the chars+digits, how to anonymize them?&lt;/P&gt;&lt;P&gt;The new anonymized value also should have same pattern (chars+digits maintaining the positions).&lt;/P&gt;&lt;P&gt;so that the end users will not know that they are anonymized and we need to maintain the integrity in all tables containing the fields, so that the values can be used for joining, primary keys etc.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Note: The anonymized values should be same for every new run.&lt;/P&gt;</description>
      <pubDate>Mon, 06 Dec 2021 07:38:18 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Data-Management/How-to-anonymize-the-Data-not-masking/m-p/784244#M20166</guid>
      <dc:creator>Biswadas</dc:creator>
      <dc:date>2021-12-06T07:38:18Z</dc:date>
    </item>
    <item>
      <title>How to anonymise a name field</title>
      <link>https://communities.sas.com/t5/SAS-Data-Management/How-to-anonymize-the-Data-not-masking/m-p/784243#M20168</link>
      <description>&lt;P&gt;Hi All,&lt;/P&gt;&lt;P&gt;I want to anonymize few names fields and the requirement is to get the new anonymized names that look real.&lt;/P&gt;&lt;P&gt;For example, DAVID can be changed to something like "CHARLES" (it looks real) nut not ("CFSDJN")&lt;/P&gt;&lt;P&gt;Is there a way in achieving this in SAS?&lt;/P&gt;&lt;P&gt;If not, can it be done in any other tool and technologies?&lt;/P&gt;&lt;P&gt;2. similarly some fields that contain the chars+digits, how to anonymize them?&lt;/P&gt;&lt;P&gt;The new anonymized value also should have same pattern (chars+digits maintaining the positions).&lt;/P&gt;&lt;P&gt;so that the end users will not know that they are anonymized and we need to maintain the integrity in all tables containing the fields, so that the values can be used for joining, primary keys etc.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Mon, 06 Dec 2021 07:24:15 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Data-Management/How-to-anonymize-the-Data-not-masking/m-p/784243#M20168</guid>
      <dc:creator>Biswadas</dc:creator>
      <dc:date>2021-12-06T07:24:15Z</dc:date>
    </item>
    <item>
      <title>Re: How to anonymize the Data (not masking)</title>
      <link>https://communities.sas.com/t5/SAS-Data-Management/How-to-anonymize-the-Data-not-masking/m-p/784258#M20167</link>
      <description>&lt;P&gt;Funny requirement, is this a way to create test data without inventing data from scratch?&lt;/P&gt;
&lt;P&gt;It's hard to invent "real" names etc on the fly, so I would try to pick a random name from you existing base table.&lt;/P&gt;
&lt;P&gt;Then create a translation table, with original source value (or id) and new random name. If the same person pops up again, pick from the translation table.&lt;/P&gt;
&lt;P&gt;If the person occurs as new, make a new translation etc.&lt;/P&gt;
&lt;P&gt;About your other types of data, please exemplify, but I guess you could use the same technique described above for those as well.&lt;/P&gt;</description>
      <pubDate>Mon, 06 Dec 2021 09:23:50 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Data-Management/How-to-anonymize-the-Data-not-masking/m-p/784258#M20167</guid>
      <dc:creator>LinusH</dc:creator>
      <dc:date>2021-12-06T09:23:50Z</dc:date>
    </item>
    <item>
      <title>Re: How to anonymize the Data (not masking)</title>
      <link>https://communities.sas.com/t5/SAS-Data-Management/How-to-anonymize-the-Data-not-masking/m-p/784264#M20169</link>
      <description>&lt;P&gt;Also, don't know what emphasis you put in the term "Anonymisation". According to GDPR, personal data can be deemed as anonymous only if it's impossible to revert back to the original value/identiy.&lt;/P&gt;
&lt;P&gt;If you scramble values for users, it is classified as pseudonyms.&lt;/P&gt;
&lt;P&gt;If you want strict anonymsation given your requirements, it will be harder to achive.&lt;/P&gt;</description>
      <pubDate>Mon, 06 Dec 2021 10:23:41 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Data-Management/How-to-anonymize-the-Data-not-masking/m-p/784264#M20169</guid>
      <dc:creator>LinusH</dc:creator>
      <dc:date>2021-12-06T10:23:41Z</dc:date>
    </item>
    <item>
      <title>Re: How to anonymize the Data (not masking)</title>
      <link>https://communities.sas.com/t5/SAS-Data-Management/How-to-anonymize-the-Data-not-masking/m-p/784278#M20170</link>
      <description>Thanks for your reply.&lt;BR /&gt;Actually, I didn't want to trace back to the original values, but only&lt;BR /&gt;wanted to ensure that the anonymised data looks a bit meaningful.&lt;BR /&gt;&lt;BR /&gt;Could you please suggest how to achieve normal anonymization in SAS DI&lt;BR /&gt;(without expecting the real-like values)?&lt;BR /&gt;</description>
      <pubDate>Mon, 06 Dec 2021 11:22:20 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Data-Management/How-to-anonymize-the-Data-not-masking/m-p/784278#M20170</guid>
      <dc:creator>Biswadas</dc:creator>
      <dc:date>2021-12-06T11:22:20Z</dc:date>
    </item>
    <item>
      <title>Re: How to anonymize the Data (not masking)</title>
      <link>https://communities.sas.com/t5/SAS-Data-Management/How-to-anonymize-the-Data-not-masking/m-p/784288#M20171</link>
      <description>&lt;P&gt;Wihout real life like values is much easier. You can use a hasing function in a mapping expression, like&lt;/P&gt;
&lt;P&gt;md5(your_name_column)&lt;/P&gt;
&lt;P&gt;If really want to hide the original value, conccatenate a "salt" to your value before hasing. A salt is a contant value that is kept secret from users, so they can't decrypt the value using brute force techniques.&lt;/P&gt;</description>
      <pubDate>Mon, 06 Dec 2021 11:57:46 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Data-Management/How-to-anonymize-the-Data-not-masking/m-p/784288#M20171</guid>
      <dc:creator>LinusH</dc:creator>
      <dc:date>2021-12-06T11:57:46Z</dc:date>
    </item>
    <item>
      <title>Re: How to anonymize the Data (not masking)</title>
      <link>https://communities.sas.com/t5/SAS-Data-Management/How-to-anonymize-the-Data-not-masking/m-p/784367#M20172</link>
      <description>&lt;P&gt;I'm curious to know why you need to keep your data "real" when it won't be? If you want retain the ability to join on the anonymised variables then they will need to have the same level of uniqueness as the original. I don't know any easy way of doing this while still retaining the same uniqueness. You would be better off using the SAS MD5 function to ensure your recoded values retain their uniqueness and so can still be used for joining purposes.&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Mon, 06 Dec 2021 19:24:37 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Data-Management/How-to-anonymize-the-Data-not-masking/m-p/784367#M20172</guid>
      <dc:creator>SASKiwi</dc:creator>
      <dc:date>2021-12-06T19:24:37Z</dc:date>
    </item>
    <item>
      <title>Re: How to anonymize the Data (not masking)</title>
      <link>https://communities.sas.com/t5/SAS-Data-Management/How-to-anonymize-the-Data-not-masking/m-p/785038#M20175</link>
      <description>Thanks for your reply.&lt;BR /&gt;I was expecting a real-like name so that the data for test users will be a&lt;BR /&gt;bit meaningful.&lt;BR /&gt;&lt;BR /&gt;If I can keep this requirement aside (suppose I want only anonymization and&lt;BR /&gt;ready to accept any translated Name), what is the best way to achieve this&lt;BR /&gt;in SAS DI?&lt;BR /&gt;&lt;BR /&gt;Similarly, how can I get the similar conversion for my 2nd requirement?&lt;BR /&gt;For e.g. Social security number *GF*123456XY should be changed to *YZ*987643&lt;BR /&gt;*AB* (by keeping the format same- 2 string-6 digits-2 strings)?&lt;BR /&gt;&lt;BR /&gt;Could you please suggest?&lt;BR /&gt;</description>
      <pubDate>Wed, 08 Dec 2021 23:14:23 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Data-Management/How-to-anonymize-the-Data-not-masking/m-p/785038#M20175</guid>
      <dc:creator>Biswadas</dc:creator>
      <dc:date>2021-12-08T23:14:23Z</dc:date>
    </item>
    <item>
      <title>Re: How to anonymize the Data (not masking)</title>
      <link>https://communities.sas.com/t5/SAS-Data-Management/How-to-anonymize-the-Data-not-masking/m-p/785087#M20178</link>
      <description>As already suggested, create a mapping table that maps existing values a random value picked from your existing data. Any other approach that keep data look like real data is probably much more cumbersome.</description>
      <pubDate>Thu, 09 Dec 2021 07:30:02 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Data-Management/How-to-anonymize-the-Data-not-masking/m-p/785087#M20178</guid>
      <dc:creator>LinusH</dc:creator>
      <dc:date>2021-12-09T07:30:02Z</dc:date>
    </item>
    <item>
      <title>Re: How to anonymize the Data (not masking)</title>
      <link>https://communities.sas.com/t5/SAS-Data-Management/How-to-anonymize-the-Data-not-masking/m-p/785389#M20185</link>
      <description>&lt;P&gt;To LinusH's point about making data from scratch - we have a basic macro that can help:&amp;nbsp; &lt;A href="https://core.sasjs.io/mp__makedata_8sas.html" target="_self"&gt;mp_makedata()&lt;/A&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;/P&gt;
&lt;P&gt;Currently it just adds random values, but in the future it will be updated to provide relevant data based on the primary key, and formats applied.&amp;nbsp; If you'd like to see it extended just &lt;A href="https://github.com/sasjs/core/issues/new" target="_self"&gt;raise an issue&lt;/A&gt;.&lt;/P&gt;</description>
      <pubDate>Fri, 10 Dec 2021 13:28:47 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Data-Management/How-to-anonymize-the-Data-not-masking/m-p/785389#M20185</guid>
      <dc:creator>AllanBowe</dc:creator>
      <dc:date>2021-12-10T13:28:47Z</dc:date>
    </item>
    <item>
      <title>Re: How to anonymize the Data (not masking)</title>
      <link>https://communities.sas.com/t5/SAS-Data-Management/How-to-anonymize-the-Data-not-masking/m-p/786085#M20189</link>
      <description>&lt;P&gt;If you want to create values that look meaningful but are in fact anonymized, and you want to do it right, you need a team of Computer Science PhD's, not one person doing it as a side project.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;There are commercial products that do what you want:&lt;/P&gt;
&lt;P&gt;&lt;A href="https://www.softwaretestinghelp.com/data-masking-tools/" target="_blank" rel="noopener"&gt;https://www.softwaretestinghelp.com/data-masking-tools/&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Wed, 15 Dec 2021 03:33:03 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Data-Management/How-to-anonymize-the-Data-not-masking/m-p/786085#M20189</guid>
      <dc:creator>JackHamilton</dc:creator>
      <dc:date>2021-12-15T03:33:03Z</dc:date>
    </item>
    <item>
      <title>Re: How to anonymize the Data (not masking)</title>
      <link>https://communities.sas.com/t5/SAS-Data-Management/How-to-anonymize-the-Data-not-masking/m-p/786206#M20190</link>
      <description>&lt;P&gt;We support Data Hashing as part of&amp;nbsp; SAS code (MD5, SHA1, 256, 384, 512, CRC32&lt;/P&gt;
&lt;P&gt;&lt;A href="https://documentation.sas.com/doc/en/pgmsascdc/9.4_3.5/lefunctionsref/n0b8k12x6fdw4ln1snlsqrxd53gy.htm" target="_blank"&gt;https://documentation.sas.com/doc/en/pgmsascdc/9.4_3.5/lefunctionsref/n0b8k12x6fdw4ln1snlsqrxd53gy.htm&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;and SAS Federation Server&lt;/P&gt;
&lt;P&gt;&lt;A href="https://go.documentation.sas.com/doc/en/fedsrvmgrcdc/4.4/fedsrvmgrug/n1s7wae3mndbnmn1145y1lezasd8a.htm" target="_blank"&gt;https://go.documentation.sas.com/doc/en/fedsrvmgrcdc/4.4/fedsrvmgrug/n1s7wae3mndbnmn1145y1lezasd8a.htm&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;You can also refer to this document focusing on the GDPR use case&lt;/P&gt;
&lt;P&gt;&lt;A href="https://communities.sas.com/t5/SAS-Communities-Library/SAS-Federation-Server-for-GDPR-Data-Masking/ta-p/466772" target="_blank"&gt;https://communities.sas.com/t5/SAS-Communities-Library/SAS-Federation-Server-for-GDPR-Data-Masking/ta-p/466772&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Lastly, within the SAS QKB CI 32 we have been introducing specific definition for data masking:&lt;/P&gt;
&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="VincentRejany_0-1639586545240.png" style="width: 400px;"&gt;&lt;img src="https://communities.sas.com/t5/image/serverpage/image-id/66778i62272F73AB8AAE26/image-size/medium?v=v2&amp;amp;px=400" role="button" title="VincentRejany_0-1639586545240.png" alt="VincentRejany_0-1639586545240.png" /&gt;&lt;/span&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Wed, 15 Dec 2021 16:42:48 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Data-Management/How-to-anonymize-the-Data-not-masking/m-p/786206#M20190</guid>
      <dc:creator>VincentRejany</dc:creator>
      <dc:date>2021-12-15T16:42:48Z</dc:date>
    </item>
    <item>
      <title>Re: How to anonymize the Data (not masking)</title>
      <link>https://communities.sas.com/t5/SAS-Data-Management/How-to-anonymize-the-Data-not-masking/m-p/982837#M21073</link>
      <description>&lt;P&gt;You might want to look at privacy-first document anonymization tools instead of building everything manually.&lt;/P&gt;&lt;P&gt;There are platforms that automatically detect and anonymize names, IDs, and sensitive fields while keeping realistic values and consistent mappings across tables, so joins and integrity are preserved.&lt;/P&gt;&lt;P&gt;Try&amp;nbsp;&lt;STRONG&gt;Questa AI&lt;/STRONG&gt;, which offers a free tier and handles this kind of structured + document anonymization pretty well. It anonymizes locally first and then lets you safely run AI/analysis without exposing raw data.&lt;/P&gt;&lt;P&gt;Might be worth testing for your use case.&lt;/P&gt;</description>
      <pubDate>Mon, 02 Feb 2026 05:04:52 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Data-Management/How-to-anonymize-the-Data-not-masking/m-p/982837#M21073</guid>
      <dc:creator>rom_c</dc:creator>
      <dc:date>2026-02-02T05:04:52Z</dc:date>
    </item>
    <item>
      <title>Re: How to anonymize the Data (not masking)</title>
      <link>https://communities.sas.com/t5/SAS-Data-Management/How-to-anonymize-the-Data-not-masking/m-p/987790#M21083</link>
      <description>&lt;P class=""&gt;&lt;SPAN&gt;Traditional masking is no longer enough for modern AI and analytics workflows. As enterprises adopt LLMs and automated data processing, true anonymization is becoming critical for protecting sensitive business information while maintaining compliance and analytical value.&lt;/SPAN&gt;&lt;/P&gt;&lt;P class=""&gt;&lt;SPAN&gt;The future is moving toward privacy-first AI architectures where sensitive data is anonymized before it ever reaches external models or downstream systems. This approach significantly reduces risks related to data leakage, re-identification, and regulatory exposure while still enabling advanced AI capabilities.&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;Organizations that build privacy and governance directly into their AI pipelines will likely have a major advantage as enterprise AI adoption continues to scale.&lt;/SPAN&gt;&lt;/P&gt;</description>
      <pubDate>Tue, 12 May 2026 09:25:51 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Data-Management/How-to-anonymize-the-Data-not-masking/m-p/987790#M21083</guid>
      <dc:creator>rom_c</dc:creator>
      <dc:date>2026-05-12T09:25:51Z</dc:date>
    </item>
  </channel>
</rss>

