In the previous lesson you built Nimbus's risk register and took concrete decisions: mandatory MFA, just-in-time access for the consultancy, a ban on public links, secrets in a manager and not in .env. Every one of those decisions has the same problem today: it lives in the heads of three people and in a YAML file that nobody outside the technical team reads. When Marta moves on, when a new employee joins or when a customer asks "what rules do you have?", that knowledge disappears or cannot be taught. This lesson is about the artefact that solves exactly that: the security policy, which is the mechanism by which a decision outlives whoever took it. You will finish with a reusable template, two Nimbus policies written out in full and an exceptions register with mandatory expiry.
Contents
- What a policy is and why it exists
- The document hierarchy: policy, standard, procedure and guideline
- One topic across all four levels: passwords and MFA
- Anatomy of a policy and a reusable template
- The minimum set of policies for an SME
- Nimbus's Access Control Policy, written out in full
- Nimbus's Acceptable Use Policy, written out in full
- The life cycle of a policy
- Exceptions: request, approval and mandatory expiry
- Why policies fail
- Policies and compliance frameworks: the bridge only
- What a policy is and why it exists
A security policy is a document approved by management that states what is required and why, and is mandatory for the people within its scope. It does not explain how something is done — that is a procedure — nor does it list products, nor does it expire when the technology changes. It does things no other artefact covers:
| Function | Without a policy | With a policy |
|---|---|---|
| Persistence and uniformity | The decision leaves with whoever took it and each person applies their own judgement | It is written down, dated and signed, and everyone applies the same rule |
| Enforceability | "Nobody told me I couldn't" | There is a rule that has been communicated and accepted |
| Delegation | Everything has to be checked with Marta | The team decides within a framework |
| Demonstrability | "Trust us" | You can show it to a customer or an auditor (06-04) |
Enforceability deserves a clarification. If Nimbus wants to be able to act when someone installs unauthorised software on a corporate laptop, it needs to have communicated beforehand that this is not permitted, and to be able to prove it did so. A rule that is neither written down nor communicated is not a rule: it is a preference.
And a policy is not an instruction manual, which is the most frequent drafting mistake. The policy says "access to production data requires phishing-resistant multi-factor authentication"; the procedure says "go into the identity console, click Add method, choose Security key…". The first sentence will still be valid in five years' time; the second will be obsolete with the next redesign of the console.
- The document hierarchy: policy, standard, procedure and guideline
| Level | Answers | Mandatory | Stability | Who approves it | Typical length |
|---|---|---|---|---|---|
| Policy | What and why | Yes | Very high (years) | Management | 1-3 pages |
| Standard | What is mandatory, measurably | Yes | Medium (1-2 years) | Head of security (Marta) | 1-2 pages |
| Procedure | How, step by step | Yes, for whoever executes it | Low (changes with the tool) | Process owner (Lucía) | As long as it needs to be |
| Guideline or recommendation | How to do it better | No | Low | Whoever writes it | Free |
flowchart TB
R["RISK REGISTER (04-01)\nR-01 third-party access, R-06 secrets in .env..."]
R --> P["POLICY - What and why. Stable. Management approves"]
P --> N["STANDARD - What is mandatory and MEASURABLE"]
N --> PR["PROCEDURE - How, step by step"]
N --> G["GUIDELINE - Recommendations. NOT mandatory"]
PR --> C["CONTROL (04-03) - What is implemented and verified"]
N --> C
C -.->|"evidence of compliance"| A["AUDIT (06-04)"]
C -.->|"reduces the residual risk"| R
Notice the cycle the diagram closes: the risk register justifies the policy, the policy is made concrete in standards, the standards are executed through procedures and take shape as controls, and the controls reduce the residual risk in the register that started it all. A policy that cannot be traced back to a specific risk is surplus; a Critical risk with no policy behind it is left at the mercy of the memory of whoever spotted it. Two very common level mistakes: putting parameters in the policy — if it says "passwords will have 12 characters", moving to 14 forces a fresh approval by management; the numbers belong in the standard — and writing guidelines in policy language — if something is a recommendation it has to say "it is recommended"; if it says "MUST", it is mandatory and somebody will audit it.
- One topic across all four levels: passwords and MFA
Nothing clarifies the hierarchy like watching a single topic travel the whole way down it. Level 1 — Password and Authentication Policy (extract):
5.1 All access to Nimbus systems MUST be individually authenticated.
Accounts shared between people are not permitted.
5.2 Access to systems that process customer data, or to administrative
functions, MUST require phishing-resistant multi-factor authentication.
5.3 Application secrets MUST NOT be stored in source code, in configuration
files held in the repository, or in messaging channels.Level 2 — Authentication Standard (extract): this is where the numbers live, and that is why it can be updated without troubling management.
| Parameter | Mandatory value at Nimbus | Source |
|---|---|---|
| Minimum password length | 12 characters | NIST SP 800-63B (02-05) |
| Check against breached-password lists | Mandatory on creation and change | 02-05 |
| Periodic expiry | Prohibited unless there are signs of compromise; 8 h administrative session with re-authentication for critical actions | 02-05 |
| Second factor on administrative accounts | FIDO2/passkey; TOTP as backup only. SMS not permitted | 02-05 |
| Storage of the verifier | Argon2id with the parameters in the annex | 03-04 |
Level 3 — Procedure "Registering a passkey" (extract):
PR-AUT-03 Registering a FIDO2 security key v2 Owner: Lucia
1. The user signs in to the identity console with their corporate account and
goes to Security > Access methods > Add security key.
2. They register the key with a recognisable name ("Blue Yubikey") and add a
SECOND backup method (a secondary key or TOTP).
3. Lucia verifies that the account shows two active methods and records the
date in the access inventory.Level 4 — Guideline "How to choose a memorable master password": passphrases, using the manager and what to do if the physical key is lost. It is not mandatory and nobody audits it. The practical consequence of the four levels is best seen like this:
| If the identity provider changes | If it goes up to 14 characters | If someone breaches it | |
|---|---|---|---|
| Policy | No change | No change | The disciplinary regime applies |
| Standard | No change | Changes (Marta approves) | It is an auditable breach |
| Procedure | Changes completely | No change | It is corrected and the step is reworked |
| Guideline | May change | May change | Nothing applies |
That table is the practical reason for the hierarchy: each thing at its own level changes at its own frequency and is approved by the right person, and that way the document system neither seizes up nor runs out of control.
- Anatomy of a policy and a reusable template
A policy that is missing any of these sections will generate an argument on the day it matters. This is the skeleton and the template you will reuse in the final project:
# POL-NN — [Name of the policy]
**Version** 1.0 · **Status** Approved · **Approved by** [body with authority]
**Approval date** YYYY-MM-DD · **Next review** YYYY-MM-DD (max. 12 months)
**Document owner** [person] · **Classification** Internal
## 1. Purpose
Why it exists and which risks from the register it treats: "treats risks R-NN, R-NN".
## 2. Scope
Who it applies to (employees, interns, contractors, third parties with access),
which systems and data, and what is EXPRESSLY OUT OF SCOPE.
## 3. Roles and responsibilities
Who approves, who maintains the document, who executes, who verifies and who
authorises exceptions. With job titles or names, not with departments.
## 4. Definitions
Only the terms that could be read in more than one way.
## 5. Normative statements
The rules, numbered, one idea per statement, in normative language:
MUST / MUST NOT = absolute, auditable obligation; SHOULD = strong recommendation
that requires justification to depart from; MAY = optional.
## 6. Exceptions
Who requests and approves them, maximum expiry and the compensating measures required.
## 7. Breach
What happens if it is not complied with, noting that employment consequences are
applied in accordance with current legislation and the applicable agreement.
## 8. Related documents · 9. Version history
Standards, procedures and guidelines that develop it; a version/date/author/changes table.Three sections people leave out and which are exactly the ones you miss later: the purpose with traceability to the risk — without it, in two years' time nobody will know why the rule exists and the first person it inconveniences will delete it; what is out of scope — writing "this policy does not apply to personal devices that only check e-mail" avoids the endless argument about whether it applies; and the exceptions, because a policy with no exception route is breached in silence, whereas with one the breach becomes a visible decision with an expiry date.
- The minimum set of policies for an SME
Nimbus does not need the 40 policies of a multinational: it needs these eleven, and the ordering in the "Priority" column comes straight out of the risk register in 04-01.
| # | Policy | Treats risks | Approves | Review | Priority |
|---|---|---|---|---|---|
| POL-01 | General Information Security | The framework for all the rest | Management | Annual | 2 |
| POL-02 | Access Control | R-01, R-03, R-06 | Management | Annual | 1 |
| POL-03 | Passwords and Authentication | R-01, R-05 | Marta | Annual | 1 |
| POL-04 | Acceptable Use of Resources | R-05, R-08 | Management | Annual | 1 |
| POL-05 | Information Classification and Handling | R-04, all | Management | Biennial | 3 |
| POL-06 | Devices and Remote Working (BYOD) | R-08 | Management | Annual | 2 |
| POL-07 | Secure Development | R-04, R-06 | Marta | Annual | 2 |
| POL-08 | Supplier Management (04-04) | R-01, R-10 | Management | Annual | 1 |
| POL-09 | Backups and Continuity (04-06) | R-02, R-10 | Marta | Annual | 1 |
| POL-10 | Incident Response (04-05) | All | Management | Annual | 2 |
| POL-11 | Retention and Deletion | R-04, legal | Management | Biennial | 3 |
Two SME criteria worth applying without embarrassment. Start with the five at priority 1 and publish the rest over the following six months: eleven mediocre policies published all at once are worth less than five good ones people have actually read. And merge where it makes sense: in a company of 38 people POL-03 can be a chapter of POL-02 and POL-06 can live inside POL-04. What must never be merged is anything with a different audience: POL-08 is read by a supplier, and a supplier cannot receive the entire internal document.
- Nimbus's Access Control Policy, written out in full
# POL-02 — Access Control Policy
| | |
|---|---|
| **Version** | 2.0 |
| **Status** | Approved |
| **Approved by** | Board of directors of Nimbus Reservas, S.L. |
| **Approval date** | 2026-02-20 |
| **Next review** | 2027-02-20 |
| **Owner** | Marta Ferrer (CTO) |
| **Classification** | Internal |
## 1. Purpose
To ensure that access to Nimbus's information and systems is granted only to
those who need it, with the minimum sufficient privilege and for strictly the
time required. It treats risks R-01 (third-party remote access), R-03 (exposure
of systems), R-04 (attachment leak) and R-06 (exposed secrets) from the risk
register.
## 2. Scope
Applies to all employees, interns and collaborators, and to every third party
with access to Nimbus systems, including the systems consultancy.
Applies to the production and pre-production environments, the code repository,
the cloud provider account and the corporate identity and e-mail systems.
Physical access to the offices is out of scope and is governed by POL-04.
## 3. Roles and responsibilities
**Management** approves this policy and high-risk exceptions. The **CTO (Marta)**
maintains it, approves the granting of privileged access and leads
recertification. **Systems (Lucía)** executes joiners, leavers and changes and
maintains the access inventory and its evidence. **Area leads** request and
justify access for their teams. **HR (Sara)** communicates joiners, role changes
and leavers on the same day they occur.
## 4. Definitions
**Privileged access**: access that allows configuration to be modified, data from
more than one customer to be reached, or audit logs to be altered.
**Just-in-time access**: a temporary grant that is revoked automatically.
## 5. Normative statements
### 5.1 Identity
5.1.1 Every person MUST access using a named account. Accounts shared between
people MUST NOT exist, including those of third parties.
5.1.2 Service accounts MUST have an identified human owner, MUST NOT be used for
interactive access, and MUST appear, like every other account, in the
access inventory with their justification and their last review.
### 5.2 Authentication
5.2.1 Access to production, to the cloud provider account, to the code
repository and to corporate e-mail MUST require phishing-resistant
multi-factor authentication. SMS MUST NOT be used as a second factor on
privileged accounts.
5.2.2 The specific parameters are defined in the Authentication Standard (NOR-01).
### 5.3 Authorisation
5.3.1 Permissions MUST be granted in line with the principle of least privilege,
by role and not by person, according to the current catalogue
(`roles.yaml`), and no application MUST connect to the database with a role
holding more permissions than it needs.
5.3.2 Access to a customer's data MUST be restricted by customer identifier at
every layer of the application and of the database.
5.3.3 Every grant of privileged access MUST be approved by the CTO and recorded
with its justification.
### 5.4 Third-party access
5.4.1 Third-party access MUST be named, with MFA, and limited to strictly the
systems required.
5.4.2 Permanent administrative access for third parties MUST NOT exist: it will
be granted under a just-in-time model, with a maximum duration of 8 hours
and automatic revocation.
5.4.3 Every third-party access session MUST be recorded, and the recording MUST
be retained for a minimum of 12 months.
5.4.4 Third-party access MUST be reviewed quarterly in accordance with POL-08.
### 5.5 Life cycle
5.5.1 Access MUST be granted following a request from the area lead and no
earlier than the person's actual start date. On a role change, permissions
MUST be reassessed in full; those of the previous role MUST NOT accumulate.
5.5.2 Offboarding MUST revoke all access, including third-party access and API
keys, within a maximum of 4 hours from HR's notification.
5.5.3 Privileged access MUST be recertified every six months; all other access
annually. Access that is not confirmed is revoked.
### 5.6 Secrets and credentials
5.6.1 Application credentials and keys MUST be held in the corporate secrets
manager, and MUST NOT be stored in source code, in version-controlled
files, in spreadsheets or in messaging.
5.6.2 Any credential that is exposed, or suspected of being exposed, MUST be
rotated immediately and notified in accordance with POL-10.
## 6. Exceptions
They are requested from the CTO through the exceptions register. Those affecting
privileged access or third parties require management approval. None will be
valid for longer than 90 days, and none will be approved without a compensating
measure.
## 7. Breach
A breach will be treated as a security incident under POL-10 and may lead to the
immediate revocation of access. Disciplinary consequences will be applied in
accordance with current employment legislation and the applicable collective
agreement. For third parties, the terms of the contract apply.
## 8. Related documents
NOR-01 Authentication Standard · PR-AUT-01 to PR-AUT-07 · POL-04 · POL-08 · POL-10
## 9. Version history
| 1.0 | 2025-03-10 | Marta | Initial version |
| 2.0 | 2026-02-20 | Marta | 5.4 (third parties) and 5.6 (secrets) added following
the 2026 risk assessment |Read section 5.4 carefully: it is an entire lesson compressed into four statements, and each one eliminates a specific failure from the 02-06 timeline. 5.4.1 kills the shared account with no MFA; 5.4.2, the permanent access that was sitting there at 22:14 on an ordinary day; 5.4.3, the blindness of 20 days without detection; and 5.4.4, the access nobody ever looked at again. That is what it means for a policy to be traceable to a risk.
- Nimbus's Acceptable Use Policy, written out in full
The Acceptable Use Policy is the one everybody in the company reads, including the non-technical people, so its wording has to be understandable with no prior knowledge. Its sections 1 to 3 follow the template — purpose: to protect the company, its customers and the users themselves, treating R-05 and R-08; scope: every person and every device, account or service provided by Nimbus, inside or outside the office; roles: each person is answerable for the use of their accounts, Lucía maintains the configuration of the estate and Marta resolves any queries. This is its body:
# POL-04 — Acceptable Use of Resources Policy
**Version** 1.2 · **Approved by** management on 2026-02-20 · **Review** annual
**Owner** Marta Ferrer (CTO) · **Classification** Internal
## 5. Normative statements
### 5.1 Devices
5.1.1 Corporate devices MUST keep disk encryption, automatic screen lock and
automatic updates active, and no security measure installed on them MUST
be disabled.
5.1.2 Software MUST be installed from authorised sources. Unauthorised software
MUST NOT be installed on devices with access to production without prior
approval.
5.1.3 The loss or theft of a device MUST be reported the same day through the
incident channel, without waiting to confirm whether it was lost or stolen.
### 5.2 Accounts and credentials
5.2.1 Corporate credentials MUST NOT be shared with anyone, including colleagues
and support staff, nor reused on personal services, and MUST be held in the
password manager provided by the company.
5.2.2 Nobody at Nimbus will ever ask for a password or a verification code by
phone, chat or e-mail. Any such request MUST be reported.
### 5.3 E-mail, messaging and fraud
5.3.1 Every suspicious e-mail MUST be reported using the report button.
Over-reporting will NEVER be held against anyone.
5.3.2 Every request for a payment, for a change of bank account or for personal
data to be sent, received by e-mail or chat, MUST be verified through a
different channel and with an already-known contact, even if it comes from
management.
5.3.3 Customer data MUST NOT be sent by e-mail or messaging outside the
authorised corporate systems.
### 5.4 Data and information
5.4.1 Customer data MUST be handled only from corporate systems and only where
there is a work-related need.
5.4.2 Production data MUST NOT be copied to test environments, personal devices
or personal storage, nor to unauthorised third-party tools, including
artificial intelligence tools.
5.4.3 Public sharing links MUST NOT be created; to share with someone external,
named sharing with an expiry will be used.
### 5.5 Networks and remote working
5.5.1 Access to corporate systems from public networks MUST be made through the
corporate VPN, and guest wifi MUST NOT be used to work with customer data.
5.5.2 In public spaces, working with confidential information visible on screen
SHOULD be avoided.
### 5.6 Personal use and privacy
5.6.1 Reasonable personal use is permitted provided it does not interfere with
work, does not consume resources disproportionately and does not compromise
security.
5.6.2 Nimbus logs activity on its systems for security and continuity purposes,
in a proportionate manner, with prior notice and in accordance with data
protection law. The content of personal communications is not monitored.
## 6. Exceptions · 7. Breach
Exceptions are requested from the CTO through the exceptions register (maximum
validity 90 days and a compensating measure mandatory). Breaches will be analysed
in accordance with POL-10 and disciplinary consequences will be applied under
current employment legislation and the applicable collective agreement.
Voluntarily reporting one's own mistake early — including having clicked a link —
will NEVER be a ground for sanction; concealing it may well be.Two statements deserve comment because they run against many people's instincts. 5.3.1 ("over-reporting will never be held against anyone") and the closing paragraph of section 7 are not woolly kindness: they are incentive design, because a policy that punishes the click makes people hide the click, and hiding it multiplies the time to detect, the variable that most determines the harm (02-06). And 5.6.2 exists because a policy that affects employees' privacy without saying what is logged and why is, as well as unfair, legally fragile.
Validation note. The sections on personal use, monitoring, the disciplinary regime and the right to disconnect have employment-law and data protection implications that vary with the applicable collective agreement and legislation, and in many cases require prior information to staff or consultation with employee representatives. Before approving POL-04, review it with employment law advisers and with the compliance lead or the Data Protection Officer. The regulatory detail is covered in 06-03.
- The life cycle of a policy
flowchart TB
N["1. NEED\nA risk from the register (04-01),\nan incident or a customer requirement"]
N --> B["2. DRAFTING\nDraft using the template, traceable to the risk"]
B --> C["3. CONSULTATION\nReview with the people who will have to comply.\nThis is where the impossible rule is spotted"]
C --> A["4. APPROVAL\nManagement or CTO depending on level. Date and signature"]
A --> P["5. PUBLICATION\nOne single location. Current version identifiable"]
P --> CO["6. COMMUNICATION\nAnnouncement + explanation of the WHY"]
CO --> AC["7. ACCEPTANCE\nNamed record of reading and acceptance,\nalso at every onboarding"]
AC --> F["8. TRAINING - Only what changes behaviour (06-05)"]
F --> M["9. MEASUREMENT - Compliance and open exceptions (04-03)"]
M --> R["10. REVIEW - Annual or on a trigger"]
R -->|"changes"| B
R -->|"no changes"| P
The three steps almost everyone skips, and which decide whether the policy is any use. Consultation (3): showing the draft to Lucía, Iván, Rubén and Sara before approving it is what catches the statement nobody can comply with; if Rubén says "with that rule I can't help a customer who has lost their access", it has to be fixed beforehand, not after he invents his own workaround. Communicating the why (6): publishing in a shared folder is not communicating; the version that works is a 20-minute meeting where you explain which risk each rule treats, with the 02-06 case as the argument. And recorded acceptance (7), without which there is no enforceability, repeated at every onboarding and at every major version.
One operational detail that saves a lot of noise: the policy lives in a single place with a visible version, because when three PDFs coexist in three folders, the one people comply with is the oldest, which is the one they downloaded.
- Exceptions: request, approval and mandatory expiry
An exception is the formal acknowledgement that, in one specific case, a rule is not going to be complied with, and it is essential that the route exists: the alternative to a documented exception is not compliance, it is silent non-compliance. Its four non-negotiable requirements are a business justification, a compensating measure, approval at the right level and an expiry, the last of which is the key one, because an exception with no end date is simply a different policy that nobody approved.
# nimbus-exceptions-register.yaml
- id: EXC-2026-004
policy: POL-02
statement_excepted: "5.4.2 - ban on permanent administrative access for third parties"
requester: Lucia
justification: "The cluster migration requires unplanned interventions by the
consultancy during the migration window."
related_risk: R-01
residual_risk_with_exception: {l: 4, i: 5, level: 20, band: Critical}
compensation:
- "Named accounts per engineer, not shared, with mandatory MFA"
- "Session recording and daily review by Lucia"
- "Immediate alert on any access outside the 08:00-20:00 window"
approved_by: Management
approval_date: 2026-03-02
expires: 2026-04-15 # 6 weeks: the duration of the migration
status: Active
on_expiry: "Automatic revocation. Renewal only with a fresh approval."
- id: EXC-2025-011 # EXAMPLE OF WHAT MUST NOT HAPPEN
policy: POL-02
statement_excepted: "5.4.2 - permanent administrative access for third parties"
requester: "Systems consultancy"
justification: "Needed in order to provide 24x7 support"
compensation: [] # none
approved_by: "(no record)"
approval_date: 2023-09-01
expires: null # NO EXPIRY
status: "Active by omission"The second entry is the origin of the incident in 02-06. There was no decision to run a risk: there was a reasonable operational concession in 2023 — "give them access so they can help out overnight" — that nobody ever looked at again, with no compensating measure, no identifiable approver and no end date. Compare it with EXC-2026-004: the same exception against the same statement, but with named accounts, MFA, session recording, an out-of-window alert, management approval and six weeks of validity. The difference is not technical: it is documentary, and it is exactly the value this lesson adds.
Four rules for managing the register: a monthly review of those about to expire; automatic renewal is prohibited (renewing requires redoing the justification); if an exception has been renewed three times the problem is the policy and the policy has to change; and open exceptions are counted as a health indicator, because a register with 30 active exceptions describes a policy the organisation cannot comply with.
- Why policies fail
| Cause of failure | Recognisable symptom | Correction |
|---|---|---|
| Copied from a generic template | It mentions systems or departments Nimbus does not have | Rewrite from your own risk register |
| Impossible to comply with | Everybody has their own well-known workaround | Consult before approving; adjust the statement to reality |
| Not communicated | "Do we have a policy on that?" | Communication explaining the why + recorded acceptance |
| No owner | Nobody knows who updates it; version is 3 years old | A named owner and the review in the calendar |
| No consequences | It is openly breached and nothing happens | A breach regime applied proportionately |
| Too long or contradictory | 40 pages nobody has read; two documents that say different things | 1-3 pages per policy, the detail in the standard, and a cross-review before publishing |
And above all of them, the criterion that sums up the lesson: a policy nobody can comply with makes security worse. It does not leave it unchanged: it makes it worse, in three ways. It normalises non-compliance, because when a rule is breached daily with no consequence, every other rule loses its authority. It hides the real risk, because on paper it is treated and in practice it is not, and the risk register from 04-01 becomes false. And it destroys trust in the document system, so the next policy, which may genuinely have been important, is stillborn. That is why, when torn between an ambitious statement nobody will comply with and a modest one everybody will, write the modest one and raise it next year.
- Policies and compliance frameworks: the bridge only
Policies are not written in a vacuum: the frameworks you saw in 02-01 expect to find them, and under fairly specific names.
| Framework | What it expects regarding policies |
|---|---|
| ISO/IEC 27001 | A policy approved by management is an explicit requirement; Annex A mentions specific topic-level policies |
| NIST CSF 2.0 | The Govern function, added in version 2.0, includes organisational policy as an expected outcome |
| CIS Controls v8 | Many IG1 safeguards begin with "establish and maintain…", which is a policy or a documented standard |
| GDPR and customers | The GDPR does not require "policies" by that name, but it does require demonstrable measures; and a large customer will ask for your policy before signing, often before any technical detail |
That is the whole of the bridge that belongs in this lesson: the detail of the frameworks and of certification is the subject of 06-02, and how effective compliance is audited belongs to 06-04.
Common Mistakes and Tips
- Writing the policy before you have the risk register. What comes out is a generic document that protects nothing in particular. Tip: every policy starts by citing the risks it treats; if you cannot cite any, do not write it yet. And do not put technical parameters in the policy: every change to a number would force a fresh approval, and "12 characters, FIDO2, 8-hour session" lives in the standard.
- Using "MUST" and "SHOULD" at random. If everything is "SHOULD", nothing is mandatory; if everything is "MUST", the policy cannot be complied with. Tip: go through the document marking every normative verb and ask yourself whether you are prepared to audit it. And do not approve without consulting the people who will have to comply: it is the number one cause of ornamental policies, and the consultation round takes a week and saves a year of silent non-compliance.
- Having no exception route, or having one with no expiry. Without a formal exception people breach the rule in silence; with exceptions that have no date you reproduce the very mistake that produced the 02-06 incident. Tip: publish the exceptions register at the same time as the policy, with
expiresas a mandatory field. - Confusing publishing with communicating, and not versioning. A shared folder trains nobody, and when several copies coexist it is the oldest one that gets complied with. Tip: 20 minutes explaining the why, a single location and a visible version in the header.
Exercises
Exercise 1 — Classify by document level
Classify each statement as a policy, standard, procedure or guideline, and correct it if it is badly worded for its level:
- "Backups will run at 03:00 using the
backup.shscript held in/opt/nimbus/bin." - "Nimbus's information must be protected in accordance with its classification throughout its life cycle."
- "Full backups will be retained for 90 days and incremental backups for 30, with at least one immutable copy outside the production account."
- "It is advisable to check the backup alert e-mail each morning before starting."
- "Employees should use passwords of at least 12 characters where possible."
Exercise 2 — Draft a traceable normative statement
Risk R-06 in the 04-01 register says that an attacker who finds credentials in clear text escalates to the A-05 cloud account. Draft three normative statements for POL-07 (Secure Development) that treat that risk, at the right level and in normative language. For each one, state: which standard or procedure would develop it, what evidence would demonstrate compliance, and one legitimate possible exception with its compensating measure.
Exercise 3 — Audit an exception
You are presented with this request:
- id: EXC-2026-009
policy: POL-04
statement_excepted: "5.4.2 - ban on copying production data"
requester: Ivan
justification: "I need real data to reproduce a customer bug"
compensation: [] # approved_by: Ivan | expires: null | status: ActiveIdentify everything that is wrong with it, decide whether you would approve it and on what conditions, and propose an alternative that solves Iván's problem without needing the exception at all.
Solutions
Exercise 1
- Procedure, well worded: it contains a time, a tool and a path, so it changes with the infrastructure.
- Policy, correct: it states the what and the why with no parameters, and it will outlive any technical change.
- Standard, correct: specific numbers, mandatory and auditable — you can check whether or not there is an immutable copy outside the account.
- Guideline ("it is advisable" = not mandatory). Correct for its level, although it is worth asking whether checking the backup alert ought not to be mandatory: if it should, it has to be rewritten as a standard with a "MUST".
- Badly worded in two ways: "should" and "where possible" make it unenforceable, and at the same time it contains a parameter (12 characters) that belongs in the standard. Correction: in the policy, "Access to systems MUST be authenticated with strong credentials in accordance with the Authentication Standard"; in the standard, "Minimum length 12 characters; mandatory check against breached-password lists".
Exercise 2
| Statement (POL-07) | Developed by | Evidence | Legitimate exception |
|---|---|---|---|
| "7.1 Application secrets MUST NOT be incorporated into source code, into version-controlled files or into environment variables defined in the repository; they MUST be obtained at runtime from the corporate secrets manager." | NOR-05 (what a secret is, which manager) + PR-DEV-04 (how one is registered) | The output of the secret scanner on every CI run, with zero findings, retained for 12 months | A legacy system that cannot read from the manager. Compensation: a dedicated least-privilege credential, monthly rotation, an alert if it is used from an unexpected IP, and a retirement date for the system |
| "7.2 Every merge of code into the main branch MUST pass an automated analysis for secrets and for vulnerable dependencies, and a failure will block the merge." | PR-DEV-02 (pipeline configuration) | The CI record showing the check enforced; the history of blocked merges | A critical production incident outside working hours. Compensation: CTO approval, the analysis run retrospectively within 24 h and the bypass recorded |
| "7.3 Every credential that is exposed, or suspected of being exposed, MUST be rotated within a maximum of 4 hours from its detection and notified in accordance with POL-10." | PR-INC-03 (emergency rotation) | The incident log with the timestamp of detection and of rotation | None that is reasonable. If rotation is not possible within 4 h, the problem is architectural and is treated as a risk, not as an exception |
Notice that all three statements are policy level because none of them contains any parameter that will change with the tool — except the 4-hour deadline in 7.3, which is a deliberate risk decision and is therefore accepted at this level.
Exercise 3
What is wrong: (a) the requester approves his own request, which destroys separation of duties (01-03); (b) there is no compensating measure; (c) there is no expiry, so the exception is permanent by omission, exactly like the consultancy's in 2023; (d) the justification bounds nothing — it does not say what data, from which customer, where it is copied to or when it is destroyed; (e) it cites neither the related risk nor the residual risk; and (f), most seriously, it probably cannot be granted at all, because copying data that reveals health information into a development environment has data protection implications that go well beyond an internal exception.
Would you approve it? Not in that form. If there were no alternative, the minimum acceptable version would be: approval by Marta and not by Iván; scope limited to a single customer and with that customer's knowledge; a pseudonymised copy (03-07) with the clinical notes removed, not decrypted; an isolated environment with the same controls as production; a 7-day expiry with verified deletion; and access recorded.
The alternative that removes the exception — and which is the right answer — is to attack the cause: generate a synthetic data set that reproduces the volume and shape of the real data without containing any of it, or an automated anonymisation procedure that produces the pre-production copy with no personal data. It costs more the first time and removes the exception for good. Remember that in the 01-04 inventory the pre-production environment (A-22) appears with a classification of "to be reviewed" precisely because nobody was sure whether it contained real data: this exercise is that doubt made flesh.
Conclusion
You have delivered on the promise module 3 left open and that 04-01 reinforced: a policy is the mechanism by which a decision outlives whoever took it. It provides what no other artefact does — persistence, uniformity, enforceability, delegation and demonstrability — and a rule that is neither written down nor communicated is not a rule, it is a preference. You have the document hierarchy precisely: the policy says what and why and is approved by management; the standard says what is mandatory and measurable, and that is where the parameters go; the procedure says how, step by step, and changes with the tool; the guideline recommends and does not oblige. You have watched a single topic — passwords and MFA — travel all four levels, with the table that explains the practical reason for the whole system: each level changes at its own frequency and is approved by the right person.
You have the full anatomy of a policy and its reusable template, with the three sections everyone leaves out: the purpose traced to the risk, what is expressly out of scope, and the exception route. You have the minimum set of eleven policies for an SME with its priority order derived from the risk register, and two of them written out in full: the Access Control Policy, whose section 5.4 kills off one by one the four failures in the consultancy's access in 02-06, and the Acceptable Use Policy, where incentive design — reporting is never held against you, concealing is — matters as much as the rules.
You know the life cycle of a policy with the three steps that decide whether it is any use: the prior consultation that catches what cannot be complied with, the communication of the why that is not publishing to a folder, and the recorded acceptance without which there is no enforceability. And you take away the artefact that prevents the most damage: the exceptions register, with its four non-negotiable requirements — justification, compensating measure, approval at the right level and expiry — illustrated by the comparison between a well-made six-week exception and the undated 2023 exception that is the origin of the incident in 02-06. The lesson closes with the criterion that sums it up: a policy nobody can comply with makes security worse, because it normalises non-compliance, hides the real risk and leaves the next policy stillborn.
But look at what you have written. POL-02 says third-party access "must be named, with MFA and just-in-time"; POL-04 says devices "must keep disk encryption active". Those are statements of intent until something makes them true: somebody has to configure the MFA, verify that all 40 laptops really are encrypted, check it periodically and leave evidence that they checked. That "something" has a name and it is the third vertex of the triangle. In the next lesson, Security Controls (04-03), you will close the risk → policy → control triangle: the two classifications you have to master — by nature and by function — why every relevant risk needs controls from more than one function, the CIS v8 and ISO 27002 reference catalogues, how a control is selected by counting its recurring operational load, Nimbus's control catalogue as an artefact, the difference between an implemented control and an effective one, the metrics that measure it and the traceability matrix that saves an audit.
Fundamentals of Information Security Course
Module 1: Introduction to Information Security
- Basic Concepts of Information Security
- Types of Threats and Vulnerabilities
- Principles of Information Security
- Assets, Attack Surface and Threat Actors
Module 2: Cybersecurity
- Definition and Scope of Cybersecurity
- Types of Cyber Attacks
- Social Engineering and Phishing
- Protection Measures in Cybersecurity
- Identity, Authentication and Access Control
- Cybersecurity Incident Case Studies
Module 3: Cryptography
- Introduction to Cryptography
- Symmetric Cryptography
- Asymmetric Cryptography
- Hash Functions, HMAC and Password Storage
- Cryptographic Protocols
- Key Management, Certificates and PKI
- Applications of Cryptography
Module 4: Risk Management and Protection Measures
- Risk Assessment
- Security Policies
- Security Controls
- Third-Party and Supply Chain Risk
- Incident Response Plan
- Disaster Recovery and Business Continuity
Module 5: Security Tools and Techniques
- Vulnerability Analysis Tools
- Monitoring and Detection Techniques
- Penetration Testing
- Network Security
- Application Security
- System Hardening and Endpoint Security
- Cloud and Container Security
Module 6: Best Practices and Regulations
- Best Practices in Information Security
- Security Regulations and Standards
- Personal Data Protection and GDPR in Practice
- Compliance and Auditing
- Training and Awareness
- Ethics, Legal Aspects and Responsible Disclosure
