I agree that it is a concern, so I'll mention a few thoughts to contribute to the discussion. I'm not saying this will solve it all for you.
First, in my opinion, no passwords should be used in a Development environment that developers should not have access to. That is, I'd always use test accounts and passwords that only grant access to test systems. I understand this isn't always possible, but usually there's a way to limit the liability there.
Second, any implementation of RPA should be accompanied by a thorough review and code promotion/change management procedures. Yes, a developer could set up the process in such a way that a password could be revealed in Control Room in the tags of queue items, in the session logs, etc. But this would only occur in the development environment as long as there is a separate person or persons reviewing the code and ensuring the best/compliant practices are followed. This kind of thing should be caught during SIT or UAT and never reach PROD. Compare it to traditional application development. The same thing is a concern. A developer can absolutely build in code that would reveal a production password. That's why a review of the code itself and a review of the output of the code is necessary. This is also part of why the usual change management process is such that a single person cannot develop a process and then also put it into production.
I think that a primary reason that it works the way it does is that passwords often need to be entered into systems in a variety of ways. Write stages are not the only way passwords are entered. Send Keys and Send Key Events are often the only way to enter values, and because of that there would need to be an expansive capability across Blue Prism's actions to be able to decrypt values at the last moment. You'd have to consider other situations as well such as using APIs. There's no stage that puts the password into a field somewhere. Instead it is combined into a message that is sent to a server.
Regardless, I agree that it is a feature that Blue Prism needs. It is too easy to accidentally set the datatype of an element in app modeler to Text instead of Password, for example. And then when you write the password into the field, the unmasked password is stored in the session logs. We should probably request this feature.
Â
Dave Morris, 3Ci at Southern Company