A practical, opinionated scorecard for B2B SaaS founders and CTOs. If you cannot confidently check off the majority of these items, your platform is carrying technical risk that surfaces as a failed enterprise security questionnaire, a due diligence red flag during your Series A, or an AI governance gap that spooks a regulated buyer.
Goal: Eliminate "snowflake" servers and manual configuration drift.
terraform plan (or equivalent) against your live environment. If it wants to create resources that already exist, you have drift and manual provisioning..tfstate file or an unversioned bucket without locking, concurrent runs will corrupt your state.git log --all -p | grep -iE "(password|secret|api_key|token)" against your IaC repo. If anything surfaces, rotate those credentials immediately.latest or untagged main referencesref=main or missing version constraints. Every module reference should point to a specific tag or commit SHA.terraform apply to production directlyGoal: Every change ships through an automated, repeatable, auditable pipeline.
main without a review, your deployment guardrails are incomplete..env files committed to the repo. Secrets should come from GitHub Actions Secrets, GitLab CI Variables, or an external vault.FROM node:latest or FROM python:3. Every base image should use a specific digest or version tag, and images should be scanned with Trivy, Grype, or your registry's built-in scanner.Goal: Make your attack surface as small as possible and prove it to auditors.
ssllabs.com — anything below an A rating needs attention.0.0.0.0/0 ingress rules except on load balancers serving public traffic0.0.0.0/0 ingress. If SSH (port 22) or database ports (3306, 5432, 27017) are open to the internet, close them today.*) actions or resources in production policiesgcloud asset analyze-iam-policy. If any policy grants Action: "*" or Resource: "*" in production, it is over-permissioned.Goal: Survive 10x traffic and recover from failure without waking the CEO.
console.log), metrics (Prometheus/Datadog), and traces (OpenTelemetry).us-east-1a, a single AZ outage takes you offline.Goal: Know where every dollar goes and stop paying for what you don't use.
Environment, Team, and Service for cost attributionGoal: Pass any audit, survive any departure, and own your data.
Goal: Ship AI-enabled features without creating uncontrolled risk, data leakage, or compliance gaps.