open-agreements 0.1.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 (243) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +161 -0
  3. package/bin/open-agreements.js +2 -0
  4. package/dist/cli/index.d.ts +2 -0
  5. package/dist/cli/index.d.ts.map +1 -0
  6. package/dist/cli/index.js +102 -0
  7. package/dist/cli/index.js.map +1 -0
  8. package/dist/commands/fill.d.ts +7 -0
  9. package/dist/commands/fill.d.ts.map +1 -0
  10. package/dist/commands/fill.js +84 -0
  11. package/dist/commands/fill.js.map +1 -0
  12. package/dist/commands/list.d.ts +6 -0
  13. package/dist/commands/list.d.ts.map +1 -0
  14. package/dist/commands/list.js +202 -0
  15. package/dist/commands/list.js.map +1 -0
  16. package/dist/commands/recipe.d.ts +21 -0
  17. package/dist/commands/recipe.d.ts.map +1 -0
  18. package/dist/commands/recipe.js +71 -0
  19. package/dist/commands/recipe.js.map +1 -0
  20. package/dist/commands/scan.d.ts +12 -0
  21. package/dist/commands/scan.d.ts.map +1 -0
  22. package/dist/commands/scan.js +122 -0
  23. package/dist/commands/scan.js.map +1 -0
  24. package/dist/commands/validate.d.ts +6 -0
  25. package/dist/commands/validate.d.ts.map +1 -0
  26. package/dist/commands/validate.js +139 -0
  27. package/dist/commands/validate.js.map +1 -0
  28. package/dist/core/command-generation/adapters/claude.d.ts +11 -0
  29. package/dist/core/command-generation/adapters/claude.d.ts.map +1 -0
  30. package/dist/core/command-generation/adapters/claude.js +85 -0
  31. package/dist/core/command-generation/adapters/claude.js.map +1 -0
  32. package/dist/core/command-generation/types.d.ts +14 -0
  33. package/dist/core/command-generation/types.d.ts.map +1 -0
  34. package/dist/core/command-generation/types.js +2 -0
  35. package/dist/core/command-generation/types.js.map +1 -0
  36. package/dist/core/engine.d.ts +13 -0
  37. package/dist/core/engine.d.ts.map +1 -0
  38. package/dist/core/engine.js +149 -0
  39. package/dist/core/engine.js.map +1 -0
  40. package/dist/core/external/index.d.ts +8 -0
  41. package/dist/core/external/index.d.ts.map +1 -0
  42. package/dist/core/external/index.js +92 -0
  43. package/dist/core/external/index.js.map +1 -0
  44. package/dist/core/external/types.d.ts +18 -0
  45. package/dist/core/external/types.d.ts.map +1 -0
  46. package/dist/core/external/types.js +2 -0
  47. package/dist/core/external/types.js.map +1 -0
  48. package/dist/core/fill-pipeline.d.ts +61 -0
  49. package/dist/core/fill-pipeline.d.ts.map +1 -0
  50. package/dist/core/fill-pipeline.js +279 -0
  51. package/dist/core/fill-pipeline.js.map +1 -0
  52. package/dist/core/fill-utils.d.ts +39 -0
  53. package/dist/core/fill-utils.d.ts.map +1 -0
  54. package/dist/core/fill-utils.js +127 -0
  55. package/dist/core/fill-utils.js.map +1 -0
  56. package/dist/core/metadata.d.ts +396 -0
  57. package/dist/core/metadata.d.ts.map +1 -0
  58. package/dist/core/metadata.js +126 -0
  59. package/dist/core/metadata.js.map +1 -0
  60. package/dist/core/recipe/cleaner.d.ts +13 -0
  61. package/dist/core/recipe/cleaner.d.ts.map +1 -0
  62. package/dist/core/recipe/cleaner.js +106 -0
  63. package/dist/core/recipe/cleaner.js.map +1 -0
  64. package/dist/core/recipe/downloader.d.ts +8 -0
  65. package/dist/core/recipe/downloader.d.ts.map +1 -0
  66. package/dist/core/recipe/downloader.js +58 -0
  67. package/dist/core/recipe/downloader.js.map +1 -0
  68. package/dist/core/recipe/index.d.ts +14 -0
  69. package/dist/core/recipe/index.d.ts.map +1 -0
  70. package/dist/core/recipe/index.js +91 -0
  71. package/dist/core/recipe/index.js.map +1 -0
  72. package/dist/core/recipe/ooxml-parts.d.ts +21 -0
  73. package/dist/core/recipe/ooxml-parts.d.ts.map +1 -0
  74. package/dist/core/recipe/ooxml-parts.js +33 -0
  75. package/dist/core/recipe/ooxml-parts.js.map +1 -0
  76. package/dist/core/recipe/patcher.d.ts +17 -0
  77. package/dist/core/recipe/patcher.d.ts.map +1 -0
  78. package/dist/core/recipe/patcher.js +240 -0
  79. package/dist/core/recipe/patcher.js.map +1 -0
  80. package/dist/core/recipe/types.d.ts +28 -0
  81. package/dist/core/recipe/types.d.ts.map +1 -0
  82. package/dist/core/recipe/types.js +2 -0
  83. package/dist/core/recipe/types.js.map +1 -0
  84. package/dist/core/recipe/verifier.d.ts +24 -0
  85. package/dist/core/recipe/verifier.d.ts.map +1 -0
  86. package/dist/core/recipe/verifier.js +143 -0
  87. package/dist/core/recipe/verifier.js.map +1 -0
  88. package/dist/core/validation/external.d.ts +16 -0
  89. package/dist/core/validation/external.d.ts.map +1 -0
  90. package/dist/core/validation/external.js +106 -0
  91. package/dist/core/validation/external.js.map +1 -0
  92. package/dist/core/validation/license.d.ts +15 -0
  93. package/dist/core/validation/license.d.ts.map +1 -0
  94. package/dist/core/validation/license.js +30 -0
  95. package/dist/core/validation/license.js.map +1 -0
  96. package/dist/core/validation/output.d.ts +12 -0
  97. package/dist/core/validation/output.d.ts.map +1 -0
  98. package/dist/core/validation/output.js +47 -0
  99. package/dist/core/validation/output.js.map +1 -0
  100. package/dist/core/validation/recipe.d.ts +19 -0
  101. package/dist/core/validation/recipe.d.ts.map +1 -0
  102. package/dist/core/validation/recipe.js +148 -0
  103. package/dist/core/validation/recipe.js.map +1 -0
  104. package/dist/core/validation/template.d.ts +11 -0
  105. package/dist/core/validation/template.d.ts.map +1 -0
  106. package/dist/core/validation/template.js +159 -0
  107. package/dist/core/validation/template.js.map +1 -0
  108. package/dist/index.d.ts +13 -0
  109. package/dist/index.d.ts.map +1 -0
  110. package/dist/index.js +19 -0
  111. package/dist/index.js.map +1 -0
  112. package/dist/utils/paths.d.ts +15 -0
  113. package/dist/utils/paths.d.ts.map +1 -0
  114. package/dist/utils/paths.js +43 -0
  115. package/dist/utils/paths.js.map +1 -0
  116. package/external/LICENSE +27 -0
  117. package/external/README.md +38 -0
  118. package/external/yc-safe-discount/README.md +16 -0
  119. package/external/yc-safe-discount/clean.json +4 -0
  120. package/external/yc-safe-discount/metadata.yaml +71 -0
  121. package/external/yc-safe-discount/replacements.json +13 -0
  122. package/external/yc-safe-discount/template.docx +0 -0
  123. package/external/yc-safe-mfn/README.md +16 -0
  124. package/external/yc-safe-mfn/clean.json +4 -0
  125. package/external/yc-safe-mfn/metadata.yaml +64 -0
  126. package/external/yc-safe-mfn/replacements.json +12 -0
  127. package/external/yc-safe-mfn/template.docx +0 -0
  128. package/external/yc-safe-pro-rata-side-letter/README.md +16 -0
  129. package/external/yc-safe-pro-rata-side-letter/clean.json +4 -0
  130. package/external/yc-safe-pro-rata-side-letter/metadata.yaml +49 -0
  131. package/external/yc-safe-pro-rata-side-letter/replacements.json +9 -0
  132. package/external/yc-safe-pro-rata-side-letter/template.docx +0 -0
  133. package/external/yc-safe-valuation-cap/README.md +16 -0
  134. package/external/yc-safe-valuation-cap/clean.json +4 -0
  135. package/external/yc-safe-valuation-cap/metadata.yaml +64 -0
  136. package/external/yc-safe-valuation-cap/replacements.json +12 -0
  137. package/external/yc-safe-valuation-cap/template.docx +0 -0
  138. package/package.json +77 -0
  139. package/recipes/nvca-certificate-of-incorporation/clean.json +8 -0
  140. package/recipes/nvca-certificate-of-incorporation/metadata.yaml +43 -0
  141. package/recipes/nvca-certificate-of-incorporation/replacements.json +9 -0
  142. package/recipes/nvca-certificate-of-incorporation/schema.json +11 -0
  143. package/recipes/nvca-indemnification-agreement/clean.json +7 -0
  144. package/recipes/nvca-indemnification-agreement/metadata.yaml +83 -0
  145. package/recipes/nvca-indemnification-agreement/replacements.json +17 -0
  146. package/recipes/nvca-indemnification-agreement/schema.json +19 -0
  147. package/recipes/nvca-investors-rights-agreement/clean.json +12 -0
  148. package/recipes/nvca-investors-rights-agreement/metadata.yaml +75 -0
  149. package/recipes/nvca-investors-rights-agreement/replacements.json +18 -0
  150. package/recipes/nvca-investors-rights-agreement/schema.json +18 -0
  151. package/recipes/nvca-management-rights-letter/clean.json +7 -0
  152. package/recipes/nvca-management-rights-letter/metadata.yaml +50 -0
  153. package/recipes/nvca-management-rights-letter/replacements.json +11 -0
  154. package/recipes/nvca-management-rights-letter/schema.json +13 -0
  155. package/recipes/nvca-rofr-co-sale-agreement/clean.json +7 -0
  156. package/recipes/nvca-rofr-co-sale-agreement/metadata.yaml +80 -0
  157. package/recipes/nvca-rofr-co-sale-agreement/replacements.json +17 -0
  158. package/recipes/nvca-rofr-co-sale-agreement/schema.json +19 -0
  159. package/recipes/nvca-stock-purchase-agreement/clean.json +10 -0
  160. package/recipes/nvca-stock-purchase-agreement/metadata.yaml +74 -0
  161. package/recipes/nvca-stock-purchase-agreement/replacements.json +20 -0
  162. package/recipes/nvca-stock-purchase-agreement/schema.json +19 -0
  163. package/recipes/nvca-voting-agreement/README.md +53 -0
  164. package/recipes/nvca-voting-agreement/clean.json +7 -0
  165. package/recipes/nvca-voting-agreement/metadata.yaml +70 -0
  166. package/recipes/nvca-voting-agreement/replacements.json +18 -0
  167. package/recipes/nvca-voting-agreement/schema.json +28 -0
  168. package/skills/open-agreements/SKILL.md +166 -0
  169. package/templates/bonterms-mutual-nda/README.md +27 -0
  170. package/templates/bonterms-mutual-nda/metadata.yaml +58 -0
  171. package/templates/bonterms-mutual-nda/template.docx +0 -0
  172. package/templates/bonterms-professional-services-agreement/README.md +24 -0
  173. package/templates/bonterms-professional-services-agreement/metadata.yaml +40 -0
  174. package/templates/bonterms-professional-services-agreement/template.docx +0 -0
  175. package/templates/common-paper-ai-addendum/README.md +23 -0
  176. package/templates/common-paper-ai-addendum/metadata.yaml +33 -0
  177. package/templates/common-paper-ai-addendum/template.docx +0 -0
  178. package/templates/common-paper-ai-addendum-in-app/README.md +21 -0
  179. package/templates/common-paper-ai-addendum-in-app/metadata.yaml +23 -0
  180. package/templates/common-paper-ai-addendum-in-app/template.docx +0 -0
  181. package/templates/common-paper-amendment/README.md +27 -0
  182. package/templates/common-paper-amendment/metadata.yaml +53 -0
  183. package/templates/common-paper-amendment/template.docx +0 -0
  184. package/templates/common-paper-business-associate-agreement/README.md +29 -0
  185. package/templates/common-paper-business-associate-agreement/metadata.yaml +63 -0
  186. package/templates/common-paper-business-associate-agreement/template.docx +0 -0
  187. package/templates/common-paper-cloud-service-agreement/README.md +32 -0
  188. package/templates/common-paper-cloud-service-agreement/metadata.yaml +488 -0
  189. package/templates/common-paper-cloud-service-agreement/template.docx +0 -0
  190. package/templates/common-paper-csa-click-through/README.md +33 -0
  191. package/templates/common-paper-csa-click-through/metadata.yaml +83 -0
  192. package/templates/common-paper-csa-click-through/template.docx +0 -0
  193. package/templates/common-paper-csa-with-ai/README.md +49 -0
  194. package/templates/common-paper-csa-with-ai/metadata.yaml +166 -0
  195. package/templates/common-paper-csa-with-ai/template.docx +0 -0
  196. package/templates/common-paper-csa-with-sla/README.md +53 -0
  197. package/templates/common-paper-csa-with-sla/metadata.yaml +185 -0
  198. package/templates/common-paper-csa-with-sla/template.docx +0 -0
  199. package/templates/common-paper-csa-without-sla/README.md +47 -0
  200. package/templates/common-paper-csa-without-sla/metadata.yaml +155 -0
  201. package/templates/common-paper-csa-without-sla/template.docx +0 -0
  202. package/templates/common-paper-data-processing-agreement/README.md +46 -0
  203. package/templates/common-paper-data-processing-agreement/metadata.yaml +149 -0
  204. package/templates/common-paper-data-processing-agreement/template.docx +0 -0
  205. package/templates/common-paper-design-partner-agreement/README.md +29 -0
  206. package/templates/common-paper-design-partner-agreement/metadata.yaml +65 -0
  207. package/templates/common-paper-design-partner-agreement/template.docx +0 -0
  208. package/templates/common-paper-independent-contractor-agreement/README.md +27 -0
  209. package/templates/common-paper-independent-contractor-agreement/metadata.yaml +55 -0
  210. package/templates/common-paper-independent-contractor-agreement/template.docx +0 -0
  211. package/templates/common-paper-letter-of-intent/README.md +25 -0
  212. package/templates/common-paper-letter-of-intent/metadata.yaml +43 -0
  213. package/templates/common-paper-letter-of-intent/template.docx +0 -0
  214. package/templates/common-paper-mutual-nda/README.md +29 -0
  215. package/templates/common-paper-mutual-nda/metadata.yaml +59 -0
  216. package/templates/common-paper-mutual-nda/template.docx +0 -0
  217. package/templates/common-paper-one-way-nda/README.md +27 -0
  218. package/templates/common-paper-one-way-nda/metadata.yaml +60 -0
  219. package/templates/common-paper-one-way-nda/template.docx +0 -0
  220. package/templates/common-paper-order-form/README.md +36 -0
  221. package/templates/common-paper-order-form/metadata.yaml +98 -0
  222. package/templates/common-paper-order-form/template.docx +0 -0
  223. package/templates/common-paper-order-form-with-sla/README.md +42 -0
  224. package/templates/common-paper-order-form-with-sla/metadata.yaml +129 -0
  225. package/templates/common-paper-order-form-with-sla/template.docx +0 -0
  226. package/templates/common-paper-partnership-agreement/README.md +34 -0
  227. package/templates/common-paper-partnership-agreement/metadata.yaml +90 -0
  228. package/templates/common-paper-partnership-agreement/template.docx +0 -0
  229. package/templates/common-paper-pilot-agreement/README.md +34 -0
  230. package/templates/common-paper-pilot-agreement/metadata.yaml +90 -0
  231. package/templates/common-paper-pilot-agreement/template.docx +0 -0
  232. package/templates/common-paper-professional-services-agreement/README.md +44 -0
  233. package/templates/common-paper-professional-services-agreement/metadata.yaml +141 -0
  234. package/templates/common-paper-professional-services-agreement/template.docx +0 -0
  235. package/templates/common-paper-software-license-agreement/README.md +18 -0
  236. package/templates/common-paper-software-license-agreement/metadata.yaml +13 -0
  237. package/templates/common-paper-software-license-agreement/template.docx +0 -0
  238. package/templates/common-paper-statement-of-work/README.md +32 -0
  239. package/templates/common-paper-statement-of-work/metadata.yaml +78 -0
  240. package/templates/common-paper-statement-of-work/template.docx +0 -0
  241. package/templates/common-paper-term-sheet/README.md +22 -0
  242. package/templates/common-paper-term-sheet/metadata.yaml +28 -0
  243. package/templates/common-paper-term-sheet/template.docx +0 -0
@@ -0,0 +1,29 @@
1
+ # Common Paper Business Associate Agreement
2
+
3
+ A HIPAA business associate agreement based on [Common Paper's](https://commonpaper.com) standard terms. Covers the use and protection of protected health information (PHI) between a covered entity and a business associate.
4
+
5
+ ## Source
6
+
7
+ - **URL**: https://commonpaper.com/standards/business-associate-agreement/1.0
8
+ - **Version**: 1.0
9
+ - **License**: CC BY 4.0
10
+
11
+ ## Fields
12
+
13
+ | Field | Type | Required | Description |
14
+ |-------|------|----------|-------------|
15
+ | `company_name` | string | yes | Official company name |
16
+ | `party_role` | string | yes | Role in the agreement (Business Associate or Covered Entity) |
17
+ | `principal_agreement` | string | yes | Reference to the principal agreement |
18
+ | `subcontractor_role` | string | no | Role of subcontractors |
19
+ | `free_text` | string | no | Free text entry |
20
+ | `aggregation_restrictions` | string | no | Specific aggregation restrictions |
21
+ | `offshoring_restrictions` | string | no | Specific offshoring rights or restrictions |
22
+ | `breach_notification_unit` | string | no | Unit for breach notification period |
23
+ | `fill_in_value` | string | no | General fill-in value |
24
+ | `custom_effective_date` | string | no | Custom effective date |
25
+
26
+ ## Attribution
27
+
28
+ Based on the Common Paper Business Associate Agreement, available at https://commonpaper.com.
29
+ Licensed under CC BY 4.0. Copyright Common Paper, Inc.
@@ -0,0 +1,63 @@
1
+ name: Common Paper Business Associate Agreement
2
+ description: >-
3
+ A HIPAA business associate agreement cover page and standard terms, based on
4
+ Common Paper's standard form. Covers the use and protection of protected
5
+ health information (PHI) between a covered entity and a business associate.
6
+ source_url: https://commonpaper.com/standards/business-associate-agreement/1.0
7
+ version: "1.0"
8
+ license: CC-BY-4.0
9
+ allow_derivatives: true
10
+ attribution_text: >-
11
+ Based on the Common Paper Business Associate Agreement, available at
12
+ https://commonpaper.com. Licensed under CC BY 4.0. Copyright Common Paper, Inc.
13
+ fields:
14
+ - name: company_name
15
+ type: string
16
+ description: Official company name
17
+ required: true
18
+ section: Parties
19
+ - name: party_role
20
+ type: string
21
+ description: Role in the agreement (Business Associate or Covered Entity)
22
+ required: true
23
+ section: Parties
24
+ - name: principal_agreement
25
+ type: string
26
+ description: Reference to the principal agreement
27
+ required: true
28
+ section: Terms
29
+ - name: subcontractor_role
30
+ type: string
31
+ description: Role of subcontractors
32
+ required: false
33
+ section: Terms
34
+ - name: free_text
35
+ type: string
36
+ description: Free text entry
37
+ required: false
38
+ section: Terms
39
+ - name: aggregation_restrictions
40
+ type: string
41
+ description: Specific aggregation restrictions
42
+ required: false
43
+ section: Terms
44
+ - name: offshoring_restrictions
45
+ type: string
46
+ description: Specific offshoring rights or restrictions
47
+ required: false
48
+ section: Terms
49
+ - name: breach_notification_unit
50
+ type: string
51
+ description: Unit for breach notification period
52
+ required: false
53
+ section: Terms
54
+ - name: fill_in_value
55
+ type: string
56
+ description: General fill-in value
57
+ required: false
58
+ section: Terms
59
+ - name: custom_effective_date
60
+ type: string
61
+ description: Custom effective date
62
+ required: false
63
+ section: Terms
@@ -0,0 +1,32 @@
1
+ # Common Paper Cloud Service Agreement
2
+
3
+ A cloud service agreement based on [Common Paper's](https://commonpaper.com) standard terms, covering SaaS subscriptions.
4
+
5
+ ## Source
6
+
7
+ - **URL**: https://github.com/CommonPaper/CSA
8
+ - **Version**: 2.0
9
+ - **License**: CC BY 4.0
10
+
11
+ ## Fields
12
+
13
+ | Field | Type | Required | Description |
14
+ |-------|------|----------|-------------|
15
+ | `provider_name` | string | yes | Full legal name of the cloud service provider |
16
+ | `provider_email` | string | yes | Notice email address for the provider |
17
+ | `customer_name` | string | yes | Full legal name of the customer |
18
+ | `customer_email` | string | yes | Notice email address for the customer |
19
+ | `effective_date` | date | yes | Date the agreement takes effect |
20
+ | `service_description` | string | yes | Description of the cloud service being provided |
21
+ | `subscription_term` | string | yes | Initial duration of the subscription |
22
+ | `renewal_term` | string | yes | Duration of each renewal period |
23
+ | `fees` | string | yes | Subscription fees and payment terms |
24
+ | `payment_period` | string | yes | Payment frequency |
25
+ | `governing_law` | string | yes | State whose laws govern the agreement |
26
+ | `jurisdiction` | string | yes | Courts with jurisdiction over disputes |
27
+ | `provider_liability_cap` | string | no | Maximum liability cap for the provider |
28
+
29
+ ## Attribution
30
+
31
+ Based on the Common Paper Cloud Service Agreement, available at https://commonpaper.com.
32
+ Licensed under CC BY 4.0. Copyright Common Paper, Inc.
@@ -0,0 +1,488 @@
1
+ name: Common Paper Cloud Service Agreement
2
+ description: >-
3
+ A cloud service agreement with order form and framework terms, based on
4
+ Common Paper's standard terms. Covers SaaS subscriptions, payment, SLAs,
5
+ liability, and data processing. Includes full Standard Terms v2.1.
6
+ source_url: https://commonpaper.com/standards/cloud-service-agreement/2.1
7
+ version: "2.1"
8
+ license: CC-BY-4.0
9
+ allow_derivatives: true
10
+ attribution_text: >-
11
+ Based on the Common Paper Cloud Service Agreement, available at
12
+ https://commonpaper.com. Licensed under CC BY 4.0. Copyright Common Paper, Inc.
13
+ fields:
14
+ # ===================================================================
15
+ # Order Form — Parties and Service
16
+ # ===================================================================
17
+ - name: provider_name
18
+ type: string
19
+ description: Name of the cloud service provider
20
+ required: true
21
+ section: Parties
22
+ - name: customer_name
23
+ type: string
24
+ description: Name of the customer
25
+ required: true
26
+ section: Parties
27
+ - name: provider_legal_name
28
+ type: string
29
+ description: Official legal entity name of provider (for signature block)
30
+ required: true
31
+ section: Parties
32
+ - name: customer_legal_name
33
+ type: string
34
+ description: Official legal entity name of customer (for signature block)
35
+ required: true
36
+ section: Parties
37
+ - name: effective_date
38
+ type: string
39
+ description: Effective Date of Key Terms referenced in Order Form
40
+ required: true
41
+ section: Terms
42
+ - name: cloud_service
43
+ type: string
44
+ description: Description of the cloud service / product
45
+ required: true
46
+ section: Service
47
+
48
+ # ===================================================================
49
+ # Order Form — Order Date (2-way radio)
50
+ # ===================================================================
51
+ - name: order_date_is_last_signature
52
+ type: boolean
53
+ description: If true, order date is date of last signature; if false, use custom_order_date
54
+ required: false
55
+ default: "true"
56
+ section: Terms
57
+ - name: custom_order_date
58
+ type: string
59
+ description: Custom start date (only used when order_date_is_last_signature is false)
60
+ required: false
61
+ section: Terms
62
+
63
+ # ===================================================================
64
+ # Order Form — Pilot (optional section)
65
+ # ===================================================================
66
+ - name: has_pilot
67
+ type: boolean
68
+ description: Whether a pilot/trial period is included
69
+ required: false
70
+ default: "false"
71
+ section: Service
72
+ - name: pilot_period
73
+ type: string
74
+ description: Length of pilot/trial period (e.g. "3 months")
75
+ required: false
76
+ section: Service
77
+ - name: pilot_is_free
78
+ type: boolean
79
+ description: If true, pilot is a free trial; if false, pilot has a fee
80
+ required: false
81
+ default: "true"
82
+ section: Service
83
+ - name: pilot_fee
84
+ type: string
85
+ description: Fee for pilot period (e.g. "$500"). Only used when pilot_is_free is false
86
+ required: false
87
+ section: Payment
88
+ - name: pilot_modifications
89
+ type: string
90
+ description: Modifications to the Agreement that apply only during the Pilot Period
91
+ required: false
92
+ section: Service
93
+
94
+ # ===================================================================
95
+ # Order Form — Subscription
96
+ # ===================================================================
97
+ - name: subscription_period
98
+ type: string
99
+ description: Length of access to the service (e.g. "12 months", "1 year")
100
+ required: true
101
+ default: 12 months
102
+ section: Service
103
+
104
+ # ===================================================================
105
+ # Order Form — Cloud Service Fees (checkboxes)
106
+ # ===================================================================
107
+ - name: fee_is_per_unit
108
+ type: boolean
109
+ description: Whether fees are per-unit pricing (amount per fee_unit)
110
+ required: false
111
+ default: "true"
112
+ section: Payment
113
+ - name: fees
114
+ type: string
115
+ description: Subscription fee amount (e.g. "$10,000"). Used in computed fees_display.
116
+ required: false
117
+ section: Payment
118
+ - name: fee_unit
119
+ type: string
120
+ description: Fee billing unit (e.g. "year", "month", "User"). Used in computed fees_display.
121
+ required: false
122
+ default: year
123
+ section: Payment
124
+ - name: fee_is_other
125
+ type: boolean
126
+ description: Whether an alternative fee structure is used
127
+ required: false
128
+ default: "false"
129
+ section: Payment
130
+ - name: other_fee_structure
131
+ type: string
132
+ description: Description of alternative fee structure
133
+ required: false
134
+ section: Payment
135
+ - name: fee_may_increase
136
+ type: boolean
137
+ description: Whether fees may increase up to a cap percentage per renewal
138
+ required: false
139
+ default: "false"
140
+ section: Payment
141
+ - name: fee_increase_cap_pct
142
+ type: string
143
+ description: Maximum percentage fees may increase per renewal (e.g. "5")
144
+ required: false
145
+ section: Payment
146
+ - name: fee_will_increase
147
+ type: boolean
148
+ description: Whether fees will increase by a fixed percentage per renewal
149
+ required: false
150
+ default: "false"
151
+ section: Payment
152
+ - name: fee_increase_fixed_pct
153
+ type: string
154
+ description: Fixed percentage fees will increase per renewal (e.g. "3")
155
+ required: false
156
+ section: Payment
157
+ - name: fee_inclusive_of_taxes
158
+ type: boolean
159
+ description: Whether fees are inclusive of taxes (modifies Standard Terms Section 4.1)
160
+ required: false
161
+ default: "false"
162
+ section: Payment
163
+
164
+ # ===================================================================
165
+ # Order Form — Payment Process (2-way radio)
166
+ # ===================================================================
167
+ - name: payment_by_invoice
168
+ type: boolean
169
+ description: If true, payment by invoice; if false, automatic payment
170
+ required: false
171
+ default: "true"
172
+ section: Payment
173
+ - name: payment_frequency
174
+ type: string
175
+ description: Billing frequency (e.g. "monthly", "quarterly", "annually")
176
+ required: false
177
+ default: annually
178
+ section: Payment
179
+ - name: payment_terms_days
180
+ type: string
181
+ description: Days to pay after invoice (e.g. "30", "45"). Only for invoice payment
182
+ required: false
183
+ default: "30"
184
+ section: Payment
185
+ - name: payment_due_from
186
+ type: string
187
+ description: When payment terms start (e.g. "Customer's receipt of invoice")
188
+ required: false
189
+ default: the invoice date
190
+ section: Payment
191
+
192
+ # ===================================================================
193
+ # Order Form — Auto-renewal (2-way radio)
194
+ # ===================================================================
195
+ - name: auto_renew
196
+ type: boolean
197
+ description: If true, order auto-renews with non-renewal notice; if false, expires at end
198
+ required: false
199
+ default: "true"
200
+ section: Terms
201
+ - name: non_renewal_notice_days
202
+ type: string
203
+ description: Days of notice required before non-renewal (e.g. "30", "60"). Used in computed auto_renewal_display.
204
+ required: false
205
+ default: "30"
206
+ section: Terms
207
+
208
+ # ===================================================================
209
+ # Order Form — Optional sections
210
+ # ===================================================================
211
+ - name: has_use_limitations
212
+ type: boolean
213
+ description: Whether use limitations are specified
214
+ required: false
215
+ default: "false"
216
+ section: Service
217
+ - name: use_limitations
218
+ type: string
219
+ description: Geographic restrictions, system requirements, or other use limitations
220
+ required: false
221
+ section: Service
222
+ - name: has_technical_support
223
+ type: boolean
224
+ description: Whether technical support details are included
225
+ required: false
226
+ default: "false"
227
+ section: Service
228
+ - name: technical_support
229
+ type: string
230
+ description: Description of included support and how to access it
231
+ required: false
232
+ section: Service
233
+ - name: has_sla
234
+ type: boolean
235
+ description: Whether an SLA is included
236
+ required: false
237
+ default: "false"
238
+ section: Service
239
+ - name: sla_description
240
+ type: string
241
+ description: Service Level Agreement details
242
+ required: false
243
+ section: Service
244
+ - name: has_professional_services
245
+ type: boolean
246
+ description: Whether professional services are included
247
+ required: false
248
+ default: "false"
249
+ section: Service
250
+ - name: professional_services_description
251
+ type: string
252
+ description: Professional services description or SOW reference
253
+ required: false
254
+ section: Service
255
+
256
+ # ===================================================================
257
+ # Key Terms — Effective Date (2-way radio)
258
+ # ===================================================================
259
+ - name: effective_date_is_last_signature
260
+ type: boolean
261
+ description: If true, effective date is date of last signature; if false, use custom date
262
+ required: false
263
+ default: "true"
264
+ section: Legal
265
+ - name: custom_effective_date
266
+ type: string
267
+ description: Custom effective date (only used when effective_date_is_last_signature is false)
268
+ required: false
269
+ section: Legal
270
+
271
+ # ===================================================================
272
+ # Key Terms — Governing Law & Jurisdiction
273
+ # ===================================================================
274
+ - name: governing_law
275
+ type: string
276
+ description: State, province, or country whose laws govern the agreement
277
+ required: true
278
+ default: Delaware
279
+ section: Legal
280
+ - name: jurisdiction
281
+ type: string
282
+ description: Courts with jurisdiction over disputes
283
+ required: true
284
+ default: courts located in New Castle County, Delaware
285
+ section: Legal
286
+
287
+ # ===================================================================
288
+ # Key Terms — Covered Claims (optional section + checkboxes)
289
+ # ===================================================================
290
+ - name: has_covered_claims
291
+ type: boolean
292
+ description: Whether indemnity covered claims are included
293
+ required: false
294
+ default: "true"
295
+ section: Liability
296
+ - name: has_provider_covered_claims
297
+ type: boolean
298
+ description: Whether provider covered claims (IP indemnity) are included
299
+ required: false
300
+ default: "true"
301
+ section: Liability
302
+ - name: has_customer_covered_claims
303
+ type: boolean
304
+ description: Whether customer covered claims (IP + restrictions indemnity) are included
305
+ required: false
306
+ default: "true"
307
+ section: Liability
308
+
309
+ # ===================================================================
310
+ # Key Terms — General Cap Amount (3-way radio)
311
+ # ===================================================================
312
+ - name: general_cap_is_multiplier
313
+ type: boolean
314
+ description: General cap is Nx fees paid in prior 12 months
315
+ required: false
316
+ default: "true"
317
+ section: Liability
318
+ - name: general_cap_multiplier
319
+ type: string
320
+ description: Multiplier for fee-based general cap (e.g. "2")
321
+ required: false
322
+ default: "2"
323
+ section: Liability
324
+ - name: general_cap_is_dollar
325
+ type: boolean
326
+ description: General cap is a fixed dollar amount
327
+ required: false
328
+ default: "false"
329
+ section: Liability
330
+ - name: general_cap_dollar
331
+ type: string
332
+ description: Fixed dollar amount for general cap (e.g. "100,000")
333
+ required: false
334
+ section: Liability
335
+ - name: general_cap_is_greater_of
336
+ type: boolean
337
+ description: General cap is the greater of a dollar amount or Nx fees
338
+ required: false
339
+ default: "false"
340
+ section: Liability
341
+ - name: general_cap_greater_dollar
342
+ type: string
343
+ description: Dollar amount for greater-of general cap (e.g. "100,000")
344
+ required: false
345
+ section: Liability
346
+ - name: general_cap_greater_multiplier
347
+ type: string
348
+ description: Multiplier for greater-of general cap (e.g. "2")
349
+ required: false
350
+ section: Liability
351
+
352
+ # ===================================================================
353
+ # Key Terms — Increased Claims & Cap (optional section)
354
+ # ===================================================================
355
+ - name: has_increased_claims
356
+ type: boolean
357
+ description: Whether increased claims (supercap) provisions are included
358
+ required: false
359
+ default: "false"
360
+ section: Liability
361
+ - name: increased_claims_description
362
+ type: string
363
+ description: Description of claims covered by the increased cap (supercap)
364
+ required: false
365
+ section: Liability
366
+ - name: increased_cap_description
367
+ type: string
368
+ description: Description of the increased cap amount
369
+ required: false
370
+ section: Liability
371
+
372
+ # ===================================================================
373
+ # Key Terms — Unlimited Claims (optional section)
374
+ # ===================================================================
375
+ - name: has_unlimited_claims
376
+ type: boolean
377
+ description: Whether unlimited claims (no liability cap) are included
378
+ required: false
379
+ default: "false"
380
+ section: Liability
381
+ - name: unlimited_claims_description
382
+ type: string
383
+ description: Description of claims excluded from liability cap
384
+ required: false
385
+ section: Liability
386
+
387
+ # ===================================================================
388
+ # Key Terms — Additional Warranties (optional section)
389
+ # ===================================================================
390
+ - name: has_additional_warranties
391
+ type: boolean
392
+ description: Whether additional warranties beyond standard terms are included
393
+ required: false
394
+ default: "false"
395
+ section: Legal
396
+ - name: provider_warranty_description
397
+ type: string
398
+ description: Additional warranties from provider
399
+ required: false
400
+ section: Legal
401
+ - name: customer_warranty_description
402
+ type: string
403
+ description: Additional warranties from customer
404
+ required: false
405
+ section: Legal
406
+
407
+ # ===================================================================
408
+ # Key Terms — DPA, Security, Insurance (optional sections)
409
+ # ===================================================================
410
+ - name: has_dpa
411
+ type: boolean
412
+ description: Whether a Data Processing Agreement is referenced
413
+ required: false
414
+ default: "false"
415
+ section: Privacy
416
+ - name: dpa_reference
417
+ type: string
418
+ description: Reference to or description of the DPA
419
+ required: false
420
+ section: Privacy
421
+ - name: has_security_policy
422
+ type: boolean
423
+ description: Whether a security policy section is included
424
+ required: false
425
+ default: "false"
426
+ section: Privacy
427
+ - name: security_policy_description
428
+ type: string
429
+ description: Security policy details or certification commitments
430
+ required: false
431
+ section: Privacy
432
+ - name: has_insurance
433
+ type: boolean
434
+ description: Whether insurance minimum requirements are included
435
+ required: false
436
+ default: "false"
437
+ section: Legal
438
+ - name: insurance_description
439
+ type: string
440
+ description: Insurance coverage requirements and minimums
441
+ required: false
442
+ section: Legal
443
+
444
+ # ===================================================================
445
+ # Computed Display Fields (auto-generated by engine from input fields)
446
+ # Users should NOT set these directly — they are computed from the
447
+ # radio/checkbox input fields above.
448
+ # ===================================================================
449
+ - name: order_date_display
450
+ type: string
451
+ description: "[Computed] Order date text, derived from order_date_is_last_signature and custom_order_date"
452
+ required: false
453
+ section: Terms
454
+ - name: pilot_fee_display
455
+ type: string
456
+ description: "[Computed] Pilot fee text, derived from pilot_is_free and pilot_fee"
457
+ required: false
458
+ section: Service
459
+ - name: fees_display
460
+ type: string
461
+ description: "[Computed] Fee structure text, derived from fee boolean fields and amounts"
462
+ required: false
463
+ section: Payment
464
+ - name: payment_display
465
+ type: string
466
+ description: "[Computed] Payment process text, derived from payment_by_invoice and related fields"
467
+ required: false
468
+ section: Payment
469
+ - name: auto_renewal_display
470
+ type: string
471
+ description: "[Computed] Auto-renewal text, derived from auto_renew and non_renewal_notice_days"
472
+ required: false
473
+ section: Terms
474
+ - name: effective_date_display
475
+ type: string
476
+ description: "[Computed] Effective date text, derived from effective_date_is_last_signature and custom_effective_date"
477
+ required: false
478
+ section: Legal
479
+ - name: covered_claims_display
480
+ type: string
481
+ description: "[Computed] Covered claims text, derived from provider/customer covered claims booleans"
482
+ required: false
483
+ section: Liability
484
+ - name: general_cap_display
485
+ type: string
486
+ description: "[Computed] General cap amount text, derived from cap type booleans and amounts"
487
+ required: false
488
+ section: Liability
@@ -0,0 +1,33 @@
1
+ # Common Paper CSA Click-Through
2
+
3
+ A click-through cloud service agreement based on [Common Paper's](https://commonpaper.com) standard terms. Designed for self-serve SaaS products where the customer accepts terms online rather than negotiating a paper agreement.
4
+
5
+ ## Source
6
+
7
+ - **URL**: https://commonpaper.com/standards/cloud-service-agreement/2.1
8
+ - **Version**: 2.1
9
+ - **License**: CC BY 4.0
10
+
11
+ ## Fields
12
+
13
+ | Field | Type | Required | Description |
14
+ |-------|------|----------|-------------|
15
+ | `provider_name` | string | yes | Name of the cloud service provider |
16
+ | `cloud_service` | string | yes | Description of the cloud service |
17
+ | `custom_order_date` | string | no | Custom order date |
18
+ | `effective_date` | string | no | Effective date of the agreement |
19
+ | `subscription_period` | string | no | Length of access to the service |
20
+ | `payment_frequency` | string | no | Payment frequency |
21
+ | `payment_terms_days` | string | no | Days to pay after invoice |
22
+ | `non_renewal_notice_date` | string | no | Non-renewal notice date requirement |
23
+ | `order_date` | string | no | Order date description |
24
+ | `governing_law` | string | yes | Governing law jurisdiction |
25
+ | `jurisdiction` | string | yes | Courts with jurisdiction |
26
+ | `provider_email` | string | no | Provider's email for notices |
27
+ | `unlimited_claims` | string | no | Description of unlimited claims |
28
+ | `pricing_page` | string | no | Reference to pricing page |
29
+
30
+ ## Attribution
31
+
32
+ Based on the Common Paper CSA Click-Through, available at https://commonpaper.com.
33
+ Licensed under CC BY 4.0. Copyright Common Paper, Inc.