Concordo que o ônus da justificação deve recair sobre os que necessitam de acesso. Normalmente, nos ambientes onde consultei, tive acesso aos sistemas de produção em que era um ambiente pequeno e eu era a pessoa de suporte. Eu tive acesso a backups, etc., onde suportei o suporte e acesso indireto (através de um desenvolvedor de suporte dedicado) aos dados de produção.
O importante é que você precisa desse acesso quando está no gancho para manter tudo funcionando sem problemas e precisa responder à pergunta do financeiro sobre algo que não está funcionando. Nesse caso, nem sempre é possível trabalhar com dados do dia anterior. Por outro lado, quanto mais acesso, pior. Normalmente, como consultor, costumo evitar esse tipo de acesso, a menos que seja necessário. Como estou trabalhando em bancos de dados financeiros, a última coisa que quero é ser acusado de inserir minhas próprias faturas :-D.
Por outro lado, se você não precisa de acesso, não deve tê-lo. Eu realmente não compro o argumento de dados confidenciais, pois o desenvolvedor provavelmente está atento para garantir que isso seja tratado corretamente (e é muito difícil de verificar sem olhar para o que realmente foi armazenado quando um relatório de bug chega). Se você não pode confiar no desenvolvedor para examinar os dados que o aplicativo do desenvolvedor está armazenando, não deve contratar o desenvolvedor para escrever o aplicativo. Existem muitas maneiras pelas quais o desenvolvedor pode ofuscar os dados e enviá-los por e-mail, e você nunca pode ter certeza. Os controles MAC ajudam aqui, mas eles ainda são bastante complexos de implementar.
O grande problema do meu lado tem a ver com acesso de gravação. Se um desenvolvedor não tiver acesso, a fortiori não terá acesso de gravação. Se você deseja verificar a integridade dos livros, mantenha o acesso de gravação ao menor número possível de pessoas. As trilhas de auditoria são muito mais fáceis de validar se os desenvolvedores não tiverem acesso. Se o desenvolvedor tiver acesso de leitura, você sempre terá alguma dúvida sobre se houve algum anexo de escalonamento de privilégios que possa fornecer acesso de gravação (talvez injeção SQL de procedimento armazenado?). Muitas vezes, tive acesso total às informações de cobrança do cliente quando tive acesso a ambientes de armazenamento temporário. Se houver um ambiente de armazenamento temporário que funcione, normalmente pedirei ativamente para não ter acesso à produção, a menos que seja necessário.
Portanto, isso não é perfeito, é claro. Um desenvolvedor ainda pode criar portas traseiras para o aplicativo que podem não ser prontamente detectáveis, mas essa abordagem é razoável, dado que os dados de backup estão disponíveis um dia antes, parece-me que essa é a preocupação que eles têm.
Espero que isto ajude.
Edit: Apenas adicionando que, nos ambientes maiores em que trabalhei, tive acesso a dados completos de backup, geralmente variando de alguns dias a alguns meses para o sistema financeiro. Isso sempre foi bom o suficiente para o meu trabalho e as únicas vezes em que foi quebrado foram quando o pessoal da área financeira precisou da capacidade de testar com dados mais recentes para que eles pudessem se igualar à produção.