A review of security posture
A security review is a structured assessment of a system's security before it ships or changes: a design review, a threatThreatSecurityA specific security threatView reference →-model review, or a security-focused code review, run by people looking for the weaknesses the builders missed. It is an internal gate, owned by the team, applied at a chosen moment. The tension that defines it is timing. Review early and you assess a design, cheap to change and impossible to test against. Review late and you assess running code, testable but expensive to fix.
The security review grew out of the secure development lifecycle, formalised when Microsoft published its Security Development Lifecycle in the mid-2000s and made design review and threat modelling mandatory phases before code shipped. The practice spread as DevSecOps pushed security checks earlier, so that review became a continuous gate woven through delivery instead of a single pre-launch event.
The field now distinguishes the review's modes by what each one reads. A threat modelThreat ModelSecurityA threat model for the systemView reference → is done best in the plan phase, before code exists, examining the design from an attacker's point of view (Forward Security). A secure code review reads the source itself, which reveals edge cases and hard-to-reach states a remote test would never hit (spyro-soft). These are complementary lenses on the same system at different stages, and mature teams run more than one.
A team is two weeks from launching a payments featureFeatureProduct SpecificationA product capability or featureView reference →. The security review gate has three parts. First, a threat-model review of the design surfaces a missing authorisation check on a refund endpoint: an attacker could refund to an account they do not own. The team fixes the design before a line is written, a change that would have cost ten times as much after releaseReleaseProduct SpecificationA shipped version of the productView reference →. Second, a secure code review of the implementation finds an input that reaches a database query unsanitised. Third, because the review judges the residual riskRiskComplianceA risk to the product or businessView reference → too high to sign off on assertion alone, it commissions a penetration testPenetration TestSecurityA penetration testView reference → against the staging environment to confirm the running system holds. The review does not break things itself; it decides what evidenceEvidenceValidationData supporting or refuting a hypothesisView reference → is needed and who must produce it.
In the Unified Product Graph, a security review sits in the security region as the assessment activity. The product connects through Productreviewed bySecurity Reviewhierarchy, recording that an assessment happened against this specific system. The review is governed from above by product_reviewed_by_security_reviewSecurity PolicyschedulesSecurity Reviewhierarchy, which ties the cadence of review to the written policy that demands it rather than to anyone remembering. When a review needsNeedUserA user need, pain, desire, or constraintView reference → harder evidence, security_policy_schedules_security_reviewSecurity ReviewcommissionsPenetration Testhierarchy links it to the test it triggers, so the chain from policy to review to proof is one connected path the graph can walk.security_review_commissions_penetration_test
Type-specific fields on BaseNode
categorystringReviewed artifact
findingsstringFindings summary
review_datestringISO review date
outcomestringFinal outcome
idstringrequiredUnique identifier (UUID)
typeNodeTyperequiredDiscriminator for the entity type
titlestringrequiredDisplay name
descriptionstringOptional detailed description
statusstringLifecycle status
tagsstring[]Freeform tags for filtering
5 phases — initial: planning · template: OPERATIONAL
3 edge types connected to this entity.
product_reviewed_by_security_reviewsecurity_policy_schedules_security_reviewsecurity_review_commissions_penetration_test