open-agreements 0.2.1 → 0.3.0

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 (193) hide show
  1. package/README.de.md +371 -0
  2. package/README.es.md +371 -0
  3. package/README.md +40 -2
  4. package/README.pt-br.md +371 -0
  5. package/README.zh.md +371 -0
  6. package/content/templates/closing-checklist/metadata.yaml +6 -13
  7. package/content/templates/closing-checklist/template.docx +0 -0
  8. package/content/templates/common-paper-ai-addendum/README.md +18 -0
  9. package/content/templates/common-paper-ai-addendum/metadata.yaml +136 -0
  10. package/content/templates/common-paper-ai-addendum/replacements.json +5 -0
  11. package/content/templates/common-paper-ai-addendum/selections.json +62 -0
  12. package/content/templates/common-paper-ai-addendum/template.docx +0 -0
  13. package/content/templates/common-paper-ai-addendum-in-app/metadata.yaml +88 -0
  14. package/content/templates/common-paper-ai-addendum-in-app/replacements.json +5 -0
  15. package/content/templates/common-paper-ai-addendum-in-app/selections.json +62 -0
  16. package/content/templates/common-paper-amendment/README.md +18 -0
  17. package/content/templates/common-paper-amendment/metadata.yaml +48 -0
  18. package/content/templates/common-paper-amendment/template.docx +0 -0
  19. package/content/templates/common-paper-business-associate-agreement/README.md +20 -1
  20. package/content/templates/common-paper-business-associate-agreement/metadata.yaml +111 -3
  21. package/content/templates/common-paper-business-associate-agreement/replacements.json +2 -1
  22. package/content/templates/common-paper-business-associate-agreement/selections.json +38 -0
  23. package/content/templates/common-paper-business-associate-agreement/template.docx +0 -0
  24. package/content/templates/common-paper-cloud-service-agreement/README.md +18 -0
  25. package/content/templates/common-paper-cloud-service-agreement/metadata.yaml +48 -0
  26. package/content/templates/common-paper-cloud-service-agreement/template.docx +0 -0
  27. package/content/templates/common-paper-csa-with-ai/README.md +18 -0
  28. package/content/templates/common-paper-csa-with-ai/metadata.yaml +462 -2
  29. package/content/templates/common-paper-csa-with-ai/replacements.json +5 -2
  30. package/content/templates/common-paper-csa-with-ai/selections.json +291 -0
  31. package/content/templates/common-paper-csa-with-ai/template.docx +0 -0
  32. package/content/templates/common-paper-csa-with-sla/README.md +18 -0
  33. package/content/templates/common-paper-csa-with-sla/metadata.yaml +387 -2
  34. package/content/templates/common-paper-csa-with-sla/replacements.json +4 -2
  35. package/content/templates/common-paper-csa-with-sla/selections.json +257 -0
  36. package/content/templates/common-paper-csa-with-sla/template.docx +0 -0
  37. package/content/templates/common-paper-csa-without-sla/README.md +18 -0
  38. package/content/templates/common-paper-csa-without-sla/metadata.yaml +380 -2
  39. package/content/templates/common-paper-csa-without-sla/replacements.json +5 -2
  40. package/content/templates/common-paper-csa-without-sla/selections.json +250 -0
  41. package/content/templates/common-paper-csa-without-sla/template.docx +0 -0
  42. package/content/templates/common-paper-data-processing-agreement/README.md +16 -0
  43. package/content/templates/common-paper-data-processing-agreement/metadata.yaml +397 -3
  44. package/content/templates/common-paper-data-processing-agreement/replacements.json +2 -1
  45. package/content/templates/common-paper-data-processing-agreement/selections.json +211 -0
  46. package/content/templates/common-paper-data-processing-agreement/template.docx +0 -0
  47. package/content/templates/common-paper-design-partner-agreement/README.md +18 -0
  48. package/content/templates/common-paper-design-partner-agreement/metadata.yaml +99 -3
  49. package/content/templates/common-paper-design-partner-agreement/selections.json +27 -0
  50. package/content/templates/common-paper-design-partner-agreement/template.docx +0 -0
  51. package/content/templates/common-paper-independent-contractor-agreement/README.md +18 -0
  52. package/content/templates/common-paper-independent-contractor-agreement/clean.json +8 -0
  53. package/content/templates/common-paper-independent-contractor-agreement/metadata.yaml +52 -0
  54. package/content/templates/common-paper-independent-contractor-agreement/replacements.json +3 -0
  55. package/content/templates/common-paper-independent-contractor-agreement/template.docx +0 -0
  56. package/content/templates/common-paper-letter-of-intent/README.md +18 -0
  57. package/content/templates/common-paper-letter-of-intent/metadata.yaml +48 -0
  58. package/content/templates/common-paper-letter-of-intent/template.docx +0 -0
  59. package/content/templates/common-paper-mutual-nda/README.md +29 -7
  60. package/content/templates/common-paper-mutual-nda/metadata.yaml +48 -0
  61. package/content/templates/common-paper-mutual-nda/template.docx +0 -0
  62. package/content/templates/common-paper-one-way-nda/README.md +13 -0
  63. package/content/templates/common-paper-one-way-nda/metadata.yaml +24 -0
  64. package/content/templates/common-paper-one-way-nda/selections.json +38 -0
  65. package/content/templates/common-paper-one-way-nda/template.docx +0 -0
  66. package/content/templates/common-paper-order-form/README.md +18 -0
  67. package/content/templates/common-paper-order-form/metadata.yaml +115 -3
  68. package/content/templates/common-paper-order-form/replacements.json +5 -2
  69. package/content/templates/common-paper-order-form/selections.json +56 -0
  70. package/content/templates/common-paper-order-form/template.docx +0 -0
  71. package/content/templates/common-paper-order-form-with-sla/README.md +18 -0
  72. package/content/templates/common-paper-order-form-with-sla/metadata.yaml +149 -3
  73. package/content/templates/common-paper-order-form-with-sla/replacements.json +6 -2
  74. package/content/templates/common-paper-order-form-with-sla/selections.json +64 -0
  75. package/content/templates/common-paper-order-form-with-sla/template.docx +0 -0
  76. package/content/templates/common-paper-partnership-agreement/README.md +18 -0
  77. package/content/templates/common-paper-partnership-agreement/metadata.yaml +293 -4
  78. package/content/templates/common-paper-partnership-agreement/replacements.json +5 -2
  79. package/content/templates/common-paper-partnership-agreement/selections.json +138 -0
  80. package/content/templates/common-paper-partnership-agreement/template.docx +0 -0
  81. package/content/templates/common-paper-pilot-agreement/README.md +18 -0
  82. package/content/templates/common-paper-pilot-agreement/metadata.yaml +48 -0
  83. package/content/templates/common-paper-pilot-agreement/template.docx +0 -0
  84. package/content/templates/common-paper-professional-services-agreement/README.md +18 -0
  85. package/content/templates/common-paper-professional-services-agreement/metadata.yaml +338 -4
  86. package/content/templates/common-paper-professional-services-agreement/replacements.json +7 -4
  87. package/content/templates/common-paper-professional-services-agreement/selections.json +207 -0
  88. package/content/templates/common-paper-professional-services-agreement/template.docx +0 -0
  89. package/content/templates/common-paper-statement-of-work/README.md +18 -0
  90. package/content/templates/common-paper-statement-of-work/metadata.yaml +110 -2
  91. package/content/templates/common-paper-statement-of-work/replacements.json +4 -1
  92. package/content/templates/common-paper-statement-of-work/selections.json +55 -0
  93. package/content/templates/common-paper-statement-of-work/template.docx +0 -0
  94. package/content/templates/common-paper-term-sheet/README.md +18 -0
  95. package/content/templates/common-paper-term-sheet/metadata.yaml +48 -0
  96. package/content/templates/common-paper-term-sheet/template.docx +0 -0
  97. package/content/templates/working-group-list/template.docx +0 -0
  98. package/dist/cli/index.d.ts.map +1 -1
  99. package/dist/cli/index.js +47 -10
  100. package/dist/cli/index.js.map +1 -1
  101. package/dist/commands/checklist.d.ts +21 -1
  102. package/dist/commands/checklist.d.ts.map +1 -1
  103. package/dist/commands/checklist.js +176 -44
  104. package/dist/commands/checklist.js.map +1 -1
  105. package/dist/commands/list.d.ts.map +1 -1
  106. package/dist/commands/list.js +1 -46
  107. package/dist/commands/list.js.map +1 -1
  108. package/dist/commands/recipe.js +3 -11
  109. package/dist/commands/recipe.js.map +1 -1
  110. package/dist/core/checklist/format-checklist-docx.d.ts +10 -0
  111. package/dist/core/checklist/format-checklist-docx.d.ts.map +1 -0
  112. package/dist/core/checklist/format-checklist-docx.js +321 -0
  113. package/dist/core/checklist/format-checklist-docx.js.map +1 -0
  114. package/dist/core/checklist/index.d.ts +23 -14
  115. package/dist/core/checklist/index.d.ts.map +1 -1
  116. package/dist/core/checklist/index.js +83 -39
  117. package/dist/core/checklist/index.js.map +1 -1
  118. package/dist/core/checklist/jsonl-stores.d.ts +3 -0
  119. package/dist/core/checklist/jsonl-stores.d.ts.map +1 -0
  120. package/dist/core/checklist/jsonl-stores.js +16 -0
  121. package/dist/core/checklist/jsonl-stores.js.map +1 -0
  122. package/dist/core/checklist/schemas.d.ts +2 -2
  123. package/dist/core/checklist/schemas.js +1 -1
  124. package/dist/core/checklist/schemas.js.map +1 -1
  125. package/dist/core/checklist/state-manager.d.ts +146 -0
  126. package/dist/core/checklist/state-manager.d.ts.map +1 -0
  127. package/dist/core/checklist/state-manager.js +147 -0
  128. package/dist/core/checklist/state-manager.js.map +1 -0
  129. package/dist/core/checklist/status-labels.d.ts +6 -0
  130. package/dist/core/checklist/status-labels.d.ts.map +1 -0
  131. package/dist/core/checklist/status-labels.js +29 -0
  132. package/dist/core/checklist/status-labels.js.map +1 -0
  133. package/dist/core/engine.d.ts +1 -0
  134. package/dist/core/engine.d.ts.map +1 -1
  135. package/dist/core/engine.js +72 -11
  136. package/dist/core/engine.js.map +1 -1
  137. package/dist/core/selector.d.ts +2 -0
  138. package/dist/core/selector.d.ts.map +1 -1
  139. package/dist/core/selector.js +181 -39
  140. package/dist/core/selector.js.map +1 -1
  141. package/dist/core/template-listing.d.ts +40 -0
  142. package/dist/core/template-listing.d.ts.map +1 -0
  143. package/dist/core/template-listing.js +91 -0
  144. package/dist/core/template-listing.js.map +1 -0
  145. package/dist/core/validation/recipe.d.ts.map +1 -1
  146. package/dist/core/validation/recipe.js +47 -61
  147. package/dist/core/validation/recipe.js.map +1 -1
  148. package/dist/core/validation/template.d.ts.map +1 -1
  149. package/dist/core/validation/template.js +10 -2
  150. package/dist/core/validation/template.js.map +1 -1
  151. package/dist/index.d.ts +2 -0
  152. package/dist/index.d.ts.map +1 -1
  153. package/dist/index.js +4 -0
  154. package/dist/index.js.map +1 -1
  155. package/package.json +8 -2
  156. package/skills/cloud-service-agreement/SKILL.md +9 -0
  157. package/skills/data-privacy-agreement/SKILL.md +9 -0
  158. package/skills/edit-docx-agreement/CONNECTORS.md +20 -0
  159. package/skills/edit-docx-agreement/SKILL.md +77 -0
  160. package/skills/employment-contract/SKILL.md +9 -0
  161. package/skills/iso-27001-evidence-collection/CONNECTORS.md +39 -0
  162. package/skills/iso-27001-evidence-collection/SKILL.md +304 -0
  163. package/skills/iso-27001-evidence-collection/rules/api-exports.md +191 -0
  164. package/skills/iso-27001-evidence-collection/rules/evidence-types.md +107 -0
  165. package/skills/iso-27001-evidence-collection/rules/screenshot-guide.md +77 -0
  166. package/skills/iso-27001-internal-audit/CONNECTORS.md +39 -0
  167. package/skills/iso-27001-internal-audit/SKILL.md +275 -0
  168. package/skills/iso-27001-internal-audit/rules/access-control.md +191 -0
  169. package/skills/iso-27001-internal-audit/rules/business-continuity.md +94 -0
  170. package/skills/iso-27001-internal-audit/rules/change-management.md +211 -0
  171. package/skills/iso-27001-internal-audit/rules/encryption.md +93 -0
  172. package/skills/iso-27001-internal-audit/rules/incident-response.md +127 -0
  173. package/skills/iso-27001-internal-audit/rules/isms-management.md +164 -0
  174. package/skills/iso-27001-internal-audit/rules/logging-monitoring.md +96 -0
  175. package/skills/iso-27001-internal-audit/rules/people-controls.md +161 -0
  176. package/skills/iso-27001-internal-audit/rules/supplier-management.md +92 -0
  177. package/skills/nda/SKILL.md +9 -0
  178. package/skills/open-agreements/SKILL.md +9 -0
  179. package/skills/safe/SKILL.md +9 -0
  180. package/skills/services-agreement/SKILL.md +9 -0
  181. package/skills/soc2-readiness/CONNECTORS.md +39 -0
  182. package/skills/soc2-readiness/SKILL.md +301 -0
  183. package/skills/soc2-readiness/rules/change-vendor-management.md +104 -0
  184. package/skills/soc2-readiness/rules/communication-info.md +85 -0
  185. package/skills/soc2-readiness/rules/control-activities.md +95 -0
  186. package/skills/soc2-readiness/rules/control-environment.md +126 -0
  187. package/skills/soc2-readiness/rules/logical-access.md +264 -0
  188. package/skills/soc2-readiness/rules/monitoring-activities.md +66 -0
  189. package/skills/soc2-readiness/rules/optional-categories.md +264 -0
  190. package/skills/soc2-readiness/rules/privacy-criteria.md +359 -0
  191. package/skills/soc2-readiness/rules/risk-assessment.md +100 -0
  192. package/skills/soc2-readiness/rules/system-operations.md +170 -0
  193. package/skills/venture-financing/SKILL.md +9 -0
@@ -0,0 +1,100 @@
1
+ # Risk Assessment — CC 3.1–3.4
2
+
3
+ Per-criterion audit guidance for risk objectives, identification, fraud risk, and change impact analysis.
4
+
5
+ ## CC 3.1 — Risk objectives
6
+
7
+ **Priority**: High | **NIST**: PM-9, RA-1 | **ISO**: C.6.1.1
8
+
9
+ Auditors verify that the organization defines clear objectives against which risks are assessed. Without stated objectives, there's no basis for evaluating whether risks are acceptable. In practice, this means the organization has documented what it's trying to protect, what "good" looks like, and what level of risk is tolerable.
10
+
11
+ **What auditors test**:
12
+ - Information security objectives are documented and approved by management
13
+ - Objectives are specific enough to be measurable (e.g., "99.9% uptime" not just "high availability")
14
+ - Objectives align with business strategy and customer commitments (SLAs, contracts)
15
+ - Risk appetite or tolerance statement exists — management has decided how much risk is acceptable
16
+ - Objectives are reviewed at least annually and updated when business changes
17
+
18
+ **Evidence to prepare**:
19
+ - Information security policy with stated objectives (effective date within audit period)
20
+ - Risk appetite statement or risk tolerance matrix (signed by management)
21
+ - SLA commitments to customers that drive security objectives
22
+ - Management review minutes where objectives were discussed/approved
23
+ - Year-over-year comparison showing objectives were reviewed and updated
24
+
25
+ **Startup pitfalls**:
26
+ - No written security objectives — "don't get hacked" is not a measurable objective
27
+ - Objectives copied from a template without customization to actual business context
28
+ - Risk appetite never discussed — every risk is treated equally instead of being prioritized
29
+
30
+ ---
31
+
32
+ ## CC 3.2 — Risk identification and analysis
33
+
34
+ **Priority**: High | **NIST**: RA-3 | **ISO**: C.6.1.2, C.8.2
35
+
36
+ Auditors verify that the organization systematically identifies and analyzes risks to achieving its objectives. The risk assessment must be documented, cover relevant categories (operational, technical, compliance, people), and use a consistent methodology for evaluating likelihood and impact.
37
+
38
+ **What auditors test**:
39
+ - Formal risk assessment conducted at least annually with documented methodology
40
+ - Risk register includes: risk description, likelihood, impact, risk rating, owner, and treatment decision
41
+ - Risk categories cover: technical (infra, code), operational (process, people), compliance (regulatory), and third-party
42
+ - Risk assessment considers both internal and external threats
43
+ - Assessment methodology is consistent (e.g., 5×5 likelihood-impact matrix used uniformly)
44
+
45
+ **Evidence to prepare**:
46
+ - Risk register (spreadsheet or GRC tool export) with all required fields populated
47
+ - Risk assessment methodology document (how risks are scored and prioritized)
48
+ - Most recent risk assessment report with date and participants
49
+ - Threat landscape analysis or threat modeling documentation
50
+ - Risk register change log showing risks added, updated, or closed during audit period
51
+
52
+ **Startup pitfalls**:
53
+ - Risk register is a checkbox exercise — created once, never updated
54
+ - Only technical risks listed — operational, compliance, and people risks are absent
55
+ - Risk assessment done by one person in isolation — should involve cross-functional input
56
+ - All risks rated "medium" to avoid triggering remediation
57
+
58
+ ---
59
+
60
+ ## CC 3.3 — Fraud risk
61
+
62
+ **Priority**: Medium | **NIST**: RA-3 | **ISO**: C.6.1.2
63
+
64
+ Auditors verify that the organization considers the potential for fraud when assessing risks — both internal (employee misuse, embezzlement, data theft) and external (social engineering, account takeover). This doesn't require a massive fraud program; it requires that fraud scenarios are part of the risk assessment.
65
+
66
+ **What auditors test**:
67
+ - Risk assessment explicitly includes fraud risk scenarios (not just technical vulnerabilities)
68
+ - Internal fraud risks considered: data theft by insiders, financial fraud, unauthorized access abuse
69
+ - External fraud risks considered: phishing, business email compromise, social engineering
70
+ - Segregation of duties addresses fraud opportunity (e.g., person approving payments ≠ person initiating)
71
+ - Management override controls: even founders/executives cannot bypass financial or access controls without detection
72
+
73
+ **Evidence to prepare**:
74
+ - Risk register entries specifically categorized as fraud risks
75
+ - Segregation of duties matrix for financial and access management processes
76
+ - Anti-fraud controls documentation (approval workflows, dual authorization for payments)
77
+ - Phishing simulation results demonstrating awareness of social engineering threats
78
+ - Financial reconciliation procedures showing detection controls for unauthorized transactions
79
+
80
+ ---
81
+
82
+ ## CC 3.4 — Change impact on controls
83
+
84
+ **Priority**: Medium | **NIST**: RA-3, CM-4 | **ISO**: C.6.1.2, A.8.9
85
+
86
+ Auditors verify that the organization assesses how changes — business, technical, regulatory, or personnel — affect the internal control environment. When the company adds a new product, enters a new market, adopts a new cloud provider, or undergoes significant personnel changes, the risk assessment should be revisited.
87
+
88
+ **What auditors test**:
89
+ - Process exists for evaluating control impact when significant changes occur
90
+ - Evidence of risk reassessment triggered by actual changes during the audit period
91
+ - New systems, vendors, or services underwent security review before deployment
92
+ - Organizational changes (mergers, rapid hiring, leadership changes) triggered control reviews
93
+ - Regulatory changes relevant to the business were identified and controls adjusted
94
+
95
+ **Evidence to prepare**:
96
+ - Change impact assessment records for significant changes during the audit period
97
+ - Security review documentation for new vendors, systems, or services onboarded
98
+ - Risk register entries added or modified in response to business changes
99
+ - Management review minutes discussing impact of organizational changes on controls
100
+ - Regulatory monitoring log showing awareness of relevant regulatory developments
@@ -0,0 +1,170 @@
1
+ # System Operations — CC 7.1–7.5
2
+
3
+ Per-criterion audit guidance for configuration management, monitoring, incident response, and recovery.
4
+
5
+ ## CC 7.1 — Configuration and baseline monitoring
6
+
7
+ **Priority**: Critical | **NIST**: CM-6, RA-5 | **ISO**: A.8.9, A.8.8
8
+
9
+ Auditors verify that production systems run from documented, approved configurations and that drift from baselines is detected. This means infrastructure-as-code, golden images, or documented configuration standards — not ad-hoc server setup.
10
+
11
+ **What auditors test**:
12
+ - Configuration baselines exist for production systems (OS hardening, application settings, network rules)
13
+ - Drift detection: mechanism to identify when running config diverges from approved baseline
14
+ - Configuration changes follow the change management process (CC 8.1)
15
+ - Default credentials and unnecessary services are removed from production systems
16
+ - Firewall rules and security group configurations are reviewed at least quarterly
17
+
18
+ **Evidence to prepare**:
19
+ ```bash
20
+ # GCP: firewall rules
21
+ gcloud compute firewall-rules list --format=json | jq '.[] | {name, direction, allowed, sourceRanges, targetTags}'
22
+
23
+ # GCP: instance configurations
24
+ gcloud compute instances list --format=json | jq '.[] | {name, machineType, zone, status}'
25
+
26
+ # Azure: NSG rules
27
+ az network nsg list --output json | jq '.[] | {name, location, securityRules: [.securityRules[] | {name, access, direction, sourceAddressPrefix, destinationPortRange}]}'
28
+
29
+ # GitHub: infrastructure-as-code repos (Terraform, Pulumi, etc.)
30
+ gh repo list {org} --json name,description --jq '.[] | select(.name | test("infra|terraform|pulumi|deploy"))'
31
+ ```
32
+ - Infrastructure-as-code repository with version history
33
+ - CIS benchmark assessment results (if available)
34
+ - Configuration review records from most recent quarterly review
35
+
36
+ **Startup pitfalls**:
37
+ - Production servers configured manually via SSH — no reproducible baseline exists
38
+ - Security groups with 0.0.0.0/0 inbound rules left from early development
39
+ - No documentation of what "production configuration" actually is
40
+
41
+ ---
42
+
43
+ ## CC 7.2 — Anomaly detection and monitoring
44
+
45
+ **Priority**: Critical | **NIST**: AU-6, SI-4 | **ISO**: A.8.15, A.8.16
46
+
47
+ Auditors assess whether the organization collects, centralizes, and actively monitors logs for security-relevant events. Passive log collection is insufficient — there must be alerting rules that trigger investigation when anomalies occur.
48
+
49
+ **What auditors test**:
50
+ - Log centralization: security events from all systems flow to a single platform (SIEM or log aggregator)
51
+ - Alert rules configured for: authentication failures, privilege escalation, unauthorized access attempts, configuration changes
52
+ - Sample 2-3 recent alerts: verify each was investigated and documented with a resolution
53
+ - Log retention covers the full audit period (typically 12 months for Type II)
54
+ - Log integrity: logs are protected from tampering (write-once storage or separate account)
55
+
56
+ **Evidence to prepare**:
57
+ ```bash
58
+ # GCP: alerting policies
59
+ gcloud monitoring policies list --format=json | jq '.[].displayName'
60
+
61
+ # GCP: log sinks (centralization)
62
+ gcloud logging sinks list --format=json | jq '.[] | {name, destination, filter}'
63
+
64
+ # GCP: log retention settings
65
+ gcloud logging buckets list --location=global --format=json | jq '.[] | {name, retentionDays}'
66
+
67
+ # Azure: alert rules
68
+ az monitor metrics alert list --output json | jq '.[] | {name, enabled, severity}'
69
+
70
+ # Azure: diagnostic settings (log forwarding)
71
+ az monitor diagnostic-settings list --resource {resource_id} --output json
72
+ ```
73
+ - SIEM dashboard screenshot showing active alert rules
74
+ - Sample alert investigation records (ticket or incident log)
75
+ - Log retention policy document
76
+
77
+ **Startup pitfalls**:
78
+ - Logs exist in cloud provider but nobody monitors them — no alert rules configured
79
+ - Alert fatigue: hundreds of alerts firing daily, all ignored
80
+ - Log retention set to default 30 days — insufficient for a 12-month audit period
81
+
82
+ ---
83
+
84
+ ## CC 7.3 — Incident response
85
+
86
+ **Priority**: Critical | **NIST**: IR-4 | **ISO**: A.5.24, A.5.25
87
+
88
+ Auditors verify that the organization has a defined, tested process for responding to security incidents. The plan must exist before the audit period — writing it during the audit is a finding. Expect auditors to walk through a recent incident or tabletop exercise.
89
+
90
+ **What auditors test**:
91
+ - Incident response plan exists, is approved by management, and was in effect during the audit period
92
+ - Plan covers: identification, containment, eradication, recovery, and lessons learned
93
+ - Roles and responsibilities are defined (who leads response, who communicates, who escalates)
94
+ - Plan has been tested: tabletop exercise or response to actual incident within the audit period
95
+ - Post-incident reviews are conducted and documented with action items
96
+
97
+ **Evidence to prepare**:
98
+ - Incident response plan document (with version date proving it predates the audit period)
99
+ - Tabletop exercise records: scenario, participants, decisions made, findings
100
+ - Post-incident review reports (if real incidents occurred)
101
+ - On-call rotation or escalation contact list
102
+ - Incident severity classification matrix
103
+
104
+ **Startup pitfalls**:
105
+ - No written plan — "we'd just figure it out" is a guaranteed finding
106
+ - Plan exists but has never been tested — auditors expect at least one tabletop exercise per year
107
+ - No post-incident review process — incidents happen but lessons aren't captured
108
+ - Incident response plan written by one person and unknown to the rest of the team
109
+
110
+ ---
111
+
112
+ ## CC 7.4 — Incident communication
113
+
114
+ **Priority**: High | **NIST**: IR-5, IR-6 | **ISO**: A.5.25, A.5.26
115
+
116
+ Beyond responding to incidents internally, auditors check whether the organization communicates appropriately with affected parties — customers, regulators, and management. Notification timelines and channels should be predefined, not improvised.
117
+
118
+ **What auditors test**:
119
+ - Communication plan: who gets notified, through what channel, within what timeframe
120
+ - Customer notification SLAs match contractual commitments (check customer agreements for breach notification terms)
121
+ - Regulatory notification requirements identified by jurisdiction (e.g., 72 hours for GDPR, state breach laws)
122
+ - Management receives periodic incident summaries (at least quarterly)
123
+ - Status page or customer communication channel for service-affecting incidents
124
+
125
+ **Evidence to prepare**:
126
+ - Incident communication procedures (section of IR plan or standalone document)
127
+ - Sample customer notification (if a reportable incident occurred during audit period)
128
+ - Regulatory notification requirements matrix (jurisdiction × data type × timeline)
129
+ - Management incident summary reports
130
+ - Status page URL and historical incident postings
131
+
132
+ ---
133
+
134
+ ## CC 7.5 — Recovery operations
135
+
136
+ **Priority**: Critical | **NIST**: CP-4, CP-9, CP-10 | **ISO**: A.5.30, A.8.13
137
+
138
+ Auditors verify that the organization can recover from incidents and disasters — not just that backups exist, but that recovery has been tested and meets defined objectives. Untested backups are assumed to be non-functional.
139
+
140
+ **What auditors test**:
141
+ - Backup configuration: automated, encrypted, and stored separately from production (different region or account)
142
+ - Backup frequency matches RPO (recovery point objective) — if RPO is 1 hour, daily backups fail
143
+ - Restore testing: at least one successful restore test during the audit period, documented with results
144
+ - RTO/RPO defined for critical systems and achievable based on test results
145
+ - Disaster recovery plan covering major failure scenarios (region outage, data corruption, ransomware)
146
+
147
+ **Evidence to prepare**:
148
+ ```bash
149
+ # GCP: Cloud SQL backup configuration
150
+ gcloud sql instances describe {instance} --format=json | jq '{backupConfiguration, settings: {backupConfiguration}}'
151
+
152
+ # GCP: recent backups
153
+ gcloud sql backups list --instance={instance} --limit=10 --format=json | jq '.[0:5] | .[] | {id, startTime, status, type}'
154
+
155
+ # Azure: backup status
156
+ az backup item list --resource-group {rg} --vault-name {vault} --output json | jq '.[] | {name, properties: {lastBackupTime, protectionState}}'
157
+
158
+ # GCP: snapshot policies
159
+ gcloud compute resource-policies list --format=json | jq '.[] | {name, snapshotSchedulePolicy}'
160
+ ```
161
+ - Backup restore test report (date, scope, time to restore, success/failure, issues encountered)
162
+ - RTO/RPO definitions per critical system
163
+ - Disaster recovery plan document
164
+ - Business impact analysis identifying critical systems and acceptable downtime
165
+
166
+ **Startup pitfalls**:
167
+ - Cloud provider "handles backups" — but automated backups may not be enabled or may not cover all services
168
+ - Backups exist but have never been restored — first restore attempt during a real outage reveals corruption
169
+ - No defined RTO/RPO — "as fast as possible" is not measurable
170
+ - DR plan is a copy-paste template that doesn't match actual infrastructure
@@ -167,3 +167,12 @@ Use `list_templates` (MCP) or `list --json` (CLI) for the latest inventory and f
167
167
  - NVCA model documents are licensed under CC-BY-4.0
168
168
  - These documents are typically used together as a suite for a priced equity round
169
169
  - This tool does not provide legal advice — consult an attorney
170
+
171
+ ## Bespoke edits (beyond template fields)
172
+
173
+ If you need to edit boilerplate or add custom language that is not exposed as a template field,
174
+ use the `edit-docx-agreement` skill to surgically edit the generated DOCX and produce a
175
+ tracked-changes output for review. This requires a separately configured Safe Docx MCP server.
176
+
177
+ Note: templates licensed under CC-BY-ND-4.0 (e.g., YC SAFEs) can be filled for your own use
178
+ but must not be redistributed in modified form.