Here is a small thing we measured, because it says everything about the large thing.
When a modern database CLI creates a connection, it labels that connection Development by default. Auto-commit on. Change confirmation off. Those are sensible defaults for a developer poking at a scratch database on their laptop.
Your nightly reconciliation job connects to production through exactly that profile. So does the pipeline that rebuilds your customer table. Nobody chose those settings for production — they are what the tool does when nobody says otherwise, and nobody was there to say otherwise.
Non-human access to your databases isn't badly governed. It is ungoverned by default.
