{"id":12129,"date":"2018-05-31T08:45:06","date_gmt":"2018-05-31T12:45:06","guid":{"rendered":"http:\/\/www.iri.com\/blog\/?p=12129"},"modified":"2023-08-31T11:27:28","modified_gmt":"2023-08-31T15:27:28","slug":"pii-masking-csv-files","status":"publish","type":"post","link":"https:\/\/beta.iri.com\/blog\/data-protection\/pii-masking-csv-files\/","title":{"rendered":"PII Masking &#038; More in CSV Files"},"content":{"rendered":"<p><span style=\"font-weight: 400;\">This article demonstrates the manipulation of a <\/span><a href=\"https:\/\/www.iri.com\/solutions\/data-and-database-migration\/file-conversion\/csv\"><span style=\"font-weight: 400;\">CSV file<\/span><\/a><span style=\"font-weight: 400;\"> using an <\/span><a href=\"http:\/\/www.iri.com\/products\/workbench\"><span style=\"font-weight: 400;\">IRI Workbench<\/span><\/a><span style=\"font-weight: 400;\"> wizard. In fact, this example shows how PII can be masked from almost any IRI job wizard, though CSV file masking is most often performed from a single or multi-file <a href=\"https:\/\/www.iri.com\/products\/fieldshield\">IRI FieldShield<\/a> job menu. <\/span><\/p>\n<p><span style=\"font-weight: 400;\">A CSV file is a delimited file for tabular data and plain text that uses a comma to separate field values. Files in CSV format can be imported and exported from programs that can store data in tables. This article describes how FieldShield users can mask atomic CSV column values in files in one or more LAN, Hadoop, or Amazon S3 folders, or streaming from message queues, pipes, URLs, etc.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">IRI Workbench is the graphical user interface (GUI) and integrated development environment (IDE) for FieldShield and all IRI data management and protection software <\/span><a href=\"http:\/\/www.iri.com\/products\"><span style=\"font-weight: 400;\">products<\/span><\/a><span style=\"font-weight: 400;\">, as well as the Voracity <\/span><a href=\"http:\/\/www.iri.com\/products\/voracity-platform\"><span style=\"font-weight: 400;\">platform<\/span><\/a><span style=\"font-weight: 400;\"> which includes them. <\/span><\/p>\n<p><span style=\"font-weight: 400;\"><em>Note that it is also possible to find and mask sensitive data in CSV (or other delimited file) columns (and even when it&#8217;s embedded in free-text columns) in <a href=\"https:\/\/www.iri.com\/products\/darkshield\">IRI DarkShield<\/a>, but this article focuses on the older FieldShield method, which retains the advantage of performing additional business logic (including data transformation, cleansing, conversion and reporting) while you mask due to its use of the IRI <a href=\"https:\/\/www.iri.com\/products\/cosort\/sortcl\">SortCL<\/a> data manipulation program.<\/em><\/span><\/p>\n<p><span style=\"font-weight: 400;\">IRI Workbench features metadata creation, conversion, discovery, and application wizards to help you generate, deploy, and manage IRI task and batch scripts, data definition files (DDF), and XML workflows common to all IRI software, as well as SQL. <\/span><span style=\"font-weight: 400;\">The wizards in IRI Workbench produce the underlying <\/span><a href=\"http:\/\/www.iri.com\/products\/cosort\/sortcl-metadata\"><span style=\"font-weight: 400;\">metadata<\/span><\/a><span style=\"font-weight: 400;\"> and rules for:<\/span><\/p>\n<ul>\n<li>data masking &amp; re-ID risk scoring<\/li>\n<li>data integration (ETL) &amp; CDC<\/li>\n<li>data migration &amp; replication<\/li>\n<li>test data (file) generation<\/li>\n<\/ul>\n<p><span style=\"font-weight: 400;\">My example uses a simple sort and PII mask of data in a CSV file. It sends the output to another CSV file and an Oracle database table. Note\u00a0<\/span><\/p>\n<h2>Find My Data<\/h2>\n<p><span style=\"font-weight: 400;\">I first locate my data source, a file called <\/span><i><span style=\"font-weight: 400;\">patient-visit_1K.csv<\/span><\/i><span style=\"font-weight: 400;\">, which contains a form of PII known as PHI (protected health information). I happen to know about this file. But what if I had many CSV files and I do not know which ones need masking?<\/span><\/p>\n<p><span style=\"font-weight: 400;\">FieldShield users seeking PII in CSV can find it through several data <\/span><a href=\"http:\/\/www.iri.com\/products\/workbench\/discover-data\"><span style=\"font-weight: 400;\">discovery tools<\/span><\/a><span style=\"font-weight: 400;\">, including a flat-file profiling tool and Directory Data Class search wizard. A &#8220;dark data\u201d discovery facility within IRI <a href=\"https:\/\/www.iri.com\/products\/darkshield\">DarkShield<\/a> can also find PII in CSVs and other files &#8212; structured, semi-structured, and unstructured &#8212; too.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">In this case, the PII in my file is considered Protected Health Information, or PHI, that must be de-identified according to <\/span><a href=\"http:\/\/www.iri.com\/solutions\/data-masking\/hipaa\"><span style=\"font-weight: 400;\">HIPAA data privacy<\/span><\/a><span style=\"font-weight: 400;\"> rules. I will only show a few of the <a href=\"https:\/\/www.iri.com\/solutions\/data-masking\/static-data-masking\">many available masking techniques<\/a> here.\u00a0<\/span><\/p>\n<p><span style=\"font-weight: 400;\">The figure below shows the file\u2019s contents, including <\/span><i><span style=\"font-weight: 400;\">FirstName, LastName, BirthDate, Country, Address, City, State, Phon<\/span><\/i><span style=\"font-weight: 400;\">e, and <\/span><i><span style=\"font-weight: 400;\">License.<\/span><\/i><\/p>\n<p><a href=\"http:\/\/www.iri.com\/blog\/wp-content\/uploads\/2018\/05\/pii-masking-csv.png\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-12130\" src=\"http:\/\/www.iri.com\/blog\/wp-content\/uploads\/2018\/05\/pii-masking-csv-1024x640.png\" alt=\"pii masking csv file\" width=\"600\" height=\"375\" srcset=\"https:\/\/beta.iri.com\/blog\/wp-content\/uploads\/2018\/05\/pii-masking-csv-1024x640.png 1024w, https:\/\/beta.iri.com\/blog\/wp-content\/uploads\/2018\/05\/pii-masking-csv-300x188.png 300w, https:\/\/beta.iri.com\/blog\/wp-content\/uploads\/2018\/05\/pii-masking-csv-768x480.png 768w, https:\/\/beta.iri.com\/blog\/wp-content\/uploads\/2018\/05\/pii-masking-csv.png 1110w\" sizes=\"(max-width: 600px) 100vw, 600px\" \/><\/a><\/p>\n<h2>Pick and Run a Job Creation Wizard<\/h2>\n<p><span style=\"font-weight: 400;\">As mentioned, IRI Workbench includes many fit-for-purpose wizards that design discrete tasks (.*cl scripts), or batch jobs (.flow and .bat\/.sh files) which run on the command line, through Workbench, your programs, etc. I chose a simple sort job wizard because even its single .scl script result can specify several functions and targets.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">That wizard runs from the CoSort menu group (stopwatch) icon from the IRI Workbench toolbar. I select <\/span><i><span style=\"font-weight: 400;\">New Sort Job<\/span><\/i><span style=\"font-weight: 400;\">, and specified <\/span><i><span style=\"font-weight: 400;\">patient_info.scl <\/span><\/i><span style=\"font-weight: 400;\">as the name of my job:<\/span><\/p>\n<p><a href=\"http:\/\/www.iri.com\/blog\/wp-content\/uploads\/2018\/05\/pii-masking-job-specification-file.png\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-12135\" src=\"http:\/\/www.iri.com\/blog\/wp-content\/uploads\/2018\/05\/pii-masking-job-specification-file.png\" alt=\"pii masking job specification file\" width=\"478\" height=\"506\" srcset=\"https:\/\/beta.iri.com\/blog\/wp-content\/uploads\/2018\/05\/pii-masking-job-specification-file.png 478w, https:\/\/beta.iri.com\/blog\/wp-content\/uploads\/2018\/05\/pii-masking-job-specification-file-283x300.png 283w\" sizes=\"(max-width: 478px) 100vw, 478px\" \/><\/a><\/p>\n<h2>Data Source Specification<\/h2>\n<p><span style=\"font-weight: 400;\">Next I browse to specify the location (path) and name of my input file, plus its field layouts in IRI data definition format (DDF), which all SortCL-compatible programs require. This metadata can be specified directly in the job script, or stand alone in a reusable, shareable DDF file that other IRI programs can use. <\/span><\/p>\n<p><span style=\"font-weight: 400;\">It is for this reason that the wizards ask me to use an existing, or auto-create new, DDF metadata for my input file. Because the DDF did not yet exist, I chose the <\/span><i><span style=\"font-weight: 400;\">Discover Metadata \u2026<\/span><\/i> <span style=\"font-weight: 400;\">option, where a sub-wizard parsed my .CSV file headers into DDF layouts. I then chose to put that layout detail directly into my job script as input specifications, rather than save and refer to them from an external DDF file.<\/span><\/p>\n<p><a href=\"http:\/\/www.iri.com\/blog\/wp-content\/uploads\/2018\/05\/pii-masking-data-sources-identification.png\"><img loading=\"lazy\" decoding=\"async\" class=\"size-full wp-image-12132 aligncenter\" src=\"http:\/\/www.iri.com\/blog\/wp-content\/uploads\/2018\/05\/pii-masking-data-sources-identification.png\" alt=\"pii masking data sources identification wizard\" width=\"471\" height=\"571\" srcset=\"https:\/\/beta.iri.com\/blog\/wp-content\/uploads\/2018\/05\/pii-masking-data-sources-identification.png 471w, https:\/\/beta.iri.com\/blog\/wp-content\/uploads\/2018\/05\/pii-masking-data-sources-identification-247x300.png 247w\" sizes=\"(max-width: 471px) 100vw, 471px\" \/><\/a><\/p>\n<p><span style=\"font-weight: 400;\">After that, you can see the wizard\u2019s Data Source specification dialog where the Process is CSV and all the fields that were discovered are added in:<\/span><\/p>\n<p><a href=\"http:\/\/www.iri.com\/blog\/wp-content\/uploads\/2018\/05\/pii-masking-data-sources.png\"><img loading=\"lazy\" decoding=\"async\" class=\"size-full wp-image-12131 aligncenter\" src=\"http:\/\/www.iri.com\/blog\/wp-content\/uploads\/2018\/05\/pii-masking-data-sources.png\" alt=\"pii masking data sources \" width=\"464\" height=\"587\" srcset=\"https:\/\/beta.iri.com\/blog\/wp-content\/uploads\/2018\/05\/pii-masking-data-sources.png 464w, https:\/\/beta.iri.com\/blog\/wp-content\/uploads\/2018\/05\/pii-masking-data-sources-237x300.png 237w\" sizes=\"(max-width: 464px) 100vw, 464px\" \/><\/a><\/p>\n<p><span style=\"font-weight: 400;\">In the next dialog, I specify a sort key field to define the order of data in my target(s). In this case, I will sort by<\/span><i><span style=\"font-weight: 400;\"> patient_id<\/span><\/i><span style=\"font-weight: 400;\">:<\/span><\/p>\n<p><a href=\"http:\/\/www.iri.com\/blog\/wp-content\/uploads\/2018\/05\/pii-masking-sort.png\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-12138\" src=\"http:\/\/www.iri.com\/blog\/wp-content\/uploads\/2018\/05\/pii-masking-sort.png\" alt=\"pii masking sort wizard\" width=\"529\" height=\"536\" srcset=\"https:\/\/beta.iri.com\/blog\/wp-content\/uploads\/2018\/05\/pii-masking-sort.png 529w, https:\/\/beta.iri.com\/blog\/wp-content\/uploads\/2018\/05\/pii-masking-sort-296x300.png 296w\" sizes=\"(max-width: 529px) 100vw, 529px\" \/><\/a><\/p>\n<p><span style=\"font-weight: 400;\">When I click Next &gt;, I am provided with the <\/span><i><span style=\"font-weight: 400;\">Data Targets <\/span><\/i><span style=\"font-weight: 400;\">screen where I specify both a table in Oracle and another CSV file to receipt my processed data. Note how their \u201c<\/span><i><span style=\"font-weight: 400;\">Process Types\u201d t<\/span><\/i><span style=\"font-weight: 400;\">ypes got added automatically; ODBC for the database insert, and CSV for the other:<\/span><\/p>\n<p><a href=\"http:\/\/www.iri.com\/blog\/wp-content\/uploads\/2018\/05\/pii-masking-data-targets.png\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-12133\" src=\"http:\/\/www.iri.com\/blog\/wp-content\/uploads\/2018\/05\/pii-masking-data-targets.png\" alt=\"pii masking data targets\" width=\"524\" height=\"545\" srcset=\"https:\/\/beta.iri.com\/blog\/wp-content\/uploads\/2018\/05\/pii-masking-data-targets.png 524w, https:\/\/beta.iri.com\/blog\/wp-content\/uploads\/2018\/05\/pii-masking-data-targets-288x300.png 288w\" sizes=\"(max-width: 524px) 100vw, 524px\" \/><\/a><\/p>\n<p><span style=\"font-weight: 400;\">Since I want to also mask some of the sensitive fields, I need to apply some field-specific function rules in the target. So, I click on <\/span><i><span style=\"font-weight: 400;\">Target Field Layout \u2026 <\/span><\/i><span style=\"font-weight: 400;\">to open the wizard\u2019s top-down, source-to-target mapping dialog. It is within that dialog that I then right click on the fields I want and can chose apply an existing masking rule, or create a new one:<\/span><\/p>\n<p><a href=\"http:\/\/www.iri.com\/blog\/wp-content\/uploads\/2018\/05\/pii-masking-target-field-layouts.png\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-12139\" src=\"http:\/\/www.iri.com\/blog\/wp-content\/uploads\/2018\/05\/pii-masking-target-field-layouts.png\" alt=\"pii masking target field layouts\" width=\"600\" height=\"543\" srcset=\"https:\/\/beta.iri.com\/blog\/wp-content\/uploads\/2018\/05\/pii-masking-target-field-layouts.png 672w, https:\/\/beta.iri.com\/blog\/wp-content\/uploads\/2018\/05\/pii-masking-target-field-layouts-300x271.png 300w\" sizes=\"(max-width: 600px) 100vw, 600px\" \/><\/a><\/p>\n<p><span style=\"font-weight: 400;\">The images below show where I apply hashing and redaction functions for my selected fields.<\/span><\/p>\n<p><a href=\"http:\/\/www.iri.com\/blog\/wp-content\/uploads\/2018\/05\/pii-masking-new-field-rule-wizard.png\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-12137\" src=\"http:\/\/www.iri.com\/blog\/wp-content\/uploads\/2018\/05\/pii-masking-new-field-rule-wizard.png\" alt=\"pii masking new field rule wizard\" width=\"600\" height=\"629\" srcset=\"https:\/\/beta.iri.com\/blog\/wp-content\/uploads\/2018\/05\/pii-masking-new-field-rule-wizard.png 905w, https:\/\/beta.iri.com\/blog\/wp-content\/uploads\/2018\/05\/pii-masking-new-field-rule-wizard-286x300.png 286w, https:\/\/beta.iri.com\/blog\/wp-content\/uploads\/2018\/05\/pii-masking-new-field-rule-wizard-768x804.png 768w\" sizes=\"(max-width: 600px) 100vw, 600px\" \/><\/a><\/p>\n<p><span style=\"font-weight: 400;\">I chose basic string masking to redact the <\/span><i><span style=\"font-weight: 400;\">patient_id\u00a0<\/span><\/i><span style=\"font-weight: 400;\">and<\/span><i><span style=\"font-weight: 400;\">\u00a0license <\/span><\/i><span style=\"font-weight: 400;\">values, and a hash function for the <\/span><i><span style=\"font-weight: 400;\">birthdate<\/span><\/i><span style=\"font-weight: 400;\">. Note that IRI also supports both mathematical expressions and random date blurs to shift ISO-formatted dates by a given number of days. See <\/span><a href=\"http:\/\/www.iri.com\/blog\/data-protection\/data-masking-function-use\/\"><span style=\"font-weight: 400;\">this article<\/span><\/a><span style=\"font-weight: 400;\"> for advice on selecting the right data masking function for any given field.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">After I am done with these dialogs, the final Data Targets dialog in my job wizard reveals the modifications to be performed on those fields:<\/span><\/p>\n<p><a href=\"http:\/\/www.iri.com\/blog\/wp-content\/uploads\/2018\/05\/pii-masking-data-targets-2.png\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-12134\" src=\"http:\/\/www.iri.com\/blog\/wp-content\/uploads\/2018\/05\/pii-masking-data-targets-2.png\" alt=\"pii masking data targets wizard\" width=\"522\" height=\"546\" srcset=\"https:\/\/beta.iri.com\/blog\/wp-content\/uploads\/2018\/05\/pii-masking-data-targets-2.png 522w, https:\/\/beta.iri.com\/blog\/wp-content\/uploads\/2018\/05\/pii-masking-data-targets-2-287x300.png 287w\" sizes=\"(max-width: 522px) 100vw, 522px\" \/><\/a><\/p>\n<p><span style=\"font-weight: 400;\">Now that I have designed the job, I click finish to have the wizard save the job in script form, so I can review, modify, share, and run it as needed. <\/span><\/p>\n<h2>Run the Job<\/h2>\n<p><span style=\"font-weight: 400;\">The job script generated by the wizard is automatically displayed in the GUI for review, modification, and execution. That script gets parsed and run in a command-line FieldShield executable, or a SortCL executable licensed for CoSort\/Voracity use. I can <\/span><a href=\"http:\/\/www.iri.com\/services\/training\/courseware#workbench\"><span style=\"font-weight: 400;\">deploy it<\/span><\/a><span style=\"font-weight: 400;\"> from ad hoc or through its task scheduler, or from the command line or any external batch or scheduling program.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">Shown below is my final job in script and outline form, as well as the results from running it. See the masked <\/span><i><span style=\"font-weight: 400;\">PATIENTINFO <\/span><\/i><span style=\"font-weight: 400;\">table in Oracle, and in <\/span><i><span style=\"font-weight: 400;\">patientout.csv<\/span><\/i><span style=\"font-weight: 400;\">:<a href=\"http:\/\/www.iri.com\/blog\/wp-content\/uploads\/2018\/05\/pii-masking-workbench.png\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-12140\" src=\"http:\/\/www.iri.com\/blog\/wp-content\/uploads\/2018\/05\/pii-masking-workbench-1024x636.png\" alt=\"pii masking workbench \" width=\"600\" height=\"373\" srcset=\"https:\/\/beta.iri.com\/blog\/wp-content\/uploads\/2018\/05\/pii-masking-workbench-1024x636.png 1024w, https:\/\/beta.iri.com\/blog\/wp-content\/uploads\/2018\/05\/pii-masking-workbench-300x186.png 300w, https:\/\/beta.iri.com\/blog\/wp-content\/uploads\/2018\/05\/pii-masking-workbench-768x477.png 768w, https:\/\/beta.iri.com\/blog\/wp-content\/uploads\/2018\/05\/pii-masking-workbench.png 1110w\" sizes=\"(max-width: 600px) 100vw, 600px\" \/><\/a><\/span><\/p>\n<h2>Job Diagram Options<\/h2>\n<p><span style=\"font-weight: 400;\">With the .scl job script built in my active project, I can also right click on it, and from an IRI menu of options, build a flow diagram to visualize the task within a project. From within the flow diagram, I double click on the task block to reveal a transform mapping diagram showing the source-to-target field movement I\u2019ve defined:<\/span><\/p>\n<p><a href=\"http:\/\/www.iri.com\/blog\/wp-content\/uploads\/2018\/05\/pii-masking-mapping-diagram.png\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-12136\" src=\"http:\/\/www.iri.com\/blog\/wp-content\/uploads\/2018\/05\/pii-masking-mapping-diagram-1024x640.png\" alt=\"pii masking mapping diagram\" width=\"600\" height=\"375\" srcset=\"https:\/\/beta.iri.com\/blog\/wp-content\/uploads\/2018\/05\/pii-masking-mapping-diagram-1024x640.png 1024w, https:\/\/beta.iri.com\/blog\/wp-content\/uploads\/2018\/05\/pii-masking-mapping-diagram-300x188.png 300w, https:\/\/beta.iri.com\/blog\/wp-content\/uploads\/2018\/05\/pii-masking-mapping-diagram-768x480.png 768w, https:\/\/beta.iri.com\/blog\/wp-content\/uploads\/2018\/05\/pii-masking-mapping-diagram.png 1110w\" sizes=\"(max-width: 600px) 100vw, 600px\" \/><\/a><\/p>\n<p><span style=\"font-weight: 400;\">The orange connections denote those target files that have been derived or transformed; in this case, a data masking function. I can also create modify my job parameters from these diagrams as well, and save the changes to overwrite my job script. <\/span><\/p>\n<p><span style=\"font-weight: 400;\">If you have any questions about CSV or other flat file manipulation or masking, leave a comment below, or contact your IRI <a href=\"https:\/\/www.iri.com\/partners\/resellers\">representative<\/a>.<\/span><\/p>\n","protected":false},"excerpt":{"rendered":"<p>This article demonstrates the manipulation of a CSV file using an IRI Workbench wizard. In fact, this example shows how PII can be masked from almost any IRI job wizard, though CSV file masking is most often performed from a single or multi-file IRI FieldShield job menu. A CSV file is a delimited file for<\/p>\n<div><a class=\"btn-filled btn\" href=\"https:\/\/beta.iri.com\/blog\/data-protection\/pii-masking-csv-files\/\" title=\"PII Masking &#038; More in CSV Files\">Read More<\/a><\/div>\n","protected":false},"author":53,"featured_media":12131,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"_exactmetrics_skip_tracking":false,"_exactmetrics_sitenote_active":false,"_exactmetrics_sitenote_note":"","_exactmetrics_sitenote_category":0,"footnotes":""},"categories":[8,1,776,29],"tags":[1307,14,13,5,603,1306,1308,604],"class_list":["post-12129","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-data-protection","category-data-transformation2","category-etl","category-test-data","tag-csv-files","tag-data-masking","tag-data-protection-2","tag-data-transformation","tag-hipaa","tag-pii-masking","tag-privacy-laws","tag-protected-health-information"],"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v23.3 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>PII Masking &amp; More in CSV Files - IRI<\/title>\n<meta name=\"description\" content=\"Mask PII and manipulate data in CSV files with almost any IRI Workbench wizard.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/beta.iri.com\/blog\/data-protection\/pii-masking-csv-files\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"PII Masking &amp; More in CSV Files - IRI\" \/>\n<meta property=\"og:description\" content=\"Mask PII and manipulate data in CSV files with almost any IRI Workbench wizard.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/beta.iri.com\/blog\/data-protection\/pii-masking-csv-files\/\" \/>\n<meta property=\"og:site_name\" content=\"IRI\" \/>\n<meta property=\"article:published_time\" content=\"2018-05-31T12:45:06+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2023-08-31T15:27:28+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/beta.iri.com\/blog\/wp-content\/uploads\/2018\/05\/pii-masking-data-sources.png\" \/>\n\t<meta property=\"og:image:width\" content=\"464\" \/>\n\t<meta property=\"og:image:height\" content=\"587\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"author\" content=\"Chaitali Mitra\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Chaitali Mitra\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"6 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/beta.iri.com\/blog\/data-protection\/pii-masking-csv-files\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/beta.iri.com\/blog\/data-protection\/pii-masking-csv-files\/\"},\"author\":{\"name\":\"Chaitali Mitra\",\"@id\":\"https:\/\/beta.iri.com\/blog\/#\/schema\/person\/9bae14a309616863b027c2d56f532caf\"},\"headline\":\"PII Masking &#038; More in CSV Files\",\"datePublished\":\"2018-05-31T12:45:06+00:00\",\"dateModified\":\"2023-08-31T15:27:28+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/beta.iri.com\/blog\/data-protection\/pii-masking-csv-files\/\"},\"wordCount\":1230,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/beta.iri.com\/blog\/#organization\"},\"image\":{\"@id\":\"https:\/\/beta.iri.com\/blog\/data-protection\/pii-masking-csv-files\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/beta.iri.com\/blog\/wp-content\/uploads\/2018\/05\/pii-masking-data-sources.png\",\"keywords\":[\"csv files\",\"data masking\",\"data protection\",\"data transformation\",\"HIPAA\",\"pii masking\",\"privacy laws\",\"protected health information\"],\"articleSection\":[\"Data Masking\/Protection\",\"Data Transformation\",\"ETL\",\"Test Data\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/beta.iri.com\/blog\/data-protection\/pii-masking-csv-files\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/beta.iri.com\/blog\/data-protection\/pii-masking-csv-files\/\",\"url\":\"https:\/\/beta.iri.com\/blog\/data-protection\/pii-masking-csv-files\/\",\"name\":\"PII Masking & More in CSV Files - IRI\",\"isPartOf\":{\"@id\":\"https:\/\/beta.iri.com\/blog\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/beta.iri.com\/blog\/data-protection\/pii-masking-csv-files\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/beta.iri.com\/blog\/data-protection\/pii-masking-csv-files\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/beta.iri.com\/blog\/wp-content\/uploads\/2018\/05\/pii-masking-data-sources.png\",\"datePublished\":\"2018-05-31T12:45:06+00:00\",\"dateModified\":\"2023-08-31T15:27:28+00:00\",\"description\":\"Mask PII and manipulate data in CSV files with almost any IRI Workbench wizard.\",\"breadcrumb\":{\"@id\":\"https:\/\/beta.iri.com\/blog\/data-protection\/pii-masking-csv-files\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/beta.iri.com\/blog\/data-protection\/pii-masking-csv-files\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/beta.iri.com\/blog\/data-protection\/pii-masking-csv-files\/#primaryimage\",\"url\":\"https:\/\/beta.iri.com\/blog\/wp-content\/uploads\/2018\/05\/pii-masking-data-sources.png\",\"contentUrl\":\"https:\/\/beta.iri.com\/blog\/wp-content\/uploads\/2018\/05\/pii-masking-data-sources.png\",\"width\":464,\"height\":587,\"caption\":\"pii masking data sources\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/beta.iri.com\/blog\/data-protection\/pii-masking-csv-files\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/beta.iri.com\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"PII Masking &#038; More in CSV Files\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/beta.iri.com\/blog\/#website\",\"url\":\"https:\/\/beta.iri.com\/blog\/\",\"name\":\"IRI\",\"description\":\"Total Data Management Blog\",\"publisher\":{\"@id\":\"https:\/\/beta.iri.com\/blog\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/beta.iri.com\/blog\/?s={search_term_string}\"},\"query-input\":\"required name=search_term_string\"}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/beta.iri.com\/blog\/#organization\",\"name\":\"IRI\",\"url\":\"https:\/\/beta.iri.com\/blog\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/beta.iri.com\/blog\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/beta.iri.com\/blog\/wp-content\/uploads\/2019\/02\/iri-logo-total-data-management-small-1.png\",\"contentUrl\":\"https:\/\/beta.iri.com\/blog\/wp-content\/uploads\/2019\/02\/iri-logo-total-data-management-small-1.png\",\"width\":750,\"height\":206,\"caption\":\"IRI\"},\"image\":{\"@id\":\"https:\/\/beta.iri.com\/blog\/#\/schema\/logo\/image\/\"}},{\"@type\":\"Person\",\"@id\":\"https:\/\/beta.iri.com\/blog\/#\/schema\/person\/9bae14a309616863b027c2d56f532caf\",\"name\":\"Chaitali Mitra\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/beta.iri.com\/blog\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/95a11f3d0b709c00df3262bab0152f3a?s=96&d=blank&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/95a11f3d0b709c00df3262bab0152f3a?s=96&d=blank&r=g\",\"caption\":\"Chaitali Mitra\"},\"sameAs\":[\"http:\/\/www.iri.com\"],\"url\":\"https:\/\/beta.iri.com\/blog\/author\/chaitalim\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"PII Masking & More in CSV Files - IRI","description":"Mask PII and manipulate data in CSV files with almost any IRI Workbench wizard.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/beta.iri.com\/blog\/data-protection\/pii-masking-csv-files\/","og_locale":"en_US","og_type":"article","og_title":"PII Masking & More in CSV Files - IRI","og_description":"Mask PII and manipulate data in CSV files with almost any IRI Workbench wizard.","og_url":"https:\/\/beta.iri.com\/blog\/data-protection\/pii-masking-csv-files\/","og_site_name":"IRI","article_published_time":"2018-05-31T12:45:06+00:00","article_modified_time":"2023-08-31T15:27:28+00:00","og_image":[{"width":464,"height":587,"url":"https:\/\/beta.iri.com\/blog\/wp-content\/uploads\/2018\/05\/pii-masking-data-sources.png","type":"image\/png"}],"author":"Chaitali Mitra","twitter_card":"summary_large_image","twitter_misc":{"Written by":"Chaitali Mitra","Est. reading time":"6 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/beta.iri.com\/blog\/data-protection\/pii-masking-csv-files\/#article","isPartOf":{"@id":"https:\/\/beta.iri.com\/blog\/data-protection\/pii-masking-csv-files\/"},"author":{"name":"Chaitali Mitra","@id":"https:\/\/beta.iri.com\/blog\/#\/schema\/person\/9bae14a309616863b027c2d56f532caf"},"headline":"PII Masking &#038; More in CSV Files","datePublished":"2018-05-31T12:45:06+00:00","dateModified":"2023-08-31T15:27:28+00:00","mainEntityOfPage":{"@id":"https:\/\/beta.iri.com\/blog\/data-protection\/pii-masking-csv-files\/"},"wordCount":1230,"commentCount":0,"publisher":{"@id":"https:\/\/beta.iri.com\/blog\/#organization"},"image":{"@id":"https:\/\/beta.iri.com\/blog\/data-protection\/pii-masking-csv-files\/#primaryimage"},"thumbnailUrl":"https:\/\/beta.iri.com\/blog\/wp-content\/uploads\/2018\/05\/pii-masking-data-sources.png","keywords":["csv files","data masking","data protection","data transformation","HIPAA","pii masking","privacy laws","protected health information"],"articleSection":["Data Masking\/Protection","Data Transformation","ETL","Test Data"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/beta.iri.com\/blog\/data-protection\/pii-masking-csv-files\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/beta.iri.com\/blog\/data-protection\/pii-masking-csv-files\/","url":"https:\/\/beta.iri.com\/blog\/data-protection\/pii-masking-csv-files\/","name":"PII Masking & More in CSV Files - IRI","isPartOf":{"@id":"https:\/\/beta.iri.com\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/beta.iri.com\/blog\/data-protection\/pii-masking-csv-files\/#primaryimage"},"image":{"@id":"https:\/\/beta.iri.com\/blog\/data-protection\/pii-masking-csv-files\/#primaryimage"},"thumbnailUrl":"https:\/\/beta.iri.com\/blog\/wp-content\/uploads\/2018\/05\/pii-masking-data-sources.png","datePublished":"2018-05-31T12:45:06+00:00","dateModified":"2023-08-31T15:27:28+00:00","description":"Mask PII and manipulate data in CSV files with almost any IRI Workbench wizard.","breadcrumb":{"@id":"https:\/\/beta.iri.com\/blog\/data-protection\/pii-masking-csv-files\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/beta.iri.com\/blog\/data-protection\/pii-masking-csv-files\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/beta.iri.com\/blog\/data-protection\/pii-masking-csv-files\/#primaryimage","url":"https:\/\/beta.iri.com\/blog\/wp-content\/uploads\/2018\/05\/pii-masking-data-sources.png","contentUrl":"https:\/\/beta.iri.com\/blog\/wp-content\/uploads\/2018\/05\/pii-masking-data-sources.png","width":464,"height":587,"caption":"pii masking data sources"},{"@type":"BreadcrumbList","@id":"https:\/\/beta.iri.com\/blog\/data-protection\/pii-masking-csv-files\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/beta.iri.com\/blog\/"},{"@type":"ListItem","position":2,"name":"PII Masking &#038; More in CSV Files"}]},{"@type":"WebSite","@id":"https:\/\/beta.iri.com\/blog\/#website","url":"https:\/\/beta.iri.com\/blog\/","name":"IRI","description":"Total Data Management Blog","publisher":{"@id":"https:\/\/beta.iri.com\/blog\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/beta.iri.com\/blog\/?s={search_term_string}"},"query-input":"required name=search_term_string"}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/beta.iri.com\/blog\/#organization","name":"IRI","url":"https:\/\/beta.iri.com\/blog\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/beta.iri.com\/blog\/#\/schema\/logo\/image\/","url":"https:\/\/beta.iri.com\/blog\/wp-content\/uploads\/2019\/02\/iri-logo-total-data-management-small-1.png","contentUrl":"https:\/\/beta.iri.com\/blog\/wp-content\/uploads\/2019\/02\/iri-logo-total-data-management-small-1.png","width":750,"height":206,"caption":"IRI"},"image":{"@id":"https:\/\/beta.iri.com\/blog\/#\/schema\/logo\/image\/"}},{"@type":"Person","@id":"https:\/\/beta.iri.com\/blog\/#\/schema\/person\/9bae14a309616863b027c2d56f532caf","name":"Chaitali Mitra","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/beta.iri.com\/blog\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/95a11f3d0b709c00df3262bab0152f3a?s=96&d=blank&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/95a11f3d0b709c00df3262bab0152f3a?s=96&d=blank&r=g","caption":"Chaitali Mitra"},"sameAs":["http:\/\/www.iri.com"],"url":"https:\/\/beta.iri.com\/blog\/author\/chaitalim\/"}]}},"jetpack_featured_media_url":"https:\/\/beta.iri.com\/blog\/wp-content\/uploads\/2018\/05\/pii-masking-data-sources.png","_links":{"self":[{"href":"https:\/\/beta.iri.com\/blog\/wp-json\/wp\/v2\/posts\/12129"}],"collection":[{"href":"https:\/\/beta.iri.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/beta.iri.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/beta.iri.com\/blog\/wp-json\/wp\/v2\/users\/53"}],"replies":[{"embeddable":true,"href":"https:\/\/beta.iri.com\/blog\/wp-json\/wp\/v2\/comments?post=12129"}],"version-history":[{"count":11,"href":"https:\/\/beta.iri.com\/blog\/wp-json\/wp\/v2\/posts\/12129\/revisions"}],"predecessor-version":[{"id":16588,"href":"https:\/\/beta.iri.com\/blog\/wp-json\/wp\/v2\/posts\/12129\/revisions\/16588"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/beta.iri.com\/blog\/wp-json\/wp\/v2\/media\/12131"}],"wp:attachment":[{"href":"https:\/\/beta.iri.com\/blog\/wp-json\/wp\/v2\/media?parent=12129"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/beta.iri.com\/blog\/wp-json\/wp\/v2\/categories?post=12129"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/beta.iri.com\/blog\/wp-json\/wp\/v2\/tags?post=12129"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}