@open-agreements/open-agreements 0.2.2 → 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 (143) hide show
  1. package/README.md +30 -0
  2. package/content/templates/closing-checklist/template.docx +0 -0
  3. package/content/templates/common-paper-ai-addendum/README.md +18 -0
  4. package/content/templates/common-paper-ai-addendum/metadata.yaml +136 -0
  5. package/content/templates/common-paper-ai-addendum/replacements.json +5 -0
  6. package/content/templates/common-paper-ai-addendum/selections.json +62 -0
  7. package/content/templates/common-paper-ai-addendum/template.docx +0 -0
  8. package/content/templates/common-paper-ai-addendum-in-app/metadata.yaml +88 -0
  9. package/content/templates/common-paper-ai-addendum-in-app/replacements.json +5 -0
  10. package/content/templates/common-paper-ai-addendum-in-app/selections.json +62 -0
  11. package/content/templates/common-paper-amendment/README.md +18 -0
  12. package/content/templates/common-paper-amendment/metadata.yaml +48 -0
  13. package/content/templates/common-paper-amendment/template.docx +0 -0
  14. package/content/templates/common-paper-business-associate-agreement/README.md +20 -1
  15. package/content/templates/common-paper-business-associate-agreement/metadata.yaml +111 -3
  16. package/content/templates/common-paper-business-associate-agreement/replacements.json +2 -1
  17. package/content/templates/common-paper-business-associate-agreement/selections.json +38 -0
  18. package/content/templates/common-paper-business-associate-agreement/template.docx +0 -0
  19. package/content/templates/common-paper-cloud-service-agreement/README.md +18 -0
  20. package/content/templates/common-paper-cloud-service-agreement/metadata.yaml +48 -0
  21. package/content/templates/common-paper-cloud-service-agreement/template.docx +0 -0
  22. package/content/templates/common-paper-csa-with-ai/README.md +18 -0
  23. package/content/templates/common-paper-csa-with-ai/metadata.yaml +462 -2
  24. package/content/templates/common-paper-csa-with-ai/replacements.json +5 -2
  25. package/content/templates/common-paper-csa-with-ai/selections.json +291 -0
  26. package/content/templates/common-paper-csa-with-ai/template.docx +0 -0
  27. package/content/templates/common-paper-csa-with-sla/README.md +18 -0
  28. package/content/templates/common-paper-csa-with-sla/metadata.yaml +387 -2
  29. package/content/templates/common-paper-csa-with-sla/replacements.json +4 -2
  30. package/content/templates/common-paper-csa-with-sla/selections.json +257 -0
  31. package/content/templates/common-paper-csa-with-sla/template.docx +0 -0
  32. package/content/templates/common-paper-csa-without-sla/README.md +18 -0
  33. package/content/templates/common-paper-csa-without-sla/metadata.yaml +380 -2
  34. package/content/templates/common-paper-csa-without-sla/replacements.json +5 -2
  35. package/content/templates/common-paper-csa-without-sla/selections.json +250 -0
  36. package/content/templates/common-paper-csa-without-sla/template.docx +0 -0
  37. package/content/templates/common-paper-data-processing-agreement/README.md +16 -0
  38. package/content/templates/common-paper-data-processing-agreement/metadata.yaml +397 -3
  39. package/content/templates/common-paper-data-processing-agreement/replacements.json +2 -1
  40. package/content/templates/common-paper-data-processing-agreement/selections.json +211 -0
  41. package/content/templates/common-paper-data-processing-agreement/template.docx +0 -0
  42. package/content/templates/common-paper-design-partner-agreement/README.md +18 -0
  43. package/content/templates/common-paper-design-partner-agreement/metadata.yaml +99 -3
  44. package/content/templates/common-paper-design-partner-agreement/selections.json +27 -0
  45. package/content/templates/common-paper-design-partner-agreement/template.docx +0 -0
  46. package/content/templates/common-paper-independent-contractor-agreement/README.md +18 -0
  47. package/content/templates/common-paper-independent-contractor-agreement/clean.json +8 -0
  48. package/content/templates/common-paper-independent-contractor-agreement/metadata.yaml +52 -0
  49. package/content/templates/common-paper-independent-contractor-agreement/replacements.json +3 -0
  50. package/content/templates/common-paper-independent-contractor-agreement/template.docx +0 -0
  51. package/content/templates/common-paper-letter-of-intent/README.md +18 -0
  52. package/content/templates/common-paper-letter-of-intent/metadata.yaml +48 -0
  53. package/content/templates/common-paper-letter-of-intent/template.docx +0 -0
  54. package/content/templates/common-paper-mutual-nda/README.md +29 -7
  55. package/content/templates/common-paper-mutual-nda/metadata.yaml +48 -0
  56. package/content/templates/common-paper-mutual-nda/template.docx +0 -0
  57. package/content/templates/common-paper-one-way-nda/README.md +13 -0
  58. package/content/templates/common-paper-one-way-nda/metadata.yaml +24 -0
  59. package/content/templates/common-paper-one-way-nda/selections.json +38 -0
  60. package/content/templates/common-paper-one-way-nda/template.docx +0 -0
  61. package/content/templates/common-paper-order-form/README.md +18 -0
  62. package/content/templates/common-paper-order-form/metadata.yaml +115 -3
  63. package/content/templates/common-paper-order-form/replacements.json +5 -2
  64. package/content/templates/common-paper-order-form/selections.json +56 -0
  65. package/content/templates/common-paper-order-form/template.docx +0 -0
  66. package/content/templates/common-paper-order-form-with-sla/README.md +18 -0
  67. package/content/templates/common-paper-order-form-with-sla/metadata.yaml +149 -3
  68. package/content/templates/common-paper-order-form-with-sla/replacements.json +6 -2
  69. package/content/templates/common-paper-order-form-with-sla/selections.json +64 -0
  70. package/content/templates/common-paper-order-form-with-sla/template.docx +0 -0
  71. package/content/templates/common-paper-partnership-agreement/README.md +18 -0
  72. package/content/templates/common-paper-partnership-agreement/metadata.yaml +293 -4
  73. package/content/templates/common-paper-partnership-agreement/replacements.json +5 -2
  74. package/content/templates/common-paper-partnership-agreement/selections.json +138 -0
  75. package/content/templates/common-paper-partnership-agreement/template.docx +0 -0
  76. package/content/templates/common-paper-pilot-agreement/README.md +18 -0
  77. package/content/templates/common-paper-pilot-agreement/metadata.yaml +48 -0
  78. package/content/templates/common-paper-pilot-agreement/template.docx +0 -0
  79. package/content/templates/common-paper-professional-services-agreement/README.md +18 -0
  80. package/content/templates/common-paper-professional-services-agreement/metadata.yaml +338 -4
  81. package/content/templates/common-paper-professional-services-agreement/replacements.json +7 -4
  82. package/content/templates/common-paper-professional-services-agreement/selections.json +207 -0
  83. package/content/templates/common-paper-professional-services-agreement/template.docx +0 -0
  84. package/content/templates/common-paper-statement-of-work/README.md +18 -0
  85. package/content/templates/common-paper-statement-of-work/metadata.yaml +110 -2
  86. package/content/templates/common-paper-statement-of-work/replacements.json +4 -1
  87. package/content/templates/common-paper-statement-of-work/selections.json +55 -0
  88. package/content/templates/common-paper-statement-of-work/template.docx +0 -0
  89. package/content/templates/common-paper-term-sheet/README.md +18 -0
  90. package/content/templates/common-paper-term-sheet/metadata.yaml +48 -0
  91. package/content/templates/common-paper-term-sheet/template.docx +0 -0
  92. package/content/templates/working-group-list/template.docx +0 -0
  93. package/dist/commands/checklist.d.ts.map +1 -1
  94. package/dist/commands/checklist.js +2 -1
  95. package/dist/commands/checklist.js.map +1 -1
  96. package/dist/commands/list.d.ts.map +1 -1
  97. package/dist/commands/list.js +1 -46
  98. package/dist/commands/list.js.map +1 -1
  99. package/dist/core/checklist/format-checklist-docx.d.ts +10 -0
  100. package/dist/core/checklist/format-checklist-docx.d.ts.map +1 -0
  101. package/dist/core/checklist/format-checklist-docx.js +321 -0
  102. package/dist/core/checklist/format-checklist-docx.js.map +1 -0
  103. package/dist/core/checklist/index.d.ts +1 -0
  104. package/dist/core/checklist/index.d.ts.map +1 -1
  105. package/dist/core/checklist/index.js +7 -3
  106. package/dist/core/checklist/index.js.map +1 -1
  107. package/dist/core/engine.d.ts +1 -0
  108. package/dist/core/engine.d.ts.map +1 -1
  109. package/dist/core/engine.js +72 -11
  110. package/dist/core/engine.js.map +1 -1
  111. package/dist/core/selector.d.ts +2 -0
  112. package/dist/core/selector.d.ts.map +1 -1
  113. package/dist/core/selector.js +181 -39
  114. package/dist/core/selector.js.map +1 -1
  115. package/dist/core/template-listing.d.ts +40 -0
  116. package/dist/core/template-listing.d.ts.map +1 -0
  117. package/dist/core/template-listing.js +91 -0
  118. package/dist/core/template-listing.js.map +1 -0
  119. package/dist/core/validation/template.d.ts.map +1 -1
  120. package/dist/core/validation/template.js +10 -2
  121. package/dist/core/validation/template.js.map +1 -1
  122. package/dist/index.d.ts +2 -0
  123. package/dist/index.d.ts.map +1 -1
  124. package/dist/index.js +4 -0
  125. package/dist/index.js.map +1 -1
  126. package/package.json +8 -2
  127. package/skills/iso-27001-evidence-collection/CONNECTORS.md +25 -9
  128. package/skills/iso-27001-evidence-collection/SKILL.md +10 -6
  129. package/skills/iso-27001-internal-audit/CONNECTORS.md +25 -9
  130. package/skills/iso-27001-internal-audit/SKILL.md +12 -9
  131. package/skills/soc2-readiness/CONNECTORS.md +25 -9
  132. package/skills/soc2-readiness/SKILL.md +17 -5
  133. package/skills/soc2-readiness/rules/change-vendor-management.md +104 -0
  134. package/skills/soc2-readiness/rules/communication-info.md +85 -0
  135. package/skills/soc2-readiness/rules/control-activities.md +95 -0
  136. package/skills/soc2-readiness/rules/control-environment.md +126 -0
  137. package/skills/soc2-readiness/rules/logical-access.md +264 -0
  138. package/skills/soc2-readiness/rules/monitoring-activities.md +66 -0
  139. package/skills/soc2-readiness/rules/optional-categories.md +264 -0
  140. package/skills/soc2-readiness/rules/privacy-criteria.md +359 -0
  141. package/skills/soc2-readiness/rules/risk-assessment.md +100 -0
  142. package/skills/soc2-readiness/rules/system-operations.md +170 -0
  143. package/skills/soc2-readiness/rules/trust-services.md +0 -230
@@ -55,14 +55,74 @@ fields:
55
55
  type: string
56
56
  description: Invoice frequency unit
57
57
  section: Payment
58
- - name: fill_in_value
58
+ - name: services_description
59
59
  type: string
60
- description: General fill-in value
60
+ description: Description of the Services to be performed, including key individuals, timeline, and milestones
61
61
  section: Terms
62
- - name: fill_in_detail
62
+ - name: provider_covered_claims_detail
63
63
  type: string
64
- description: Additional detail
64
+ description: Detail of Provider Covered Claims covering IP infringement, employee misclassification, and gross negligence
65
+ section: Liability
66
+ - name: customer_covered_claims_detail
67
+ type: string
68
+ description: Detail of Customer Covered Claims covering IP infringement and gross negligence
69
+ section: Liability
70
+ - name: dpa_description
71
+ type: string
72
+ description: Description of or reference to the Data Processing Agreement
73
+ section: Privacy
74
+ - name: term_duration_value
75
+ type: string
76
+ description: Numeric duration for the SOW term (e.g. "6", "12")
77
+ section: Terms
78
+ - name: rejection_period_value
79
+ type: string
80
+ description: Number of time units for the deliverable rejection period
81
+ section: Deliverables
82
+ - name: resubmission_period_value
83
+ type: string
84
+ description: Number of time units for the deliverable resubmission period
85
+ section: Deliverables
86
+ - name: sow_changes_to_standard_terms
87
+ type: string
88
+ description: Changes to the Standard Terms that apply only to this SOW
65
89
  section: Terms
90
+ - name: changes_to_standard_terms
91
+ type: string
92
+ description: Changes to the Standard Terms that apply to the Agreement and all SOWs
93
+ section: Terms
94
+ - name: fee_description
95
+ type: string
96
+ description: Description of fees including hourly, project, or milestone-based rates and pass-through charges
97
+ section: Payment
98
+ - name: invoice_cadence
99
+ type: string
100
+ description: Cadence for sending invoices (e.g. monthly, quarterly, upon acceptance, after each milestone)
101
+ section: Payment
102
+ - name: customer_obligations
103
+ type: string
104
+ description: Customer obligations such as identifying a point of contact or geographic limitations
105
+ section: Terms
106
+ - name: increased_claim_other_detail
107
+ type: string
108
+ description: Description of a custom Increased Claim category
109
+ section: Liability
110
+ - name: unlimited_claim_other_detail
111
+ type: string
112
+ description: Description of a custom Unlimited Claim category
113
+ section: Liability
114
+ - name: additional_warranty_provider_detail
115
+ type: string
116
+ description: Additional warranty text provided by the Provider
117
+ section: Terms
118
+ - name: additional_warranty_customer_detail
119
+ type: string
120
+ description: Additional warranty text provided by the Customer
121
+ section: Terms
122
+ - name: other_security_certification
123
+ type: string
124
+ description: Name of additional security certification (e.g. "ISO 27701")
125
+ section: Security
66
126
  - name: payment_terms_days
67
127
  type: string
68
128
  description: Days to pay after invoice
@@ -87,6 +147,232 @@ fields:
87
147
  type: string
88
148
  description: Greater-of dollar amount
89
149
  section: Liability
150
+ - name: include_in_progress_deliverables
151
+ type: boolean
152
+ description: >-
153
+ Set to true when in-progress work should be included as Deliverables
154
+ in addition to completed projects.
155
+ section: Deliverables
156
+ - name: deliverables_meet_specs
157
+ type: boolean
158
+ description: >-
159
+ Set to true when Deliverables must meet attached specifications.
160
+ section: Deliverables
161
+ - name: deliverables_acceptance_process
162
+ type: boolean
163
+ description: >-
164
+ Set to true when Deliverables are subject to an acceptance process
165
+ before being considered final.
166
+ section: Deliverables
167
+ - name: ownership_upon_payment
168
+ type: boolean
169
+ description: >-
170
+ Set to true when Customer owns Deliverables only upon full payment
171
+ (not as they are created).
172
+ section: Deliverables
173
+ - name: no_third_party_materials
174
+ type: boolean
175
+ description: >-
176
+ Set to true when no Third-Party Materials will be incorporated
177
+ into Deliverables.
178
+ section: Deliverables
179
+ - name: has_third_party_materials
180
+ type: boolean
181
+ description: >-
182
+ Set to true when Third-Party Materials will be incorporated
183
+ into Deliverables.
184
+ section: Deliverables
185
+ - name: provider_procures_materials
186
+ type: boolean
187
+ description: >-
188
+ Set to true when Provider is responsible for procuring required
189
+ Third-Party Materials.
190
+ section: Deliverables
191
+ - name: customer_procures_materials
192
+ type: boolean
193
+ description: >-
194
+ Set to true when Customer is responsible for procuring required
195
+ Third-Party Materials.
196
+ section: Deliverables
197
+ - name: additional_terms_by_provider
198
+ type: boolean
199
+ description: >-
200
+ Set to true when Provider is adding additional terms to the agreement.
201
+ Specify terms in additional_warranty_provider_detail.
202
+ section: Terms
203
+ - name: additional_terms_by_customer
204
+ type: boolean
205
+ description: >-
206
+ Set to true when Customer is adding additional terms to the agreement.
207
+ Specify terms in additional_warranty_customer_detail.
208
+ section: Terms
209
+ - name: has_security_policy
210
+ type: boolean
211
+ description: >-
212
+ Set to true when Provider has a Security Policy available at the
213
+ specified DPA reference URL.
214
+ section: Security
215
+ - name: has_security_certifications
216
+ type: boolean
217
+ description: >-
218
+ Set to true when Provider maintains annually updated security
219
+ reports or certifications.
220
+ section: Security
221
+ - name: cert_iso_27001
222
+ type: boolean
223
+ description: Set to true when Provider holds ISO 27001 certification.
224
+ section: Security
225
+ - name: cert_penetration_testing
226
+ type: boolean
227
+ description: Set to true when Provider performs regular penetration testing.
228
+ section: Security
229
+ - name: cert_soc2_type1
230
+ type: boolean
231
+ description: Set to true when Provider holds SOC 2 Type I certification.
232
+ section: Security
233
+ - name: cert_pci_level1
234
+ type: boolean
235
+ description: Set to true when Provider holds PCI Level 1 certification.
236
+ section: Security
237
+ - name: cert_soc2_type2
238
+ type: boolean
239
+ description: Set to true when Provider holds SOC 2 Type II certification.
240
+ section: Security
241
+ - name: cert_pci_level2
242
+ type: boolean
243
+ description: Set to true when Provider holds PCI Level 2 certification.
244
+ section: Security
245
+ - name: cert_hitrust
246
+ type: boolean
247
+ description: Set to true when Provider holds HITRUST certification.
248
+ section: Security
249
+ - name: cert_fedramp
250
+ type: boolean
251
+ description: Set to true when Provider holds FedRAMP Authorization.
252
+ section: Security
253
+ - name: cert_other
254
+ type: boolean
255
+ description: >-
256
+ Set to true to include an additional security certification.
257
+ Specify the certification in other_security_certification.
258
+ section: Security
259
+ - name: provider_may_use_logo
260
+ type: boolean
261
+ description: >-
262
+ Set to true when Provider may publicly identify Customer and use
263
+ Customer's logo and trademarks in promotional materials.
264
+ section: Publicity
265
+ - name: provider_may_identify_nonpublic
266
+ type: boolean
267
+ description: >-
268
+ Set to true when Provider may identify Customer as a customer
269
+ in non-public settings (e.g., sales conversations).
270
+ section: Publicity
271
+ - name: general_cap_type
272
+ type: enum
273
+ description: >-
274
+ How the General Cap Amount (baseline liability limit) is calculated.
275
+ "multiplier" uses a multiple of fees, "dollar" uses a fixed amount,
276
+ "greater_of" uses the greater of a dollar amount or a multiple of fees.
277
+ options:
278
+ - multiplier
279
+ - dollar
280
+ - greater_of
281
+ section: Liability
282
+ - name: increased_cap_type
283
+ type: enum
284
+ description: >-
285
+ How the Increased Cap Amount (higher liability limit for Increased
286
+ Claims) is calculated. Same options as general_cap_type.
287
+ options:
288
+ - multiplier
289
+ - dollar
290
+ - greater_of
291
+ section: Liability
292
+ - name: increased_claim_breach_privacy
293
+ type: boolean
294
+ description: >-
295
+ Set to true when breach of Section 3 (Privacy & Security) should be
296
+ classified as an Increased Claim with a higher liability cap.
297
+ section: Liability
298
+ - name: increased_claim_breach_conf
299
+ type: boolean
300
+ description: >-
301
+ Set to true when breach of Section 11 (Confidentiality) should be
302
+ classified as an Increased Claim (excluding Privacy & Security breaches).
303
+ section: Liability
304
+ - name: increased_claim_indemnification
305
+ type: boolean
306
+ description: >-
307
+ Set to true when indemnification obligations for Covered Claims should
308
+ be classified as an Increased Claim.
309
+ section: Liability
310
+ - name: increased_claim_breach_privacy_gross
311
+ type: boolean
312
+ description: >-
313
+ Set to true when breach of Privacy & Security resulting from gross
314
+ negligence or willful misconduct is an Increased Claim.
315
+ section: Liability
316
+ - name: increased_claim_breach_conf_gross
317
+ type: boolean
318
+ description: >-
319
+ Set to true when breach of Confidentiality resulting from gross
320
+ negligence or willful misconduct is an Increased Claim.
321
+ section: Liability
322
+ - name: increased_claim_gross_willful
323
+ type: boolean
324
+ description: >-
325
+ Set to true when claims from gross negligence or willful misconduct
326
+ should be classified as Increased Claims.
327
+ section: Liability
328
+ - name: increased_claim_other
329
+ type: boolean
330
+ description: >-
331
+ Set to true to include a custom Increased Claim category. Specify in
332
+ increased_claim_other_detail.
333
+ section: Liability
334
+ - name: unlimited_claim_breach_privacy_gross
335
+ type: boolean
336
+ description: >-
337
+ Set to true when breach of Privacy & Security resulting from gross
338
+ negligence should have no liability cap (Unlimited Claim).
339
+ section: Liability
340
+ - name: unlimited_claim_breach_conf_gross
341
+ type: boolean
342
+ description: >-
343
+ Set to true when breach of Confidentiality resulting from gross
344
+ negligence should have no liability cap (Unlimited Claim).
345
+ section: Liability
346
+ - name: unlimited_claim_indemnification
347
+ type: boolean
348
+ description: >-
349
+ Set to true when indemnification for Covered Claims should have
350
+ no liability cap (Unlimited Claim).
351
+ section: Liability
352
+ - name: unlimited_claim_breach_privacy
353
+ type: boolean
354
+ description: >-
355
+ Set to true when breach of Section 3 (Privacy & Security) should
356
+ have no liability cap (Unlimited Claim).
357
+ section: Liability
358
+ - name: unlimited_claim_breach_conf
359
+ type: boolean
360
+ description: >-
361
+ Set to true when breach of Section 11 (Confidentiality) should
362
+ have no liability cap (Unlimited Claim).
363
+ section: Liability
364
+ - name: unlimited_claim_gross_willful
365
+ type: boolean
366
+ description: >-
367
+ Set to true when claims from gross negligence or willful misconduct
368
+ should have no liability cap (Unlimited Claim).
369
+ section: Liability
370
+ - name: unlimited_claim_other
371
+ type: boolean
372
+ description: >-
373
+ Set to true to include a custom Unlimited Claim category. Specify
374
+ in unlimited_claim_other_detail.
375
+ section: Liability
90
376
  - name: governing_law
91
377
  type: string
92
378
  description: Governing law
@@ -113,6 +399,54 @@ fields:
113
399
  type: string
114
400
  description: DPA reference
115
401
  section: Privacy
402
+ - name: provider_signatory_type
403
+ type: enum
404
+ description: Whether the Provider signatory is an entity or individual
405
+ options:
406
+ - entity
407
+ - individual
408
+ default: entity
409
+ section: Signature Block
410
+ - name: provider_signatory_name
411
+ type: string
412
+ description: Full legal name of the Provider's signatory
413
+ section: Signature Block
414
+ - name: provider_signatory_title
415
+ type: string
416
+ description: Title/role of the Provider's signatory (entity only)
417
+ section: Signature Block
418
+ - name: provider_signatory_company
419
+ type: string
420
+ description: Company name for the Provider signatory (entity only)
421
+ section: Signature Block
422
+ - name: provider_signatory_email
423
+ type: string
424
+ description: Notice email address for the Provider
425
+ section: Signature Block
426
+ - name: customer_signatory_type
427
+ type: enum
428
+ description: Whether the Customer signatory is an entity or individual
429
+ options:
430
+ - entity
431
+ - individual
432
+ default: entity
433
+ section: Signature Block
434
+ - name: customer_signatory_name
435
+ type: string
436
+ description: Full legal name of the Customer's signatory
437
+ section: Signature Block
438
+ - name: customer_signatory_title
439
+ type: string
440
+ description: Title/role of the Customer's signatory (entity only)
441
+ section: Signature Block
442
+ - name: customer_signatory_company
443
+ type: string
444
+ description: Company name for the Customer signatory (entity only)
445
+ section: Signature Block
446
+ - name: customer_signatory_email
447
+ type: string
448
+ description: Notice email address for the Customer
449
+ section: Signature Block
116
450
  required_fields:
117
451
  - company_name
118
452
  - provider_name
@@ -1,8 +1,11 @@
1
1
  {
2
2
  "{payment_terms_days}x the fees": "{cap_multiplier}x the fees",
3
3
  "{non_renewal_notice_days}x the fees": "{cap_multiplier}x the fees",
4
- "[ # ]": "{fill_in_value}",
5
- "[Describe fees, whether hourly, by project, by milestone, etc. Also include any pass-through or fractional charges such as for tooling or third-party license fees.]": "{fill_in_value}",
6
- "[Fill in cadence of sending invoices, e.g., month, quarter, upon acceptance, after each milestone, etc.]": "{fill_in_detail}",
7
- "[Fill in Customer's Obligations, e.g., identifying a single point of contact, geographic limitations on use of Deliverables, etc.]": "{fill_in_detail}"
4
+ "[Enter a description of the Services to be performed under this SOW. Include details such as key individuals, overall project timeline, milestones, etc.]": "{services_description}",
5
+ "[Describe fees, whether hourly, by project, by milestone, etc. Also include any pass-through or fractional charges such as for tooling or third-party license fees.]": "{fee_description}",
6
+ "[Fill in cadence of sending invoices, e.g., month, quarter, upon acceptance, after each milestone, etc.]": "{invoice_cadence}",
7
+ "[Fill in Customer's Obligations, e.g., identifying a single point of contact, geographic limitations on use of Deliverables, etc.]": "{customer_obligations}",
8
+ "[(a) the Deliverables (excluding any Customer Materials and Third-Party Materials procured by Customer), when used by Customer according to the terms of the SOW and the Agreement, violate, misappropriate, or otherwise infringe upon anyone else\u2019s intellectual property or other proprietary rights; (b) Provider's employees or Subcontractors are deemed to be Customer's employees because of Provider's actions or omissions; or (c) arises out of Provider\u2019s gross negligence, fraud, or willful misconduct.]": "{provider_covered_claims_detail}",
9
+ "[(a) Customer Materials or Third-Party Materials procured by Customer, when used by Provider according to the terms of the SOW and the Agreement, violate, misappropriate, or otherwise infringe upon anyone else\u2019s intellectual property or other proprietary rights; or (b) arises out of Customer\u2019s gross negligence, fraud, or willful misconduct.]": "{customer_covered_claims_detail}",
10
+ "[If required by law or appropriate for the Services, attach or describe where to find.]": "{dpa_description}"
8
11
  }
@@ -0,0 +1,207 @@
1
+ {
2
+ "groups": [
3
+ {
4
+ "id": "deliverable_terms",
5
+ "type": "checkbox",
6
+ "options": [
7
+ { "marker": "In addition to completed projects, Deliverables include in-progress", "trigger": { "field": "include_in_progress_deliverables" } },
8
+ { "marker": "Deliverables will meet the attached specifications", "trigger": { "field": "deliverables_meet_specs" } },
9
+ { "marker": "Deliverables are subject to the acceptance process", "trigger": { "field": "deliverables_acceptance_process" } }
10
+ ]
11
+ },
12
+ {
13
+ "id": "deliverable_ownership",
14
+ "type": "radio",
15
+ "options": [
16
+ { "marker": "Customer owns Deliverables as they are created", "trigger": "default" },
17
+ { "marker": "Customer owns Deliverables upon payment", "trigger": { "field": "ownership_upon_payment", "equals": true } }
18
+ ]
19
+ },
20
+ {
21
+ "id": "third_party_materials",
22
+ "type": "checkbox",
23
+ "options": [
24
+ { "marker": "No Third-Party Materials will be incorporated", "trigger": { "field": "no_third_party_materials" } },
25
+ { "marker": "Third-Party Materials will be incorporated", "trigger": { "field": "has_third_party_materials" } },
26
+ { "marker": "Provider will procure Third-Party Materials", "trigger": { "field": "provider_procures_materials" } },
27
+ { "marker": "Customer will procure Third-Party Materials", "trigger": { "field": "customer_procures_materials" } }
28
+ ]
29
+ },
30
+ {
31
+ "id": "travel_expenses",
32
+ "type": "checkbox",
33
+ "standalone": true,
34
+ "options": [
35
+ { "marker": "Travel and expenses:", "trigger": { "field": "travel_expense_policy" } }
36
+ ]
37
+ },
38
+ {
39
+ "id": "sow_date",
40
+ "type": "radio",
41
+ "options": [
42
+ { "marker": "Date of last signature on this Cover Page", "trigger": "default" },
43
+ { "marker": "{custom_sow_date}", "trigger": { "field": "custom_sow_date" } }
44
+ ]
45
+ },
46
+ {
47
+ "id": "sow_term",
48
+ "type": "radio",
49
+ "options": [
50
+ { "marker": "{term_duration_value} {term_duration_unit} after the SOW Date", "trigger": "default" },
51
+ { "marker": "{custom_end_date}", "trigger": { "field": "custom_end_date" } }
52
+ ]
53
+ },
54
+ {
55
+ "id": "effective_date",
56
+ "type": "radio",
57
+ "options": [
58
+ { "marker": "Date of last signature on this Cover Page", "trigger": "default" },
59
+ { "marker": "{custom_effective_date}", "trigger": { "field": "custom_effective_date" } }
60
+ ]
61
+ },
62
+ {
63
+ "id": "additional_terms",
64
+ "type": "checkbox",
65
+ "options": [
66
+ { "marker": "By Provider: {additional_warranty_provider_detail}", "trigger": { "field": "additional_terms_by_provider" } },
67
+ { "marker": "By Customer: {additional_warranty_customer_detail}", "trigger": { "field": "additional_terms_by_customer" } }
68
+ ]
69
+ },
70
+ {
71
+ "id": "general_cap",
72
+ "type": "radio",
73
+ "cellContext": "no General Cap Amount",
74
+ "options": [
75
+ { "marker": "{cap_multiplier}x the fees paid or payable by Customer to Provider", "trigger": { "field": "general_cap_type", "equals": "multiplier" } },
76
+ { "marker": "${general_cap_amount}", "trigger": { "field": "general_cap_type", "equals": "dollar" } },
77
+ { "marker": "The greater of ${increased_cap_amount}", "trigger": { "field": "general_cap_type", "equals": "greater_of" } }
78
+ ]
79
+ },
80
+ {
81
+ "id": "increased_claims",
82
+ "type": "checkbox",
83
+ "cellContext": "no Increased Claims are included",
84
+ "options": [
85
+ { "marker": "Breach of Section 3 (Privacy & Security)", "trigger": { "field": "increased_claim_breach_privacy" } },
86
+ { "marker": "Breach of Section 11 (Confidentiality) (however, excluding any breach of Section 3", "trigger": { "field": "increased_claim_breach_conf" } },
87
+ { "marker": "indemnification obligations for its Covered Claims", "trigger": { "field": "increased_claim_indemnification" } },
88
+ { "marker": "Breach of Section 3 (Privacy & Security) resulting from gross negligence", "trigger": { "field": "increased_claim_breach_privacy_gross" } },
89
+ { "marker": "Breach of Section 11 (Confidentiality) resulting from gross negligence", "trigger": { "field": "increased_claim_breach_conf_gross" } },
90
+ { "marker": "Claims resulting from a party\u2019s gross negligence or willful misconduct", "trigger": { "field": "increased_claim_gross_willful" } },
91
+ { "marker": "Other: {increased_claim_other_detail}", "trigger": { "field": "increased_claim_other" } }
92
+ ]
93
+ },
94
+ {
95
+ "id": "increased_cap",
96
+ "type": "radio",
97
+ "cellContext": "Increased Claims are included, customize",
98
+ "options": [
99
+ { "marker": "{cap_multiplier}x the fees paid or payable by Customer to Provider", "trigger": { "field": "increased_cap_type", "equals": "multiplier" } },
100
+ { "marker": "${general_cap_amount}", "trigger": { "field": "increased_cap_type", "equals": "dollar" } },
101
+ { "marker": "The greater of ${increased_cap_amount}", "trigger": { "field": "increased_cap_type", "equals": "greater_of" } }
102
+ ]
103
+ },
104
+ {
105
+ "id": "unlimited_claims",
106
+ "type": "checkbox",
107
+ "cellContext": "no Unlimited Claims are included",
108
+ "options": [
109
+ { "marker": "Breach of Section 3 (Privacy & Security) resulting from gross negligence", "trigger": { "field": "unlimited_claim_breach_privacy_gross" } },
110
+ { "marker": "Breach of Section 11 (Confidentiality) resulting from gross negligence", "trigger": { "field": "unlimited_claim_breach_conf_gross" } },
111
+ { "marker": "indemnification obligations for its Covered Claims", "trigger": { "field": "unlimited_claim_indemnification" } },
112
+ { "marker": "Breach of Section 3 (Privacy & Security)", "trigger": { "field": "unlimited_claim_breach_privacy" } },
113
+ { "marker": "Breach of Section 11 (Confidentiality) (however, excluding any breach of Section 3", "trigger": { "field": "unlimited_claim_breach_conf" } },
114
+ { "marker": "Claims resulting from a party\u2019s gross negligence or willful misconduct", "trigger": { "field": "unlimited_claim_gross_willful" } },
115
+ { "marker": "Other: {unlimited_claim_other_detail}", "trigger": { "field": "unlimited_claim_other" } }
116
+ ]
117
+ },
118
+ {
119
+ "id": "security_policy",
120
+ "type": "checkbox",
121
+ "options": [
122
+ { "marker": "Security Policy available at {dpa_reference}", "trigger": { "field": "has_security_policy" } },
123
+ { "marker": "Provider will maintain annually updated reports or annual certifications", "trigger": { "field": "has_security_certifications" } }
124
+ ]
125
+ },
126
+ {
127
+ "id": "security_cert_iso27001",
128
+ "type": "checkbox",
129
+ "standalone": true,
130
+ "options": [
131
+ { "marker": "ISO 27001", "trigger": { "field": "cert_iso_27001" } }
132
+ ]
133
+ },
134
+ {
135
+ "id": "security_cert_pentest",
136
+ "type": "checkbox",
137
+ "standalone": true,
138
+ "options": [
139
+ { "marker": "Penetration testing", "trigger": { "field": "cert_penetration_testing" } }
140
+ ]
141
+ },
142
+ {
143
+ "id": "security_cert_soc2_type1",
144
+ "type": "checkbox",
145
+ "standalone": true,
146
+ "options": [
147
+ { "marker": "SOC 2 Type I", "trigger": { "field": "cert_soc2_type1" } }
148
+ ]
149
+ },
150
+ {
151
+ "id": "security_cert_pci_level1",
152
+ "type": "checkbox",
153
+ "standalone": true,
154
+ "options": [
155
+ { "marker": "PCI Level 1", "trigger": { "field": "cert_pci_level1" } }
156
+ ]
157
+ },
158
+ {
159
+ "id": "security_cert_soc2_type2",
160
+ "type": "checkbox",
161
+ "standalone": true,
162
+ "options": [
163
+ { "marker": "SOC 2 Type II", "trigger": { "field": "cert_soc2_type2" } }
164
+ ]
165
+ },
166
+ {
167
+ "id": "security_cert_pci_level2",
168
+ "type": "checkbox",
169
+ "standalone": true,
170
+ "options": [
171
+ { "marker": "PCI Level 2", "trigger": { "field": "cert_pci_level2" } }
172
+ ]
173
+ },
174
+ {
175
+ "id": "security_cert_hitrust",
176
+ "type": "checkbox",
177
+ "standalone": true,
178
+ "options": [
179
+ { "marker": "HITRUST", "trigger": { "field": "cert_hitrust" } }
180
+ ]
181
+ },
182
+ {
183
+ "id": "security_cert_fedramp",
184
+ "type": "checkbox",
185
+ "standalone": true,
186
+ "options": [
187
+ { "marker": "FedRAMP Authorized", "trigger": { "field": "cert_fedramp" } }
188
+ ]
189
+ },
190
+ {
191
+ "id": "security_cert_other",
192
+ "type": "checkbox",
193
+ "standalone": true,
194
+ "options": [
195
+ { "marker": "Other: {other_security_certification}", "trigger": { "field": "cert_other" } }
196
+ ]
197
+ },
198
+ {
199
+ "id": "publicity",
200
+ "type": "checkbox",
201
+ "options": [
202
+ { "marker": "Provider may identify Customer and use Customer\u2019s logo and trademarks", "trigger": { "field": "provider_may_use_logo" } },
203
+ { "marker": "Provider may identify Customer as a customer in non-public settings", "trigger": { "field": "provider_may_identify_nonpublic" } }
204
+ ]
205
+ }
206
+ ]
207
+ }
@@ -26,6 +26,24 @@ A statement of work template for professional services engagements, based on [Co
26
26
  | `travel_expense_policy` | string | no | Travel and expense policy |
27
27
  | `customer_owned_deliverables` | string | no | Customer-owned deliverables |
28
28
 
29
+
30
+ ### Signature Block
31
+
32
+ | Field | Type | Required | Description |
33
+ |-------|------|----------|-------------|
34
+ | `provider_signatory_type` | enum (`entity` / `individual`) | no | Whether the Provider signatory is an entity or individual (default: `entity`) |
35
+ | `provider_signatory_name` | string | no | Full legal name of the Provider's signatory |
36
+ | `provider_signatory_title` | string | no | Title/role of the Provider's signatory (entity only) |
37
+ | `provider_signatory_company` | string | no | Company name for the Provider signatory (entity only) |
38
+ | `provider_signatory_email` | string | no | Notice email address for the Provider |
39
+ | `customer_signatory_type` | enum (`entity` / `individual`) | no | Whether the Customer signatory is an entity or individual (default: `entity`) |
40
+ | `customer_signatory_name` | string | no | Full legal name of the Customer's signatory |
41
+ | `customer_signatory_title` | string | no | Title/role of the Customer's signatory (entity only) |
42
+ | `customer_signatory_company` | string | no | Company name for the Customer signatory (entity only) |
43
+ | `customer_signatory_email` | string | no | Notice email address for the Customer |
44
+
45
+ > **Note:** `*_title` and `*_company` are only rendered when the corresponding `*_type` is `entity` (default). When set to `individual`, those cells are left blank even if values are provided.
46
+
29
47
  ## Attribution
30
48
 
31
49
  Based on the Common Paper Statement of Work, available at https://commonpaper.com.