С теоретической точки зрения, если ваша программа может получить данные, то пользователь, обладающий полным контролем над компьютером, на котором работает программа, также может получить данные, если он будет достаточно стараться. Это означает, что вы можете сделать это для них трудным, но вы не можете сделать это невозможным. Так что, если это то, чего вы пытаетесь достичь, вы должны четко понимать ограничения этого подхода.
Насколько сложно это сделать? Ну, если это чисто коммерческий риск, вы должны сделать это достаточно сложно, чтобы стоимость получения данных была больше, чем выгода. Если риск не может быть измерен таким образом, например, если существуют юридические требования к вам для защиты данных, то это не будет достаточно хорошим.
Для некоторых ситуаций, вероятно, достаточно зашифровать файл XML и закопать ключ дешифрования глубоко в логи c скомпилированной программы, написанной на языке, который не допускает простой декомпиляции. Вероятно, это будет лучше, чем просто закапывать данные XML в скомпилированную программу, что и предлагает ваш старший инженер. Но ее предложение тоже может быть в порядке. На самом деле не должно быть слишком сложно изменить логи программы c с чтения внешнего файла на чтение строковой константы в программе.