{"id":14170,"date":"2020-12-22T18:40:23","date_gmt":"2020-12-22T23:40:23","guid":{"rendered":"http:\/\/www.iri.com\/blog\/?p=14170"},"modified":"2021-01-21T16:31:04","modified_gmt":"2021-01-21T21:31:04","slug":"masking-pdfs-and-images","status":"publish","type":"post","link":"https:\/\/beta.iri.com\/blog\/data-protection\/masking-pdfs-and-images\/","title":{"rendered":"Masking PII in PDF &#038; Image Files with DarkShield"},"content":{"rendered":"<p><i>This article is part of a<\/i> <a href=\"https:\/\/www.iri.com\/blog\/data-protection\/darkshield-introduction\/\"><i>series<\/i><\/a><i> of IRI blog articles explaining how to use the <\/i><a href=\"https:\/\/www.iri.com\/products\/darkshield\"><i>IRI DarkShield<\/i><\/a><i> data masking product for semi- and unstructured data sources. This one focuses on a common use case, the finding and masking sensitive information in .PDF and image files. An important prelude is the previous <\/i><a href=\"https:\/\/www.iri.com\/blog\/data-protection\/searching-and-masking-with-darkshield\/\"><i>article<\/i><\/a><i> on masking documents and files generally using the \u201cNew Dark Data Search\/Masking Job \u2026\u201d wizard in the IRI Workbench GUI menu for DarkShield. The DarkShield v4 RPC API for files, <a href=\"https:\/\/www.iri.com\/blog\/data-protection\/darkshield-files-rpc-api\/\">described here<\/a>, also supports these and other data sources within a callable web services framework.<\/i><i><br \/>\n<\/i><\/p>\n<p>As mentioned in previous articles, DarkShield can search for, and mask, personally identifiable information (PII) and other sensitive data in many different file types and documents. Among these are PDF and image files, which are the focus of this article.<\/p>\n<p>As with other document types, DarkShield supports masking in PDFs and images using many off-the-shelf, or custom-integrated, rules. These functions include, but are not limited to, hashing, encryption, pseudonymization, and black-box redaction.<\/p>\n<p>Image files masks are limited to black-box redactions, however. These boxes are placed using either manually defined regions (a\/k\/a bounding boxes), or Optical Character Recognition (OCR) searches that locate matching text content.<\/p>\n<p>This article provides standalone examples of masking sensitive data in PDF files, image files, and within images embedded in PDFs through the DarkShield wizard in IRI Workbench. Note that this wizard also supports the searching and masking of all those file formats at once, along with others, in one or more local or mounted repositories.<\/p>\n<p><b>Original PDF document:<\/b><\/p>\n<h5><a href=\"\/blog\/wp-content\/uploads\/2020\/12\/pdf_original_pdf.png\"><img loading=\"lazy\" decoding=\"async\" class=\"size-full wp-image-14174 aligncenter\" src=\"\/blog\/wp-content\/uploads\/2020\/12\/pdf_original_pdf.png\" alt=\"\" width=\"707\" height=\"313\" srcset=\"https:\/\/beta.iri.com\/blog\/wp-content\/uploads\/2020\/12\/pdf_original_pdf.png 707w, https:\/\/beta.iri.com\/blog\/wp-content\/uploads\/2020\/12\/pdf_original_pdf-300x133.png 300w\" sizes=\"(max-width: 707px) 100vw, 707px\" \/><\/a><\/h5>\n<h5><b>PDF-Related Masking Quirks<\/b><\/h5>\n<p>There are a few points to consider when trying to mask (edit) data in a PDF. The file type is specially crafted to contain the fonts, character sets, shapes, images, and spacing needed so that it can be viewed on any device regardless of operating system.<\/p>\n<p>In a few ways, PDFs act more like images than traditional documents or text files. With that in mind, there are limitations on what can be changed, and how it is changed. It is up to the user to specify the necessary defaults for handling these edge cases when DarkShield encounters them.<\/p>\n<p>One of these issues is \u201ctext overflow\u201d. Because a PDF does not automatically adjust the content of a page to accommodate new text, sometimes the masked (replacement) text is too big to fit in the original area where the unmasked data was. By default, DarkShield removes the original text and draws a black box over that area; however, this behavior can be changed by the user.<\/p>\n<p>Another issue is handling characters outside the character set a given PDF file is using, or is available to DarkShield. If neither DarkShield or the pdf know how to draw out a certain unicode character as a PDF glyph, an encoding error will occur.<\/p>\n<p>Again, the DarkShield default is to remove the original text and replace it with a black box, although the user can opt to leave the original text as is in order to mask it differently in a subsequent masking operation. For example, the user can replace a character with one character for which DarkShield knows the glyph.<\/p>\n<p>How DarkShield handles both cases is explained in the PDF Configuration section below.<\/p>\n<h5><b>Using the Wizard<\/b><\/h5>\n<p>To search and mask both PDF and image files, among other unstructured files, launch the \u201c<i>New Dark Data Search\/Mask Wizard Job \u2026<\/i>\u201d wizard from DarkShield menu (charcoal shield icon) in the top toolbar of the IRI Workbench IDE, built on Eclipse.<\/p>\n<p>Follow the same steps documented in the <a href=\"https:\/\/www.iri.com\/blog\/data-protection\/searching-and-masking-with-darkshield\/\">previous blog article<\/a>. The only steps that differ are PDF-related.<\/p>\n<p><a href=\"\/blog\/wp-content\/uploads\/2020\/12\/pdf_dropmenu.png\"><img loading=\"lazy\" decoding=\"async\" class=\"size-full wp-image-14175 aligncenter\" src=\"\/blog\/wp-content\/uploads\/2020\/12\/pdf_dropmenu.png\" alt=\"\" width=\"322\" height=\"146\" srcset=\"https:\/\/beta.iri.com\/blog\/wp-content\/uploads\/2020\/12\/pdf_dropmenu.png 322w, https:\/\/beta.iri.com\/blog\/wp-content\/uploads\/2020\/12\/pdf_dropmenu-300x136.png 300w\" sizes=\"(max-width: 322px) 100vw, 322px\" \/><\/a><\/p>\n<p>On the first page of the wizard, specify the IRI Workbench project folder and name for the search configuration artifacts. This article won\u2019t go into great detail regarding the job setup, please refer to the <a href=\"https:\/\/www.iri.com\/blog\/data-protection\/searching-and-masking-with-darkshield\/\">original article<\/a> if you are unfamiliar with this wizard.<\/p>\n<p><a href=\"\/blog\/wp-content\/uploads\/2020\/12\/new_pdf_search.png\"><img loading=\"lazy\" decoding=\"async\" class=\"size-full wp-image-14176 aligncenter\" src=\"\/blog\/wp-content\/uploads\/2020\/12\/new_pdf_search.png\" alt=\"\" width=\"532\" height=\"443\" srcset=\"https:\/\/beta.iri.com\/blog\/wp-content\/uploads\/2020\/12\/new_pdf_search.png 532w, https:\/\/beta.iri.com\/blog\/wp-content\/uploads\/2020\/12\/new_pdf_search-300x250.png 300w\" sizes=\"(max-width: 532px) 100vw, 532px\" \/><\/a><\/p>\n<p>Next, specify the root folder(s) that contain the files to search and mask:<\/p>\n<p><a href=\"\/blog\/wp-content\/uploads\/2020\/12\/pdf_data_source.png\"><img loading=\"lazy\" decoding=\"async\" class=\"size-full wp-image-14177 aligncenter\" src=\"\/blog\/wp-content\/uploads\/2020\/12\/pdf_data_source.png\" alt=\"\" width=\"532\" height=\"443\" srcset=\"https:\/\/beta.iri.com\/blog\/wp-content\/uploads\/2020\/12\/pdf_data_source.png 532w, https:\/\/beta.iri.com\/blog\/wp-content\/uploads\/2020\/12\/pdf_data_source-300x250.png 300w\" sizes=\"(max-width: 532px) 100vw, 532px\" \/><\/a><\/p>\n<p>Select the file types you want involved. In this example, PDF will be the only one selected but other file types can be selected, and their details will not affect the PDF masking process.<\/p>\n<p><a href=\"\/blog\/wp-content\/uploads\/2020\/12\/pdf_checked.png\"><img loading=\"lazy\" decoding=\"async\" class=\"size-full wp-image-14178 aligncenter\" src=\"\/blog\/wp-content\/uploads\/2020\/12\/pdf_checked.png\" alt=\"\" width=\"511\" height=\"443\" srcset=\"https:\/\/beta.iri.com\/blog\/wp-content\/uploads\/2020\/12\/pdf_checked.png 511w, https:\/\/beta.iri.com\/blog\/wp-content\/uploads\/2020\/12\/pdf_checked-300x260.png 300w\" sizes=\"(max-width: 511px) 100vw, 511px\" \/><\/a><\/p>\n<p>Select the target directory to place the masked PDFs. Selecting the same location of the searched PDFs will replace the originals permanently.<\/p>\n<p><a href=\"\/blog\/wp-content\/uploads\/2020\/12\/pdf_data_target.png\"><img loading=\"lazy\" decoding=\"async\" class=\"size-full wp-image-14179 aligncenter\" src=\"\/blog\/wp-content\/uploads\/2020\/12\/pdf_data_target.png\" alt=\"\" width=\"532\" height=\"443\" srcset=\"https:\/\/beta.iri.com\/blog\/wp-content\/uploads\/2020\/12\/pdf_data_target.png 532w, https:\/\/beta.iri.com\/blog\/wp-content\/uploads\/2020\/12\/pdf_data_target-300x250.png 300w\" sizes=\"(max-width: 532px) 100vw, 532px\" \/><\/a><\/p>\n<p>Select the metadata that will be shown with the search results:<\/p>\n<p><a href=\"\/blog\/wp-content\/uploads\/2020\/11\/darkdata-metadata-full.png\"><img loading=\"lazy\" decoding=\"async\" class=\"size-full wp-image-14137 aligncenter\" src=\"\/blog\/wp-content\/uploads\/2020\/11\/darkdata-metadata-full.png\" alt=\"\" width=\"532\" height=\"443\" srcset=\"https:\/\/beta.iri.com\/blog\/wp-content\/uploads\/2020\/11\/darkdata-metadata-full.png 532w, https:\/\/beta.iri.com\/blog\/wp-content\/uploads\/2020\/11\/darkdata-metadata-full-300x250.png 300w\" sizes=\"(max-width: 532px) 100vw, 532px\" \/><\/a><\/p>\n<p>The next page covers configuration and selection of search matchers. Each search matcher requires a data class and a relevant masking function. See <a href=\"https:\/\/www.iri.com\/blog\/vldb-operations\/data-classification-in-iri-workbench\/\">this article<\/a> on data classification in IRI Workbench if you are not familiar with the concept or how classes are used in global search and mask operations.<\/p>\n<p>In this document example, I will search for names using default methods in the Data Class preferences. They will be masked with Format Preserving Encryption.<\/p>\n<p><a href=\"\/blog\/wp-content\/uploads\/2020\/12\/pdf_search_matchers.png\"><img loading=\"lazy\" decoding=\"async\" class=\"size-full wp-image-14180 aligncenter\" src=\"\/blog\/wp-content\/uploads\/2020\/12\/pdf_search_matchers.png\" alt=\"\" width=\"532\" height=\"443\" srcset=\"https:\/\/beta.iri.com\/blog\/wp-content\/uploads\/2020\/12\/pdf_search_matchers.png 532w, https:\/\/beta.iri.com\/blog\/wp-content\/uploads\/2020\/12\/pdf_search_matchers-300x250.png 300w\" sizes=\"(max-width: 532px) 100vw, 532px\" \/><\/a><\/p>\n<h5><b>PDF Configuration<\/b><\/h5>\n<p>The last page of the wizard is the PDF Configuration Page. Here you specify how to handle text overflow and encryption errors. Each option is explained in the next section.<\/p>\n<p>As mentioned, DarkShield provides a few options when the masking applied is larger than the original text for the PDF. Available options include: 1) truncating the ciphertext to the same length as the original; 2) black box redaction; 3) leaving the ciphertext as is (potentially causing the text to draw over existing text); and, 4) leaving the original text as is.<\/p>\n<p><a href=\"\/blog\/wp-content\/uploads\/2020\/12\/pdf_confguration.png\"><img loading=\"lazy\" decoding=\"async\" class=\"size-full wp-image-14183 aligncenter\" src=\"\/blog\/wp-content\/uploads\/2020\/12\/pdf_confguration.png\" alt=\"\" width=\"532\" height=\"443\" srcset=\"https:\/\/beta.iri.com\/blog\/wp-content\/uploads\/2020\/12\/pdf_confguration.png 532w, https:\/\/beta.iri.com\/blog\/wp-content\/uploads\/2020\/12\/pdf_confguration-300x250.png 300w\" sizes=\"(max-width: 532px) 100vw, 532px\" \/><\/a><\/p>\n<p><i>On encoding error <\/i>issues will have an option between black box redaction and leaving the original text as is.<\/p>\n<p>Clicking Finish will close the wizard and create a<i> .search<\/i> file in the directory specified from the first page of the wizard. Right clicking on the .<i>search<\/i> file presents the option to execute an IRI DarkShield search job only, or a search and mask job.<\/p>\n<p>Either option will create a <i>.darkdata<\/i> file containing the search results, but the latter will perform masking as well. The <i>.darkdata<\/i> file contains a tree view of the files that were searched along with their search results (for more details refer back to the <a href=\"https:\/\/www.iri.com\/blog\/data-protection\/searching-and-masking-with-darkshield\/\">original article<\/a>):<\/p>\n<p><a href=\"\/blog\/wp-content\/uploads\/2020\/12\/darkdata_example.png\"><img loading=\"lazy\" decoding=\"async\" class=\"size-full wp-image-14184 aligncenter\" src=\"\/blog\/wp-content\/uploads\/2020\/12\/darkdata_example.png\" alt=\"\" width=\"374\" height=\"248\" srcset=\"https:\/\/beta.iri.com\/blog\/wp-content\/uploads\/2020\/12\/darkdata_example.png 374w, https:\/\/beta.iri.com\/blog\/wp-content\/uploads\/2020\/12\/darkdata_example-300x199.png 300w\" sizes=\"(max-width: 374px) 100vw, 374px\" \/><\/a><\/p>\n<p>Again, right clicking on the <i>.darkdata<\/i> file brings up the IRI option to execute the masking job. Once complete, the masked PDF files will be in the target directory.<\/p>\n<p><b>Results of Format Preserving encryption:<\/b><\/p>\n<p><a href=\"\/blog\/wp-content\/uploads\/2020\/12\/pdf_format_preserving_encryption.png\"><img loading=\"lazy\" decoding=\"async\" class=\" wp-image-14190 aligncenter\" src=\"\/blog\/wp-content\/uploads\/2020\/12\/pdf_format_preserving_encryption.png\" alt=\"\" width=\"701\" height=\"273\" srcset=\"https:\/\/beta.iri.com\/blog\/wp-content\/uploads\/2020\/12\/pdf_format_preserving_encryption.png 783w, https:\/\/beta.iri.com\/blog\/wp-content\/uploads\/2020\/12\/pdf_format_preserving_encryption-300x117.png 300w, https:\/\/beta.iri.com\/blog\/wp-content\/uploads\/2020\/12\/pdf_format_preserving_encryption-768x299.png 768w\" sizes=\"(max-width: 701px) 100vw, 701px\" \/><\/a><\/p>\n<h5><b>Text Overflow and Errors<\/b><\/h5>\n<p>To better show how PDF configuration works, here is the previous document but with Hashing used as the masking function. Each example shows one of the options available from the PDF configuration page.<\/p>\n<p><b>Black Box Redaction (bounding box that covers original text):<\/b><\/p>\n<p><a href=\"\/blog\/wp-content\/uploads\/2020\/12\/pdf_blackbox.png\"><img loading=\"lazy\" decoding=\"async\" class=\"size-full wp-image-14189 aligncenter\" src=\"\/blog\/wp-content\/uploads\/2020\/12\/pdf_blackbox.png\" alt=\"\" width=\"787\" height=\"307\" srcset=\"https:\/\/beta.iri.com\/blog\/wp-content\/uploads\/2020\/12\/pdf_blackbox.png 787w, https:\/\/beta.iri.com\/blog\/wp-content\/uploads\/2020\/12\/pdf_blackbox-300x117.png 300w, https:\/\/beta.iri.com\/blog\/wp-content\/uploads\/2020\/12\/pdf_blackbox-768x300.png 768w\" sizes=\"(max-width: 787px) 100vw, 787px\" \/><\/a><\/p>\n<p><b>Truncated (shorted masked text to fit the original text length):<\/b><\/p>\n<p><a href=\"http:\/\/www.iri.com\/blog\/wp-content\/uploads\/2020\/12\/pdf_hash_fixed_length.png\"><img loading=\"lazy\" decoding=\"async\" class=\" wp-image-14187 aligncenter\" src=\"\/blog\/wp-content\/uploads\/2020\/12\/pdf_hash_fixed_length-1024x400.png\" alt=\"\" width=\"699\" height=\"273\" srcset=\"https:\/\/beta.iri.com\/blog\/wp-content\/uploads\/2020\/12\/pdf_hash_fixed_length-1024x400.png 1024w, https:\/\/beta.iri.com\/blog\/wp-content\/uploads\/2020\/12\/pdf_hash_fixed_length-300x117.png 300w, https:\/\/beta.iri.com\/blog\/wp-content\/uploads\/2020\/12\/pdf_hash_fixed_length-768x300.png 768w, https:\/\/beta.iri.com\/blog\/wp-content\/uploads\/2020\/12\/pdf_hash_fixed_length.png 1342w\" sizes=\"(max-width: 699px) 100vw, 699px\" \/><\/a><\/p>\n<p><b>Replace as is (full length masking text, may cover any text near the original text):<\/b><\/p>\n<p><a href=\"http:\/\/www.iri.com\/blog\/wp-content\/uploads\/2020\/12\/pdf_hash_full_length.png\"><img loading=\"lazy\" decoding=\"async\" class=\" wp-image-14188 aligncenter\" src=\"\/blog\/wp-content\/uploads\/2020\/12\/pdf_hash_full_length-1024x395.png\" alt=\"\" width=\"700\" height=\"270\" srcset=\"https:\/\/beta.iri.com\/blog\/wp-content\/uploads\/2020\/12\/pdf_hash_full_length-1024x395.png 1024w, https:\/\/beta.iri.com\/blog\/wp-content\/uploads\/2020\/12\/pdf_hash_full_length-300x116.png 300w, https:\/\/beta.iri.com\/blog\/wp-content\/uploads\/2020\/12\/pdf_hash_full_length-768x297.png 768w, https:\/\/beta.iri.com\/blog\/wp-content\/uploads\/2020\/12\/pdf_hash_full_length.png 1520w\" sizes=\"(max-width: 700px) 100vw, 700px\" \/><\/a><\/p>\n<h5><b>Image Masking<\/b><\/h5>\n<p>Images can be annotated using the same Data Class matchers that are used for regular text files. DarkShield extracts the text within the image using <i>Optical Character Recognition (OCR) <\/i>using Tesseract OCR models<i>.\u00a0<\/i><\/p>\n<p>In some cases, however, the text extraction approach can be slow and\/or unreliable. DarkShield provides a simpler alternative that can be used in addition to OCR, namely an <i>Image Bounding Box <\/i>matcher that marks a portion of an image file using a bounding box relative to the size of the image.<\/p>\n<p>Bounding box matching is useful for images that are always in the same format but with different information in predetermined locations. Some examples of this may include drivers licenses, identification documents or cards, Social security cards, or any type of standardized form.<\/p>\n<p>To start, open the Preferences in Workbench and locate the IRI section. Then click on Data Classes and Groups. This presents a list of default data classes and groups included with Workbench, along with those created after installation.<\/p>\n<p><a href=\"\/blog\/wp-content\/uploads\/2020\/12\/pdf_new_dataclass.png\"><img loading=\"lazy\" decoding=\"async\" class=\"size-full wp-image-14191 aligncenter\" src=\"\/blog\/wp-content\/uploads\/2020\/12\/pdf_new_dataclass.png\" alt=\"\" width=\"624\" height=\"405\" srcset=\"https:\/\/beta.iri.com\/blog\/wp-content\/uploads\/2020\/12\/pdf_new_dataclass.png 624w, https:\/\/beta.iri.com\/blog\/wp-content\/uploads\/2020\/12\/pdf_new_dataclass-300x195.png 300w\" sizes=\"(max-width: 624px) 100vw, 624px\" \/><\/a><\/p>\n<p>To create the image bounding box, navigate to the Data Classification preference page and click <i>Add <\/i>to create a new Data Class. This will bring up the New Data Class or Group wizard. Name the Data Class and click <i>add<\/i> to bring up the Data Class Matcher page.<\/p>\n<p>Next to Type, click the dropdown arrow and select Image Bounding Box:<\/p>\n<p><a href=\"\/blog\/wp-content\/uploads\/2020\/12\/img_bounding_box.png\"><img loading=\"lazy\" decoding=\"async\" class=\"size-full wp-image-14192 aligncenter\" src=\"\/blog\/wp-content\/uploads\/2020\/12\/img_bounding_box.png\" alt=\"\" width=\"632\" height=\"443\" srcset=\"https:\/\/beta.iri.com\/blog\/wp-content\/uploads\/2020\/12\/img_bounding_box.png 632w, https:\/\/beta.iri.com\/blog\/wp-content\/uploads\/2020\/12\/img_bounding_box-300x210.png 300w\" sizes=\"(max-width: 632px) 100vw, 632px\" \/><\/a><\/p>\n<p>Select <i>Browse<\/i> to select a reference image on which to locate the bounding box. In this example, my standard image forms are Social Security card photos like this:<\/p>\n<p><a href=\"http:\/\/www.iri.com\/blog\/wp-content\/uploads\/2020\/12\/Social-Security-Card-min.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\" wp-image-14194 aligncenter\" src=\"\/blog\/wp-content\/uploads\/2020\/12\/Social-Security-Card-min-1024x607.jpg\" alt=\"\" width=\"500\" height=\"296\" srcset=\"https:\/\/beta.iri.com\/blog\/wp-content\/uploads\/2020\/12\/Social-Security-Card-min-1024x607.jpg 1024w, https:\/\/beta.iri.com\/blog\/wp-content\/uploads\/2020\/12\/Social-Security-Card-min-300x178.jpg 300w, https:\/\/beta.iri.com\/blog\/wp-content\/uploads\/2020\/12\/Social-Security-Card-min-768x455.jpg 768w, https:\/\/beta.iri.com\/blog\/wp-content\/uploads\/2020\/12\/Social-Security-Card-min.jpg 1110w\" sizes=\"(max-width: 500px) 100vw, 500px\" \/><\/a><\/p>\n<p>Selecting the file will bring up the image in the wizard. You can then left click and drag over the area where sensitive PII is located, in this case the Social Security Number itself:<\/p>\n<p><a href=\"\/blog\/wp-content\/uploads\/2020\/12\/img_bounding_box_top.png\"><img loading=\"lazy\" decoding=\"async\" class=\" wp-image-14195 aligncenter\" src=\"\/blog\/wp-content\/uploads\/2020\/12\/img_bounding_box_top.png\" alt=\"\" width=\"509\" height=\"441\" srcset=\"https:\/\/beta.iri.com\/blog\/wp-content\/uploads\/2020\/12\/img_bounding_box_top.png 511w, https:\/\/beta.iri.com\/blog\/wp-content\/uploads\/2020\/12\/img_bounding_box_top-300x260.png 300w\" sizes=\"(max-width: 509px) 100vw, 509px\" \/><\/a><\/p>\n<p>Only one box can be created at a time (in this case the SSN), so another one (for the name) will have to be created afterwards by adding another Image Bounding Box matcher.<\/p>\n<p><a href=\"\/blog\/wp-content\/uploads\/2020\/12\/boundingbox_1.png\"><img loading=\"lazy\" decoding=\"async\" class=\" wp-image-14197 aligncenter\" src=\"\/blog\/wp-content\/uploads\/2020\/12\/boundingbox_1.png\" alt=\"\" width=\"515\" height=\"388\" srcset=\"https:\/\/beta.iri.com\/blog\/wp-content\/uploads\/2020\/12\/boundingbox_1.png 589w, https:\/\/beta.iri.com\/blog\/wp-content\/uploads\/2020\/12\/boundingbox_1-300x226.png 300w\" sizes=\"(max-width: 515px) 100vw, 515px\" \/><\/a><\/p>\n<p>Click ok to finish this bounding box, and then Add to start the next one.<\/p>\n<p><a href=\"\/blog\/wp-content\/uploads\/2020\/12\/img_bounding_box_bottom.png\"><img loading=\"lazy\" decoding=\"async\" class=\"size-full wp-image-14196 aligncenter\" src=\"\/blog\/wp-content\/uploads\/2020\/12\/img_bounding_box_bottom.png\" alt=\"\" width=\"511\" height=\"443\" srcset=\"https:\/\/beta.iri.com\/blog\/wp-content\/uploads\/2020\/12\/img_bounding_box_bottom.png 511w, https:\/\/beta.iri.com\/blog\/wp-content\/uploads\/2020\/12\/img_bounding_box_bottom-300x260.png 300w\" sizes=\"(max-width: 511px) 100vw, 511px\" \/><\/a><\/p>\n<p>When using these Bounding Box Matchers in search and masking operations, DarkShield will draw a black rectangle over the same regions that you have selected in any image that it encounters. The bounding boxes will be scaled relative to the size of the encountered image, so you do not have to worry about making sure the searched images are the same size as the reference image.<\/p>\n<p>Now a bounding box has been applied to both the SSN and the name on the card. Click OK on this page and on the New Data Class or Group wizard. To finish, Click apply or Apply and Close on the Preferences page.<\/p>\n<p>To start the masking, create a new search and masking job like before, but include the Data Class that was just created plus the image file type(s) and data source(s).<\/p>\n<p><b>Before DarkShield<\/b><b><br \/>\n<\/b><\/p>\n<p><a href=\"http:\/\/www.iri.com\/blog\/wp-content\/uploads\/2020\/12\/Social-Security-Card-min.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\" wp-image-14194 aligncenter\" src=\"\/blog\/wp-content\/uploads\/2020\/12\/Social-Security-Card-min-1024x607.jpg\" alt=\"\" width=\"499\" height=\"296\" srcset=\"https:\/\/beta.iri.com\/blog\/wp-content\/uploads\/2020\/12\/Social-Security-Card-min-1024x607.jpg 1024w, https:\/\/beta.iri.com\/blog\/wp-content\/uploads\/2020\/12\/Social-Security-Card-min-300x178.jpg 300w, https:\/\/beta.iri.com\/blog\/wp-content\/uploads\/2020\/12\/Social-Security-Card-min-768x455.jpg 768w, https:\/\/beta.iri.com\/blog\/wp-content\/uploads\/2020\/12\/Social-Security-Card-min.jpg 1110w\" sizes=\"(max-width: 499px) 100vw, 499px\" \/><\/a><\/p>\n<p><b>After DarkShield<\/b><\/p>\n<p><a href=\"http:\/\/www.iri.com\/blog\/wp-content\/uploads\/2020\/12\/Social-Security-Card-masked.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\" wp-image-14198 aligncenter\" src=\"\/blog\/wp-content\/uploads\/2020\/12\/Social-Security-Card-masked-1024x607.jpg\" alt=\"\" width=\"499\" height=\"296\" srcset=\"https:\/\/beta.iri.com\/blog\/wp-content\/uploads\/2020\/12\/Social-Security-Card-masked-1024x607.jpg 1024w, https:\/\/beta.iri.com\/blog\/wp-content\/uploads\/2020\/12\/Social-Security-Card-masked-300x178.jpg 300w, https:\/\/beta.iri.com\/blog\/wp-content\/uploads\/2020\/12\/Social-Security-Card-masked-768x455.jpg 768w, https:\/\/beta.iri.com\/blog\/wp-content\/uploads\/2020\/12\/Social-Security-Card-masked.jpg 1110w\" sizes=\"(max-width: 499px) 100vw, 499px\" \/><\/a><\/p>\n<h5><b>Embedded Images<\/b><\/h5>\n<p>Not only can DarkShield search and mask image files, but it can also search and mask embedded images within PDF and Word documents. Here is an example of one:<\/p>\n<p><b>PDF with Embedded Image<\/b><\/p>\n<p><a href=\"\/blog\/wp-content\/uploads\/2020\/12\/pdf_embedded_image.png\"><img loading=\"lazy\" decoding=\"async\" class=\"size-full wp-image-14200 aligncenter\" src=\"\/blog\/wp-content\/uploads\/2020\/12\/pdf_embedded_image.png\" alt=\"\" width=\"452\" height=\"396\" srcset=\"https:\/\/beta.iri.com\/blog\/wp-content\/uploads\/2020\/12\/pdf_embedded_image.png 452w, https:\/\/beta.iri.com\/blog\/wp-content\/uploads\/2020\/12\/pdf_embedded_image-300x263.png 300w\" sizes=\"(max-width: 452px) 100vw, 452px\" \/><\/a><\/p>\n<p>To enable this option, click the checkbox for the \u201cSearch Embedded Images\u201d option from the PDF Configuration Page:<\/p>\n<p><a href=\"\/blog\/wp-content\/uploads\/2020\/12\/pdf_confguration_box_checked.png\"><img loading=\"lazy\" decoding=\"async\" class=\"size-full wp-image-14199 aligncenter\" src=\"\/blog\/wp-content\/uploads\/2020\/12\/pdf_confguration_box_checked.png\" alt=\"\" width=\"532\" height=\"443\" srcset=\"https:\/\/beta.iri.com\/blog\/wp-content\/uploads\/2020\/12\/pdf_confguration_box_checked.png 532w, https:\/\/beta.iri.com\/blog\/wp-content\/uploads\/2020\/12\/pdf_confguration_box_checked-300x250.png 300w\" sizes=\"(max-width: 532px) 100vw, 532px\" \/><\/a><\/p>\n<p>And that\u2019s it, no further configuration is needed. If DarkShield finds something in an image, it will <i>automatically <\/i>create a black box around the text it finds just like it will for regular image files.<\/p>\n<p>Here, DarkShield searched the PDFs and its images for names and SSNs, and redacted both:<\/p>\n<p><b>Embedded Image Masked<\/b><\/p>\n<p><a href=\"\/blog\/wp-content\/uploads\/2020\/12\/pdf_embedded_image_masked.png\"><img loading=\"lazy\" decoding=\"async\" class=\"size-full wp-image-14201 aligncenter\" src=\"\/blog\/wp-content\/uploads\/2020\/12\/pdf_embedded_image_masked.png\" alt=\"\" width=\"445\" height=\"356\" srcset=\"https:\/\/beta.iri.com\/blog\/wp-content\/uploads\/2020\/12\/pdf_embedded_image_masked.png 445w, https:\/\/beta.iri.com\/blog\/wp-content\/uploads\/2020\/12\/pdf_embedded_image_masked-300x240.png 300w\" sizes=\"(max-width: 445px) 100vw, 445px\" \/><\/a><\/p>\n<p>Contact your <a href=\"https:\/\/www.iri.com\/partners\/resellers\">IRI representative<\/a> if you have any questions or need assistance using DarkShield.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>This article is part of a series of IRI blog articles explaining how to use the IRI DarkShield data masking product for semi- and unstructured data sources. This one focuses on a common use case, the finding and masking sensitive information in .PDF and image files. An important prelude is the previous article on masking<\/p>\n<div><a class=\"btn-filled btn\" href=\"https:\/\/beta.iri.com\/blog\/data-protection\/masking-pdfs-and-images\/\" title=\"Masking PII in PDF &#038; Image Files with DarkShield\">Read More<\/a><\/div>\n","protected":false},"author":133,"featured_media":14173,"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,91,29],"tags":[1386,1493,1388,850,615,1492],"class_list":["post-14170","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-data-protection","category-iri-workbench","category-test-data","tag-darkshield","tag-image-masking","tag-iri-darkshield","tag-iri-workbench","tag-pdf","tag-pdf-masking"],"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v23.3 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Masking PII in PDF &amp; Image Files with DarkShield - IRI<\/title>\n<meta name=\"description\" content=\"This article provides standalone examples of masking sensitive data in PDF files, image files, and within images embedded in PDFs through the DarkShield\" \/>\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\/masking-pdfs-and-images\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Masking PII in PDF &amp; Image Files with DarkShield - IRI\" \/>\n<meta property=\"og:description\" content=\"This article provides standalone examples of masking sensitive data in PDF files, image files, and within images embedded in PDFs through the DarkShield\" \/>\n<meta property=\"og:url\" content=\"https:\/\/beta.iri.com\/blog\/data-protection\/masking-pdfs-and-images\/\" \/>\n<meta property=\"og:site_name\" content=\"IRI\" \/>\n<meta property=\"article:published_time\" content=\"2020-12-22T23:40:23+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2021-01-21T21:31:04+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/beta.iri.com\/blog\/wp-content\/uploads\/2020\/12\/masked-and-unmasked-social-security-card.png\" \/>\n\t<meta property=\"og:image:width\" content=\"1110\" \/>\n\t<meta property=\"og:image:height\" content=\"289\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"author\" content=\"Edward Alvey\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Edward Alvey\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"9 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\/masking-pdfs-and-images\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/beta.iri.com\/blog\/data-protection\/masking-pdfs-and-images\/\"},\"author\":{\"name\":\"Edward Alvey\",\"@id\":\"https:\/\/beta.iri.com\/blog\/#\/schema\/person\/14207244600c66de0b4659b2817d710e\"},\"headline\":\"Masking PII in PDF &#038; Image Files with DarkShield\",\"datePublished\":\"2020-12-22T23:40:23+00:00\",\"dateModified\":\"2021-01-21T21:31:04+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/beta.iri.com\/blog\/data-protection\/masking-pdfs-and-images\/\"},\"wordCount\":1720,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/beta.iri.com\/blog\/#organization\"},\"image\":{\"@id\":\"https:\/\/beta.iri.com\/blog\/data-protection\/masking-pdfs-and-images\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/beta.iri.com\/blog\/wp-content\/uploads\/2020\/12\/masked-and-unmasked-social-security-card.png\",\"keywords\":[\"DarkShield\",\"image masking\",\"IRI DarkShield\",\"IRI Workbench\",\"pdf\",\"PDF masking\"],\"articleSection\":[\"Data Masking\/Protection\",\"IRI Workbench\",\"Test Data\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/beta.iri.com\/blog\/data-protection\/masking-pdfs-and-images\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/beta.iri.com\/blog\/data-protection\/masking-pdfs-and-images\/\",\"url\":\"https:\/\/beta.iri.com\/blog\/data-protection\/masking-pdfs-and-images\/\",\"name\":\"Masking PII in PDF & Image Files with DarkShield - IRI\",\"isPartOf\":{\"@id\":\"https:\/\/beta.iri.com\/blog\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/beta.iri.com\/blog\/data-protection\/masking-pdfs-and-images\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/beta.iri.com\/blog\/data-protection\/masking-pdfs-and-images\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/beta.iri.com\/blog\/wp-content\/uploads\/2020\/12\/masked-and-unmasked-social-security-card.png\",\"datePublished\":\"2020-12-22T23:40:23+00:00\",\"dateModified\":\"2021-01-21T21:31:04+00:00\",\"description\":\"This article provides standalone examples of masking sensitive data in PDF files, image files, and within images embedded in PDFs through the DarkShield\",\"breadcrumb\":{\"@id\":\"https:\/\/beta.iri.com\/blog\/data-protection\/masking-pdfs-and-images\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/beta.iri.com\/blog\/data-protection\/masking-pdfs-and-images\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/beta.iri.com\/blog\/data-protection\/masking-pdfs-and-images\/#primaryimage\",\"url\":\"https:\/\/beta.iri.com\/blog\/wp-content\/uploads\/2020\/12\/masked-and-unmasked-social-security-card.png\",\"contentUrl\":\"https:\/\/beta.iri.com\/blog\/wp-content\/uploads\/2020\/12\/masked-and-unmasked-social-security-card.png\",\"width\":1110,\"height\":289},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/beta.iri.com\/blog\/data-protection\/masking-pdfs-and-images\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/beta.iri.com\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Masking PII in PDF &#038; Image Files with DarkShield\"}]},{\"@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\/14207244600c66de0b4659b2817d710e\",\"name\":\"Edward Alvey\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/beta.iri.com\/blog\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/df02c99fbdf70a1874f21052e74df891?s=96&d=blank&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/df02c99fbdf70a1874f21052e74df891?s=96&d=blank&r=g\",\"caption\":\"Edward Alvey\"},\"url\":\"https:\/\/beta.iri.com\/blog\/author\/edwarda\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Masking PII in PDF & Image Files with DarkShield - IRI","description":"This article provides standalone examples of masking sensitive data in PDF files, image files, and within images embedded in PDFs through the DarkShield","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\/masking-pdfs-and-images\/","og_locale":"en_US","og_type":"article","og_title":"Masking PII in PDF & Image Files with DarkShield - IRI","og_description":"This article provides standalone examples of masking sensitive data in PDF files, image files, and within images embedded in PDFs through the DarkShield","og_url":"https:\/\/beta.iri.com\/blog\/data-protection\/masking-pdfs-and-images\/","og_site_name":"IRI","article_published_time":"2020-12-22T23:40:23+00:00","article_modified_time":"2021-01-21T21:31:04+00:00","og_image":[{"width":1110,"height":289,"url":"https:\/\/beta.iri.com\/blog\/wp-content\/uploads\/2020\/12\/masked-and-unmasked-social-security-card.png","type":"image\/png"}],"author":"Edward Alvey","twitter_card":"summary_large_image","twitter_misc":{"Written by":"Edward Alvey","Est. reading time":"9 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/beta.iri.com\/blog\/data-protection\/masking-pdfs-and-images\/#article","isPartOf":{"@id":"https:\/\/beta.iri.com\/blog\/data-protection\/masking-pdfs-and-images\/"},"author":{"name":"Edward Alvey","@id":"https:\/\/beta.iri.com\/blog\/#\/schema\/person\/14207244600c66de0b4659b2817d710e"},"headline":"Masking PII in PDF &#038; Image Files with DarkShield","datePublished":"2020-12-22T23:40:23+00:00","dateModified":"2021-01-21T21:31:04+00:00","mainEntityOfPage":{"@id":"https:\/\/beta.iri.com\/blog\/data-protection\/masking-pdfs-and-images\/"},"wordCount":1720,"commentCount":0,"publisher":{"@id":"https:\/\/beta.iri.com\/blog\/#organization"},"image":{"@id":"https:\/\/beta.iri.com\/blog\/data-protection\/masking-pdfs-and-images\/#primaryimage"},"thumbnailUrl":"https:\/\/beta.iri.com\/blog\/wp-content\/uploads\/2020\/12\/masked-and-unmasked-social-security-card.png","keywords":["DarkShield","image masking","IRI DarkShield","IRI Workbench","pdf","PDF masking"],"articleSection":["Data Masking\/Protection","IRI Workbench","Test Data"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/beta.iri.com\/blog\/data-protection\/masking-pdfs-and-images\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/beta.iri.com\/blog\/data-protection\/masking-pdfs-and-images\/","url":"https:\/\/beta.iri.com\/blog\/data-protection\/masking-pdfs-and-images\/","name":"Masking PII in PDF & Image Files with DarkShield - IRI","isPartOf":{"@id":"https:\/\/beta.iri.com\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/beta.iri.com\/blog\/data-protection\/masking-pdfs-and-images\/#primaryimage"},"image":{"@id":"https:\/\/beta.iri.com\/blog\/data-protection\/masking-pdfs-and-images\/#primaryimage"},"thumbnailUrl":"https:\/\/beta.iri.com\/blog\/wp-content\/uploads\/2020\/12\/masked-and-unmasked-social-security-card.png","datePublished":"2020-12-22T23:40:23+00:00","dateModified":"2021-01-21T21:31:04+00:00","description":"This article provides standalone examples of masking sensitive data in PDF files, image files, and within images embedded in PDFs through the DarkShield","breadcrumb":{"@id":"https:\/\/beta.iri.com\/blog\/data-protection\/masking-pdfs-and-images\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/beta.iri.com\/blog\/data-protection\/masking-pdfs-and-images\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/beta.iri.com\/blog\/data-protection\/masking-pdfs-and-images\/#primaryimage","url":"https:\/\/beta.iri.com\/blog\/wp-content\/uploads\/2020\/12\/masked-and-unmasked-social-security-card.png","contentUrl":"https:\/\/beta.iri.com\/blog\/wp-content\/uploads\/2020\/12\/masked-and-unmasked-social-security-card.png","width":1110,"height":289},{"@type":"BreadcrumbList","@id":"https:\/\/beta.iri.com\/blog\/data-protection\/masking-pdfs-and-images\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/beta.iri.com\/blog\/"},{"@type":"ListItem","position":2,"name":"Masking PII in PDF &#038; Image Files with DarkShield"}]},{"@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\/14207244600c66de0b4659b2817d710e","name":"Edward Alvey","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/beta.iri.com\/blog\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/df02c99fbdf70a1874f21052e74df891?s=96&d=blank&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/df02c99fbdf70a1874f21052e74df891?s=96&d=blank&r=g","caption":"Edward Alvey"},"url":"https:\/\/beta.iri.com\/blog\/author\/edwarda\/"}]}},"jetpack_featured_media_url":"https:\/\/beta.iri.com\/blog\/wp-content\/uploads\/2020\/12\/masked-and-unmasked-social-security-card.png","_links":{"self":[{"href":"https:\/\/beta.iri.com\/blog\/wp-json\/wp\/v2\/posts\/14170"}],"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\/133"}],"replies":[{"embeddable":true,"href":"https:\/\/beta.iri.com\/blog\/wp-json\/wp\/v2\/comments?post=14170"}],"version-history":[{"count":24,"href":"https:\/\/beta.iri.com\/blog\/wp-json\/wp\/v2\/posts\/14170\/revisions"}],"predecessor-version":[{"id":17463,"href":"https:\/\/beta.iri.com\/blog\/wp-json\/wp\/v2\/posts\/14170\/revisions\/17463"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/beta.iri.com\/blog\/wp-json\/wp\/v2\/media\/14173"}],"wp:attachment":[{"href":"https:\/\/beta.iri.com\/blog\/wp-json\/wp\/v2\/media?parent=14170"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/beta.iri.com\/blog\/wp-json\/wp\/v2\/categories?post=14170"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/beta.iri.com\/blog\/wp-json\/wp\/v2\/tags?post=14170"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}