Skip to main content

Security Requirements Taxonomy and Traceability

SbD-ToE operates with two complementary identification systems, each with a distinct purpose. Understanding the difference and the relationship between them is a precondition for effective traceability - without it, the requirements catalogue becomes disconnected from the real development work.


1) Two systems, two purposes​

Canonical ID (SbD-ToE catalogue)​

The Ch. 02 requirements catalogue assigns each requirement a stable canonical identifier:

CATEGORIA-NNN
ComponentDescriptionExample
CATEGORIA2–3 upper-case letters, identifies the security domainAUT, LOG, VAL
NNN3-digit sequential number001, 003, 012

Examples: AUT-001 (mandatory MFA), LOG-003 (log integrity protection), VAL-002 (input parameter validation)

This ID is the permanent normative reference - it identifies the requirement in the manual, in regulatory cross-checks, in control matrices and in architecture documentation. It is independent of any specific project.


Operational tag (per-project instantiation)​

When a canonical requirement is adopted by a concrete project, it is instantiated with that project's context - notably the risk level - giving rise to a traceable operational tag:

SEC-Lx-DOMINIO-CODIGO
ComponentDescriptionExample
SECFixed prefix - indicates a security requirementSEC
LxRisk level of the application (L1, L2 or L3)L2
DOMINIOTechnical domain, aligned with the catalogueAUT, LOG
CODIGOAbbreviated semantic code of the requirementMFA, BRUTE

Full example: SEC-L2-AUT-MFA

This tag is the identifier used in the project's lifecycle artefacts - backlog, code, tests, pipeline, audit evidence.


2) The relationship between the two systems​

The canonical ID is the source; the operational tag is the contextualised instance. The flow is always downward:

Catálogo SbD-ToE Projecto concreto
───────────────── ────────────────────────────────
AUT-001 → SEC-L2-AUT-MFA (aplicação pública, risco L2)
AUT-001 → SEC-L1-AUT-MFA (ferramenta interna, risco L1)
LOG-003 → SEC-L2-LOG-INTEG
VAL-002 → SEC-L3-VAL-SQLI (app com dados regulados, risco L3)

The same canonical requirement can give rise to different tags in different projects, reflecting different risk contexts. This is intentional: proportionality is a property of the project, not of the requirement.

More importantly: traceability does not end at the operational tag. The tag is the project's visible identifier, but the minimum expected chain must continue upstream and downstream:

classificação / risco → requisito canónico → tag operacional → ameaça / driver de risco
→ critério de validação / teste / revisão → evidência → exceção / decisão de revisão

Without this chain, the requirement is “present” in the project but ceases to be governable, auditable and reassessable when the context changes.


3) Supported technical domains​

DomainAssociated canonical category
AUTAuthentication and identity management
ACCAccess control and authorisation
LOGLogging, auditing and monitoring
SESSessions and state management
VALData validation and sanitisation
ERRError and message handling
CFGSecure configuration and parameter management
APISecurity of APIs and external services
INTIntegrations and message exchanges
REQRequirements definition and management
DSTArtefact distribution
IDEDevelopment tools and environments
ENCSensitive data and cryptography

4) Where to apply each system​

ContextSystem to useExample
SbD-ToE Manual, normative cross-checks, architectureCanonical IDLOG-003
Backlog (stories, epics, tasks)Operational tagSEC-L2-LOG-INTEG
Comments in source codeOperational tag// SEC-L3-VAL-SQLI
CI/CD gates and automated validationsOperational tagSEC-L2-AUT-MFA
Test cases and acceptance criteriaOperational tag + reference to the canonical IDSEC-L2-AUT-MFA → AUT-001
Audit reports and evidenceBoth - full traceabilityAUT-001 / SEC-L2-AUT-MFA

The presence of the canonical ID in reports and evidence is what links the project's work to the normative catalogue - and, by extension, to external frameworks such as ASVS, NIST or regulatory requirements.


5) Verification and maintenance​

Operational tags must be validated periodically against:

  • The canonical catalogue - to guarantee that the referenced IDs exist and are up to date;
  • The controls matrix by risk - to confirm that the tag's Lx level is consistent with the application's current classification.

Whenever there is a material change of risk, architecture, integration, data processed or form of validation, this verification must be treated as a requirement review event. In such cases, the organisation must confirm whether:

  • the requirement remains applicable as it stands;
  • the operational tag remains consistent with the project's Lx level;
  • the link to Threat Modelling and to validation remains valid;
  • any documented exception has ceased to be acceptable or needs revalidation.

The organisation must keep a record of:

  • Adopted requirements and their canonical IDs;
  • Active operational tags per project/application;
  • Records of review, change or re-trigger;
  • Validations carried out and evidence generated;
  • Documented exceptions.

📌 The distinction between canonical ID and operational tag is not merely formal - it is the mechanism that allows centralised governance of the catalogue with decentralised, traceable and auditable implementation in each project.