@open-agreements/open-agreements 0.2.2 → 0.3.1

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
@@ -42,14 +42,122 @@ fields:
42
42
  type: string
43
43
  description: Unit for breach notification period
44
44
  section: Terms
45
- - name: fill_in_value
45
+ - name: breach_notification_number
46
46
  type: string
47
- description: General fill-in value
47
+ description: Numeric value for the breach notification period (e.g. 5)
48
+ section: Terms
49
+ - name: other_changes
50
+ type: string
51
+ description: Prose describing other changes to BAA Standard Terms
48
52
  section: Terms
49
53
  - name: custom_effective_date
50
54
  type: string
51
- description: Custom effective date
55
+ description: Custom effective date (if not date of last signature)
56
+ section: Terms
57
+ - name: maintains_designated_record_set
58
+ type: boolean
59
+ description: Whether Provider maintains PHI in a Designated Record Set
52
60
  section: Terms
61
+ - name: no_subcontracting
62
+ type: boolean
63
+ description: Provider will not subcontract
64
+ section: Subcontracting
65
+ - name: subcontracting_with_conditions
66
+ type: boolean
67
+ description: Provider will not subcontract unless conditions are met
68
+ section: Subcontracting
69
+ - name: subcontract_notice_required
70
+ type: boolean
71
+ description: Notice must be provided to Company before subcontracting
72
+ section: Subcontracting
73
+ - name: subcontract_permission_required
74
+ type: boolean
75
+ description: Company explicit permission required for subcontracting
76
+ section: Subcontracting
77
+ - name: no_offshoring
78
+ type: boolean
79
+ description: Offshoring of PHI and/or Services is not permitted
80
+ section: Subcontracting
81
+ - name: offshoring_with_conditions
82
+ type: boolean
83
+ description: Offshoring not permitted unless conditions met
84
+ section: Subcontracting
85
+ - name: no_deidentification
86
+ type: boolean
87
+ description: Provider will not de-identify PHI
88
+ section: De-identification
89
+ - name: deidentification_with_conditions
90
+ type: boolean
91
+ description: Provider will not de-identify PHI unless conditions met
92
+ section: De-identification
93
+ - name: deidentification_purpose
94
+ type: string
95
+ description: Specific purpose(s) for which Provider may de-identify PHI (e.g. generating data analytics)
96
+ section: De-identification
97
+ - name: deidentify_for_purpose
98
+ type: boolean
99
+ description: De-identification for specific purposes only
100
+ section: De-identification
101
+ - name: deidentify_additional_requirements
102
+ type: boolean
103
+ description: Additional requirements for de-identifying PHI
104
+ section: De-identification
105
+ - name: no_aggregation
106
+ type: boolean
107
+ description: Provider will not aggregate PHI
108
+ section: De-identification
109
+ - name: aggregation_with_conditions
110
+ type: boolean
111
+ description: Provider will not aggregate PHI unless conditions met
112
+ section: De-identification
113
+ - name: provider_signatory_type
114
+ type: enum
115
+ description: Whether the Provider signatory is an entity or individual
116
+ options:
117
+ - entity
118
+ - individual
119
+ default: entity
120
+ section: Signature Block
121
+ - name: provider_signatory_name
122
+ type: string
123
+ description: Full legal name of the Provider's signatory
124
+ section: Signature Block
125
+ - name: provider_signatory_title
126
+ type: string
127
+ description: Title/role of the Provider's signatory (entity only)
128
+ section: Signature Block
129
+ - name: provider_signatory_company
130
+ type: string
131
+ description: Company name for the Provider signatory (entity only)
132
+ section: Signature Block
133
+ - name: provider_signatory_email
134
+ type: string
135
+ description: Notice email address for the Provider
136
+ section: Signature Block
137
+ - name: company_signatory_type
138
+ type: enum
139
+ description: Whether the Company signatory is an entity or individual
140
+ options:
141
+ - entity
142
+ - individual
143
+ default: entity
144
+ section: Signature Block
145
+ - name: company_signatory_name
146
+ type: string
147
+ description: Full legal name of the Company's signatory
148
+ section: Signature Block
149
+ - name: company_signatory_title
150
+ type: string
151
+ description: Title/role of the Company's signatory (entity only)
152
+ section: Signature Block
153
+ - name: company_signatory_company
154
+ type: string
155
+ description: Company name for the Company signatory (entity only)
156
+ section: Signature Block
157
+ - name: company_signatory_email
158
+ type: string
159
+ description: Notice email address for the Company
160
+ section: Signature Block
53
161
  required_fields:
54
162
  - company_name
55
163
  - party_role
@@ -1,3 +1,4 @@
1
1
  {
2
- "[ # ]": "{fill_in_value}"
2
+ "[ # ]": "{breach_notification_number}",
3
+ "[ insert specific purpose(s), such as \u201cgenerating data analytics for academic research\u201d ]": "{deidentification_purpose}"
3
4
  }
@@ -0,0 +1,38 @@
1
+ {
2
+ "groups": [
3
+ {
4
+ "id": "designated_record_set",
5
+ "type": "radio",
6
+ "options": [
7
+ { "marker": "Provider maintains PHI in a Designated Record Set", "trigger": { "field": "maintains_designated_record_set", "equals": true } },
8
+ { "marker": "Provider does not maintain PHI in a Designated Record Set", "trigger": "default" }
9
+ ]
10
+ },
11
+ {
12
+ "id": "subcontracting_phi",
13
+ "type": "checkbox",
14
+ "options": [
15
+ { "marker": "Provider will not subcontract.", "trigger": { "field": "no_subcontracting" } },
16
+ { "marker": "Provider will not subcontract unless:", "trigger": { "field": "subcontracting_with_conditions" } },
17
+ { "marker": "notice has been provided to Company", "trigger": { "field": "subcontract_notice_required" } },
18
+ { "marker": "with Company\u2019s explicit permission", "trigger": { "field": "subcontract_permission_required" } },
19
+ { "marker": "Offshoring of PHI and/or Services is not permitted.", "trigger": { "field": "no_offshoring" } },
20
+ { "marker": "Offshoring of PHI and/or Services not permitted unless", "trigger": { "field": "offshoring_with_conditions" } },
21
+ { "marker": "Provider will not de-identify PHI.", "trigger": { "field": "no_deidentification" } },
22
+ { "marker": "Provider will not de-identify PHI unless:", "trigger": { "field": "deidentification_with_conditions" } },
23
+ { "marker": "doing so for the specific purpose of", "trigger": { "field": "deidentify_for_purpose" } },
24
+ { "marker": "the following additional requirements for de-identifying PHI", "trigger": { "field": "deidentify_additional_requirements" } },
25
+ { "marker": "Provider will not aggregate PHI.", "trigger": { "field": "no_aggregation" } },
26
+ { "marker": "Provider will not aggregate PHI unless", "trigger": { "field": "aggregation_with_conditions" } }
27
+ ]
28
+ },
29
+ {
30
+ "id": "effective_date",
31
+ "type": "radio",
32
+ "options": [
33
+ { "marker": "Date of last signature on this Cover Page", "trigger": "default" },
34
+ { "marker": "{custom_effective_date}", "trigger": { "field": "custom_effective_date" } }
35
+ ]
36
+ }
37
+ ]
38
+ }
@@ -26,6 +26,24 @@ A cloud service agreement based on [Common Paper's](https://commonpaper.com) sta
26
26
  | `jurisdiction` | string | yes | Courts with jurisdiction over disputes |
27
27
  | `provider_liability_cap` | string | no | Maximum liability cap for the provider |
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 Cloud Service Agreement, available at https://commonpaper.com.
@@ -342,6 +342,54 @@ fields:
342
342
  type: string
343
343
  description: '[Computed] General cap amount text, derived from cap type booleans and amounts'
344
344
  section: Liability
345
+ - name: provider_signatory_type
346
+ type: enum
347
+ description: Whether the Provider signatory is an entity or individual
348
+ options:
349
+ - entity
350
+ - individual
351
+ default: entity
352
+ section: Signature Block
353
+ - name: provider_signatory_name
354
+ type: string
355
+ description: Full legal name of the Provider's signatory
356
+ section: Signature Block
357
+ - name: provider_signatory_title
358
+ type: string
359
+ description: Title/role of the Provider's signatory (entity only)
360
+ section: Signature Block
361
+ - name: provider_signatory_company
362
+ type: string
363
+ description: Company name for the Provider signatory (entity only)
364
+ section: Signature Block
365
+ - name: provider_signatory_email
366
+ type: string
367
+ description: Notice email address for the Provider
368
+ section: Signature Block
369
+ - name: customer_signatory_type
370
+ type: enum
371
+ description: Whether the Customer signatory is an entity or individual
372
+ options:
373
+ - entity
374
+ - individual
375
+ default: entity
376
+ section: Signature Block
377
+ - name: customer_signatory_name
378
+ type: string
379
+ description: Full legal name of the Customer's signatory
380
+ section: Signature Block
381
+ - name: customer_signatory_title
382
+ type: string
383
+ description: Title/role of the Customer's signatory (entity only)
384
+ section: Signature Block
385
+ - name: customer_signatory_company
386
+ type: string
387
+ description: Company name for the Customer signatory (entity only)
388
+ section: Signature Block
389
+ - name: customer_signatory_email
390
+ type: string
391
+ description: Notice email address for the Customer
392
+ section: Signature Block
345
393
  required_fields:
346
394
  - provider_name
347
395
  - customer_name
@@ -43,6 +43,24 @@ A cloud service agreement with AI provisions based on [Common Paper's](https://c
43
43
  | `ai_policy_reference` | string | no | Reference to AI usage policy (URL or attached) |
44
44
  | `ai_additional_terms` | string | no | Additional AI-specific terms |
45
45
 
46
+
47
+ ### Signature Block
48
+
49
+ | Field | Type | Required | Description |
50
+ |-------|------|----------|-------------|
51
+ | `provider_signatory_type` | enum (`entity` / `individual`) | no | Whether the Provider signatory is an entity or individual (default: `entity`) |
52
+ | `provider_signatory_name` | string | no | Full legal name of the Provider's signatory |
53
+ | `provider_signatory_title` | string | no | Title/role of the Provider's signatory (entity only) |
54
+ | `provider_signatory_company` | string | no | Company name for the Provider signatory (entity only) |
55
+ | `provider_signatory_email` | string | no | Notice email address for the Provider |
56
+ | `customer_signatory_type` | enum (`entity` / `individual`) | no | Whether the Customer signatory is an entity or individual (default: `entity`) |
57
+ | `customer_signatory_name` | string | no | Full legal name of the Customer's signatory |
58
+ | `customer_signatory_title` | string | no | Title/role of the Customer's signatory (entity only) |
59
+ | `customer_signatory_company` | string | no | Company name for the Customer signatory (entity only) |
60
+ | `customer_signatory_email` | string | no | Notice email address for the Customer |
61
+
62
+ > **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.
63
+
46
64
  ## Attribution
47
65
 
48
66
  Based on the Common Paper CSA With AI, available at https://commonpaper.com.