Decision Records - Methodology
Purpose
This page documents key security and architectural decisions made in the Scheol Security Lab.
The objective is to:
- capture the reasoning behind decisions
- provide context for design choices
- support reviewability and auditability
This avoids treating the architecture as a black box and helps explain why things are the way they are.
What is a Decision Record?
A decision record documents:
- a specific architectural or security choice
- the context and constraints
- the reasoning behind the decision
- the impact and trade-offs
It is not a technical configuration log, but a governance artefact.
When to Create a Decision Record
A decision record should be created when:
- a security-relevant trade-off is made
- a risk is accepted or temporarily tolerated
- an architectural constraint impacts security posture
- a non-standard or transitional setup is used
Typical examples in Scheol Lab include:
- co-location of services on VPS-01
- temporary absence of centralised logging
- phased deployment of identity and access controls
Decision Record Structure
Each decision record should include:
1. Title
Clear and concise description of the decision.
2. Context
- current situation
- constraints (technical, time, resources)
- related risks
3. Decision
- what has been decided
- scope of the decision
4. Rationale
- why this option was chosen
- alternatives considered (optional but recommended)
5. Security Impact
- positive effects
- introduced risks or weaknesses
6. Mitigation / Safeguards
- compensating controls
- temporary protections
7. Status
- Active / Deprecated / Replaced
8. Review Trigger
- when this decision should be revisited
Example (Simplified)
Decision: Co-location of Gitea and public websites on VPS-01
- Context: limited infrastructure, need for rapid deployment
- Decision: host both services on a single VPS instance
- Rationale: resource constraints and simplicity
- Security Impact: increased attack surface and lateral movement risk
- Mitigation: container isolation, restricted access, monitoring
- Status: Active (transitional)
- Review Trigger: migration to dedicated instances
Relationship with Other Sections
Decision records are linked to:
- Applied Architecture → where decisions are implemented
- Risk Register → where risks are identified and evaluated
- Residual Gaps → where limitations are tracked
- Traceability Matrix → where decisions may influence controls
They provide the missing context between design and risk.
Usage Principles
Decision records should be:
- concise (no unnecessary detail)
- honest (including limitations and trade-offs)
- focused on reasoning, not implementation steps
They should evolve over time as:
- decisions are revisited
- constraints change
- architecture matures
Known Limitations
At the current stage:
- decision records are not yet systematically created
- historical decisions are only partially documented
- linkage with risks and controls is still limited
This will be progressively improved.
Current Maturity
At the current stage, decision documentation is considered early and mostly implicit.
Established
- awareness of the need to document security decisions
- identification of key architectural trade-offs
- initial informal documentation of major constraints
In Progress
- formalisation of decision records for key components
- improved linkage between decisions, risks and controls
- better visibility of security trade-offs
Planned / Next Phase
- systematic use of decision records for major changes
- integration with traceability and audit documentation
- improved consistency and lifecycle tracking of decisions
This page is expected to evolve into a key governance artefact.