Skip to content

Archive

Secure Design

2 articles
Cybersecurity 04 Sep 2026 10 min read

Fail Closed at Authorization Boundaries

An application can have carefully designed roles and permissions and still expose protected actions through one small mistake: treating an authorization error as permission to continue. This problem appears when access control depends on code, policy data, or another service that can fail. A timeout, malformed response, missing record, or unexpected exception creates uncertainty. If the application converts that uncertainty into allow, a reliability failure becomes an access-control failure. A useful defensive rule is to fail closed at an authorization boundary. In plain language, perform the protected action only when the system has enough trustworthy information to make an explicit allow decision. If it cannot establish that decision, do not grant the access.

Cybersecurity 04 Sep 2026 8 min read

Authorize Every Object Access

A developer can correctly require login and still expose another user’s data. The mistake is simple: the application proves who made the request, then assumes that identity is enough to access whichever record the request names. Consider an endpoint that returns an invoice by identifier. A signed-in user requests invoice 1842, the application loads invoice 1842, and the response succeeds. If the application never checks whether that user is allowed to read that invoice, changing the requested identifier may cross an authorization boundary.