When choosing how to implement barcodes that interact with sensitive information, you will want to consider your options and what is to be included within your barcodes.
The first method is to simply provide information directly within the barcode (such as client name, account number, etc.). If you are planning to have these barcodes scanned in an area that is offline from your database, this will most likely be the best method for you to use. However, there are some risks associated because anyone can scan the barcode and view the information within it. This may allow them to reproduce a counterfeit version or use the information in a fraudulent way.
The second method is recommended for most users. It involves using an ID within the barcode that, when scanned, will link to a database and retrieve the appropriate information associated with that ID. This ID can be any length or style of your choosing. When using numbers as an ID, however, you will want to consider using a “zerofill” method. This means using “0” as a placeholder to keep your ID length the same as you accumulate higher numbers within your barcodes. If you are concerned with keeping your barcodes the same size, this will generally alleviate the issue.
For most situations, we recommend using a 2D barcode system, such as QR Code, because it allows you to use a wide range of characters. This makes it particularly useful for the first method of implementation I discussed. It will also work the best for the second method as well because it also contains error correction. This is extremely useful when you are providing barcodes to be printed by your clients because you cannot always be sure of the quality of their printer and ink levels. It is also useful if the paper becomes warped or wrinkled (which can often be the case with things like print-at-home movie tickets and labels on shipped or stored items).