@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.
Files changed (64) hide show
  1. package/README.md +10 -2
  2. package/content/templates/closing-checklist/metadata.yaml +6 -13
  3. package/content/templates/closing-checklist/template.docx +0 -0
  4. package/dist/cli/index.d.ts.map +1 -1
  5. package/dist/cli/index.js +47 -10
  6. package/dist/cli/index.js.map +1 -1
  7. package/dist/commands/checklist.d.ts +21 -1
  8. package/dist/commands/checklist.d.ts.map +1 -1
  9. package/dist/commands/checklist.js +175 -44
  10. package/dist/commands/checklist.js.map +1 -1
  11. package/dist/commands/recipe.js +3 -11
  12. package/dist/commands/recipe.js.map +1 -1
  13. package/dist/core/checklist/index.d.ts +22 -14
  14. package/dist/core/checklist/index.d.ts.map +1 -1
  15. package/dist/core/checklist/index.js +79 -39
  16. package/dist/core/checklist/index.js.map +1 -1
  17. package/dist/core/checklist/jsonl-stores.d.ts +3 -0
  18. package/dist/core/checklist/jsonl-stores.d.ts.map +1 -0
  19. package/dist/core/checklist/jsonl-stores.js +16 -0
  20. package/dist/core/checklist/jsonl-stores.js.map +1 -0
  21. package/dist/core/checklist/schemas.d.ts +2 -2
  22. package/dist/core/checklist/schemas.js +1 -1
  23. package/dist/core/checklist/schemas.js.map +1 -1
  24. package/dist/core/checklist/state-manager.d.ts +146 -0
  25. package/dist/core/checklist/state-manager.d.ts.map +1 -0
  26. package/dist/core/checklist/state-manager.js +147 -0
  27. package/dist/core/checklist/state-manager.js.map +1 -0
  28. package/dist/core/checklist/status-labels.d.ts +6 -0
  29. package/dist/core/checklist/status-labels.d.ts.map +1 -0
  30. package/dist/core/checklist/status-labels.js +29 -0
  31. package/dist/core/checklist/status-labels.js.map +1 -0
  32. package/dist/core/validation/recipe.d.ts.map +1 -1
  33. package/dist/core/validation/recipe.js +47 -61
  34. package/dist/core/validation/recipe.js.map +1 -1
  35. package/package.json +1 -1
  36. package/skills/cloud-service-agreement/SKILL.md +9 -0
  37. package/skills/data-privacy-agreement/SKILL.md +9 -0
  38. package/skills/edit-docx-agreement/CONNECTORS.md +20 -0
  39. package/skills/edit-docx-agreement/SKILL.md +77 -0
  40. package/skills/employment-contract/SKILL.md +9 -0
  41. package/skills/iso-27001-evidence-collection/CONNECTORS.md +23 -0
  42. package/skills/iso-27001-evidence-collection/SKILL.md +300 -0
  43. package/skills/iso-27001-evidence-collection/rules/api-exports.md +191 -0
  44. package/skills/iso-27001-evidence-collection/rules/evidence-types.md +107 -0
  45. package/skills/iso-27001-evidence-collection/rules/screenshot-guide.md +77 -0
  46. package/skills/iso-27001-internal-audit/CONNECTORS.md +23 -0
  47. package/skills/iso-27001-internal-audit/SKILL.md +272 -0
  48. package/skills/iso-27001-internal-audit/rules/access-control.md +191 -0
  49. package/skills/iso-27001-internal-audit/rules/business-continuity.md +94 -0
  50. package/skills/iso-27001-internal-audit/rules/change-management.md +211 -0
  51. package/skills/iso-27001-internal-audit/rules/encryption.md +93 -0
  52. package/skills/iso-27001-internal-audit/rules/incident-response.md +127 -0
  53. package/skills/iso-27001-internal-audit/rules/isms-management.md +164 -0
  54. package/skills/iso-27001-internal-audit/rules/logging-monitoring.md +96 -0
  55. package/skills/iso-27001-internal-audit/rules/people-controls.md +161 -0
  56. package/skills/iso-27001-internal-audit/rules/supplier-management.md +92 -0
  57. package/skills/nda/SKILL.md +9 -0
  58. package/skills/open-agreements/SKILL.md +9 -0
  59. package/skills/safe/SKILL.md +9 -0
  60. package/skills/services-agreement/SKILL.md +9 -0
  61. package/skills/soc2-readiness/CONNECTORS.md +23 -0
  62. package/skills/soc2-readiness/SKILL.md +289 -0
  63. package/skills/soc2-readiness/rules/trust-services.md +230 -0
  64. 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 |