{"id":6776,"date":"2015-03-20T11:35:17","date_gmt":"2015-03-20T15:35:17","guid":{"rendered":"http:\/\/www.iri.com\/blog\/?p=6776"},"modified":"2026-02-23T14:37:57","modified_gmt":"2026-02-23T19:37:57","slug":"how-to-mask-cassandra-datastax-with-iri-fieldshield","status":"publish","type":"post","link":"https:\/\/www.iri.com\/blog\/vldb-operations\/how-to-mask-cassandra-datastax-with-iri-fieldshield\/","title":{"rendered":"Cassandra Data Masking"},"content":{"rendered":"<p class=\"western\" lang=\"zxx\"><em><strong>Editors Note \/ UPDATE: <\/strong>The article below describes an older method of data masking in Cassandra through IRI FieldShield. As of 2023 however, the <\/em><em>DarkShield V5\u00a0 features a purpose-built <a href=\"https:\/\/www.iri.com\/blog\/data-transformation2\/iri-darkshield-nosql-rpc-api\/\">NoSQL DB API<\/a> for searching and masking operations in Cassandra, as well as fit-for-purpose graphical<a href=\"https:\/\/www.iri.com\/blog\/data-transformation2\/finding-and-masking-nosql-dbs-with-the-darkshield-gui\/\">\u00a0wizard<\/a> in the IRI Workbench <a href=\"https:\/\/www.iri.com\/products\/workbench\/darkshield-gui\">GUI for DarkShield<\/a> that leverages the API for PII protection in Cassandra. <a href=\"https:\/\/www.youtube.com\/watch?v=-p6PzR0r-Cc\">This video<\/a> also demonstrates its use.<\/em><\/p>\n<p class=\"western\" lang=\"zxx\">Cassandra security best practices indicates the anonymization of personally identifiable information (PII). In this article, we will show how to export data from a Cassandra database to a CSV file, and use the <a href=\"http:\/\/www.iri.com\/products\/fieldshield\" target=\"_blank\" rel=\"noopener\">IRI FieldShield<\/a> product (also available in the IRI Voracity platform) to randomize, mask, and encrypt the data in\u00a0that CSV file. Then we will import that data back into Cassandra, updated and protected.<\/p>\n<p class=\"western\" lang=\"zxx\">In\u00a0our example we\u00a0have\u00a0a table with student information in DataStax. The columns are: id_num (the primary key), honors, semester_hours, socsecnum (social security number), and user_id.<\/p>\n<p class=\"western\" lang=\"zxx\">To\u00a0de-identify each\u00a0student, we will randomize their semester_hours, mask their socsecnum, and encrypt the user_id value so that each student&#8217;s PII is protected.<\/p>\n<p class=\"western\" lang=\"zxx\"><span style=\"text-decoration: underline;\"><b>Unprotected data in Cassandra<\/b><\/span><\/p>\n<p class=\"western\" lang=\"zxx\"><a href=\"http:\/\/www.iri.com\/blog\/wp-content\/uploads\/2015\/02\/InCassBefore1.png\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-6898 size-full\" src=\"http:\/\/www.iri.com\/blog\/wp-content\/uploads\/2015\/02\/InCassBefore1-e1426860570382.png\" alt=\"Cassandra_FieldShield_InCassBefore\" width=\"600\" height=\"303\" \/><\/a><\/p>\n<p class=\"western\" lang=\"zxx\"><em>For our command line examples, we are using the <a title=\"DataStax\" href=\"http:\/\/www.datastax.com\/\">DataStax<\/a> Cassandra CQL shell.<\/em><\/p>\n<p class=\"western\" lang=\"zxx\"><span style=\"text-decoration: underline;\"><b>Exporting a Cassandra table to a CSV file<\/b><\/span><\/p>\n<p class=\"western\" lang=\"zxx\">To export a Cassandra table to a CSV file, run\u00a0the following command from the Cassandra CQL shell:<\/p>\n<pre class=\"western\">COPY &lt;Exporting Table&gt; TO '&lt;File Path to the CSV you exporting to&gt;' WITH HEADER=TRUE;<\/pre>\n<p class=\"western\" lang=\"zxx\"><a href=\"http:\/\/www.iri.com\/blog\/wp-content\/uploads\/2015\/03\/CassandraExport1.png\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-6915 size-full\" src=\"http:\/\/www.iri.com\/blog\/wp-content\/uploads\/2015\/03\/CassandraExport1-e1426860581412.png\" alt=\"Cassandra_FieldShield_CassandraExport\" width=\"600\" height=\"300\" \/><\/a><\/p>\n<p class=\"western\" lang=\"zxx\"><strong>Opening and Defining the CSV Source<\/strong><\/p>\n<ol>\n<li class=\"western\">From the top toolbar of the IRI Workbench <a href=\"http:\/\/www.iri.com\/products\/workbench\/fieldshield-gui\" target=\"_blank\" rel=\"noopener\">GUI for FieldShield<\/a>\u00a0(built on Eclipse), find the FieldShield icon and\u00a0select &#8216;New Protect Job&#8217; to run the wizard. Name your job file, &#8220;CassShieldJob.fcl&#8221; and\u00a0click &#8216;Next&#8217;.<\/li>\n<li class=\"western\">Click &#8216;Add Data Source&#8217;, and then &#8216;Browse&#8217; to the CSV file you created with your export. Then click &#8216;OK&#8217;.<\/li>\n<li class=\"western\">Click &#8216;Discover Metadata&#8217; and name the (re-usable data definition file)\u00a0&#8220;StudentsMeta.ddf&#8221; and\u00a0click &#8216;Next&#8217;. Click &#8216;Yes&#8217; to auto-detect and &#8220;Get field names from header row&#8217; before\u00a0clicking &#8216;OK&#8217;, then &#8216;Finish&#8217;.<\/li>\n<li class=\"western\">You should now see your fields in the Data Sources list. Click &#8216;Next&#8217;.<\/li>\n<\/ol>\n<p class=\"western\" lang=\"zxx\"><a href=\"http:\/\/www.iri.com\/blog\/wp-content\/uploads\/2015\/03\/DetectLayout.png\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-6900 size-full\" src=\"http:\/\/www.iri.com\/blog\/wp-content\/uploads\/2015\/03\/DetectLayout-e1426860594453.png\" alt=\"Cassandra_FieldShield_DetectLayout\" width=\"600\" height=\"321\" \/><\/a><\/p>\n<p class=\"western\" lang=\"zxx\"><strong>Applying the Protections<\/strong><\/p>\n<ol>\n<li class=\"western\">Click &#8216;Add Data Target&#8217; and browse to create a new\u00a0CSV file target to hold the protected version of the data (or\u00a0to overwrite the source, use the same path\/file.\u00a0Then click &#8216;Target Field Layout&#8217;, to review the layout and apply the protections to the output fields. There\u00a0are two list boxes;\u00a0the top shows the source\u00a0fields, and the bottom shows\u00a0the target fields to which you will apply the field &#8220;shields.&#8221;<\/li>\n<li class=\"western\"><span style=\"text-decoration: underline;\">Randomize\u00a0semester_hours<\/span>: \u00a0Select the\u00a0semester_hours field name in the target pane and click &#8216;Field Protection.&#8221; Select Random Value Generation, and for type, select Digit. Set the random minimum and maximum sizes to 2 and click OK.<\/li>\n<li class=\"western\"><span style=\"text-decoration: underline;\">Mask socsecnum<\/span>: Select the socsecnum field and click &#8216;Field Protection&#8217; again. Select Masking, and choose the default USA SSN option to\u00a0expose only\u00a0the last four digits of the SSNs. Click &#8216;OK&#8217;.<\/li>\n<li class=\"western\"><span style=\"text-decoration: underline;\">Encrypt user_id<\/span>: Select the\u00a0user_id and \u00a0click &#8216;Field Protection&#8217; again. Select Encryption and Decryption\u00a0and choose\u00a0enc_fp_aes256_alphanum for <a href=\"http:\/\/www.iri.com\/solutions\/data-masking\/encryption\/format-preserving-encryption\" target=\"_blank\" rel=\"noopener\">format preserving encryption<\/a>.\u00a0Enter a\u00a0passphrase (the decryption key) and in the Exclude box type &#8220;User_&#8221; to prevent the User_ part of our username from being encrypted, Then click &#8216;Finish&#8217;.<\/li>\n<li class=\"western\">The\u00a0fields to be protected should appear as follows:<a href=\"http:\/\/www.iri.com\/blog\/wp-content\/uploads\/2015\/03\/EncryptDataWindow.png\"><br \/>\n<\/a><\/li>\n<\/ol>\n<p class=\"western\" lang=\"zxx\"><a href=\"http:\/\/www.iri.com\/blog\/wp-content\/uploads\/2015\/03\/EncryptDataWindow1.png\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-6905 size-full\" src=\"http:\/\/www.iri.com\/blog\/wp-content\/uploads\/2015\/03\/EncryptDataWindow1-e1426860609176.png\" alt=\"Cassandra_FieldShield_EncryptDataWindow\" width=\"600\" height=\"536\" \/><\/a><\/p>\n<p class=\"western\" lang=\"zxx\">Click &#8216;OK&#8217;, and then &#8216;Finish&#8217; to\u00a0see the actual (executable job)\u00a0script created for you:<\/p>\n<p class=\"western\" lang=\"zxx\"><a href=\"http:\/\/www.iri.com\/blog\/wp-content\/uploads\/2015\/03\/FinalScript2.png\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-6906 size-full\" src=\"http:\/\/www.iri.com\/blog\/wp-content\/uploads\/2015\/03\/FinalScript2-e1426860622260.png\" alt=\"Cassandra_FieldShield_FinalScript\" width=\"600\" height=\"490\" \/><\/a><\/p>\n<p class=\"western\" lang=\"zxx\">Run the job in the IRI Workbench or on the command line,<\/p>\n<pre class=\"western\" lang=\"zxx\">fieldshield \/spec=CassShieldJob.fcl<\/pre>\n<p class=\"western\" lang=\"zxx\">The CSV file you created\u00a0will\u00a0contain the new masked and encrypted data.<\/p>\n<p class=\"western\" lang=\"zxx\"><span style=\"text-decoration: underline;\"><b>Importing the protected data\u00a0into Cassandra<\/b><\/span><\/p>\n<p class=\"western\" lang=\"zxx\">To import the changed data back into Cassandra, use the following command in the Cassandra CQL shell:<\/p>\n<pre class=\"western\">COPY &lt;Table you are importing data to&gt; (field1fromCSV, field2fromCSV, ...) FROM '&lt;Path to CSV&gt;';<\/pre>\n<p class=\"western\" lang=\"zxx\"><a href=\"http:\/\/www.iri.com\/blog\/wp-content\/uploads\/2015\/03\/CassandraImport.png\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-6916 size-full\" src=\"http:\/\/www.iri.com\/blog\/wp-content\/uploads\/2015\/03\/CassandraImport-e1426860638992.png\" alt=\"Cassandra_FieldShield_CassandraImport\" width=\"550\" height=\"278\" \/><\/a><\/p>\n<p class=\"western\" lang=\"zxx\"><span style=\"text-decoration: underline;\"><b>Protected data in Cassandra<\/b><\/span><\/p>\n<p class=\"western\" lang=\"zxx\"><a href=\"http:\/\/www.iri.com\/blog\/wp-content\/uploads\/2015\/03\/InCassAfter1.png\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-6907 size-full\" src=\"http:\/\/www.iri.com\/blog\/wp-content\/uploads\/2015\/03\/InCassAfter1-e1426860655731.png\" alt=\"Cassandra_FieldShield_InCassAfter\" width=\"550\" height=\"280\" \/><\/a><\/p>\n<p class=\"western\" lang=\"zxx\">For details on FieldShield capabilities, see <a href=\"http:\/\/www.iri.com\/products\/fieldshield\/technical-details\" target=\"_blank\" rel=\"noopener\">http:\/\/www.iri.com\/products\/fieldshield\/technical-details<\/a>.<\/p>\n<p class=\"western\" lang=\"zxx\">\n","protected":false},"excerpt":{"rendered":"<p>Editors Note \/ UPDATE: The article below describes an older method of data masking in Cassandra through IRI FieldShield. As of 2023 however, the DarkShield V5\u00a0 features a purpose-built NoSQL DB API for searching and masking operations in Cassandra, as well as fit-for-purpose graphical\u00a0wizard in the IRI Workbench GUI for DarkShield that leverages the API<\/p>\n<div><a class=\"btn-filled btn\" href=\"https:\/\/www.iri.com\/blog\/vldb-operations\/how-to-mask-cassandra-datastax-with-iri-fieldshield\/\" title=\"Cassandra Data Masking\">Read More<\/a><\/div>\n","protected":false},"author":61,"featured_media":6760,"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":[108,8,29,3,2255],"tags":[1429,2092,1788,1428,510,511,515,516,1954,148,149,2091,514,518,513],"class_list":["post-6776","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-big-data-2","category-data-protection","category-test-data","category-vldb-operations","category-archived-articles","tag-cassandra-data-masking","tag-cassandra-data-masking-tools","tag-cassandra-data-security","tag-cassandra-database-masking","tag-cassandra-datastax","tag-cql-shell","tag-encrypt","tag-export","tag-masking-data-in-cassandra","tag-personally-identifiable-information","tag-pii","tag-pii-protection-in-cassandra","tag-protected-data","tag-randomize","tag-unprotected-data"],"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v23.4 (Yoast SEO v23.4) - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Cassandra Data Masking - IRI<\/title>\n<meta name=\"description\" content=\"To find and mask PII in Cassandra, you can use either IRI FieldShield (for structured collections) or DarkShield for everything. Learn how!\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.iri.com\/blog\/vldb-operations\/how-to-mask-cassandra-datastax-with-iri-fieldshield\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Cassandra Data Masking\" \/>\n<meta property=\"og:description\" content=\"To find and mask PII in Cassandra, you can use either IRI FieldShield (for structured collections) or DarkShield for everything. Learn how!\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.iri.com\/blog\/vldb-operations\/how-to-mask-cassandra-datastax-with-iri-fieldshield\/\" \/>\n<meta property=\"og:site_name\" content=\"IRI\" \/>\n<meta property=\"article:published_time\" content=\"2015-03-20T15:35:17+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2026-02-23T19:37:57+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.iri.com\/blog\/wp-content\/uploads\/2015\/02\/InCassBefore.png\" \/>\n\t<meta property=\"og:image:width\" content=\"678\" \/>\n\t<meta property=\"og:image:height\" content=\"344\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"author\" content=\"Nathan Dymora\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Nathan Dymora\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"5 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/www.iri.com\/blog\/vldb-operations\/how-to-mask-cassandra-datastax-with-iri-fieldshield\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/www.iri.com\/blog\/vldb-operations\/how-to-mask-cassandra-datastax-with-iri-fieldshield\/\"},\"author\":{\"name\":\"Nathan Dymora\",\"@id\":\"https:\/\/www.iri.com\/blog\/#\/schema\/person\/6c3bde00b144e9786b3d024c1e45defa\"},\"headline\":\"Cassandra Data Masking\",\"datePublished\":\"2015-03-20T15:35:17+00:00\",\"dateModified\":\"2026-02-23T19:37:57+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/www.iri.com\/blog\/vldb-operations\/how-to-mask-cassandra-datastax-with-iri-fieldshield\/\"},\"wordCount\":627,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/www.iri.com\/blog\/#organization\"},\"image\":{\"@id\":\"https:\/\/www.iri.com\/blog\/vldb-operations\/how-to-mask-cassandra-datastax-with-iri-fieldshield\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.iri.com\/blog\/wp-content\/uploads\/2015\/02\/InCassBefore.png\",\"keywords\":[\"cassandra data masking\",\"Cassandra data masking tools\",\"cassandra data security\",\"cassandra database masking\",\"Cassandra DataStax\",\"CQL shell\",\"encrypt\",\"export\",\"masking data in Cassandra\",\"personally identifiable information\",\"PII\",\"PII protection in Cassandra\",\"protected data\",\"randomize\",\"unprotected data\"],\"articleSection\":[\"Big Data\",\"Data Masking\/Protection\",\"Test Data\",\"VLDB\",\"Archived Articles\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/www.iri.com\/blog\/vldb-operations\/how-to-mask-cassandra-datastax-with-iri-fieldshield\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.iri.com\/blog\/vldb-operations\/how-to-mask-cassandra-datastax-with-iri-fieldshield\/\",\"url\":\"https:\/\/www.iri.com\/blog\/vldb-operations\/how-to-mask-cassandra-datastax-with-iri-fieldshield\/\",\"name\":\"Cassandra Data Masking - IRI\",\"isPartOf\":{\"@id\":\"https:\/\/www.iri.com\/blog\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/www.iri.com\/blog\/vldb-operations\/how-to-mask-cassandra-datastax-with-iri-fieldshield\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/www.iri.com\/blog\/vldb-operations\/how-to-mask-cassandra-datastax-with-iri-fieldshield\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.iri.com\/blog\/wp-content\/uploads\/2015\/02\/InCassBefore.png\",\"datePublished\":\"2015-03-20T15:35:17+00:00\",\"dateModified\":\"2026-02-23T19:37:57+00:00\",\"description\":\"To find and mask PII in Cassandra, you can use either IRI FieldShield (for structured collections) or DarkShield for everything. Learn how!\",\"breadcrumb\":{\"@id\":\"https:\/\/www.iri.com\/blog\/vldb-operations\/how-to-mask-cassandra-datastax-with-iri-fieldshield\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.iri.com\/blog\/vldb-operations\/how-to-mask-cassandra-datastax-with-iri-fieldshield\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.iri.com\/blog\/vldb-operations\/how-to-mask-cassandra-datastax-with-iri-fieldshield\/#primaryimage\",\"url\":\"https:\/\/www.iri.com\/blog\/wp-content\/uploads\/2015\/02\/InCassBefore.png\",\"contentUrl\":\"https:\/\/www.iri.com\/blog\/wp-content\/uploads\/2015\/02\/InCassBefore.png\",\"width\":678,\"height\":344},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.iri.com\/blog\/vldb-operations\/how-to-mask-cassandra-datastax-with-iri-fieldshield\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/www.iri.com\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Cassandra Data Masking\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/www.iri.com\/blog\/#website\",\"url\":\"https:\/\/www.iri.com\/blog\/\",\"name\":\"IRI\",\"description\":\"Total Data Management Blog\",\"publisher\":{\"@id\":\"https:\/\/www.iri.com\/blog\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/www.iri.com\/blog\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/www.iri.com\/blog\/#organization\",\"name\":\"IRI\",\"url\":\"https:\/\/www.iri.com\/blog\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.iri.com\/blog\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/www.iri.com\/blog\/wp-content\/uploads\/2019\/02\/iri-logo-total-data-management-small-1.png\",\"contentUrl\":\"https:\/\/www.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:\/\/www.iri.com\/blog\/#\/schema\/logo\/image\/\"}},{\"@type\":\"Person\",\"@id\":\"https:\/\/www.iri.com\/blog\/#\/schema\/person\/6c3bde00b144e9786b3d024c1e45defa\",\"name\":\"Nathan Dymora\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.iri.com\/blog\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/fe3589b371c7912ed817bd9e5e443745?s=96&d=blank&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/fe3589b371c7912ed817bd9e5e443745?s=96&d=blank&r=g\",\"caption\":\"Nathan Dymora\"},\"url\":\"https:\/\/www.iri.com\/blog\/author\/nathand\/\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"Cassandra Data Masking - IRI","description":"To find and mask PII in Cassandra, you can use either IRI FieldShield (for structured collections) or DarkShield for everything. Learn how!","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:\/\/www.iri.com\/blog\/vldb-operations\/how-to-mask-cassandra-datastax-with-iri-fieldshield\/","og_locale":"en_US","og_type":"article","og_title":"Cassandra Data Masking","og_description":"To find and mask PII in Cassandra, you can use either IRI FieldShield (for structured collections) or DarkShield for everything. Learn how!","og_url":"https:\/\/www.iri.com\/blog\/vldb-operations\/how-to-mask-cassandra-datastax-with-iri-fieldshield\/","og_site_name":"IRI","article_published_time":"2015-03-20T15:35:17+00:00","article_modified_time":"2026-02-23T19:37:57+00:00","og_image":[{"width":678,"height":344,"url":"https:\/\/www.iri.com\/blog\/wp-content\/uploads\/2015\/02\/InCassBefore.png","type":"image\/png"}],"author":"Nathan Dymora","twitter_card":"summary_large_image","twitter_misc":{"Written by":"Nathan Dymora","Est. reading time":"5 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.iri.com\/blog\/vldb-operations\/how-to-mask-cassandra-datastax-with-iri-fieldshield\/#article","isPartOf":{"@id":"https:\/\/www.iri.com\/blog\/vldb-operations\/how-to-mask-cassandra-datastax-with-iri-fieldshield\/"},"author":{"name":"Nathan Dymora","@id":"https:\/\/www.iri.com\/blog\/#\/schema\/person\/6c3bde00b144e9786b3d024c1e45defa"},"headline":"Cassandra Data Masking","datePublished":"2015-03-20T15:35:17+00:00","dateModified":"2026-02-23T19:37:57+00:00","mainEntityOfPage":{"@id":"https:\/\/www.iri.com\/blog\/vldb-operations\/how-to-mask-cassandra-datastax-with-iri-fieldshield\/"},"wordCount":627,"commentCount":0,"publisher":{"@id":"https:\/\/www.iri.com\/blog\/#organization"},"image":{"@id":"https:\/\/www.iri.com\/blog\/vldb-operations\/how-to-mask-cassandra-datastax-with-iri-fieldshield\/#primaryimage"},"thumbnailUrl":"https:\/\/www.iri.com\/blog\/wp-content\/uploads\/2015\/02\/InCassBefore.png","keywords":["cassandra data masking","Cassandra data masking tools","cassandra data security","cassandra database masking","Cassandra DataStax","CQL shell","encrypt","export","masking data in Cassandra","personally identifiable information","PII","PII protection in Cassandra","protected data","randomize","unprotected data"],"articleSection":["Big Data","Data Masking\/Protection","Test Data","VLDB","Archived Articles"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/www.iri.com\/blog\/vldb-operations\/how-to-mask-cassandra-datastax-with-iri-fieldshield\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/www.iri.com\/blog\/vldb-operations\/how-to-mask-cassandra-datastax-with-iri-fieldshield\/","url":"https:\/\/www.iri.com\/blog\/vldb-operations\/how-to-mask-cassandra-datastax-with-iri-fieldshield\/","name":"Cassandra Data Masking - IRI","isPartOf":{"@id":"https:\/\/www.iri.com\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.iri.com\/blog\/vldb-operations\/how-to-mask-cassandra-datastax-with-iri-fieldshield\/#primaryimage"},"image":{"@id":"https:\/\/www.iri.com\/blog\/vldb-operations\/how-to-mask-cassandra-datastax-with-iri-fieldshield\/#primaryimage"},"thumbnailUrl":"https:\/\/www.iri.com\/blog\/wp-content\/uploads\/2015\/02\/InCassBefore.png","datePublished":"2015-03-20T15:35:17+00:00","dateModified":"2026-02-23T19:37:57+00:00","description":"To find and mask PII in Cassandra, you can use either IRI FieldShield (for structured collections) or DarkShield for everything. Learn how!","breadcrumb":{"@id":"https:\/\/www.iri.com\/blog\/vldb-operations\/how-to-mask-cassandra-datastax-with-iri-fieldshield\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.iri.com\/blog\/vldb-operations\/how-to-mask-cassandra-datastax-with-iri-fieldshield\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.iri.com\/blog\/vldb-operations\/how-to-mask-cassandra-datastax-with-iri-fieldshield\/#primaryimage","url":"https:\/\/www.iri.com\/blog\/wp-content\/uploads\/2015\/02\/InCassBefore.png","contentUrl":"https:\/\/www.iri.com\/blog\/wp-content\/uploads\/2015\/02\/InCassBefore.png","width":678,"height":344},{"@type":"BreadcrumbList","@id":"https:\/\/www.iri.com\/blog\/vldb-operations\/how-to-mask-cassandra-datastax-with-iri-fieldshield\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.iri.com\/blog\/"},{"@type":"ListItem","position":2,"name":"Cassandra Data Masking"}]},{"@type":"WebSite","@id":"https:\/\/www.iri.com\/blog\/#website","url":"https:\/\/www.iri.com\/blog\/","name":"IRI","description":"Total Data Management Blog","publisher":{"@id":"https:\/\/www.iri.com\/blog\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.iri.com\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/www.iri.com\/blog\/#organization","name":"IRI","url":"https:\/\/www.iri.com\/blog\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.iri.com\/blog\/#\/schema\/logo\/image\/","url":"https:\/\/www.iri.com\/blog\/wp-content\/uploads\/2019\/02\/iri-logo-total-data-management-small-1.png","contentUrl":"https:\/\/www.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:\/\/www.iri.com\/blog\/#\/schema\/logo\/image\/"}},{"@type":"Person","@id":"https:\/\/www.iri.com\/blog\/#\/schema\/person\/6c3bde00b144e9786b3d024c1e45defa","name":"Nathan Dymora","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.iri.com\/blog\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/fe3589b371c7912ed817bd9e5e443745?s=96&d=blank&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/fe3589b371c7912ed817bd9e5e443745?s=96&d=blank&r=g","caption":"Nathan Dymora"},"url":"https:\/\/www.iri.com\/blog\/author\/nathand\/"}]}},"jetpack_featured_media_url":"https:\/\/www.iri.com\/blog\/wp-content\/uploads\/2015\/02\/InCassBefore.png","_links":{"self":[{"href":"https:\/\/www.iri.com\/blog\/wp-json\/wp\/v2\/posts\/6776"}],"collection":[{"href":"https:\/\/www.iri.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.iri.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.iri.com\/blog\/wp-json\/wp\/v2\/users\/61"}],"replies":[{"embeddable":true,"href":"https:\/\/www.iri.com\/blog\/wp-json\/wp\/v2\/comments?post=6776"}],"version-history":[{"count":29,"href":"https:\/\/www.iri.com\/blog\/wp-json\/wp\/v2\/posts\/6776\/revisions"}],"predecessor-version":[{"id":18351,"href":"https:\/\/www.iri.com\/blog\/wp-json\/wp\/v2\/posts\/6776\/revisions\/18351"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.iri.com\/blog\/wp-json\/wp\/v2\/media\/6760"}],"wp:attachment":[{"href":"https:\/\/www.iri.com\/blog\/wp-json\/wp\/v2\/media?parent=6776"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.iri.com\/blog\/wp-json\/wp\/v2\/categories?post=6776"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.iri.com\/blog\/wp-json\/wp\/v2\/tags?post=6776"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}