Your permission checks are lying to you
Capability-based security replaces scattered role checks with unforgeable tokens of authority.
Every permission bug looks the same in hindsight. Some function deep in the call stack assumes the caller already checked . It didn't. Or a new role gets…