http://www.perlmonks.org?node_id=915487


in reply to Re: RFC: SecureString - Obfuscated / masked strings exept when you need them
in thread RFC: SecureString - Obfuscated / masked strings exept when you need them

Well, yes, this not about long-term storage, this is about protecting the data between receiving the data from the client (say, a query parameter) and actually using the data. See, for example, the Business::OnlinePayment example. It is certainly reasonable to log all transactions which are sent to the payment processing site. Of course, to do that one needs to obfuscate the credit card number. In tight code, this should be reasonably easy to do, but of course, 1) not all code is tight and 2) even in tight code it could be convenient to not have to worry about sensitive data leakage. I could certainly be convinced that something like this module is too much (or more precisely makes promises that it can not reliably deliver), but I don't see how you can "not store such data in the first place" - one has to store sensitive information in variables between receipt of the value and use of the value. This module is for that period.

Update: In particular, this helps saitsfy the PCI DSS requirement (3.2, 3.4) that no sensitive data leak into logs (error logs, trace logs, ...). Some of these error logs may originate from external modules that aren't entirely under your control.

Good Day,
    Dean