Whenever developing applications that need to store personal data (e.g. credit-cards), a common technique is to use tokenisation.
My understanding of the benefit is that the sensitive information in the database is represented by a 'meaningless' token making it more secure. The token-vault will contain all of the sensitive data and the corresponding tokens.
My question is, how does this actually make the data storage more secure? Instead of storing a credit card in a main database, you are literally just storing it elsewhere (the vault). Couldn't a hacker just access the vault instead of the main database and voilĂ , your data has been compromised?