@open-agreements/open-agreements 0.2.0 → 0.2.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +10 -2
- package/content/templates/closing-checklist/metadata.yaml +6 -13
- package/content/templates/closing-checklist/template.docx +0 -0
- package/dist/cli/index.d.ts.map +1 -1
- package/dist/cli/index.js +47 -10
- package/dist/cli/index.js.map +1 -1
- package/dist/commands/checklist.d.ts +21 -1
- package/dist/commands/checklist.d.ts.map +1 -1
- package/dist/commands/checklist.js +175 -44
- package/dist/commands/checklist.js.map +1 -1
- package/dist/commands/recipe.js +3 -11
- package/dist/commands/recipe.js.map +1 -1
- package/dist/core/checklist/index.d.ts +22 -14
- package/dist/core/checklist/index.d.ts.map +1 -1
- package/dist/core/checklist/index.js +79 -39
- package/dist/core/checklist/index.js.map +1 -1
- package/dist/core/checklist/jsonl-stores.d.ts +3 -0
- package/dist/core/checklist/jsonl-stores.d.ts.map +1 -0
- package/dist/core/checklist/jsonl-stores.js +16 -0
- package/dist/core/checklist/jsonl-stores.js.map +1 -0
- package/dist/core/checklist/schemas.d.ts +2 -2
- package/dist/core/checklist/schemas.js +1 -1
- package/dist/core/checklist/schemas.js.map +1 -1
- package/dist/core/checklist/state-manager.d.ts +146 -0
- package/dist/core/checklist/state-manager.d.ts.map +1 -0
- package/dist/core/checklist/state-manager.js +147 -0
- package/dist/core/checklist/state-manager.js.map +1 -0
- package/dist/core/checklist/status-labels.d.ts +6 -0
- package/dist/core/checklist/status-labels.d.ts.map +1 -0
- package/dist/core/checklist/status-labels.js +29 -0
- package/dist/core/checklist/status-labels.js.map +1 -0
- package/dist/core/validation/recipe.d.ts.map +1 -1
- package/dist/core/validation/recipe.js +47 -61
- package/dist/core/validation/recipe.js.map +1 -1
- package/package.json +1 -1
- package/skills/cloud-service-agreement/SKILL.md +9 -0
- package/skills/data-privacy-agreement/SKILL.md +9 -0
- package/skills/edit-docx-agreement/CONNECTORS.md +20 -0
- package/skills/edit-docx-agreement/SKILL.md +77 -0
- package/skills/employment-contract/SKILL.md +9 -0
- package/skills/iso-27001-evidence-collection/CONNECTORS.md +23 -0
- package/skills/iso-27001-evidence-collection/SKILL.md +300 -0
- package/skills/iso-27001-evidence-collection/rules/api-exports.md +191 -0
- package/skills/iso-27001-evidence-collection/rules/evidence-types.md +107 -0
- package/skills/iso-27001-evidence-collection/rules/screenshot-guide.md +77 -0
- package/skills/iso-27001-internal-audit/CONNECTORS.md +23 -0
- package/skills/iso-27001-internal-audit/SKILL.md +272 -0
- package/skills/iso-27001-internal-audit/rules/access-control.md +191 -0
- package/skills/iso-27001-internal-audit/rules/business-continuity.md +94 -0
- package/skills/iso-27001-internal-audit/rules/change-management.md +211 -0
- package/skills/iso-27001-internal-audit/rules/encryption.md +93 -0
- package/skills/iso-27001-internal-audit/rules/incident-response.md +127 -0
- package/skills/iso-27001-internal-audit/rules/isms-management.md +164 -0
- package/skills/iso-27001-internal-audit/rules/logging-monitoring.md +96 -0
- package/skills/iso-27001-internal-audit/rules/people-controls.md +161 -0
- package/skills/iso-27001-internal-audit/rules/supplier-management.md +92 -0
- package/skills/nda/SKILL.md +9 -0
- package/skills/open-agreements/SKILL.md +9 -0
- package/skills/safe/SKILL.md +9 -0
- package/skills/services-agreement/SKILL.md +9 -0
- package/skills/soc2-readiness/CONNECTORS.md +23 -0
- package/skills/soc2-readiness/SKILL.md +289 -0
- package/skills/soc2-readiness/rules/trust-services.md +230 -0
- package/skills/venture-financing/SKILL.md +9 -0
|
@@ -0,0 +1,211 @@
|
|
|
1
|
+
# Change Management Rules
|
|
2
|
+
|
|
3
|
+
Per-control audit guidance for SDLC, configuration management, and change control.
|
|
4
|
+
|
|
5
|
+
## A.8.25 — Secure Development Lifecycle
|
|
6
|
+
|
|
7
|
+
**Tier**: Critical | **NIST**: SA-3, SA-8
|
|
8
|
+
|
|
9
|
+
Establish rules for secure development of software and systems. Apply security requirements throughout the SDLC — design, development, testing, deployment, and maintenance.
|
|
10
|
+
|
|
11
|
+
**Auditor hints**:
|
|
12
|
+
- Auditors want to see SDLC DOCUMENTED, not just practiced informally
|
|
13
|
+
- They'll check: threat modeling (even lightweight), secure coding guidelines, pre-deployment security checks
|
|
14
|
+
- For startups: a documented PR review checklist that includes security considerations is sufficient
|
|
15
|
+
- "We do code review" is not enough — show that security is part of the review criteria
|
|
16
|
+
|
|
17
|
+
**Evidence collection**:
|
|
18
|
+
```bash
|
|
19
|
+
# GitHub: branch protection requires reviews
|
|
20
|
+
gh api repos/{owner}/{repo}/branches/{branch}/protection | jq '{
|
|
21
|
+
required_pull_request_reviews: .required_pull_request_reviews.required_approving_review_count,
|
|
22
|
+
enforce_admins: .enforce_admins.enabled,
|
|
23
|
+
required_status_checks: .required_status_checks.contexts
|
|
24
|
+
}'
|
|
25
|
+
|
|
26
|
+
# GitHub: recent PRs showing review process
|
|
27
|
+
gh pr list --state merged --limit 10 --json number,title,reviewDecision,mergedAt
|
|
28
|
+
```
|
|
29
|
+
|
|
30
|
+
---
|
|
31
|
+
|
|
32
|
+
## A.8.26 — Application Security Requirements
|
|
33
|
+
|
|
34
|
+
**Tier**: Relevant | **NIST**: SA-3
|
|
35
|
+
|
|
36
|
+
Define and document security requirements for applications, including authentication, authorization, input validation, and data protection requirements.
|
|
37
|
+
|
|
38
|
+
**Auditor hints**:
|
|
39
|
+
- Auditors check if security requirements are captured BEFORE development, not added after
|
|
40
|
+
- For web apps: OWASP Top 10 coverage is expected
|
|
41
|
+
- API security requirements should address authentication, rate limiting, and input validation
|
|
42
|
+
- If you use third-party libraries, security requirements should cover dependency management
|
|
43
|
+
|
|
44
|
+
---
|
|
45
|
+
|
|
46
|
+
## A.8.27 — Secure System Architecture and Engineering Principles
|
|
47
|
+
|
|
48
|
+
**Tier**: Checkbox | **NIST**: SA-8
|
|
49
|
+
|
|
50
|
+
Apply secure engineering principles to system architecture. Design systems with defense in depth, least privilege, and fail-secure defaults.
|
|
51
|
+
|
|
52
|
+
**Auditor hints**:
|
|
53
|
+
- Auditors look for architecture documentation that shows security considerations
|
|
54
|
+
- Network segmentation (or VPC design) is the most common check
|
|
55
|
+
- Zero trust principles are increasingly expected but not yet required
|
|
56
|
+
- For cloud: show that environments are isolated (dev/staging/prod separation)
|
|
57
|
+
|
|
58
|
+
---
|
|
59
|
+
|
|
60
|
+
## A.8.28 — Secure Coding
|
|
61
|
+
|
|
62
|
+
**Tier**: Relevant | **NIST**: SI-10, SI-11
|
|
63
|
+
|
|
64
|
+
Apply secure coding practices to minimize vulnerabilities. Address input validation, output encoding, error handling, and cryptographic usage in code.
|
|
65
|
+
|
|
66
|
+
**Auditor hints**:
|
|
67
|
+
- Auditors may review a recent security-relevant code change to verify practices
|
|
68
|
+
- SAST (static analysis) tool usage is strong evidence — even a free tool like Semgrep or CodeQL
|
|
69
|
+
- Dependency scanning (Dependabot, Snyk) counts as part of secure coding
|
|
70
|
+
- Error messages should not leak internal details (stack traces, SQL queries, file paths)
|
|
71
|
+
|
|
72
|
+
**Evidence collection**:
|
|
73
|
+
```bash
|
|
74
|
+
# GitHub: code scanning alerts (CodeQL/SAST)
|
|
75
|
+
gh api repos/{owner}/{repo}/code-scanning/alerts --paginate | jq 'length'
|
|
76
|
+
|
|
77
|
+
# GitHub: Dependabot alerts
|
|
78
|
+
gh api repos/{owner}/{repo}/dependabot/alerts?state=open | jq 'length'
|
|
79
|
+
```
|
|
80
|
+
|
|
81
|
+
---
|
|
82
|
+
|
|
83
|
+
## A.8.29 — Security Testing in Development and Acceptance
|
|
84
|
+
|
|
85
|
+
**Tier**: Checkbox | **NIST**: SA-11
|
|
86
|
+
|
|
87
|
+
Define and implement security testing processes during development and before production deployment. This includes functional security testing, vulnerability scanning, and penetration testing.
|
|
88
|
+
|
|
89
|
+
**Auditor hints**:
|
|
90
|
+
- Annual penetration test is expected for SOC 2 and increasingly for ISO
|
|
91
|
+
- For startups: automated security scanning in CI/CD is acceptable evidence between annual pentests
|
|
92
|
+
- Acceptance testing should include security test cases, not just functional tests
|
|
93
|
+
- Bug bounty programs count as continuous security testing
|
|
94
|
+
|
|
95
|
+
---
|
|
96
|
+
|
|
97
|
+
## A.8.30 — Outsourced Development
|
|
98
|
+
|
|
99
|
+
**Tier**: Checkbox | **NIST**: SR-5
|
|
100
|
+
|
|
101
|
+
When development is outsourced, define and enforce security requirements with the external party. Monitor compliance and ensure secure handover.
|
|
102
|
+
|
|
103
|
+
**Auditor hints**:
|
|
104
|
+
- If you use contractors for development, auditors check: NDAs, access provisioning/deprovisioning, code ownership
|
|
105
|
+
- Contractor access should be time-limited and revoked at contract end
|
|
106
|
+
- Code review requirements should apply equally to internal and external developers
|
|
107
|
+
|
|
108
|
+
---
|
|
109
|
+
|
|
110
|
+
## A.8.31 — Separation of Development, Test, and Production Environments
|
|
111
|
+
|
|
112
|
+
**Tier**: Checkbox | **NIST**: SA-3
|
|
113
|
+
|
|
114
|
+
Separate development, testing, and production environments to reduce the risk of unauthorized access or changes to production systems.
|
|
115
|
+
|
|
116
|
+
**Auditor hints**:
|
|
117
|
+
- Auditors check: can a developer push directly to production? Is prod data used in dev?
|
|
118
|
+
- Environment separation means: different accounts/projects/subscriptions, not just different folders
|
|
119
|
+
- Database access: dev should NOT have production database credentials
|
|
120
|
+
- CI/CD pipeline should be the ONLY path to production
|
|
121
|
+
|
|
122
|
+
**Evidence collection**:
|
|
123
|
+
```bash
|
|
124
|
+
# GCP: list projects (should show separate dev/staging/prod)
|
|
125
|
+
gcloud projects list --format="json(projectId,name)"
|
|
126
|
+
|
|
127
|
+
# Azure: list subscriptions
|
|
128
|
+
az account list --output json | jq '.[].{name, id, state}'
|
|
129
|
+
```
|
|
130
|
+
|
|
131
|
+
---
|
|
132
|
+
|
|
133
|
+
## A.8.32 — Change Management
|
|
134
|
+
|
|
135
|
+
**Tier**: Critical | **NIST**: CM-3, SA-10
|
|
136
|
+
|
|
137
|
+
Manage changes to information processing facilities and systems through a formal change management process. Changes should be requested, assessed, approved, implemented, and reviewed.
|
|
138
|
+
|
|
139
|
+
**Auditor hints**:
|
|
140
|
+
- Auditors want to see a CHANGE RECORD for every production change — git history is excellent evidence
|
|
141
|
+
- They'll sample 5-10 recent changes and check: was there a request, review, approval, and implementation record?
|
|
142
|
+
- Emergency changes ("hotfixes") must have retroactive review — skipping the process is acceptable if documented
|
|
143
|
+
- Rollback capability should exist — auditors may ask "what happens if this change fails?"
|
|
144
|
+
|
|
145
|
+
**Evidence collection**:
|
|
146
|
+
```bash
|
|
147
|
+
# GitHub: recent merged PRs (change records)
|
|
148
|
+
gh pr list --state merged --limit 20 --json number,title,author,reviewDecision,mergedAt,mergedBy
|
|
149
|
+
|
|
150
|
+
# GitHub: branch protection (prevents unreviewed changes)
|
|
151
|
+
gh api repos/{owner}/{repo}/branches/main/protection | jq '{
|
|
152
|
+
required_reviews: .required_pull_request_reviews.required_approving_review_count,
|
|
153
|
+
dismiss_stale_reviews: .required_pull_request_reviews.dismiss_stale_reviews
|
|
154
|
+
}'
|
|
155
|
+
|
|
156
|
+
# GitHub: deployment history
|
|
157
|
+
gh api repos/{owner}/{repo}/deployments --paginate | jq '.[0:10] | .[] | {environment, created_at, sha: .sha[0:8]}'
|
|
158
|
+
```
|
|
159
|
+
|
|
160
|
+
---
|
|
161
|
+
|
|
162
|
+
## A.8.33 — Test Information
|
|
163
|
+
|
|
164
|
+
**Tier**: Checkbox | **NIST**: SA-11
|
|
165
|
+
|
|
166
|
+
Ensure test data is adequately protected, especially when production data is used for testing. Anonymize or mask production data before use in non-production environments.
|
|
167
|
+
|
|
168
|
+
**Auditor hints**:
|
|
169
|
+
- If you use production data for testing, it must be masked — this is where many startups fail
|
|
170
|
+
- Synthetic test data is always preferred
|
|
171
|
+
- Test databases should have the same access controls as the environment warrants
|
|
172
|
+
- Automated tests should not contain hardcoded credentials or real PII
|
|
173
|
+
|
|
174
|
+
---
|
|
175
|
+
|
|
176
|
+
## A.8.34 — Protection of Information Systems During Audit Testing
|
|
177
|
+
|
|
178
|
+
**Tier**: Checkbox | **NIST**: CA-2
|
|
179
|
+
|
|
180
|
+
Protect production systems from disruption during audit testing. Audit activities (vulnerability scans, penetration tests) should be planned and authorized to minimize business impact.
|
|
181
|
+
|
|
182
|
+
**Auditor hints**:
|
|
183
|
+
- Auditors check that THEIR OWN testing is authorized and scoped — they'll ask you to sign off on the test plan
|
|
184
|
+
- Penetration tests should have written authorization (Rules of Engagement document)
|
|
185
|
+
- Vulnerability scans on production should be scheduled during low-traffic periods
|
|
186
|
+
|
|
187
|
+
---
|
|
188
|
+
|
|
189
|
+
## A.8.9 — Configuration Management
|
|
190
|
+
|
|
191
|
+
**Tier**: Critical | **NIST**: CM-1, CM-2, CM-3, CM-4, CM-6, CM-7, SA-10, SI-7
|
|
192
|
+
|
|
193
|
+
Define, document, and maintain secure configurations for hardware, software, and network components. Establish baselines and monitor for drift.
|
|
194
|
+
|
|
195
|
+
**Auditor hints**:
|
|
196
|
+
- Auditors want to see BASELINE CONFIGURATIONS — what is the "known good" state of your systems?
|
|
197
|
+
- For cloud: Infrastructure as Code (Terraform, CloudFormation) IS your configuration baseline
|
|
198
|
+
- Configuration drift detection is increasingly expected — even a weekly diff of IaC vs. deployed state
|
|
199
|
+
- Container images should be built from documented base images with pinned versions
|
|
200
|
+
|
|
201
|
+
**Evidence collection**:
|
|
202
|
+
```bash
|
|
203
|
+
# Terraform: show current state
|
|
204
|
+
terraform state list | head -20
|
|
205
|
+
|
|
206
|
+
# GCP: export compute instance configurations
|
|
207
|
+
gcloud compute instances list --format=json | jq '.[] | {name, machineType, status}'
|
|
208
|
+
|
|
209
|
+
# Docker: list base images
|
|
210
|
+
docker image ls --format "table {{.Repository}}\t{{.Tag}}\t{{.Size}}"
|
|
211
|
+
```
|
|
@@ -0,0 +1,93 @@
|
|
|
1
|
+
# Encryption Rules
|
|
2
|
+
|
|
3
|
+
Per-control audit guidance for cryptographic controls.
|
|
4
|
+
|
|
5
|
+
## A.8.24 — Use of Cryptography
|
|
6
|
+
|
|
7
|
+
**Tier**: Critical | **NIST**: SC-8, SC-12, SC-13, SC-17, SC-28
|
|
8
|
+
|
|
9
|
+
Define and implement rules for cryptographic controls including key management. Use cryptography to protect data confidentiality, integrity, and authenticity — both in transit and at rest.
|
|
10
|
+
|
|
11
|
+
**Auditor hints**:
|
|
12
|
+
- Auditors check TWO things: (1) is encryption enabled, (2) is key management documented
|
|
13
|
+
- "Encryption at rest" must cover databases, backups, AND local storage (laptops)
|
|
14
|
+
- "Encryption in transit" means TLS 1.2+ for all external connections — auditors will check with `openssl s_client`
|
|
15
|
+
- Key rotation policy must exist even if rotation is automated — document the cadence
|
|
16
|
+
- Deprecated algorithms are findings: MD5, SHA-1, DES, 3DES, RC4, TLS 1.0/1.1
|
|
17
|
+
|
|
18
|
+
**Evidence collection**:
|
|
19
|
+
```bash
|
|
20
|
+
# Check TLS configuration on a domain
|
|
21
|
+
openssl s_client -connect example.com:443 -tls1_2 < /dev/null 2>&1 | grep -E "Protocol|Cipher"
|
|
22
|
+
|
|
23
|
+
# GCP: check encryption at rest (default is Google-managed keys)
|
|
24
|
+
gcloud sql instances describe {instance} --format="json(settings.ipConfiguration,settings.dataDiskEncryptionConfiguration)"
|
|
25
|
+
|
|
26
|
+
# Azure: check encryption at rest
|
|
27
|
+
az storage account show --name {account} --query "encryption" --output json
|
|
28
|
+
|
|
29
|
+
# GitHub: check for secrets in repos (Dependabot/secret scanning)
|
|
30
|
+
gh api repos/{owner}/{repo}/secret-scanning/alerts --paginate | jq 'length'
|
|
31
|
+
|
|
32
|
+
# macOS FileVault status
|
|
33
|
+
fdesetup status
|
|
34
|
+
```
|
|
35
|
+
|
|
36
|
+
**Startup pitfalls**:
|
|
37
|
+
- Using default cloud encryption (fine) but not documenting the key management approach
|
|
38
|
+
- Storing API keys/secrets in code repositories — use vault/secrets manager
|
|
39
|
+
- No certificate inventory — TLS certs expire and cause outages
|
|
40
|
+
- Assuming HTTPS means all traffic is encrypted — internal service-to-service traffic may not use TLS
|
|
41
|
+
|
|
42
|
+
---
|
|
43
|
+
|
|
44
|
+
## A.8.10 — Information Deletion
|
|
45
|
+
|
|
46
|
+
**Tier**: Relevant | **NIST**: SC-28
|
|
47
|
+
|
|
48
|
+
Delete information when no longer needed, in accordance with the retention policy. Deletion should be verifiable and cover all copies (backups, replicas, caches).
|
|
49
|
+
|
|
50
|
+
**Auditor hints**:
|
|
51
|
+
- Auditors check the DATA RETENTION SCHEDULE and verify it's being followed
|
|
52
|
+
- "We keep everything forever" is technically compliant but a GDPR risk if you handle PII
|
|
53
|
+
- Backup retention is often overlooked — if backups contain deleted data, the deletion isn't complete
|
|
54
|
+
- Soft-delete vs. hard-delete: auditors want to know which you use and whether soft-deleted data is eventually purged
|
|
55
|
+
|
|
56
|
+
---
|
|
57
|
+
|
|
58
|
+
## A.8.11 — Data Masking
|
|
59
|
+
|
|
60
|
+
**Tier**: Relevant | **NIST**: SC-28
|
|
61
|
+
|
|
62
|
+
Use data masking techniques to limit exposure of sensitive data, especially in non-production environments. Masking should maintain data utility while preventing unauthorized access to actual values.
|
|
63
|
+
|
|
64
|
+
**Auditor hints**:
|
|
65
|
+
- The main question: "Does your staging/dev environment use production data?"
|
|
66
|
+
- If yes, is it masked/anonymized? If no, how do you generate test data?
|
|
67
|
+
- Masking must be irreversible for non-production — tokenization is acceptable if the token store is access-controlled
|
|
68
|
+
- Logs are a common masking gap — sensitive data in debug logs
|
|
69
|
+
|
|
70
|
+
---
|
|
71
|
+
|
|
72
|
+
## A.8.12 — Data Leakage Prevention
|
|
73
|
+
|
|
74
|
+
**Tier**: Relevant | **NIST**: MP-7
|
|
75
|
+
|
|
76
|
+
Apply measures to prevent unauthorized disclosure of information. Monitor for and block data exfiltration through email, web uploads, USB devices, and other channels.
|
|
77
|
+
|
|
78
|
+
**Auditor hints**:
|
|
79
|
+
- For startups, DLP usually means: email scanning for attachments with sensitive data, endpoint USB controls, and cloud storage access restrictions
|
|
80
|
+
- Auditors won't expect enterprise DLP software from a startup, but they will ask: "What prevents an employee from emailing the customer database?"
|
|
81
|
+
- GitHub is a DLP vector — check that repos are private by default and secret scanning is enabled
|
|
82
|
+
|
|
83
|
+
**Evidence collection**:
|
|
84
|
+
```bash
|
|
85
|
+
# GitHub: verify private-by-default repo setting
|
|
86
|
+
gh api orgs/{org} | jq '{default_repository_permission, members_can_create_public_repositories}'
|
|
87
|
+
|
|
88
|
+
# GitHub: secret scanning alerts
|
|
89
|
+
gh api orgs/{org}/secret-scanning/alerts --paginate | jq 'length'
|
|
90
|
+
|
|
91
|
+
# macOS: check if USB storage is restricted
|
|
92
|
+
profiles show -type configuration | grep -i "removable"
|
|
93
|
+
```
|
|
@@ -0,0 +1,127 @@
|
|
|
1
|
+
# Incident Response Rules
|
|
2
|
+
|
|
3
|
+
Per-control audit guidance for incident management lifecycle.
|
|
4
|
+
|
|
5
|
+
## A.5.24 — Incident Management Planning and Preparation
|
|
6
|
+
|
|
7
|
+
**Tier**: Critical | **NIST**: IR-1, IR-2, IR-3, IR-6, IR-8
|
|
8
|
+
|
|
9
|
+
Define and maintain an incident response plan that covers roles, communication procedures, escalation paths, and post-incident review processes. The plan should be tested regularly.
|
|
10
|
+
|
|
11
|
+
**Auditor hints**:
|
|
12
|
+
- Auditors check three things: (1) plan exists, (2) plan has been tested, (3) people know the plan
|
|
13
|
+
- A plan that hasn't been tested in > 12 months is a finding
|
|
14
|
+
- "Tested" means tabletop exercise at minimum — a full simulation is ideal but not required for startups
|
|
15
|
+
- The plan must include notification requirements (regulatory deadlines: GDPR 72 hours, etc.)
|
|
16
|
+
- Contact lists must be current — auditors will spot-check phone numbers
|
|
17
|
+
|
|
18
|
+
**Evidence collection**:
|
|
19
|
+
- Incident response plan document (with version date)
|
|
20
|
+
- Tabletop exercise records (date, participants, scenario, findings)
|
|
21
|
+
- Communication tree / contact list (with last-verified date)
|
|
22
|
+
- Training records showing IR training for relevant personnel
|
|
23
|
+
|
|
24
|
+
---
|
|
25
|
+
|
|
26
|
+
## A.5.25 — Assessment and Decision on Information Security Events
|
|
27
|
+
|
|
28
|
+
**Tier**: Critical | **NIST**: IR-4, IR-5, IR-8
|
|
29
|
+
|
|
30
|
+
Establish criteria for assessing whether security events are incidents, and define severity classification. Events should be triaged consistently using documented criteria.
|
|
31
|
+
|
|
32
|
+
**Auditor hints**:
|
|
33
|
+
- Auditors want to see a CLASSIFICATION SCHEME — not just "high/medium/low" but criteria for each level
|
|
34
|
+
- They'll ask: "Show me an event that was NOT classified as an incident" to verify triage works both ways
|
|
35
|
+
- The gap between "event" and "incident" is where findings hide — if everything is an incident, triage isn't working; if nothing is, detection isn't working
|
|
36
|
+
|
|
37
|
+
**Evidence collection**:
|
|
38
|
+
- Event classification criteria document
|
|
39
|
+
- Sample of security events with triage decisions
|
|
40
|
+
- Ticketing system export showing event-to-incident workflow
|
|
41
|
+
|
|
42
|
+
```bash
|
|
43
|
+
# GitHub security alerts (sample of events)
|
|
44
|
+
gh api repos/{owner}/{repo}/security-advisories --paginate | jq '.[0:5]'
|
|
45
|
+
|
|
46
|
+
# If using PagerDuty:
|
|
47
|
+
# curl -H "Authorization: Token token={api_key}" https://api.pagerduty.com/incidents?limit=10
|
|
48
|
+
```
|
|
49
|
+
|
|
50
|
+
---
|
|
51
|
+
|
|
52
|
+
## A.5.26 — Response to Information Security Incidents
|
|
53
|
+
|
|
54
|
+
**Tier**: Critical | **NIST**: IR-4, IR-6, IR-8, IR-9
|
|
55
|
+
|
|
56
|
+
Respond to incidents according to the documented plan. Contain the impact, preserve evidence, and communicate with stakeholders. Document all response actions.
|
|
57
|
+
|
|
58
|
+
**Auditor hints**:
|
|
59
|
+
- Auditors will review actual incident records, not just the plan
|
|
60
|
+
- They look for: timeline of response actions, evidence of containment, stakeholder notifications
|
|
61
|
+
- If there have been zero incidents in the audit period, they'll ask about NEAR-MISSES to verify the detection and response capability exists
|
|
62
|
+
- Post-incident review (lessons learned) is required — just closing the ticket isn't enough
|
|
63
|
+
|
|
64
|
+
**Evidence collection**:
|
|
65
|
+
- Incident tickets with full timeline
|
|
66
|
+
- Communication records (internal alerts, external notifications)
|
|
67
|
+
- Containment actions documented
|
|
68
|
+
- Post-incident review records
|
|
69
|
+
|
|
70
|
+
---
|
|
71
|
+
|
|
72
|
+
## A.5.27 — Learning from Information Security Incidents
|
|
73
|
+
|
|
74
|
+
**Tier**: Checkbox | **NIST**: IR-9
|
|
75
|
+
|
|
76
|
+
Use incident knowledge to strengthen controls, update procedures, and prevent recurrence. Feed lessons learned back into risk assessment and control improvements.
|
|
77
|
+
|
|
78
|
+
**Auditor hints**:
|
|
79
|
+
- This is about demonstrating a feedback loop — incident → root cause → corrective action → control update
|
|
80
|
+
- Auditors check: "After your last incident, what changed?" If nothing changed, it's a finding
|
|
81
|
+
- Maintain an incident register that tracks both the incident AND the resulting improvements
|
|
82
|
+
|
|
83
|
+
---
|
|
84
|
+
|
|
85
|
+
## A.5.28 — Collection of Evidence
|
|
86
|
+
|
|
87
|
+
**Tier**: Checkbox | **NIST**: IR-4
|
|
88
|
+
|
|
89
|
+
Establish procedures for collecting, preserving, and handling evidence related to security incidents, ensuring admissibility and chain of custody where legal proceedings may follow.
|
|
90
|
+
|
|
91
|
+
**Auditor hints**:
|
|
92
|
+
- Startups rarely need forensic-grade evidence preservation, but auditors check that logs aren't tampered with
|
|
93
|
+
- Key question: "If you had a breach, could you reconstruct what happened?" If logs rotate too fast or aren't centralized, the answer is no
|
|
94
|
+
- Immutable log storage (write-once) is best practice for audit trails
|
|
95
|
+
|
|
96
|
+
---
|
|
97
|
+
|
|
98
|
+
## A.5.29 — Information Security During Disruption
|
|
99
|
+
|
|
100
|
+
**Tier**: Checkbox | **NIST**: IR-4
|
|
101
|
+
|
|
102
|
+
Maintain information security controls during business disruptions. Security shouldn't be bypassed during incidents, outages, or DR scenarios.
|
|
103
|
+
|
|
104
|
+
**Auditor hints**:
|
|
105
|
+
- Classic failure: disabling MFA or firewall rules during an outage "to speed up recovery"
|
|
106
|
+
- DR plans should explicitly state which security controls remain active during failover
|
|
107
|
+
- If you have a "break glass" procedure (emergency admin access), it must be logged and reviewed
|
|
108
|
+
|
|
109
|
+
---
|
|
110
|
+
|
|
111
|
+
## A.6.8 — Information Security Event Reporting
|
|
112
|
+
|
|
113
|
+
**Tier**: Relevant | **NIST**: IR-4, IR-6
|
|
114
|
+
|
|
115
|
+
All personnel should know how to report security events. There should be a clear, accessible reporting channel and no negative consequences for good-faith reporting.
|
|
116
|
+
|
|
117
|
+
**Auditor hints**:
|
|
118
|
+
- Auditors ask random employees: "If you noticed suspicious activity, who would you report it to?"
|
|
119
|
+
- The reporting channel must be EASY — a Slack channel, email alias, or phone number
|
|
120
|
+
- Training records should show that employees have been told how to report events
|
|
121
|
+
- No-retaliation policy should be documented
|
|
122
|
+
|
|
123
|
+
**Evidence collection**:
|
|
124
|
+
- Security event reporting procedure
|
|
125
|
+
- Training records showing reporting awareness
|
|
126
|
+
- Sample of reported events (even false positives demonstrate the system works)
|
|
127
|
+
- Communication channel configuration (Slack channel, email alias)
|
|
@@ -0,0 +1,164 @@
|
|
|
1
|
+
# ISMS Management System Rules
|
|
2
|
+
|
|
3
|
+
Per-clause audit guidance for ISO 27001:2022 Clauses 4-10.
|
|
4
|
+
|
|
5
|
+
This is where most first-time audit failures happen. Startups focus on Annex A technical controls and neglect the management system clauses that auditors weight most heavily.
|
|
6
|
+
|
|
7
|
+
## Clause 5 — Leadership and Commitment
|
|
8
|
+
|
|
9
|
+
**Tier**: Critical | **NIST**: PM-1, PM-2
|
|
10
|
+
|
|
11
|
+
Top management must demonstrate commitment to the ISMS by establishing policy, assigning roles, providing resources, and conducting management reviews. This is NOT delegatable to IT.
|
|
12
|
+
|
|
13
|
+
**Auditor hints**:
|
|
14
|
+
- Auditors look for EVIDENCE of management involvement, not just policy signatures
|
|
15
|
+
- "Management review" must be a documented meeting with specific inputs/outputs defined in Clause 9.3
|
|
16
|
+
- The information security policy must be SIGNED by top management (CEO/founder) and communicated to all personnel
|
|
17
|
+
- ISMS scope must be approved by management — it can't be defined by IT alone
|
|
18
|
+
- For startups: the founder IS top management — their engagement is visible and auditable
|
|
19
|
+
|
|
20
|
+
**Evidence**:
|
|
21
|
+
- Signed information security policy (with date)
|
|
22
|
+
- Management review meeting minutes (at least annual)
|
|
23
|
+
- ISMS scope document approved by management
|
|
24
|
+
- Resource allocation evidence (budget, tools, personnel)
|
|
25
|
+
|
|
26
|
+
**Startup pitfalls**:
|
|
27
|
+
- Treating the security policy as a checkbox document that nobody reads
|
|
28
|
+
- No management review conducted — or conducted but not documented
|
|
29
|
+
- ISMS scope undefined or too vague ("everything we do")
|
|
30
|
+
|
|
31
|
+
---
|
|
32
|
+
|
|
33
|
+
## Clause 6 — Risk Assessment and Treatment
|
|
34
|
+
|
|
35
|
+
**Tier**: Critical | **NIST**: PM-9, RA-3, RA-7
|
|
36
|
+
|
|
37
|
+
Plan and conduct risk assessments to identify threats and vulnerabilities. Select risk treatment options (mitigate, accept, transfer, avoid) and implement controls from the Statement of Applicability.
|
|
38
|
+
|
|
39
|
+
**Auditor hints**:
|
|
40
|
+
- The risk assessment is the FOUNDATION of the ISMS — everything else flows from it
|
|
41
|
+
- Auditors verify: risk assessment methodology is documented, risks are identified with likelihood and impact, treatment decisions are justified
|
|
42
|
+
- The SoA must MATCH the risk assessment — every control in the SoA should trace back to a risk
|
|
43
|
+
- Risk acceptance must be AUTHORIZED by management (documented approval)
|
|
44
|
+
- Risk assessment must be CURRENT (within 12 months) and triggered by significant changes
|
|
45
|
+
|
|
46
|
+
**Evidence**:
|
|
47
|
+
- Risk assessment methodology document
|
|
48
|
+
- Risk register (with likelihood, impact, risk level, treatment decision)
|
|
49
|
+
- Statement of Applicability (SoA) with justification for inclusion/exclusion
|
|
50
|
+
- Risk treatment plan showing implementation status
|
|
51
|
+
- Risk acceptance records signed by management
|
|
52
|
+
|
|
53
|
+
**Startup pitfalls**:
|
|
54
|
+
- Copy-pasting a risk assessment template without tailoring to the actual business
|
|
55
|
+
- SoA says "all controls applicable" without justification per control
|
|
56
|
+
- Risk register never updated — last revision was pre-certification
|
|
57
|
+
- No connection between risk assessment and control selection
|
|
58
|
+
|
|
59
|
+
---
|
|
60
|
+
|
|
61
|
+
## Clause 7 — Competence and Awareness
|
|
62
|
+
|
|
63
|
+
**Tier**: Relevant | **NIST**: AT-1, AT-2, AT-3, AT-4
|
|
64
|
+
|
|
65
|
+
Ensure personnel are competent for their security roles, aware of the security policy, and understand their contribution to the ISMS. Maintain training records.
|
|
66
|
+
|
|
67
|
+
**Auditor hints**:
|
|
68
|
+
- Auditors check competence for KEY ROLES: ISMS manager, incident responders, internal auditors, system administrators
|
|
69
|
+
- Awareness training for ALL staff must be documented with completion dates
|
|
70
|
+
- Competence means: education, training, experience, or certification — at least one should be documented per role
|
|
71
|
+
- Internal auditors must demonstrate audit competence (training or certification) — can't just be "the IT person"
|
|
72
|
+
|
|
73
|
+
**Evidence**:
|
|
74
|
+
- Role descriptions with security competence requirements
|
|
75
|
+
- Training records (completion dates, topics covered)
|
|
76
|
+
- Security awareness program description
|
|
77
|
+
- Internal auditor competence records (training, certification, or experience)
|
|
78
|
+
|
|
79
|
+
---
|
|
80
|
+
|
|
81
|
+
## Clause 8 — Operational Planning and Control
|
|
82
|
+
|
|
83
|
+
**Tier**: Critical | **NIST**: CA-6, PM-10, RA-3, RA-7
|
|
84
|
+
|
|
85
|
+
Execute the risk treatment plan. Implement planned controls, manage operational processes, and handle changes that affect the ISMS.
|
|
86
|
+
|
|
87
|
+
**Auditor hints**:
|
|
88
|
+
- This is the "do what you said you'd do" clause — auditors verify that planned actions from Clause 6 are actually implemented
|
|
89
|
+
- Change management applies to the ISMS itself — changes to scope, policies, or controls should be documented
|
|
90
|
+
- Outsourced processes within the ISMS scope must be controlled — if you outsource IT, you still own the risk
|
|
91
|
+
|
|
92
|
+
**Evidence**:
|
|
93
|
+
- Risk treatment plan with implementation status
|
|
94
|
+
- Change records for ISMS changes
|
|
95
|
+
- Outsourcing agreements with security controls (links to A.5.19-A.5.23)
|
|
96
|
+
|
|
97
|
+
---
|
|
98
|
+
|
|
99
|
+
## Clause 9 — Internal Audit and Management Review
|
|
100
|
+
|
|
101
|
+
**Tier**: Critical | **NIST**: CA-2, PM-14
|
|
102
|
+
|
|
103
|
+
Conduct internal audits at planned intervals to verify the ISMS conforms to requirements and is effectively implemented. Conduct management reviews to ensure continuing suitability and effectiveness.
|
|
104
|
+
|
|
105
|
+
**Auditor hints**:
|
|
106
|
+
- Internal audit is REQUIRED — "we'll do it next quarter" at certification time is a major nonconformity
|
|
107
|
+
- Internal auditors must be INDEPENDENT — they can't audit their own work (Clause 9.2 requirement)
|
|
108
|
+
- Management review has REQUIRED INPUTS (Clause 9.3.2): audit results, interested party feedback, risk assessment status, opportunities for improvement
|
|
109
|
+
- Management review has REQUIRED OUTPUTS (Clause 9.3.3): decisions on improvement opportunities, resource needs, any changes to the ISMS
|
|
110
|
+
- Auditors check that internal audit FINDINGS are TRACKED to closure
|
|
111
|
+
|
|
112
|
+
**Evidence**:
|
|
113
|
+
- Internal audit plan (annual schedule showing all ISMS areas)
|
|
114
|
+
- Internal audit report(s) with findings
|
|
115
|
+
- Evidence of auditor independence
|
|
116
|
+
- Management review meeting minutes with all required inputs and outputs
|
|
117
|
+
- Corrective action tracker showing internal audit findings through to closure
|
|
118
|
+
|
|
119
|
+
**Startup pitfalls**:
|
|
120
|
+
- Internal audit never done — this is a showstopper for certification
|
|
121
|
+
- Internal audit done by the same person who manages the ISMS
|
|
122
|
+
- Management review conducted but doesn't address all required inputs
|
|
123
|
+
- Findings identified but no corrective actions implemented
|
|
124
|
+
|
|
125
|
+
---
|
|
126
|
+
|
|
127
|
+
## Clause 10 — Nonconformity and Continual Improvement
|
|
128
|
+
|
|
129
|
+
**Tier**: Critical | **NIST**: CA-5, PM-4
|
|
130
|
+
|
|
131
|
+
React to nonconformities, take corrective action, and continually improve the ISMS. Track nonconformities through root cause analysis, corrective action, and verification of effectiveness.
|
|
132
|
+
|
|
133
|
+
**Auditor hints**:
|
|
134
|
+
- Auditors look for a COMPLETE CYCLE: nonconformity identified → root cause analyzed → corrective action taken → effectiveness verified
|
|
135
|
+
- Not every issue needs formal corrective action — observations and opportunities for improvement can be noted and tracked separately
|
|
136
|
+
- "Continual improvement" means the ISMS should be demonstrably BETTER than last year — auditors compare year over year
|
|
137
|
+
- If the same nonconformity recurs, the previous corrective action was ineffective — this is a major finding
|
|
138
|
+
|
|
139
|
+
**Evidence**:
|
|
140
|
+
- Nonconformity log/register
|
|
141
|
+
- Corrective action records with root cause analysis
|
|
142
|
+
- Evidence of effectiveness verification (follow-up check)
|
|
143
|
+
- Improvement records (changes made to the ISMS based on lessons learned)
|
|
144
|
+
|
|
145
|
+
---
|
|
146
|
+
|
|
147
|
+
## Quick Reference: ISMS Document Checklist
|
|
148
|
+
|
|
149
|
+
These documents are REQUIRED by ISO 27001:2022 — missing any is a nonconformity:
|
|
150
|
+
|
|
151
|
+
| Document | Clause | Notes |
|
|
152
|
+
|----------|--------|-------|
|
|
153
|
+
| ISMS scope | 4.3 | Boundaries and applicability |
|
|
154
|
+
| Information security policy | 5.2 | Signed by top management |
|
|
155
|
+
| Risk assessment methodology | 6.1.2 | How risks are identified and evaluated |
|
|
156
|
+
| Risk assessment results | 8.2 | Current risk register |
|
|
157
|
+
| Statement of Applicability | 6.1.3 | All 93 controls: included/excluded with justification |
|
|
158
|
+
| Risk treatment plan | 6.1.3 | How selected controls will be implemented |
|
|
159
|
+
| Security objectives | 6.2 | Measurable security goals |
|
|
160
|
+
| Competence evidence | 7.2 | Training records, qualifications |
|
|
161
|
+
| Operational planning docs | 8.1 | Evidence of control implementation |
|
|
162
|
+
| Internal audit results | 9.2 | Audit report(s) with findings |
|
|
163
|
+
| Management review results | 9.3 | Meeting minutes with required inputs/outputs |
|
|
164
|
+
| Nonconformity records | 10.1 | Corrective action log |
|