open-agreements 0.7.5 → 0.7.6

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 (333) hide show
  1. package/README.de.md +300 -255
  2. package/README.es.md +301 -254
  3. package/README.md +389 -95
  4. package/README.pt-br.md +301 -254
  5. package/README.template.md +333 -0
  6. package/README.zh.md +300 -253
  7. package/SECURITY.md +34 -0
  8. package/content/recipes/nvca-stock-purchase-agreement/README.md +39 -0
  9. package/content/recipes/nvca-voting-agreement/README.md +43 -0
  10. package/content/templates/bonterms-mutual-nda/README.md +2 -2
  11. package/content/templates/bonterms-mutual-nda/metadata.yaml +5 -11
  12. package/content/templates/bonterms-professional-services-agreement/README.md +2 -2
  13. package/content/templates/bonterms-professional-services-agreement/metadata.yaml +2 -2
  14. package/content/templates/closing-checklist/template.docx +0 -0
  15. package/content/templates/closing-checklist/template.md +30 -0
  16. package/content/templates/common-paper-ai-addendum/template.docx +0 -0
  17. package/content/templates/common-paper-ai-addendum-in-app/template.docx +0 -0
  18. package/content/templates/common-paper-csa-with-ai/template.docx +0 -0
  19. package/content/templates/common-paper-independent-contractor-agreement/template.docx +0 -0
  20. package/content/templates/common-paper-mutual-nda/README.md +28 -0
  21. package/content/templates/common-paper-one-way-nda/metadata.yaml +1 -1
  22. package/content/templates/common-paper-term-sheet/template.docx +0 -0
  23. package/content/templates/openagreements-board-consent-safe/.template.generated.json +74 -0
  24. package/content/templates/openagreements-board-consent-safe/README.md +61 -0
  25. package/content/templates/openagreements-board-consent-safe/metadata.yaml +53 -0
  26. package/content/templates/openagreements-board-consent-safe/reference-source.docx +0 -0
  27. package/content/templates/openagreements-board-consent-safe/template.docx +0 -0
  28. package/content/templates/openagreements-board-consent-safe/template.md +66 -0
  29. package/content/templates/openagreements-due-diligence-request-list/README.md +68 -0
  30. package/content/templates/openagreements-due-diligence-request-list/metadata.yaml +300 -0
  31. package/content/templates/openagreements-due-diligence-request-list/template.docx +0 -0
  32. package/content/templates/openagreements-due-diligence-request-list/template.md +318 -0
  33. package/content/templates/openagreements-employee-ip-inventions-assignment/.template.generated.json +230 -0
  34. package/content/templates/openagreements-employee-ip-inventions-assignment/metadata.yaml +1 -1
  35. package/content/templates/openagreements-employee-ip-inventions-assignment/template.docx +0 -0
  36. package/content/templates/openagreements-employee-ip-inventions-assignment/template.md +96 -35
  37. package/content/templates/openagreements-employment-confidentiality-acknowledgement/README.md +1 -1
  38. package/content/templates/openagreements-employment-confidentiality-acknowledgement/metadata.yaml +2 -2
  39. package/content/templates/openagreements-employment-confidentiality-acknowledgement/template.docx +0 -0
  40. package/content/templates/openagreements-employment-confidentiality-acknowledgement/template.json +75 -0
  41. package/content/templates/openagreements-employment-confidentiality-acknowledgement/template.md +8 -4
  42. package/content/templates/openagreements-employment-offer-letter/.template.generated.json +224 -0
  43. package/content/templates/openagreements-employment-offer-letter/README.md +65 -1
  44. package/content/templates/openagreements-employment-offer-letter/metadata.yaml +1 -1
  45. package/content/templates/openagreements-employment-offer-letter/template.docx +0 -0
  46. package/content/templates/openagreements-employment-offer-letter/template.md +70 -30
  47. package/content/templates/openagreements-restrictive-covenant-florida/.template.generated.json +456 -0
  48. package/content/templates/openagreements-restrictive-covenant-florida/README.md +141 -0
  49. package/content/templates/openagreements-restrictive-covenant-florida/metadata.yaml +419 -0
  50. package/content/templates/openagreements-restrictive-covenant-florida/template.docx +0 -0
  51. package/content/templates/openagreements-restrictive-covenant-florida/template.md +233 -0
  52. package/content/templates/openagreements-restrictive-covenant-wyoming/.template.generated.json +399 -0
  53. package/content/templates/openagreements-restrictive-covenant-wyoming/metadata.yaml +69 -12
  54. package/content/templates/openagreements-restrictive-covenant-wyoming/template.docx +0 -0
  55. package/content/templates/openagreements-restrictive-covenant-wyoming/template.md +110 -59
  56. package/content/templates/openagreements-stockholder-consent-safe/.template.generated.json +74 -0
  57. package/content/templates/openagreements-stockholder-consent-safe/README.md +62 -0
  58. package/content/templates/openagreements-stockholder-consent-safe/metadata.yaml +53 -0
  59. package/content/templates/openagreements-stockholder-consent-safe/reference-source.docx +0 -0
  60. package/content/templates/openagreements-stockholder-consent-safe/template.docx +0 -0
  61. package/content/templates/openagreements-stockholder-consent-safe/template.md +62 -0
  62. package/content/templates/working-group-list/template.docx +0 -0
  63. package/content/templates/working-group-list/template.md +18 -0
  64. package/dist/cli/index.js.map +1 -1
  65. package/dist/commands/fill.d.ts +1 -1
  66. package/dist/commands/fill.d.ts.map +1 -1
  67. package/dist/commands/fill.js +4 -1
  68. package/dist/commands/fill.js.map +1 -1
  69. package/dist/commands/list.js +10 -0
  70. package/dist/commands/list.js.map +1 -1
  71. package/dist/commands/recipe.js.map +1 -1
  72. package/dist/core/employment/jurisdiction-rules.js +2 -2
  73. package/dist/core/employment/jurisdiction-rules.js.map +1 -1
  74. package/dist/core/employment/memo.d.ts +1 -1
  75. package/dist/core/employment/memo.d.ts.map +1 -1
  76. package/dist/core/employment/memo.js +14 -6
  77. package/dist/core/employment/memo.js.map +1 -1
  78. package/dist/core/engine.d.ts.map +1 -1
  79. package/dist/core/engine.js +28 -0
  80. package/dist/core/engine.js.map +1 -1
  81. package/dist/core/fill-pipeline.d.ts +30 -5
  82. package/dist/core/fill-pipeline.d.ts.map +1 -1
  83. package/dist/core/fill-pipeline.js +173 -9
  84. package/dist/core/fill-pipeline.js.map +1 -1
  85. package/dist/core/humanize-docx.d.ts +21 -0
  86. package/dist/core/humanize-docx.d.ts.map +1 -0
  87. package/dist/core/humanize-docx.js +492 -0
  88. package/dist/core/humanize-docx.js.map +1 -0
  89. package/dist/core/metadata.d.ts +118 -65
  90. package/dist/core/metadata.d.ts.map +1 -1
  91. package/dist/core/metadata.js +268 -13
  92. package/dist/core/metadata.js.map +1 -1
  93. package/dist/core/recipe/bracket-normalizer.d.ts +1 -1
  94. package/dist/core/recipe/bracket-normalizer.d.ts.map +1 -1
  95. package/dist/core/recipe/bracket-normalizer.js +3 -0
  96. package/dist/core/recipe/bracket-normalizer.js.map +1 -1
  97. package/dist/core/recipe/computed.d.ts +1 -1
  98. package/dist/core/recipe/computed.d.ts.map +1 -1
  99. package/dist/core/recipe/index.d.ts.map +1 -1
  100. package/dist/core/recipe/index.js +22 -4
  101. package/dist/core/recipe/index.js.map +1 -1
  102. package/dist/core/recipe/types.d.ts +1 -1
  103. package/dist/core/recipe/types.d.ts.map +1 -1
  104. package/dist/core/template-listing.d.ts +6 -8
  105. package/dist/core/template-listing.d.ts.map +1 -1
  106. package/dist/core/template-listing.js +24 -0
  107. package/dist/core/template-listing.js.map +1 -1
  108. package/dist/core/unified-pipeline.d.ts +2 -0
  109. package/dist/core/unified-pipeline.d.ts.map +1 -1
  110. package/dist/core/unified-pipeline.js +19 -1
  111. package/dist/core/unified-pipeline.js.map +1 -1
  112. package/dist/core/validation/template.d.ts +32 -0
  113. package/dist/core/validation/template.d.ts.map +1 -1
  114. package/dist/core/validation/template.js +163 -3
  115. package/dist/core/validation/template.js.map +1 -1
  116. package/dist/index.d.ts +1 -0
  117. package/dist/index.d.ts.map +1 -1
  118. package/dist/index.js +2 -0
  119. package/dist/index.js.map +1 -1
  120. package/package.json +26 -12
  121. package/skills/canonical-markdown-authoring/CONNECTORS.md +67 -0
  122. package/skills/canonical-markdown-authoring/SKILL.md +565 -0
  123. package/skills/client-email/SKILL.md +2 -0
  124. package/skills/cloud-service-agreement/CONNECTORS.md +2 -2
  125. package/skills/cloud-service-agreement/SKILL.md +38 -1
  126. package/skills/cloud-service-agreement/template-filling-execution.md +2 -2
  127. package/skills/data-privacy-agreement/CONNECTORS.md +2 -2
  128. package/skills/data-privacy-agreement/SKILL.md +2 -0
  129. package/skills/delaware-franchise-tax/SKILL.md +2 -0
  130. package/skills/edit-docx-agreement/SKILL.md +2 -0
  131. package/skills/employment-contract/CONNECTORS.md +2 -2
  132. package/skills/employment-contract/SKILL.md +2 -0
  133. package/skills/iso-27001-evidence-collection/SKILL.md +2 -0
  134. package/skills/iso-27001-internal-audit/SKILL.md +2 -0
  135. package/skills/nda/CONNECTORS.md +2 -2
  136. package/skills/nda/SKILL.md +45 -1
  137. package/skills/nda/template-filling-execution.md +12 -6
  138. package/skills/non-compete-contract-explainer/SKILL.md +107 -0
  139. package/skills/non-compete-contract-explainer/content/wyoming.md +286 -0
  140. package/skills/non-compete-contract-explainer/manifest.json +18 -0
  141. package/skills/open-agreements/CONNECTORS.md +2 -2
  142. package/skills/open-agreements/SKILL.md +165 -67
  143. package/skills/open-agreements/template-filling-execution.md +2 -2
  144. package/skills/recipe-quality-audit/SKILL.md +2 -0
  145. package/skills/safe/CONNECTORS.md +2 -2
  146. package/skills/safe/SKILL.md +38 -1
  147. package/skills/safe/template-filling-execution.md +2 -2
  148. package/skills/services-agreement/CONNECTORS.md +2 -2
  149. package/skills/services-agreement/SKILL.md +40 -1
  150. package/skills/services-agreement/template-filling-execution.md +81 -0
  151. package/skills/shared/template-filling-execution.md +2 -2
  152. package/skills/soc2-readiness/SKILL.md +2 -0
  153. package/skills/unit-test-philosophy/SKILL.md +3 -0
  154. package/skills/venture-financing/CONNECTORS.md +2 -2
  155. package/skills/venture-financing/SKILL.md +2 -0
  156. package/content/templates/openagreements-restrictive-covenant-wyoming/practice-note.md +0 -103
  157. package/node_modules/@xmldom/xmldom/CHANGELOG.md +0 -939
  158. package/node_modules/@xmldom/xmldom/LICENSE +0 -8
  159. package/node_modules/@xmldom/xmldom/SECURITY.md +0 -50
  160. package/node_modules/@xmldom/xmldom/index.d.ts +0 -1664
  161. package/node_modules/@xmldom/xmldom/lib/.eslintrc.yml +0 -3
  162. package/node_modules/@xmldom/xmldom/lib/conventions.js +0 -429
  163. package/node_modules/@xmldom/xmldom/lib/dom-parser.js +0 -586
  164. package/node_modules/@xmldom/xmldom/lib/dom.js +0 -3192
  165. package/node_modules/@xmldom/xmldom/lib/entities.js +0 -2171
  166. package/node_modules/@xmldom/xmldom/lib/errors.js +0 -202
  167. package/node_modules/@xmldom/xmldom/lib/grammar.js +0 -533
  168. package/node_modules/@xmldom/xmldom/lib/index.js +0 -41
  169. package/node_modules/@xmldom/xmldom/lib/sax.js +0 -929
  170. package/node_modules/@xmldom/xmldom/package.json +0 -74
  171. package/node_modules/@xmldom/xmldom/readme.md +0 -364
  172. package/node_modules/core-util-is/LICENSE +0 -19
  173. package/node_modules/core-util-is/README.md +0 -3
  174. package/node_modules/core-util-is/lib/util.js +0 -107
  175. package/node_modules/core-util-is/package.json +0 -38
  176. package/node_modules/immediate/LICENSE.txt +0 -20
  177. package/node_modules/immediate/README.md +0 -93
  178. package/node_modules/immediate/dist/immediate.js +0 -75
  179. package/node_modules/immediate/dist/immediate.min.js +0 -1
  180. package/node_modules/immediate/lib/browser.js +0 -69
  181. package/node_modules/immediate/lib/index.js +0 -73
  182. package/node_modules/immediate/package.json +0 -42
  183. package/node_modules/inherits/LICENSE +0 -16
  184. package/node_modules/inherits/README.md +0 -42
  185. package/node_modules/inherits/inherits.js +0 -9
  186. package/node_modules/inherits/inherits_browser.js +0 -27
  187. package/node_modules/inherits/package.json +0 -29
  188. package/node_modules/isarray/.npmignore +0 -1
  189. package/node_modules/isarray/.travis.yml +0 -4
  190. package/node_modules/isarray/Makefile +0 -6
  191. package/node_modules/isarray/README.md +0 -60
  192. package/node_modules/isarray/component.json +0 -19
  193. package/node_modules/isarray/index.js +0 -5
  194. package/node_modules/isarray/package.json +0 -45
  195. package/node_modules/isarray/test.js +0 -20
  196. package/node_modules/jszip/.codeclimate.yml +0 -16
  197. package/node_modules/jszip/.editorconfig +0 -8
  198. package/node_modules/jszip/.eslintrc.js +0 -43
  199. package/node_modules/jszip/.github/workflows/pr.yaml +0 -58
  200. package/node_modules/jszip/.jekyll-metadata +0 -0
  201. package/node_modules/jszip/.travis.yml +0 -17
  202. package/node_modules/jszip/CHANGES.md +0 -204
  203. package/node_modules/jszip/LICENSE.markdown +0 -651
  204. package/node_modules/jszip/README.markdown +0 -33
  205. package/node_modules/jszip/deps.js +0 -37
  206. package/node_modules/jszip/dist/jszip.js +0 -11577
  207. package/node_modules/jszip/dist/jszip.min.js +0 -13
  208. package/node_modules/jszip/graph.svg +0 -601
  209. package/node_modules/jszip/index.d.ts +0 -330
  210. package/node_modules/jszip/lib/base64.js +0 -106
  211. package/node_modules/jszip/lib/compressedObject.js +0 -74
  212. package/node_modules/jszip/lib/compressions.js +0 -14
  213. package/node_modules/jszip/lib/crc32.js +0 -77
  214. package/node_modules/jszip/lib/defaults.js +0 -11
  215. package/node_modules/jszip/lib/external.js +0 -18
  216. package/node_modules/jszip/lib/flate.js +0 -85
  217. package/node_modules/jszip/lib/generate/ZipFileWorker.js +0 -539
  218. package/node_modules/jszip/lib/generate/index.js +0 -57
  219. package/node_modules/jszip/lib/index.js +0 -55
  220. package/node_modules/jszip/lib/license_header.js +0 -11
  221. package/node_modules/jszip/lib/load.js +0 -88
  222. package/node_modules/jszip/lib/nodejs/NodejsStreamInputAdapter.js +0 -74
  223. package/node_modules/jszip/lib/nodejs/NodejsStreamOutputAdapter.js +0 -42
  224. package/node_modules/jszip/lib/nodejsUtils.js +0 -57
  225. package/node_modules/jszip/lib/object.js +0 -384
  226. package/node_modules/jszip/lib/readable-stream-browser.js +0 -10
  227. package/node_modules/jszip/lib/reader/ArrayReader.js +0 -57
  228. package/node_modules/jszip/lib/reader/DataReader.js +0 -116
  229. package/node_modules/jszip/lib/reader/NodeBufferReader.js +0 -19
  230. package/node_modules/jszip/lib/reader/StringReader.js +0 -38
  231. package/node_modules/jszip/lib/reader/Uint8ArrayReader.js +0 -22
  232. package/node_modules/jszip/lib/reader/readerFor.js +0 -28
  233. package/node_modules/jszip/lib/signature.js +0 -7
  234. package/node_modules/jszip/lib/stream/ConvertWorker.js +0 -26
  235. package/node_modules/jszip/lib/stream/Crc32Probe.js +0 -24
  236. package/node_modules/jszip/lib/stream/DataLengthProbe.js +0 -29
  237. package/node_modules/jszip/lib/stream/DataWorker.js +0 -116
  238. package/node_modules/jszip/lib/stream/GenericWorker.js +0 -263
  239. package/node_modules/jszip/lib/stream/StreamHelper.js +0 -214
  240. package/node_modules/jszip/lib/support.js +0 -38
  241. package/node_modules/jszip/lib/utf8.js +0 -275
  242. package/node_modules/jszip/lib/utils.js +0 -501
  243. package/node_modules/jszip/lib/zipEntries.js +0 -261
  244. package/node_modules/jszip/lib/zipEntry.js +0 -293
  245. package/node_modules/jszip/lib/zipObject.js +0 -133
  246. package/node_modules/jszip/package.json +0 -67
  247. package/node_modules/jszip/sponsors.md +0 -21
  248. package/node_modules/jszip/tsconfig.json +0 -101
  249. package/node_modules/jszip/vendor/FileSaver.js +0 -247
  250. package/node_modules/lie/README.md +0 -62
  251. package/node_modules/lie/dist/lie.js +0 -350
  252. package/node_modules/lie/dist/lie.min.js +0 -1
  253. package/node_modules/lie/dist/lie.polyfill.js +0 -358
  254. package/node_modules/lie/dist/lie.polyfill.min.js +0 -1
  255. package/node_modules/lie/lib/browser.js +0 -273
  256. package/node_modules/lie/lib/index.js +0 -298
  257. package/node_modules/lie/license.md +0 -7
  258. package/node_modules/lie/lie.d.ts +0 -244
  259. package/node_modules/lie/package.json +0 -69
  260. package/node_modules/lie/polyfill.js +0 -4
  261. package/node_modules/pako/LICENSE +0 -21
  262. package/node_modules/pako/README.md +0 -191
  263. package/node_modules/pako/dist/pako.js +0 -6818
  264. package/node_modules/pako/dist/pako.min.js +0 -1
  265. package/node_modules/pako/dist/pako_deflate.js +0 -3997
  266. package/node_modules/pako/dist/pako_deflate.min.js +0 -1
  267. package/node_modules/pako/dist/pako_inflate.js +0 -3300
  268. package/node_modules/pako/dist/pako_inflate.min.js +0 -1
  269. package/node_modules/pako/index.js +0 -14
  270. package/node_modules/pako/lib/deflate.js +0 -400
  271. package/node_modules/pako/lib/inflate.js +0 -423
  272. package/node_modules/pako/lib/utils/common.js +0 -105
  273. package/node_modules/pako/lib/utils/strings.js +0 -187
  274. package/node_modules/pako/lib/zlib/README +0 -59
  275. package/node_modules/pako/lib/zlib/adler32.js +0 -51
  276. package/node_modules/pako/lib/zlib/constants.js +0 -68
  277. package/node_modules/pako/lib/zlib/crc32.js +0 -59
  278. package/node_modules/pako/lib/zlib/deflate.js +0 -1874
  279. package/node_modules/pako/lib/zlib/gzheader.js +0 -58
  280. package/node_modules/pako/lib/zlib/inffast.js +0 -345
  281. package/node_modules/pako/lib/zlib/inflate.js +0 -1556
  282. package/node_modules/pako/lib/zlib/inftrees.js +0 -343
  283. package/node_modules/pako/lib/zlib/messages.js +0 -32
  284. package/node_modules/pako/lib/zlib/trees.js +0 -1222
  285. package/node_modules/pako/lib/zlib/zstream.js +0 -47
  286. package/node_modules/pako/package.json +0 -44
  287. package/node_modules/process-nextick-args/index.js +0 -45
  288. package/node_modules/process-nextick-args/license.md +0 -19
  289. package/node_modules/process-nextick-args/package.json +0 -25
  290. package/node_modules/process-nextick-args/readme.md +0 -18
  291. package/node_modules/readable-stream/.travis.yml +0 -34
  292. package/node_modules/readable-stream/CONTRIBUTING.md +0 -38
  293. package/node_modules/readable-stream/GOVERNANCE.md +0 -136
  294. package/node_modules/readable-stream/LICENSE +0 -47
  295. package/node_modules/readable-stream/README.md +0 -58
  296. package/node_modules/readable-stream/doc/wg-meetings/2015-01-30.md +0 -60
  297. package/node_modules/readable-stream/duplex-browser.js +0 -1
  298. package/node_modules/readable-stream/duplex.js +0 -1
  299. package/node_modules/readable-stream/lib/_stream_duplex.js +0 -131
  300. package/node_modules/readable-stream/lib/_stream_passthrough.js +0 -47
  301. package/node_modules/readable-stream/lib/_stream_readable.js +0 -1019
  302. package/node_modules/readable-stream/lib/_stream_transform.js +0 -214
  303. package/node_modules/readable-stream/lib/_stream_writable.js +0 -685
  304. package/node_modules/readable-stream/lib/internal/streams/BufferList.js +0 -78
  305. package/node_modules/readable-stream/lib/internal/streams/destroy.js +0 -84
  306. package/node_modules/readable-stream/lib/internal/streams/stream-browser.js +0 -1
  307. package/node_modules/readable-stream/lib/internal/streams/stream.js +0 -1
  308. package/node_modules/readable-stream/package.json +0 -52
  309. package/node_modules/readable-stream/passthrough.js +0 -1
  310. package/node_modules/readable-stream/readable-browser.js +0 -7
  311. package/node_modules/readable-stream/readable.js +0 -19
  312. package/node_modules/readable-stream/transform.js +0 -1
  313. package/node_modules/readable-stream/writable-browser.js +0 -1
  314. package/node_modules/readable-stream/writable.js +0 -8
  315. package/node_modules/safe-buffer/LICENSE +0 -21
  316. package/node_modules/safe-buffer/README.md +0 -584
  317. package/node_modules/safe-buffer/index.d.ts +0 -187
  318. package/node_modules/safe-buffer/index.js +0 -62
  319. package/node_modules/safe-buffer/package.json +0 -37
  320. package/node_modules/setimmediate/LICENSE.txt +0 -20
  321. package/node_modules/setimmediate/package.json +0 -30
  322. package/node_modules/setimmediate/setImmediate.js +0 -186
  323. package/node_modules/string_decoder/.travis.yml +0 -50
  324. package/node_modules/string_decoder/LICENSE +0 -48
  325. package/node_modules/string_decoder/README.md +0 -47
  326. package/node_modules/string_decoder/lib/string_decoder.js +0 -296
  327. package/node_modules/string_decoder/package.json +0 -31
  328. package/node_modules/util-deprecate/History.md +0 -16
  329. package/node_modules/util-deprecate/LICENSE +0 -24
  330. package/node_modules/util-deprecate/README.md +0 -53
  331. package/node_modules/util-deprecate/browser.js +0 -67
  332. package/node_modules/util-deprecate/node.js +0 -6
  333. package/node_modules/util-deprecate/package.json +0 -27
@@ -0,0 +1,68 @@
1
+ # OpenAgreements Legal Due Diligence Request List
2
+
3
+ A modular legal due-diligence request list (DDRL) for corporate transactions.
4
+ Free to use under CC BY 4.0.
5
+
6
+ ## Structure
7
+
8
+ The template ships a base form covering the core categories that appear in
9
+ 90%+ of public-source DDRLs (corporate organization, capitalization,
10
+ subsidiaries, financial/tax, debt, material contracts, property, IP,
11
+ privacy/cybersecurity, employment, litigation, compliance, insurance,
12
+ related-party). Four optional industry riders gate via boolean toggles in
13
+ `metadata.yaml`:
14
+
15
+ | Section | Rider | Toggle field | When to enable |
16
+ |---------|-------|--------------|----------------|
17
+ | O | Tech / SaaS | `tech_rider_enabled` | Software, SaaS, marketplace, or data-heavy targets |
18
+ | P | Life Sciences | `life_sciences_rider_enabled` | Biotech, pharma, medtech, diagnostics targets with FDA-regulated pipelines |
19
+ | Q | Healthcare Provider | `healthcare_provider_rider_enabled` | Clinics, hospitals, physician groups, telehealth providers with payer-reimbursement exposure |
20
+ | R | Cross-Border / Trade Compliance | `cross_border_rider_enabled` | Foreign subsidiaries, foreign customers, government customers, controlled-jurisdiction exposure |
21
+
22
+ Each rider is rendered in `template.docx` inside its own `{IF rider_enabled}…{END-IF}` sub-table so the docx-templates "one IF per row" constraint is honored.
23
+
24
+ ## AI augmentation
25
+
26
+ Each rider has a paired `additional_questions_<rider>` array field. AI
27
+ workflows (or human drafters) populate these arrays with target-specific
28
+ custom questions; the DOCX renders them via `{FOR q IN <array>}` loops at
29
+ the end of the matching section. A separate `additional_questions_general`
30
+ array covers cross-cutting questions that don't belong to any rider.
31
+
32
+ The arrays are independent because the OA validator's `SAFE_TAG_RE` forbids
33
+ inline filtering of a shared array (see `validation/template.ts:252`). When
34
+ a future renderer extension lifts that constraint, the arrays can be merged
35
+ into a single shared array filtered by section.
36
+
37
+ ## Materiality and lookback
38
+
39
+ The cover sheet specifies a global dollar threshold (`materiality_threshold_usd`,
40
+ default `$100,000`), a relative-revenue threshold
41
+ (`materiality_threshold_revenue_pct`, default `5%`), and a default lookback
42
+ (`lookback_years`, default `3`). Three optional override fields
43
+ (`litigation_lookback_years`, `tax_lookback_years`, `compliance_lookback_years`)
44
+ let drafters extend specific sections without changing the global default.
45
+
46
+ The dollar-threshold fields are stored as pre-formatted strings (e.g.,
47
+ `"$100,000"`) because the OA fill engine has no currency formatter. When a
48
+ formatter is added, these can become `type: number`.
49
+
50
+ ## Sources and attribution
51
+
52
+ The category structure is drawn from public-source consensus across 15 Am
53
+ Law firm, bar association, and legal publisher DDRLs (Cooley, Skadden,
54
+ Morgan Lewis, Gunderson Dettmer, Lowenstein Sandler, Holland & Knight,
55
+ Foley & Lardner, Software Equity Group, the International Bar Association,
56
+ the American Bar Association, Bass Berry & Sims, and Carta). All language
57
+ is original; no source language was reused.
58
+
59
+ ## Files
60
+
61
+ - `metadata.yaml` — field definitions and template metadata.
62
+ - `template.docx` — fillable Word document with `{field}` placeholders and `{IF}` rider gates.
63
+ - `template.md` — flat human-readable mirror of the document body.
64
+ - `README.md` — this file.
65
+
66
+ ## License
67
+
68
+ CC BY 4.0. Attribute "OpenAgreements contributors."
@@ -0,0 +1,300 @@
1
+ name: OpenAgreements Legal Due Diligence Request List
2
+ category: deals-partnerships
3
+ description: >-
4
+ Modular legal due diligence request list (DDRL) for corporate transactions.
5
+ Ships a base form covering organization, capitalization, contracts, IP,
6
+ employment, litigation, compliance, tax, insurance, debt, property, and
7
+ privacy/cybersecurity. Four optional industry riders gate via boolean
8
+ toggles: tech / SaaS, life sciences, healthcare provider, and cross-border
9
+ / trade compliance. Drafted clean-room from public-source consensus across
10
+ 15 Am Law firm, bar association, and legal publisher DDRLs; no public
11
+ source language is reused. Includes per-section AI-augmentable arrays so
12
+ AI workflows can append target-specific custom questions to any rider.
13
+ source_url: https://github.com/open-agreements/open-agreements/tree/main/content/templates/openagreements-due-diligence-request-list
14
+ version: '1.0'
15
+ license: CC-BY-4.0
16
+ allow_derivatives: true
17
+ attribution_text: >-
18
+ Authored by OpenAgreements contributors. Category structure and consensus
19
+ framing informed by publicly available DDRLs and commentary from Cooley,
20
+ Skadden, Morgan Lewis, Gunderson Dettmer, Lowenstein Sandler, Holland &
21
+ Knight, Foley & Lardner, Software Equity Group, the International Bar
22
+ Association, the American Bar Association, Bass Berry & Sims, and Carta.
23
+ See practice note for sources. Drafted clean-room; no source language was
24
+ reused. Licensed under CC BY 4.0.
25
+
26
+ priority_fields:
27
+ - target_company_name
28
+ - requesting_firm_name
29
+ - deal_type
30
+ - transaction_stage
31
+ - tech_rider_enabled
32
+ - life_sciences_rider_enabled
33
+ - healthcare_provider_rider_enabled
34
+ - cross_border_rider_enabled
35
+ - materiality_threshold_usd
36
+ - lookback_years
37
+
38
+ fields:
39
+ # --- Cover Sheet (always rendered) ---
40
+ - name: requesting_firm_name
41
+ type: string
42
+ description: Legal name of the buyer's law firm sending the request
43
+ section: Cover Sheet
44
+ - name: target_company_name
45
+ type: string
46
+ description: Legal name of the target company receiving the request
47
+ section: Cover Sheet
48
+ - name: project_code_name
49
+ type: string
50
+ description: Project code name or pseudonym used to refer to the transaction
51
+ default: ''
52
+ section: Cover Sheet
53
+ - name: request_date
54
+ type: date
55
+ description: Date the request list is delivered to the target
56
+ section: Cover Sheet
57
+ - name: response_due_date
58
+ type: date
59
+ description: Date by which the target's first-round response is due
60
+ section: Cover Sheet
61
+ - name: lead_buyer_counsel_name
62
+ type: string
63
+ description: Name of the lead attorney at the requesting firm
64
+ section: Cover Sheet
65
+ - name: lead_buyer_counsel_email
66
+ type: string
67
+ description: Email of the lead attorney at the requesting firm
68
+ section: Cover Sheet
69
+ - name: primary_target_contact_name
70
+ type: string
71
+ description: Name of the target's primary point of contact for diligence responses
72
+ section: Cover Sheet
73
+ - name: currency
74
+ type: enum
75
+ description: Currency for materiality and financial threshold inputs
76
+ options:
77
+ - USD
78
+ - EUR
79
+ - GBP
80
+ - CAD
81
+ - Other
82
+ default: USD
83
+ section: Cover Sheet
84
+ - name: data_room_url
85
+ type: string
86
+ description: URL of the virtual data room (optional; included in cover-sheet instructions if provided)
87
+ default: ''
88
+ section: Cover Sheet
89
+
90
+ # --- Materiality and Lookback ---
91
+ - name: materiality_threshold_usd
92
+ type: string
93
+ description: >-
94
+ Dollar floor for material-contracts requests. Stored as a pre-formatted
95
+ string (e.g., "$100,000") because the fill engine has no currency
96
+ formatter. Adjust upward for larger deals, downward for early-stage
97
+ targets.
98
+ default: '$100,000'
99
+ default_value_rationale: >-
100
+ $100,000 is the consensus dollar floor for mid-market deals across
101
+ public DDRLs (Cooley, Skadden, Bloomberg). Tune up for larger targets
102
+ (e.g., "$1,000,000" for $100M+ deals) or down for early-stage.
103
+ section: Materiality and Lookback
104
+ - name: materiality_threshold_revenue_pct
105
+ type: string
106
+ description: >-
107
+ Relative materiality threshold expressed as a percentage of gross
108
+ revenue. The lower of dollar floor and revenue percentage governs.
109
+ Stored as a pre-formatted string for consistency with the dollar
110
+ threshold.
111
+ default: '5%'
112
+ default_value_rationale: >-
113
+ 5% of gross revenue is the consensus relative-materiality qualifier
114
+ in BigLaw practice. Tune down for asset-light targets where individual
115
+ contract size is small but each one is operationally critical.
116
+ section: Materiality and Lookback
117
+ - name: lookback_years
118
+ type: number
119
+ description: >-
120
+ Default lookback window in years for litigation, compliance, and
121
+ operational history. Per-category overrides may extend specific
122
+ sections.
123
+ default: '3'
124
+ default_value_rationale: >-
125
+ 3 years is consensus baseline for litigation, compliance, and
126
+ operational history. Tax often warrants 6+ to mirror IRS statute of
127
+ limitations; regulatory correspondence is conventionally open-ended.
128
+ section: Materiality and Lookback
129
+ - name: litigation_lookback_years
130
+ type: number
131
+ description: >-
132
+ Optional per-category override for the litigation lookback window.
133
+ If blank, falls through to lookback_years. 5 years is appropriate for
134
+ regulated targets or where prior litigation revealed systemic process
135
+ failures.
136
+ default: ''
137
+ section: Materiality and Lookback
138
+ - name: tax_lookback_years
139
+ type: number
140
+ description: >-
141
+ Optional per-category override for the tax lookback window. If blank,
142
+ falls through to lookback_years. 6 years mirrors the IRS substantial-
143
+ omission statute of limitations and is the safe default for most deals.
144
+ default: ''
145
+ section: Materiality and Lookback
146
+ - name: compliance_lookback_years
147
+ type: number
148
+ description: >-
149
+ Optional per-category override for routine compliance certifications.
150
+ Regulatory correspondence regarding investigations, settlements, and
151
+ consent decrees should be requested open-ended regardless of this value.
152
+ default: ''
153
+ section: Materiality and Lookback
154
+
155
+ # --- Deal Type ---
156
+ - name: deal_type
157
+ type: enum
158
+ description: Type of transaction the DDRL supports
159
+ options:
160
+ - private_ma_stock_purchase
161
+ - private_ma_asset_purchase
162
+ - venture_financing
163
+ - private_equity_buyout
164
+ - ipo_preparation
165
+ - public_ma
166
+ - cross_border_ma
167
+ section: Deal Type
168
+ - name: transaction_stage
169
+ type: enum
170
+ description: >-
171
+ Stage of the transaction. Pre-LOI uses lighter scope; post-LOI uses
172
+ the full base form plus all triggered riders.
173
+ options:
174
+ - pre_loi
175
+ - post_loi_pre_signing
176
+ - signing_to_closing
177
+ - post_closing_review
178
+ default: post_loi_pre_signing
179
+ section: Deal Type
180
+
181
+ # --- Industry Riders (boolean toggles; each gates a {IF}…{END-IF} sub-table in the DOCX) ---
182
+ - name: tech_rider_enabled
183
+ type: boolean
184
+ description: >-
185
+ Enable Section O (Tech / SaaS rider) covering OSS schedules with
186
+ copyleft flagging, source-code escrow, hosted-services agreements,
187
+ SOC 2 / ISO 27001 audits, data-flow architecture, SLAs, security-
188
+ incident history, and cloud-agreement change-of-control. Recommended
189
+ on for software, SaaS, platform, marketplace, or data-heavy targets.
190
+ default: 'false'
191
+ section: Industry Riders
192
+ - name: life_sciences_rider_enabled
193
+ type: boolean
194
+ description: >-
195
+ Enable Section P (Life Sciences rider) covering FDA correspondence,
196
+ clinical trials, CRO agreements, Form 483s, Warning Letters, CIA,
197
+ and controlled-substance registrations. Recommended on for biotech,
198
+ pharma, medical-device, and diagnostics targets with FDA-regulated
199
+ pipelines.
200
+ default: 'false'
201
+ section: Industry Riders
202
+ - name: healthcare_provider_rider_enabled
203
+ type: boolean
204
+ description: >-
205
+ Enable Section Q (Healthcare Provider rider) covering HIPAA breach
206
+ logs, billing/coding compliance, payer audits, malpractice claims,
207
+ and Anti-Kickback / Stark / Sunshine Act compliance. Recommended on
208
+ for clinics, hospitals, physician groups, and telehealth providers
209
+ with payer-reimbursement exposure.
210
+ default: 'false'
211
+ section: Industry Riders
212
+ - name: cross_border_rider_enabled
213
+ type: boolean
214
+ description: >-
215
+ Enable Section R (Cross-Border / Trade Compliance rider) covering
216
+ sanctions/OFAC screening, export-control classifications, AML/KYC,
217
+ FCPA compliance, government-customer exposure, and foreign-investment-
218
+ screening filings. Recommended on whenever the target has foreign
219
+ subsidiaries, foreign customers, government customers, or sensitive-
220
+ jurisdiction exposure. Increasingly mandatory after the 2023 DOJ
221
+ M&A Safe Harbor Policy.
222
+ default: 'false'
223
+ section: Industry Riders
224
+
225
+ # --- Cross-border specifics (rendered inside Section R when cross_border_rider_enabled) ---
226
+ - name: countries_of_operation
227
+ type: string
228
+ description: >-
229
+ Comma-separated list of countries where the target operates, sells,
230
+ or has employees. Optional; populated when the cross-border rider is
231
+ enabled to focus the request on specific jurisdictions.
232
+ default: ''
233
+ section: Cross-Border Specifics
234
+ # --- AI-augmentable per-rider question arrays ---
235
+ # Each array holds {question: string} items. The DOCX uses
236
+ # {FOR q IN <array>}{$q.question}{END-FOR q} loops at the end of the
237
+ # matching section to render any AI-generated or human-authored
238
+ # target-specific additions. Arrays are independent per rider because
239
+ # the validator's SAFE_TAG_RE forbids inline filtering of a single
240
+ # shared array (see plan Track D follow-up).
241
+ - name: additional_questions_tech
242
+ type: array
243
+ description: >-
244
+ AI-augmentable list of target-specific custom questions appended to
245
+ the Tech / SaaS rider. Each item is an object with a `question` field.
246
+ Empty by default. Renders only when tech_rider_enabled is true.
247
+ default: '[]'
248
+ section: AI Augmentation
249
+ items:
250
+ - name: question
251
+ type: string
252
+ description: The custom question text to render in Section O
253
+ - name: additional_questions_life_sciences
254
+ type: array
255
+ description: >-
256
+ AI-augmentable list of target-specific custom questions appended to
257
+ the Life Sciences rider. Empty by default. Renders only when
258
+ life_sciences_rider_enabled is true.
259
+ default: '[]'
260
+ section: AI Augmentation
261
+ items:
262
+ - name: question
263
+ type: string
264
+ description: The custom question text to render in Section P
265
+ - name: additional_questions_healthcare_provider
266
+ type: array
267
+ description: >-
268
+ AI-augmentable list of target-specific custom questions appended to
269
+ the Healthcare Provider rider. Empty by default. Renders only when
270
+ healthcare_provider_rider_enabled is true.
271
+ default: '[]'
272
+ section: AI Augmentation
273
+ items:
274
+ - name: question
275
+ type: string
276
+ description: The custom question text to render in Section Q
277
+ - name: additional_questions_cross_border
278
+ type: array
279
+ description: >-
280
+ AI-augmentable list of target-specific custom questions appended to
281
+ the Cross-Border / Trade Compliance rider. Empty by default. Renders
282
+ only when cross_border_rider_enabled is true.
283
+ default: '[]'
284
+ section: AI Augmentation
285
+ items:
286
+ - name: question
287
+ type: string
288
+ description: The custom question text to render in Section R
289
+ - name: additional_questions_general
290
+ type: array
291
+ description: >-
292
+ AI-augmentable list of cross-cutting custom questions that do not
293
+ belong to any specific rider. Renders at the end of the closing
294
+ Response Protocol section. Empty by default.
295
+ default: '[]'
296
+ section: AI Augmentation
297
+ items:
298
+ - name: question
299
+ type: string
300
+ description: The custom question text to render at end of document