Это говорит о том, что вместо типизированных данных везде фигачат одни и те же строки. Мне нравится подход, когда для секретов нужно особенное обращение, исключающее работу с ними, как со строками, т.е. интерфейс (допустим, на условной недоджаве) следующий: class SecretString {
private String secretValue;
String toString() {return "фиг тебе а не пароль"}
String getSecretForReal() { return this.secretValue }
}
И это практически сводит к нулю попадание паролей в логи из-за слишком умных и адаптивных логгеров, полусонных программистов и прочих человеческих ошибок - даже если залогируешь куда-нибудь секрет случайно, увидишь только фигу.
И есть только две причины не использовать такой подход при работе с чувствительными данными: идиотизм и саботаж.