Secure development principles

Basics

Access and Auditing

Authentication - who is this user?

Authorization - what is this user allowed to do?

Admin Interfaces

Logging

Secure Design Principles

Centralize common security functions

Enforce authentication & authorization by default

Always treat user data as untrusted

Don't rely on client-side security controls

Isolate dangerous code

Fail closed by design

Avoid unnecessary cryptography

Integrating AppSec into Development

Threat modeling

Pull request review

Automated tooling

Dependency tracking

Patching vulnerabilities

See also