No password had been leaked. No human made a mistake. The system betrayed itself.
Non-human identities—service accounts, bots, automation scripts, CI/CD runners—hold keys that humans never touch. They deploy code, move data, spin up infrastructure. They run 24/7, invisible in dashboards designed for people. Yet most organizations still design Separation of Duties as if all identities were human. That gap is a door attackers love.
Separation of Duties for non-human identities is not theory. It is the enforcement of boundaries at the most atomic level in your systems. It means defining roles, permissions, and access paths precisely, and applying them to every machine identity the same way you would to a privileged admin account. Without it, a single compromised bot can provision resources, alter configurations, and exfiltrate sensitive data before anyone detects the change.
The process starts with identity inventory. Every service account must have an owner and a documented purpose. Then comes least privilege. Non-human identities must have scoped permissions—never blanket admin rights. Remove unused permissions. Enforce time-bound access where possible.