Are Security Risks Considered?¶
Type: Structure
Category: Non-functional
Audience: Security engineers, reviewers, backend/API owners
đ What This Perspective Covers¶
Security doesnât come from good intentions.
It comes from explicit decisions about whatâs protected, how, and by whom.
This perspective checks whether sensitive data, authentication, and authorization are covered as active design concerns.
Typical Risk Vectors
- Personal information (PII) and financial data in logs or payloads
- API endpoints lacking role-based or tenant-based access control
- Weak session handling or token misuse
- Inconsistent or unclear permission models between domains and UI
- Secrets stored in code or misconfigured environment access
â ď¸ Failure Patterns¶
- "Hidden in UI" â protected at API level
- Sensitive fields exposed in logs or metrics
- Permission logic duplicated and drifting in multiple services
- JWTs or OAuth tokens not validated against revocation or scope
- Security handled only at edgeânot in application logic
â Smarter Security Design¶
- Map out sensitive data flow: where does it go, who can see it?
- Define access control at multiple layers (domain, use-case, endpoint)
- Use structured permission models: roles, scopes, policies
- Log access to sensitive data with auditing intent
- Treat secrets and credentials as infrastructureânot source code
đ§ Principle¶
Security is not a patch.
Itâs a set of enforced design boundaries.
â FAQ¶
-
Q: Isnât the frontend enough to hide sensitive fields?
A: No. Anything rendered client-side must be protected server-side. -
Q: Where should permissions live?
A: Domain defines who can act. Use-case enforces it. Endpoint restricts access.