Applies to X9Vision? | Applies to X9Validator? | Applies to X9Assist? | | | | Applies to X9.37? | Applies to ACH? | Applies to CPA005? |
No | No | Yes | | | | Yes | Yes | Yes |
Scrub is designed to remove varying levels of proprietary information from the currently loaded file by applying arbitrary and potentially random values to the customer confidential fields within the file. For X9 files, Scrub can also optionally perform replacement actions against the images associated with each item, allowing the image CAR/LAR to match the sanitized data content. Actions for a Scrub session to be save in a user defined scrub configuration file which is then available for future reuse.
The scrub process is very helpful when you want to use the currently loaded file as the basis to create a new output file to be used for testing or other internal purposes. This is a powerful facility, since the intent is to remove all possible customer data to create a new output file that has the same spirit as the currently loaded file, but with all proprietary information removed. Scrubbed files are very useful for testing environments where there is the need to minimize the use of actual customer data within the testing environment. Scrub is also very beneficial when you need to share the content of an existing file with a business partner, but you do NOT want to share customer information such as account numbers or check images.
Scrub has a standard list of available cleansing actions that can be selected based on your specific requirements. The current implementation is very robust however we realize that there is always room for improvement. Please let us know if you have additional scrub actions that you feel are missing that we can add to our standard scrub process.
Scrub will consistently update various records within the currently loaded file. For example, if you are scrubbing user or reserved fields, then those fields will be sanitized (replaced with spaces) across all record types that contain those specific field types.
Scrub Multi-File
Scrub within X9Assist runs on a single file basis as part of the user interface. However, note that scrub is also available from our X9Utilities product, where it can be run in multi-file mode, against a folder or group of folders. The scrub facility in X9Utilities is also multi-threaded for increased performance when running against a large number of files.
Scrub Actions
Scrub actions are used to direct the specific sanitization efforts to be applied:
Scrub images | Scrub amounts | Scrub item sequence numbers | Scrub user fields |
Scrub item fields | Scrub other headers/trailers | Scrub date fields | Scrub reserved fields |
Scrub file headers/trailers | Scrub addendums | Scrub file ID modifiers |
Field Inclusion and Exclusion
Records and fields are typically selected using the “Actions” related options on the left side panel. In some situations, certain fields must be added or removed from our standard scrub logic. This additional include/exclude functionality allows you to customize the scrub process by either adding or removing specific fields. Our design is to provide standard scrub support for all fields that contain personally identifiable information (PII) data. Because of that, this facility is most typically used to to exclude (remove) fields from the scrub that would have otherwise been selected.
The field inclusion and exclusion tabs are used to define exception fields which further tailor the scrub process to meet your specific requirements. These list define fields to be included (added) to the scrub process, or similarly fields to be excluded (removed) from the scrub process. These lists are saved with your scrub configuration and applied to future sessions.
By default, these lists will be disabled. This allows you to define a list which is saved with your scrub configuration, but then enable or disable the list when needed. The field lists are retained with your scrub configuration even when they are disabled. When you use this facilities, you must use the options panel (on the left) to active the particular list. Once active, these lists will be utilized by the scrub operation and then further identify targeted fields for the scrub process.
MICR Line Replacement
There are several options available for MICR line field replacement. When you replace MICR line data, you will typically always take some action against the images (since they contain the MICR data that is being sanitized). The MICR line replacement options are as follows:
Option | Description |
---|---|
Replace both MICR OnUs and Aux OnUs fields | Numeric digits within the MICR OnUs and Aux OnUs fields will be replaced with newly assigned random digits. The format of these fields not be otherwise changed. For example, if the MICR OnUs field contains a current value of “12345678/1234” it might be reassigned as “43861091/2863”. The data length is not changed, only the digits that appear within the fields. |
Replace the account number only | Numeric digits within the MICR account number will be replaced with newly assigned random digits. The number of digits in the account number remains unchanged. Other content with the MICR OnUs field is not changed. The MICR OnUs field must be properly formatted as “optional field 4 / account / process control” for this action to be performed. |
Replace the entire MICR OnUs field | Numeric digits within the MICR OnUs field will be replaced with newly assigned random digits. The number of digits in the various OnUs fields remain unchanged. The MICR OnUs field must be properly formatted as “optional field 4 / account / process control” for this action to be performed. |
Replace all MICR line fields from the use case file | MICR line fields are replaced using randomly selected entries from the provided use case file. The approach allows you to define MICR line data that properly applies to your test environment. |
The use case file for Scrub contains the following information in this specific column order (with no column headings), that will be applied to check detail records. You can use the Use Case Creator (which is available on the tool bar) to create one or more such lists, and then select from those lists when you are running a scrub. You can alternatively create your own use case files using your own tools such as Excel. The use case file contains four (4) columns with data as follows:
- Column 1 – routing
- Column 2 – account number
- Column 3 – process control information
- Column 4 – auxOnUs
Scrub will randomly select accounts from your provided use case file and utilize that information to replace that corresponding data within the x9 check detail records. Each column within the use case file can be populated with a value, which is the replacement value, or can be blank, which implies that the original value should be retained. This approach allows account numbers to be changed while transaction codes (the process control field) is retained.
The use case file ensures that you have MICR lines that match your specific testing requirements (appropriate combinations of routing account, and check serial number). This ensures that the combination of routing and account is assigned, and that appropriate check numbers are used based on the account number (eg, if you need to test such things as controlled disbursements or drafts).
A use case can contain the Routing and Account Number only. In this situation, you can either leave Process Control and Aux OnUs empty. This format of the use case definition implies that you do not want to alter these fields; their current value will not be changed (only the Routing and Account Number fields will be sanitized).
Images
Scrub has the ability to replace check images within the x9 file, which is critical when the MICR information and amounts on checks have been changed.
There are several options available:
- Scrub existing images using an XML definition that describes how input images should be manipulated to meet your specific business requirements: the image scrub process uses the original image to create a scrubbed image that retains portions of the original image. Parameters are then used to manipulate the image data to meet your specific business requirements while obfuscating as much data as possible. The image scrub process is applied to each incoming image (both front and back), allowing the physical image dimensions of those images to be retained. XML options are used to define the image manipulations that are applied, with separate actions defined for the front versus back images. Image scrub operates in one of two modes:
- Use missing image documents: images will be replaced with your defined “missing image” document. Note that this document can be customized as part of your X9Assist installation. The created missing image documents will include a MICR line that is drawn from the current x9 data.
- Draw images while retaining the MICR line from the original images: images will be replaced with your defined “missing image” document. Note that this document can be customized as part of your X9Assist installation.
- Draw images using the new MICR and amount information for each check: new images are drawn which will contain fields such as payee, date, courtesy amount, legal amount, memo, etc. The MICR line is obtained from the original image and will be drawn onto the new image within the clear band area. This allows you to eliminate a large amount of possible customer privacy information from the check since the redrawn image allows that data to be completely eliminated and replaced with a redrawn template image. X9Assist ensures that the newly drawn image meets tiff x9 exchange standards. You can use the image templates tab to select the business check formats (artwork) which will be used when dynamically drawing these images. X9Assist must use the business size checks to ensure that sufficient width exists to copy the MICR line data to the new image.
- Begin with a blank image where all new fields will be drawn (including the MICR line) as a proxy for the current image. This is similar to our standard draw process but differs in to important ways. First is that the physical dimensions of each check image are retained. Second is that you cannot select the check design from a list of templates but must accept the standard template that will be drawn.
- Begin with the current image where specific boxes within that image data will be cleared. For example, this can be used to retain the entire front image of a check while clearing the customer name/address box in the upper left.
Scrub image XML definitions are located in folder / documents / x9_assist / xml / scrubImages /. When image scrub is selected, you must then also indicate which XML definition will be used to control the scrub process. There are a series of standard definitions that are provided by X9Ware which can be modified as needed. The list can also be extended with your own unique image scrub actions. Please see below for a list of the standard image scrub definitions that are distributed with X9Assist and the parameters that can used within these definitions.
Image scrub can retain the existing MICR line from the current check image, but be advised that this can be done only when the amount and MICR line data is not being modified by the current scrub operation. Retaining the MICR line has advantages when your exchange partners may not be consistently populating fields such as auxiliary OnUs in the type 25 records, which would prevent X9Assist from accurately drawing a new MICR line from the x9 data.
When retaining the MICR line, scrub will preserve the entire OCR clear band area at the bottom of each front image. This area is dedicated to the E13B MICR line on all check designs and should contain MICR data only. However, many checks impinge on that and may include lines and other check artwork within the clear band, even though they should not do so per defined standards. Customer signatures and other written notations may also appear within the clear band. Since scrub will retain the entire OCR clear band area, it is possible that some of this erroneous data is carried over into the new image that is drawn.
Scrub will copy the clear band to the new image exactly as it appears within the original image. On the SDK tab within program options, you can specify the size of the MICR line area that will be copied to the newly drawn check image, with the default to copy the bottom one inch. This preserves the MICR line and provides substantial information even if a strip has been applied to the bottom of the check as part of reject repair.
Scrub will inform you (as an error) when your scrub actions are not consistent with the image scrub definition that has been selected. For example, you cannot scrub MICR lines and then select an image scrub definition that retains the MICR line.
Scrub image ensures that the redrawn images meet tiff x9 exchange standards and that the front images created by image scrub will always match the associated x9 data.
Scrub Image Standard Definitions
The following standard scrub image definitions are distributed with X9Assist. Entries within this list can be modified per your requirements. You can also add to this list with new entries to meet your specific needs.
Scrub Image XML Definition | Front Image | Back Image |
---|---|---|
drawProxyRetainMicr.xml | Draw a proxy replacement image while retaining the original MICR line. The size of the retained MICR line defaults to 0.80 inch which can be overridden using program options. Text including CAR and LAR fields will be drawn using a generic handwriting font. | Retain the original back side image. |
drawProxyDrawMicr.xml | Draw a proxy replacement image and draw the associated MICR line from the current x9 data. while retaining the original MICR line. Text including CAR and LAR fields will be drawn using a generic handwriting font. | Insert a drawn proxy as a replacement image. |
drawMissing.xml | Insert a standard missing document as a replacement for the current image. | Insert a standard missing document as a replacement for the current image. |
drawMissingRetainMicr.xml | Insert a standard missing document as a replacement for the current image while retaining the existing MICR line. | Insert a standard missing document as a replacement for the current image. |
drawMissingDrawMicr.xml | Insert a standard missing document as a replacement for the current image while drawing the MICR line from the x9 data. | Insert a standard missing document as a replacement for the current image. |
drawBlankRetainMicr.xml | Insert a blank image that retains the original MICR line. The remainder of the image (other than the MICR line area) will be blank. The size of the retained MICR line strip is assigned a default value to capture standard MICR lines and can be overridden using program options. | Insert a blank back side replacement image. |
retainImageBlockImageAreas.xml | Retain the original image including the MICR line. Clear two areas within the image. First is the the name and address area located in the upper left hand corner of the check image. Second is a rectangle along the top edge of the check image. | Insert a blank back side replacement image. |
Scrub Image XML
The following options can be specified in the scrub image XML definitions.
Xml Parameter | Usage | Values |
---|---|---|
retainSize | Retains the original image size and is applicable when either drawProxy or drawMissing has been selected. | True or false with a default of true. |
retainImage | Retains the current image in its entirety. This parameter can be used in conjunction with one or more blockArea entries to clear possible confidential information within the image. The entire image is carried over if no blockArea definitions are present (which might be applicable to back side images). | True or false with a default of false. A value of false can be used to set the back side image to blank. |
drawProxy | Draws a standard proxy image (including CAR and LAR fields) while retaining the MICR line from the current image. | True or false with a default of false. This parameter only applies to a front side image. |
drawMissing | Draws a standard missing document. If this is a front image, then a MICR line can be optionally drawn or retained based on specified parameters. | True or false with a default of false. |
drawBlank | Draws a blank image which will always retain the size of the original image. If this is a front image, then a MICR line can be optionally drawn or retained based on specified parameters. | True or false with a default of false. |
retainMicr | Retains the original MICR line within an original image (which is the clear band area at the bottom of the image) but blocks the remainder of the image. This parameter is applicable only to retainImage and is needed since the position of the clear band varies based on check height. | True or false with a default of false. This parameter only applies to a front side image. |
drawMicr | Draws a MICR line at the bottom of a proxy or missing image. The MICR line will be drawn in the clear band area using current x9 data. | True or false with a default of false. This parameter only applies to a front side image. |
blockArea | Used when retainImage has been specified and is then used to define one or more boxes that are to be cleared with the check image. A blockArea parameter defines each box to be cleared. There are four parameters as follows: x coordinate of the box to be blocked specified in inches from the upper left hand corner; y coordinate of the box to be blocked specified in inches from the upper left hand corner; width of the area to be blocked in inches (defaults to the document width); height of the area to be blocked in inches (defaults to the document height). | Example as follows: 0 0 3.0 1.0 |
Amounts
Amount scrubbing is an optional feature designed to enhance the confidentiality of financial data within both debits and credits. This process modifies specific monetary values in a file to protect sensitive information while maintaining the overall structure and integrity of the data. By adjusting these amounts, users can further safeguard and obfuscate transaction information.
When activated, scrubbing alters the amounts on debits and calculates the amounts on credits based on the offsetting debits. This process can be imperfect and works best when a single credit offsets multiple debits.
Debit amounts are assigned using two primary methods of assignment: incremental and sequential.
- Incremental Assignment: This method involves adjusting each item amount based on its current value. By setting the amount-value to zero, scrub adds a specified increment to the existing amounts. This approach the relative scale of the original values. For example, a large dollar amount will remain large, while a smaller amount remain small.
- Sequential Assignment: In contrast, sequential assignment starts from a predefined base value and applies the increment uniformly across all items. When the amount-value is set to a non-zero value, the scrubbing process generates a series of amounts that progressively increase. This method leads to a set of values that may not resemble the original amounts but follow a consistent pattern throughout the file. This approach is useful in scenarios where a broader range of values is acceptable.
Item and Image Scrub Exclusions
Based on your specific requirements, there may be either accounts or images that need to be excluded from the scrub process. When accounts are excluded, the routing and account number information for those specific items will not be obfuscated. When images are excluded, images for those respective items not be redrawn.
Exclusion is driven using csv files that are identified (by name) in the scrub xml file, using fields:
- itemExclusionFileName
- imageExclusionFileName
These csv files are formatted as follows: rt,acct,tc,tc,tc,tc…
Each line can contain a routing number, account number, and then a list of one or more transaction codes. The routing number is mandatory, while the account number and transaction codes are optional. All of these fields can be used to identify specific values or may be more generic using several wildcard characters:
- ‘?’ matches any other character. For example ‘????7777’ matches any 8 digit number that ends with 7777. Similary, ‘4444444???’ matches any 10 digit number that begins with begins with 4444444.
- ‘*’ matches zero or more other characters. For example, *7777” matches any number that ends with 7777, regardless of length. It would match 7777, 887777, 1237777, etc.
5???????? | all 9-digit routings that beginning with ‘5’ |
05777*,*,555 | all routings that begin 05777, with any account number, and with transaction code 555 |
097770592,446789,* | all items with routing 097770592, account number 446789, and with any transaction code |
547700???,*,551,560,575 | all 9-digit routings with any account number, and with transaction codes 551,560, or 575 |
Routing Replacement
Scrub will optionally replace bank routing numbers with new values at your direction. New routing numbers for individual items (debits and credts) are taken from the selected use case file. The routing numbers for other record types can be provided on the replacement tab. These values are saved to xml as part of your overall scrub configuration for future reuse:
- Origination ABAs
- Destination ABAs
- Return location ABAs
- Endorsement ABAs
Scrub Results
On completion, Scrub writes the sanitized data to an intermediate file and will provide a summary of the scrub actions that have been taken. This summary will include each selected action and the number of times that the action was applied to the current file. Scrub will then launch a new validation process against the scrubbed file, which will provide an updated status and allow you to browse the file and view the fields and images that have been substituted.
The scrubbed file remains in memory after the scrub actions have been applied. You must save the results to an external file if you determine that the results are beneficial.