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 (147) hide show
  1. package/README.de.md +371 -0
  2. package/README.es.md +371 -0
  3. package/README.md +30 -0
  4. package/README.pt-br.md +371 -0
  5. package/README.zh.md +371 -0
  6. package/content/templates/closing-checklist/template.docx +0 -0
  7. package/content/templates/common-paper-ai-addendum/README.md +18 -0
  8. package/content/templates/common-paper-ai-addendum/metadata.yaml +136 -0
  9. package/content/templates/common-paper-ai-addendum/replacements.json +5 -0
  10. package/content/templates/common-paper-ai-addendum/selections.json +62 -0
  11. package/content/templates/common-paper-ai-addendum/template.docx +0 -0
  12. package/content/templates/common-paper-ai-addendum-in-app/metadata.yaml +88 -0
  13. package/content/templates/common-paper-ai-addendum-in-app/replacements.json +5 -0
  14. package/content/templates/common-paper-ai-addendum-in-app/selections.json +62 -0
  15. package/content/templates/common-paper-amendment/README.md +18 -0
  16. package/content/templates/common-paper-amendment/metadata.yaml +48 -0
  17. package/content/templates/common-paper-amendment/template.docx +0 -0
  18. package/content/templates/common-paper-business-associate-agreement/README.md +20 -1
  19. package/content/templates/common-paper-business-associate-agreement/metadata.yaml +111 -3
  20. package/content/templates/common-paper-business-associate-agreement/replacements.json +2 -1
  21. package/content/templates/common-paper-business-associate-agreement/selections.json +38 -0
  22. package/content/templates/common-paper-business-associate-agreement/template.docx +0 -0
  23. package/content/templates/common-paper-cloud-service-agreement/README.md +18 -0
  24. package/content/templates/common-paper-cloud-service-agreement/metadata.yaml +48 -0
  25. package/content/templates/common-paper-cloud-service-agreement/template.docx +0 -0
  26. package/content/templates/common-paper-csa-with-ai/README.md +18 -0
  27. package/content/templates/common-paper-csa-with-ai/metadata.yaml +462 -2
  28. package/content/templates/common-paper-csa-with-ai/replacements.json +5 -2
  29. package/content/templates/common-paper-csa-with-ai/selections.json +291 -0
  30. package/content/templates/common-paper-csa-with-ai/template.docx +0 -0
  31. package/content/templates/common-paper-csa-with-sla/README.md +18 -0
  32. package/content/templates/common-paper-csa-with-sla/metadata.yaml +387 -2
  33. package/content/templates/common-paper-csa-with-sla/replacements.json +4 -2
  34. package/content/templates/common-paper-csa-with-sla/selections.json +257 -0
  35. package/content/templates/common-paper-csa-with-sla/template.docx +0 -0
  36. package/content/templates/common-paper-csa-without-sla/README.md +18 -0
  37. package/content/templates/common-paper-csa-without-sla/metadata.yaml +380 -2
  38. package/content/templates/common-paper-csa-without-sla/replacements.json +5 -2
  39. package/content/templates/common-paper-csa-without-sla/selections.json +250 -0
  40. package/content/templates/common-paper-csa-without-sla/template.docx +0 -0
  41. package/content/templates/common-paper-data-processing-agreement/README.md +16 -0
  42. package/content/templates/common-paper-data-processing-agreement/metadata.yaml +397 -3
  43. package/content/templates/common-paper-data-processing-agreement/replacements.json +2 -1
  44. package/content/templates/common-paper-data-processing-agreement/selections.json +211 -0
  45. package/content/templates/common-paper-data-processing-agreement/template.docx +0 -0
  46. package/content/templates/common-paper-design-partner-agreement/README.md +18 -0
  47. package/content/templates/common-paper-design-partner-agreement/metadata.yaml +99 -3
  48. package/content/templates/common-paper-design-partner-agreement/selections.json +27 -0
  49. package/content/templates/common-paper-design-partner-agreement/template.docx +0 -0
  50. package/content/templates/common-paper-independent-contractor-agreement/README.md +18 -0
  51. package/content/templates/common-paper-independent-contractor-agreement/clean.json +8 -0
  52. package/content/templates/common-paper-independent-contractor-agreement/metadata.yaml +52 -0
  53. package/content/templates/common-paper-independent-contractor-agreement/replacements.json +3 -0
  54. package/content/templates/common-paper-independent-contractor-agreement/template.docx +0 -0
  55. package/content/templates/common-paper-letter-of-intent/README.md +18 -0
  56. package/content/templates/common-paper-letter-of-intent/metadata.yaml +48 -0
  57. package/content/templates/common-paper-letter-of-intent/template.docx +0 -0
  58. package/content/templates/common-paper-mutual-nda/README.md +29 -7
  59. package/content/templates/common-paper-mutual-nda/metadata.yaml +48 -0
  60. package/content/templates/common-paper-mutual-nda/template.docx +0 -0
  61. package/content/templates/common-paper-one-way-nda/README.md +13 -0
  62. package/content/templates/common-paper-one-way-nda/metadata.yaml +24 -0
  63. package/content/templates/common-paper-one-way-nda/selections.json +38 -0
  64. package/content/templates/common-paper-one-way-nda/template.docx +0 -0
  65. package/content/templates/common-paper-order-form/README.md +18 -0
  66. package/content/templates/common-paper-order-form/metadata.yaml +115 -3
  67. package/content/templates/common-paper-order-form/replacements.json +5 -2
  68. package/content/templates/common-paper-order-form/selections.json +56 -0
  69. package/content/templates/common-paper-order-form/template.docx +0 -0
  70. package/content/templates/common-paper-order-form-with-sla/README.md +18 -0
  71. package/content/templates/common-paper-order-form-with-sla/metadata.yaml +149 -3
  72. package/content/templates/common-paper-order-form-with-sla/replacements.json +6 -2
  73. package/content/templates/common-paper-order-form-with-sla/selections.json +64 -0
  74. package/content/templates/common-paper-order-form-with-sla/template.docx +0 -0
  75. package/content/templates/common-paper-partnership-agreement/README.md +18 -0
  76. package/content/templates/common-paper-partnership-agreement/metadata.yaml +293 -4
  77. package/content/templates/common-paper-partnership-agreement/replacements.json +5 -2
  78. package/content/templates/common-paper-partnership-agreement/selections.json +138 -0
  79. package/content/templates/common-paper-partnership-agreement/template.docx +0 -0
  80. package/content/templates/common-paper-pilot-agreement/README.md +18 -0
  81. package/content/templates/common-paper-pilot-agreement/metadata.yaml +48 -0
  82. package/content/templates/common-paper-pilot-agreement/template.docx +0 -0
  83. package/content/templates/common-paper-professional-services-agreement/README.md +18 -0
  84. package/content/templates/common-paper-professional-services-agreement/metadata.yaml +338 -4
  85. package/content/templates/common-paper-professional-services-agreement/replacements.json +7 -4
  86. package/content/templates/common-paper-professional-services-agreement/selections.json +207 -0
  87. package/content/templates/common-paper-professional-services-agreement/template.docx +0 -0
  88. package/content/templates/common-paper-statement-of-work/README.md +18 -0
  89. package/content/templates/common-paper-statement-of-work/metadata.yaml +110 -2
  90. package/content/templates/common-paper-statement-of-work/replacements.json +4 -1
  91. package/content/templates/common-paper-statement-of-work/selections.json +55 -0
  92. package/content/templates/common-paper-statement-of-work/template.docx +0 -0
  93. package/content/templates/common-paper-term-sheet/README.md +18 -0
  94. package/content/templates/common-paper-term-sheet/metadata.yaml +48 -0
  95. package/content/templates/common-paper-term-sheet/template.docx +0 -0
  96. package/content/templates/working-group-list/template.docx +0 -0
  97. package/dist/commands/checklist.d.ts.map +1 -1
  98. package/dist/commands/checklist.js +2 -1
  99. package/dist/commands/checklist.js.map +1 -1
  100. package/dist/commands/list.d.ts.map +1 -1
  101. package/dist/commands/list.js +1 -46
  102. package/dist/commands/list.js.map +1 -1
  103. package/dist/core/checklist/format-checklist-docx.d.ts +10 -0
  104. package/dist/core/checklist/format-checklist-docx.d.ts.map +1 -0
  105. package/dist/core/checklist/format-checklist-docx.js +321 -0
  106. package/dist/core/checklist/format-checklist-docx.js.map +1 -0
  107. package/dist/core/checklist/index.d.ts +1 -0
  108. package/dist/core/checklist/index.d.ts.map +1 -1
  109. package/dist/core/checklist/index.js +7 -3
  110. package/dist/core/checklist/index.js.map +1 -1
  111. package/dist/core/engine.d.ts +1 -0
  112. package/dist/core/engine.d.ts.map +1 -1
  113. package/dist/core/engine.js +72 -11
  114. package/dist/core/engine.js.map +1 -1
  115. package/dist/core/selector.d.ts +2 -0
  116. package/dist/core/selector.d.ts.map +1 -1
  117. package/dist/core/selector.js +181 -39
  118. package/dist/core/selector.js.map +1 -1
  119. package/dist/core/template-listing.d.ts +40 -0
  120. package/dist/core/template-listing.d.ts.map +1 -0
  121. package/dist/core/template-listing.js +91 -0
  122. package/dist/core/template-listing.js.map +1 -0
  123. package/dist/core/validation/template.d.ts.map +1 -1
  124. package/dist/core/validation/template.js +10 -2
  125. package/dist/core/validation/template.js.map +1 -1
  126. package/dist/index.d.ts +2 -0
  127. package/dist/index.d.ts.map +1 -1
  128. package/dist/index.js +4 -0
  129. package/dist/index.js.map +1 -1
  130. package/package.json +8 -2
  131. package/skills/iso-27001-evidence-collection/CONNECTORS.md +25 -9
  132. package/skills/iso-27001-evidence-collection/SKILL.md +10 -6
  133. package/skills/iso-27001-internal-audit/CONNECTORS.md +25 -9
  134. package/skills/iso-27001-internal-audit/SKILL.md +12 -9
  135. package/skills/soc2-readiness/CONNECTORS.md +25 -9
  136. package/skills/soc2-readiness/SKILL.md +17 -5
  137. package/skills/soc2-readiness/rules/change-vendor-management.md +104 -0
  138. package/skills/soc2-readiness/rules/communication-info.md +85 -0
  139. package/skills/soc2-readiness/rules/control-activities.md +95 -0
  140. package/skills/soc2-readiness/rules/control-environment.md +126 -0
  141. package/skills/soc2-readiness/rules/logical-access.md +264 -0
  142. package/skills/soc2-readiness/rules/monitoring-activities.md +66 -0
  143. package/skills/soc2-readiness/rules/optional-categories.md +264 -0
  144. package/skills/soc2-readiness/rules/privacy-criteria.md +359 -0
  145. package/skills/soc2-readiness/rules/risk-assessment.md +100 -0
  146. package/skills/soc2-readiness/rules/system-operations.md +170 -0
  147. package/skills/soc2-readiness/rules/trust-services.md +0 -230
@@ -18,4 +18,92 @@ fields:
18
18
  type: string
19
19
  description: Additional AI-specific terms
20
20
  section: Legal
21
+ - name: training_data_none
22
+ type: boolean
23
+ description: No Training Data types selected
24
+ section: AI Training
25
+ - name: training_data_usage
26
+ type: boolean
27
+ description: Usage Data is Training Data
28
+ section: AI Training
29
+ - name: training_data_feedback
30
+ type: boolean
31
+ description: Feedback is Training Data
32
+ section: AI Training
33
+ - name: training_data_input
34
+ type: boolean
35
+ description: Input is Training Data
36
+ section: AI Training
37
+ - name: training_data_output
38
+ type: boolean
39
+ description: Output is Training Data
40
+ section: AI Training
41
+ - name: training_data_prompts
42
+ type: boolean
43
+ description: User prompts (excluding other Input) are Training Data
44
+ section: AI Training
45
+ - name: training_data_customer_content
46
+ type: boolean
47
+ description: Customer Content is Training Data
48
+ section: AI Training
49
+ - name: training_data_additional
50
+ type: boolean
51
+ description: Additional Training Data types apply
52
+ section: AI Training
53
+ - name: model_training_none
54
+ type: boolean
55
+ description: No model training permitted
56
+ section: AI Training
57
+ - name: model_training_customer_only
58
+ type: boolean
59
+ description: Model training solely for Customer benefit
60
+ section: AI Training
61
+ - name: training_data_aggregated
62
+ type: boolean
63
+ description: Training Data must be aggregated
64
+ section: AI Training
65
+ - name: training_data_deidentified
66
+ type: boolean
67
+ description: Training Data must be de-identified
68
+ section: AI Training
69
+ - name: training_data_best_effort_deidentify
70
+ type: boolean
71
+ description: Provider will use commercially reasonable efforts to de-identify Training Data
72
+ section: AI Training
73
+ - name: training_requirements_additional
74
+ type: boolean
75
+ description: Additional Training Data requirements apply
76
+ section: AI Training
77
+ - name: no_customer_identification
78
+ type: boolean
79
+ description: Neither Input nor Output may identify Customer
80
+ section: AI Output
81
+ - name: improvements_for_customer_only
82
+ type: boolean
83
+ description: Improvements from Customer data solely for Customer benefit
84
+ section: AI Output
85
+ - name: output_restrictions_additional
86
+ type: boolean
87
+ description: Additional output restrictions apply
88
+ section: AI Output
89
+ - name: ai_provider_covered_claims
90
+ type: boolean
91
+ description: Provider AI-specific Covered Claims apply
92
+ section: AI Liability
93
+ - name: provider_covered_claims_detail
94
+ type: string
95
+ description: Detail of Provider Covered Claims describing Output IP infringement provisions
96
+ section: AI Liability
97
+ - name: provider_covered_claims_exclusions
98
+ type: string
99
+ description: Provider Covered Claims indemnity exclusions (e.g. combined use, Input, breach, modifications)
100
+ section: AI Liability
101
+ - name: customer_covered_claims_detail
102
+ type: string
103
+ description: Detail of Customer Covered Claims describing IP infringement and usage violation provisions
104
+ section: AI Liability
105
+ - name: ai_customer_covered_claims
106
+ type: boolean
107
+ description: Customer AI-specific Covered Claims apply
108
+ section: AI Liability
21
109
  required_fields: []
@@ -0,0 +1,5 @@
1
+ {
2
+ "[ that the Output\u2014when generated and used by Customer according to the terms of the Agreement and the AI Addendum\u2014violates, misappropriates, or otherwise infringes upon the intellectual property or other proprietary rights of another person or entity. ": "{provider_covered_claims_detail}",
3
+ "Without limiting the indemnity exclusions in the Agreement, Provider's obligations as an Indemnifying Party will not apply to Provider Covered Claims that result from: (a) use of Output in combination with data, software, hardware, equipment, technology, or other products or services not provided by Provider; (b) Input; (c) Customer's use of the AI Services in breach of the Agreement or the AI Addendum; (d) modifications to the Output that were not made by Provider; (e) Output that Customer knew or should have known might violate, misappropriate, or otherwise infringe upon another's intellectual property or other proprietary rights; or (f) a claim that use of Output infringes another's trademark or related rights. ]": "{provider_covered_claims_exclusions}",
4
+ "[ that (1) the Input\u2014when used by Provider according to the terms of the Agreement and the AI Addendum\u2014violates, misappropriates, or otherwise infringes upon the intellectual property or other proprietary rights of another person or entity; or (2) results from Customer's use of the AI Services in violation of the applicable restrictions in the Agreement or the AI Addendum. ]": "{customer_covered_claims_detail}"
5
+ }
@@ -0,0 +1,62 @@
1
+ {
2
+ "groups": [
3
+ {
4
+ "id": "training_data_types",
5
+ "type": "checkbox",
6
+ "options": [
7
+ { "marker": "None", "trigger": { "field": "training_data_none" } },
8
+ { "marker": "Usage Data", "trigger": { "field": "training_data_usage" } },
9
+ { "marker": "Feedback", "trigger": { "field": "training_data_feedback" } },
10
+ { "marker": "Input", "trigger": { "field": "training_data_input" } },
11
+ { "marker": "Output", "trigger": { "field": "training_data_output" } },
12
+ { "marker": "User prompts, excluding other components of Input", "trigger": { "field": "training_data_prompts" } },
13
+ { "marker": "Customer Content", "trigger": { "field": "training_data_customer_content" } },
14
+ { "marker": "{additional_terms}", "trigger": { "field": "training_data_additional" } }
15
+ ]
16
+ },
17
+ {
18
+ "id": "model_training_scope",
19
+ "type": "radio",
20
+ "options": [
21
+ { "marker": "None", "trigger": { "field": "model_training_none", "equals": true } },
22
+ { "marker": "Train the Model(s) in the AI Services solely for Customer\u2019s benefit", "trigger": { "field": "model_training_customer_only", "equals": true } },
23
+ { "marker": "Train the Model(s) in the AI Services", "trigger": "default" }
24
+ ]
25
+ },
26
+ {
27
+ "id": "training_data_requirements",
28
+ "type": "checkbox",
29
+ "options": [
30
+ { "marker": "Training Data must be aggregated", "trigger": { "field": "training_data_aggregated" } },
31
+ { "marker": "Training Data must be de-identified", "trigger": { "field": "training_data_deidentified" } },
32
+ { "marker": "Provider will use commercially reasonable efforts consistent with industry standard technology to de-identify", "trigger": { "field": "training_data_best_effort_deidentify" } },
33
+ { "marker": "{additional_terms}", "trigger": { "field": "training_requirements_additional" } }
34
+ ]
35
+ },
36
+ {
37
+ "id": "output_restrictions",
38
+ "type": "checkbox",
39
+ "options": [
40
+ { "marker": "Neither Input nor Output may identify Customer", "trigger": { "field": "no_customer_identification" } },
41
+ { "marker": "Improvements based on Customer's Input, Output, or Training Data will be solely for Customer's benefit", "trigger": { "field": "improvements_for_customer_only" } },
42
+ { "marker": "{additional_terms}", "trigger": { "field": "output_restrictions_additional" } }
43
+ ]
44
+ },
45
+ {
46
+ "id": "ai_covered_claims",
47
+ "type": "checkbox",
48
+ "options": [
49
+ { "marker": "Provider Covered Claims include any action", "trigger": { "field": "ai_provider_covered_claims" } },
50
+ { "marker": "Customer Covered Claims include any action", "trigger": { "field": "ai_customer_covered_claims" } }
51
+ ]
52
+ },
53
+ {
54
+ "id": "ai_acceptable_use_policy",
55
+ "type": "checkbox",
56
+ "standalone": true,
57
+ "options": [
58
+ { "marker": "Use of the AI Services is subject to the Acceptable Use Policy", "trigger": { "field": "ai_policy_reference" } }
59
+ ]
60
+ }
61
+ ]
62
+ }
@@ -21,6 +21,24 @@ An amendment template for modifying existing agreements, based on [Common Paper'
21
21
  | `amendment_topic` | string | yes | Topic or variable being changed |
22
22
  | `amendment_details` | string | yes | Details about what is being changed |
23
23
 
24
+
25
+ ### Signature Block
26
+
27
+ | Field | Type | Required | Description |
28
+ |-------|------|----------|-------------|
29
+ | `party_1_signatory_type` | enum (`entity` / `individual`) | no | Whether the first party signatory is an entity or individual (default: `entity`) |
30
+ | `party_1_signatory_name` | string | no | Full legal name of the first party's signatory |
31
+ | `party_1_signatory_title` | string | no | Title/role of the first party's signatory (entity only) |
32
+ | `party_1_signatory_company` | string | no | Company name for the first party signatory (entity only) |
33
+ | `party_1_signatory_email` | string | no | Notice email address for the first party |
34
+ | `party_2_signatory_type` | enum (`entity` / `individual`) | no | Whether the second party signatory is an entity or individual (default: `entity`) |
35
+ | `party_2_signatory_name` | string | no | Full legal name of the second party's signatory |
36
+ | `party_2_signatory_title` | string | no | Title/role of the second party's signatory (entity only) |
37
+ | `party_2_signatory_company` | string | no | Company name for the second party signatory (entity only) |
38
+ | `party_2_signatory_email` | string | no | Notice email address for the second party |
39
+
40
+ > **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.
41
+
24
42
  ## Attribution
25
43
 
26
44
  Based on the Common Paper Amendment, available at https://commonpaper.com.
@@ -42,6 +42,54 @@ fields:
42
42
  type: string
43
43
  description: Details about what is being changed
44
44
  section: Terms
45
+ - name: party_1_signatory_type
46
+ type: enum
47
+ description: Whether the first party signatory is an entity or individual
48
+ options:
49
+ - entity
50
+ - individual
51
+ default: entity
52
+ section: Signature Block
53
+ - name: party_1_signatory_name
54
+ type: string
55
+ description: Full legal name of the first party's signatory
56
+ section: Signature Block
57
+ - name: party_1_signatory_title
58
+ type: string
59
+ description: Title/role of the first party's signatory (entity only)
60
+ section: Signature Block
61
+ - name: party_1_signatory_company
62
+ type: string
63
+ description: Company name for the first party signatory (entity only)
64
+ section: Signature Block
65
+ - name: party_1_signatory_email
66
+ type: string
67
+ description: Notice email address for the first party
68
+ section: Signature Block
69
+ - name: party_2_signatory_type
70
+ type: enum
71
+ description: Whether the second party signatory is an entity or individual
72
+ options:
73
+ - entity
74
+ - individual
75
+ default: entity
76
+ section: Signature Block
77
+ - name: party_2_signatory_name
78
+ type: string
79
+ description: Full legal name of the second party's signatory
80
+ section: Signature Block
81
+ - name: party_2_signatory_title
82
+ type: string
83
+ description: Title/role of the second party's signatory (entity only)
84
+ section: Signature Block
85
+ - name: party_2_signatory_company
86
+ type: string
87
+ description: Company name for the second party signatory (entity only)
88
+ section: Signature Block
89
+ - name: party_2_signatory_email
90
+ type: string
91
+ description: Notice email address for the second party
92
+ section: Signature Block
45
93
  required_fields:
46
94
  - company_name
47
95
  - party_1
@@ -20,9 +20,28 @@ A HIPAA business associate agreement based on [Common Paper's](https://commonpap
20
20
  | `aggregation_restrictions` | string | no | Specific aggregation restrictions |
21
21
  | `offshoring_restrictions` | string | no | Specific offshoring rights or restrictions |
22
22
  | `breach_notification_unit` | string | no | Unit for breach notification period |
23
- | `fill_in_value` | string | no | General fill-in value |
23
+ | `breach_notification_number` | string | no | Numeric value for the breach notification period (e.g. 5) |
24
+ | `other_changes` | string | no | Prose describing other changes to BAA Standard Terms |
24
25
  | `custom_effective_date` | string | no | Custom effective date |
25
26
 
27
+
28
+ ### Signature Block
29
+
30
+ | Field | Type | Required | Description |
31
+ |-------|------|----------|-------------|
32
+ | `provider_signatory_type` | enum (`entity` / `individual`) | no | Whether the Provider signatory is an entity or individual (default: `entity`) |
33
+ | `provider_signatory_name` | string | no | Full legal name of the Provider's signatory |
34
+ | `provider_signatory_title` | string | no | Title/role of the Provider's signatory (entity only) |
35
+ | `provider_signatory_company` | string | no | Company name for the Provider signatory (entity only) |
36
+ | `provider_signatory_email` | string | no | Notice email address for the Provider |
37
+ | `company_signatory_type` | enum (`entity` / `individual`) | no | Whether the Company signatory is an entity or individual (default: `entity`) |
38
+ | `company_signatory_name` | string | no | Full legal name of the Company's signatory |
39
+ | `company_signatory_title` | string | no | Title/role of the Company's signatory (entity only) |
40
+ | `company_signatory_company` | string | no | Company name for the Company signatory (entity only) |
41
+ | `company_signatory_email` | string | no | Notice email address for the Company |
42
+
43
+ > **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.
44
+
26
45
  ## Attribution
27
46
 
28
47
  Based on the Common Paper Business Associate Agreement, available at https://commonpaper.com.
@@ -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.