Security keeps a system’s promised behavior intact when people, software, and infrastructure fail or act maliciously. It is an engineering property of the whole service: identities, authorization, data handling, dependencies, deployment, detection, and recovery all contribute to the result.

The Shape of the Problem

The CIA triad names three recurring goals: confidentiality limits disclosure, integrity limits unauthorized change, and availability keeps required operations usable. A real threat model adds the assets, actors, trust boundaries, abuse paths, and impact that make those goals concrete. Defense in depth then places independent controls along an abuse path so one failed control does not decide the outcome.

Two distinctions run through everything below:

  • Authentication and authorization: authentication establishes a principal with some assurance. Authorization decides whether that principal may perform this operation on this resource now. A valid session never replaces the resource decision.
  • Encoding, password hashing, integrity, and encryption: encoding changes representation. Password hashing creates an expensive verifier. A MAC or signature authenticates data within a defined trust model. Encryption protects confidentiality for key holders. None substitutes for the others.

Small omissions often open the path: one missing ownership check, one reusable credential in telemetry, one unbounded recovery endpoint, or one dependency deployed past its supported lifetime. The surrounding notes isolate those mechanisms. This page keeps their shared design process visible.

Secure System Design Checklist

The checklist starts from one abuse case, not a catalog of controls. For a payroll export, the employee records are the assets, payroll staff and the export worker are the actors, and the browser, API, job queue, object store, and third-party delivery service are separate trust boundaries. Each control then answers a concrete path through those boundaries.

  1. Assets and actors: the data and operations are classified, legitimate actors are named, and what an attacker gains is described. See Sensitive Data.
  2. Trust boundaries: the model shows where identities, data, and administrative control cross processes, networks, tenants, and vendors.
  3. Identity and access: each actor is authenticated, authorization covers the exact resource and action, access is denied by default, and privileges stay narrow. See Authentication and Authorization Models.
  4. Secure defaults: only required endpoints and methods are exposed, unused ports are closed, unknown input is rejected, and a missing policy fails closed. See Firewall, OWASP, and Web Vulnerabilities.
  5. Secrets and keys: credentials stay out of code and telemetry, keys live in managed key storage, key administration is separated from data administration, and rotation is tested. See Secrets Management and Encryption.
  6. Dependencies and delivery: build inputs are pinned and verified, deployed artifacts are scanned, CI identities are protected, and a current inventory of components and public APIs is maintained.
  7. Detection: authentication, authorization, administrative, and sensitive-data events are recorded with safe metadata. Alerts fire on an attack pattern rather than one expected denial.
  8. Response and recovery: incidents have assigned owners, evidence is preserved, compromised access is revoked, communication follows the applicable obligations, and restoration uses a tested recovery path.

security security

A checklist becomes evidence only when its failure paths are exercised. The payroll export should reject another tenant, a missing policy, a revoked job identity, and a stale signing key. Operations should also know what happens when audit delivery fails or the only clean backup predates the incident.

Questions

References

13 items under this folder.