Nine security questions for software companies

If you have taken a decision to improve your company’s security practices you need to do two things, understand what it is going to be worth to you and where you stand. This piece deals with the latter question.

To better assess where you stand I have created this checklist of nine simple yes and no questions that screen different areas relevant to security at a software company.

Organizational mitigations
Do you use 2FA on every account possible?
Have you audited all places you store and send PII? This includes but is not limited to your DB, caches, logs, test fixtures, Git, backups, staging environments, developer machines, error tracking and all other third party services.
Have you ever done disaster recovery for your system? Meaning a full restore, not just recovering single files.
Hosting mitigations
Do you have a private network or firewall? At a minimum the DB is not accessible from every IP
Are you using a secrets store for production?
Is your hosting free of single points of failure? For the purpose of this question ignore DNS, but in real life ignore DNS at your own peril.
Software development
Are you doing scheduled penetration testing of your software?
Do you subscribe to CVE warnings and also enforce dependency cooldowns on your updates? Cooldowns are a waiting period before you adopt a new package version. For CVE warnings, e.g. Dependabot or OpenCVE.
Do you have firm policies for developer machine security?

Nine simple yes and no questions. What were your answers?