@cloudstreamsoftware/claude-tools 1.0.0 → 1.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 (189) hide show
  1. package/README.md +152 -37
  2. package/agents/INDEX.md +183 -0
  3. package/agents/architect.md +247 -0
  4. package/agents/build-error-resolver.md +555 -0
  5. package/agents/catalyst-deployer.md +132 -0
  6. package/agents/code-reviewer.md +121 -0
  7. package/agents/compliance-auditor.md +148 -0
  8. package/agents/creator-architect.md +395 -0
  9. package/agents/deluge-reviewer.md +98 -0
  10. package/agents/doc-updater.md +471 -0
  11. package/agents/e2e-runner.md +711 -0
  12. package/agents/planner.md +122 -0
  13. package/agents/refactor-cleaner.md +309 -0
  14. package/agents/security-reviewer.md +582 -0
  15. package/agents/tdd-guide.md +302 -0
  16. package/config/versions.json +63 -0
  17. package/dist/hooks/hooks.json +209 -0
  18. package/dist/index.js +47 -0
  19. package/dist/lib/asset-value.js +609 -0
  20. package/dist/lib/client-manager.js +300 -0
  21. package/dist/lib/command-matcher.js +242 -0
  22. package/dist/lib/cross-session-patterns.js +754 -0
  23. package/dist/lib/intent-classifier.js +1075 -0
  24. package/dist/lib/package-manager.js +374 -0
  25. package/dist/lib/recommendation-engine.js +597 -0
  26. package/dist/lib/session-memory.js +489 -0
  27. package/dist/lib/skill-effectiveness.js +486 -0
  28. package/dist/lib/skill-matcher.js +595 -0
  29. package/dist/lib/tutorial-metrics.js +242 -0
  30. package/dist/lib/tutorial-progress.js +209 -0
  31. package/dist/lib/tutorial-renderer.js +431 -0
  32. package/dist/lib/utils.js +380 -0
  33. package/dist/lib/verify-formatter.js +143 -0
  34. package/dist/lib/workflow-state.js +249 -0
  35. package/hooks/hooks.json +209 -0
  36. package/package.json +5 -1
  37. package/scripts/aggregate-sessions.js +290 -0
  38. package/scripts/branch-name-validator.js +291 -0
  39. package/scripts/build.js +101 -0
  40. package/scripts/commands/client-switch.js +231 -0
  41. package/scripts/deprecate-skill.js +610 -0
  42. package/scripts/diagnose.js +324 -0
  43. package/scripts/doc-freshness.js +168 -0
  44. package/scripts/generate-weekly-digest.js +393 -0
  45. package/scripts/health-check.js +270 -0
  46. package/scripts/hooks/credential-check.js +101 -0
  47. package/scripts/hooks/evaluate-session.js +81 -0
  48. package/scripts/hooks/pre-compact.js +66 -0
  49. package/scripts/hooks/prompt-analyzer.js +276 -0
  50. package/scripts/hooks/prompt-router.js +422 -0
  51. package/scripts/hooks/quality-gate-enforcer.js +371 -0
  52. package/scripts/hooks/session-end.js +156 -0
  53. package/scripts/hooks/session-start.js +195 -0
  54. package/scripts/hooks/skill-injector.js +333 -0
  55. package/scripts/hooks/suggest-compact.js +58 -0
  56. package/scripts/lib/asset-value.js +609 -0
  57. package/scripts/lib/client-manager.js +300 -0
  58. package/scripts/lib/command-matcher.js +242 -0
  59. package/scripts/lib/cross-session-patterns.js +754 -0
  60. package/scripts/lib/intent-classifier.js +1075 -0
  61. package/scripts/lib/package-manager.js +374 -0
  62. package/scripts/lib/recommendation-engine.js +597 -0
  63. package/scripts/lib/session-memory.js +489 -0
  64. package/scripts/lib/skill-effectiveness.js +486 -0
  65. package/scripts/lib/skill-matcher.js +595 -0
  66. package/scripts/lib/tutorial-metrics.js +242 -0
  67. package/scripts/lib/tutorial-progress.js +209 -0
  68. package/scripts/lib/tutorial-renderer.js +431 -0
  69. package/scripts/lib/utils.js +380 -0
  70. package/scripts/lib/verify-formatter.js +143 -0
  71. package/scripts/lib/workflow-state.js +249 -0
  72. package/scripts/onboard.js +363 -0
  73. package/scripts/quarterly-report.js +692 -0
  74. package/scripts/setup-package-manager.js +204 -0
  75. package/scripts/sync-upstream.js +391 -0
  76. package/scripts/test.js +108 -0
  77. package/scripts/tutorial-runner.js +351 -0
  78. package/scripts/validate-all.js +201 -0
  79. package/scripts/verifiers/agents.js +245 -0
  80. package/scripts/verifiers/config.js +186 -0
  81. package/scripts/verifiers/environment.js +123 -0
  82. package/scripts/verifiers/hooks.js +188 -0
  83. package/scripts/verifiers/index.js +38 -0
  84. package/scripts/verifiers/persistence.js +140 -0
  85. package/scripts/verifiers/plugin.js +215 -0
  86. package/scripts/verifiers/skills.js +209 -0
  87. package/scripts/verify-setup.js +164 -0
  88. package/skills/INDEX.md +157 -0
  89. package/skills/backend-patterns/SKILL.md +586 -0
  90. package/skills/backend-patterns/catalyst-patterns.md +128 -0
  91. package/skills/bigquery-patterns/SKILL.md +27 -0
  92. package/skills/bigquery-patterns/performance-optimization.md +518 -0
  93. package/skills/bigquery-patterns/query-patterns.md +372 -0
  94. package/skills/bigquery-patterns/schema-design.md +78 -0
  95. package/skills/cloudstream-project-template/SKILL.md +20 -0
  96. package/skills/cloudstream-project-template/structure.md +65 -0
  97. package/skills/coding-standards/SKILL.md +524 -0
  98. package/skills/coding-standards/deluge-standards.md +83 -0
  99. package/skills/compliance-patterns/SKILL.md +28 -0
  100. package/skills/compliance-patterns/hipaa/audit-requirements.md +251 -0
  101. package/skills/compliance-patterns/hipaa/baa-process.md +298 -0
  102. package/skills/compliance-patterns/hipaa/data-archival-strategy.md +387 -0
  103. package/skills/compliance-patterns/hipaa/phi-handling.md +52 -0
  104. package/skills/compliance-patterns/pci-dss/saq-a-requirements.md +307 -0
  105. package/skills/compliance-patterns/pci-dss/tokenization-patterns.md +382 -0
  106. package/skills/compliance-patterns/pci-dss/zoho-checkout-patterns.md +56 -0
  107. package/skills/compliance-patterns/soc2/access-controls.md +344 -0
  108. package/skills/compliance-patterns/soc2/audit-logging.md +458 -0
  109. package/skills/compliance-patterns/soc2/change-management.md +403 -0
  110. package/skills/compliance-patterns/soc2/deluge-execution-logging.md +407 -0
  111. package/skills/consultancy-workflows/SKILL.md +19 -0
  112. package/skills/consultancy-workflows/client-isolation.md +21 -0
  113. package/skills/consultancy-workflows/documentation-automation.md +454 -0
  114. package/skills/consultancy-workflows/handoff-procedures.md +257 -0
  115. package/skills/consultancy-workflows/knowledge-capture.md +513 -0
  116. package/skills/consultancy-workflows/time-tracking.md +26 -0
  117. package/skills/continuous-learning/SKILL.md +84 -0
  118. package/skills/continuous-learning/config.json +18 -0
  119. package/skills/continuous-learning/evaluate-session.sh +60 -0
  120. package/skills/continuous-learning-v2/SKILL.md +126 -0
  121. package/skills/continuous-learning-v2/config.json +61 -0
  122. package/skills/frontend-patterns/SKILL.md +635 -0
  123. package/skills/frontend-patterns/zoho-widget-patterns.md +103 -0
  124. package/skills/gcp-data-engineering/SKILL.md +36 -0
  125. package/skills/gcp-data-engineering/bigquery/performance-optimization.md +337 -0
  126. package/skills/gcp-data-engineering/dataflow/error-handling.md +496 -0
  127. package/skills/gcp-data-engineering/dataflow/pipeline-patterns.md +444 -0
  128. package/skills/gcp-data-engineering/dbt/model-organization.md +63 -0
  129. package/skills/gcp-data-engineering/dbt/testing-patterns.md +503 -0
  130. package/skills/gcp-data-engineering/medallion-architecture/bronze-layer.md +60 -0
  131. package/skills/gcp-data-engineering/medallion-architecture/gold-layer.md +311 -0
  132. package/skills/gcp-data-engineering/medallion-architecture/layer-transitions.md +517 -0
  133. package/skills/gcp-data-engineering/medallion-architecture/silver-layer.md +305 -0
  134. package/skills/gcp-data-engineering/zoho-to-gcp/data-extraction.md +543 -0
  135. package/skills/gcp-data-engineering/zoho-to-gcp/real-time-vs-batch.md +337 -0
  136. package/skills/security-review/SKILL.md +498 -0
  137. package/skills/security-review/compliance-checklist.md +53 -0
  138. package/skills/strategic-compact/SKILL.md +67 -0
  139. package/skills/tdd-workflow/SKILL.md +413 -0
  140. package/skills/tdd-workflow/zoho-testing.md +124 -0
  141. package/skills/tutorial/SKILL.md +249 -0
  142. package/skills/tutorial/docs/ACCESSIBILITY.md +169 -0
  143. package/skills/tutorial/lessons/00-philosophy-and-workflow.md +198 -0
  144. package/skills/tutorial/lessons/01-basics.md +81 -0
  145. package/skills/tutorial/lessons/02-training.md +86 -0
  146. package/skills/tutorial/lessons/03-commands.md +109 -0
  147. package/skills/tutorial/lessons/04-workflows.md +115 -0
  148. package/skills/tutorial/lessons/05-compliance.md +116 -0
  149. package/skills/tutorial/lessons/06-zoho.md +121 -0
  150. package/skills/tutorial/lessons/07-hooks-system.md +277 -0
  151. package/skills/tutorial/lessons/08-mcp-servers.md +316 -0
  152. package/skills/tutorial/lessons/09-client-management.md +215 -0
  153. package/skills/tutorial/lessons/10-testing-e2e.md +260 -0
  154. package/skills/tutorial/lessons/11-skills-deep-dive.md +272 -0
  155. package/skills/tutorial/lessons/12-rules-system.md +326 -0
  156. package/skills/tutorial/lessons/13-golden-standard-graduation.md +213 -0
  157. package/skills/tutorial/lessons/14-fork-setup-and-sync.md +312 -0
  158. package/skills/tutorial/lessons/15-living-examples-system.md +221 -0
  159. package/skills/tutorial/tracks/accelerated/README.md +134 -0
  160. package/skills/tutorial/tracks/accelerated/assessment/checkpoint-1.md +161 -0
  161. package/skills/tutorial/tracks/accelerated/assessment/checkpoint-2.md +175 -0
  162. package/skills/tutorial/tracks/accelerated/day-1-core-concepts.md +234 -0
  163. package/skills/tutorial/tracks/accelerated/day-2-essential-commands.md +270 -0
  164. package/skills/tutorial/tracks/accelerated/day-3-workflow-mastery.md +305 -0
  165. package/skills/tutorial/tracks/accelerated/day-4-compliance-zoho.md +304 -0
  166. package/skills/tutorial/tracks/accelerated/day-5-hooks-skills.md +344 -0
  167. package/skills/tutorial/tracks/accelerated/day-6-client-testing.md +386 -0
  168. package/skills/tutorial/tracks/accelerated/day-7-graduation.md +369 -0
  169. package/skills/zoho-patterns/CHANGELOG.md +108 -0
  170. package/skills/zoho-patterns/SKILL.md +446 -0
  171. package/skills/zoho-patterns/analytics/dashboard-patterns.md +352 -0
  172. package/skills/zoho-patterns/analytics/zoho-to-bigquery-pipeline.md +427 -0
  173. package/skills/zoho-patterns/catalyst/appsail-deployment.md +349 -0
  174. package/skills/zoho-patterns/catalyst/context-close-patterns.md +354 -0
  175. package/skills/zoho-patterns/catalyst/cron-batch-processing.md +374 -0
  176. package/skills/zoho-patterns/catalyst/function-patterns.md +439 -0
  177. package/skills/zoho-patterns/creator/form-design.md +304 -0
  178. package/skills/zoho-patterns/creator/publish-api-patterns.md +313 -0
  179. package/skills/zoho-patterns/creator/widget-integration.md +306 -0
  180. package/skills/zoho-patterns/creator/workflow-automation.md +253 -0
  181. package/skills/zoho-patterns/deluge/api-patterns.md +468 -0
  182. package/skills/zoho-patterns/deluge/batch-processing.md +403 -0
  183. package/skills/zoho-patterns/deluge/cross-app-integration.md +356 -0
  184. package/skills/zoho-patterns/deluge/error-handling.md +423 -0
  185. package/skills/zoho-patterns/deluge/syntax-reference.md +65 -0
  186. package/skills/zoho-patterns/integration/cors-proxy-architecture.md +426 -0
  187. package/skills/zoho-patterns/integration/crm-books-native-sync.md +277 -0
  188. package/skills/zoho-patterns/integration/oauth-token-management.md +461 -0
  189. package/skills/zoho-patterns/integration/zoho-flow-patterns.md +334 -0
@@ -0,0 +1,251 @@
1
+ # HIPAA Audit Requirements
2
+
3
+ ## Overview
4
+
5
+ HIPAA requires covered entities and business associates to maintain audit trails for a minimum of **6 years**. Zoho Creator only retains audit data for **1 year**. This gap is the single most critical compliance risk in our Zoho-based healthcare implementations.
6
+
7
+ > **WARNING**: Failure to maintain 6-year audit trails can result in OCR penalties up to $1.5M per violation category per year. This is non-negotiable for any client handling ePHI.
8
+
9
+ ---
10
+
11
+ ## The 6-Year Retention Requirement vs. Creator's 1-Year Limitation
12
+
13
+ | Requirement | HIPAA Mandate | Zoho Creator Native | Gap |
14
+ |---|---|---|---|
15
+ | Audit log retention | 6 years from creation or last effective date | 1 year (auto-deleted) | 5 years |
16
+ | Access logs | All ePHI access events | Basic form-level audit | Field-level detail missing |
17
+ | Export tracking | Who exported what, when | Not natively logged | Must custom-build |
18
+ | Share tracking | Record sharing events | Partial (share actions) | Must supplement |
19
+
20
+ ---
21
+
22
+ ## What Constitutes an Adequate Audit Trail
23
+
24
+ Every audit entry MUST capture the **5 Ws**:
25
+
26
+ 1. **WHO** - User ID, role, IP address, session identifier
27
+ 2. **WHAT** - Action performed, fields affected, before/after values
28
+ 3. **WHEN** - Timestamp in UTC (ISO 8601 format)
29
+ 4. **WHERE** - Application, form, record ID, network location
30
+ 5. **WHY** - Business justification (for break-glass access scenarios)
31
+
32
+ ---
33
+
34
+ ## Minimum Logged Events
35
+
36
+ The following events MUST be captured for any form containing ePHI:
37
+
38
+ | Event Category | Specific Actions | Priority |
39
+ |---|---|---|
40
+ | **Access** | View record, view report, API read | Critical |
41
+ | **Create** | New record, record duplication | Critical |
42
+ | **Update** | Field modification (before/after values) | Critical |
43
+ | **Delete** | Record deletion, bulk deletion | Critical |
44
+ | **Export** | CSV export, PDF generation, API bulk read | Critical |
45
+ | **Share** | Record sharing, permission changes | Critical |
46
+ | **Auth** | Login, logout, failed login, MFA events | High |
47
+ | **Admin** | Form schema changes, workflow modifications | High |
48
+ | **Print** | Any print action on ePHI-containing views | Medium |
49
+
50
+ ---
51
+
52
+ ## Audit Log Schema Design
53
+
54
+ ### Creator Audit Form Structure
55
+
56
+ ```
57
+ Form: HIPAA_Audit_Log
58
+ Fields:
59
+ - Audit_ID (Auto-number, primary key)
60
+ - Timestamp (DateTime, UTC)
61
+ - User_Email (Email)
62
+ - User_Role (Single Line)
63
+ - IP_Address (Single Line)
64
+ - Session_ID (Single Line)
65
+ - Action_Type (Picklist: Access/Create/Update/Delete/Export/Share/Auth/Admin)
66
+ - Form_Name (Single Line)
67
+ - Record_ID (Number)
68
+ - Field_Name (Single Line, nullable)
69
+ - Old_Value (Multi Line, encrypted)
70
+ - New_Value (Multi Line, encrypted)
71
+ - Justification (Multi Line, nullable)
72
+ - Client_ID (Lookup to Clients form)
73
+ - Archived (Checkbox, default: false)
74
+ - Archive_Batch_ID (Single Line, nullable)
75
+ ```
76
+
77
+ ### BigQuery Long-Term Storage Schema
78
+
79
+ ```sql
80
+ CREATE TABLE `project.dataset.hipaa_audit_logs` (
81
+ audit_id STRING NOT NULL,
82
+ timestamp TIMESTAMP NOT NULL,
83
+ user_email STRING NOT NULL,
84
+ user_role STRING,
85
+ ip_address STRING,
86
+ session_id STRING,
87
+ action_type STRING NOT NULL,
88
+ form_name STRING NOT NULL,
89
+ record_id INT64,
90
+ field_name STRING,
91
+ old_value STRING, -- Encrypted at application layer
92
+ new_value STRING, -- Encrypted at application layer
93
+ justification STRING,
94
+ client_id STRING NOT NULL,
95
+ source_org STRING NOT NULL,
96
+ archive_date TIMESTAMP NOT NULL,
97
+ archive_batch_id STRING NOT NULL
98
+ )
99
+ PARTITION BY DATE(timestamp)
100
+ CLUSTER BY client_id, action_type;
101
+ ```
102
+
103
+ ---
104
+
105
+ ## BigQuery as Long-Term Audit Storage
106
+
107
+ ### Why BigQuery
108
+
109
+ - **Cost**: $0.02/GB/month for long-term storage (after 90 days untouched)
110
+ - **Durability**: 99.999999999% (11 nines)
111
+ - **Query**: Full SQL for audit investigations
112
+ - **Encryption**: AES-256 at rest by default, CMEK available
113
+ - **Access Controls**: IAM-based, fully auditable
114
+ - **Retention Policies**: Configurable, prevents accidental deletion
115
+
116
+ ### Cost Estimation Per Client
117
+
118
+ | Records/Month | Estimated Size | Monthly Cost (Long-term) | 6-Year Cost |
119
+ |---|---|---|---|
120
+ | 10,000 | ~5 MB | $0.0001 | $0.007 |
121
+ | 100,000 | ~50 MB | $0.001 | $0.07 |
122
+ | 1,000,000 | ~500 MB | $0.01 | $0.72 |
123
+
124
+ ---
125
+
126
+ ## Automated Archival Before 1-Year Auto-Delete
127
+
128
+ > **WARNING**: Creator auto-deletes audit data at 12 months. Archival MUST run monthly with buffer. Set the archival window to 10 months maximum to allow for failure recovery.
129
+
130
+ See `hipaa/data-archival-strategy.md` for the complete automated archival implementation.
131
+
132
+ ### Archival Schedule
133
+
134
+ - **Monthly**: Export previous month's audit logs to BigQuery
135
+ - **Weekly**: Verify last archival completed successfully
136
+ - **Daily**: Alert if archival job has not run in 35 days
137
+
138
+ ---
139
+
140
+ ## Quarterly Audit Review Process
141
+
142
+ ### Q1/Q2/Q3/Q4 Review Checklist
143
+
144
+ - [ ] Verify all archival jobs completed for the quarter
145
+ - [ ] Run completeness check (Creator count vs BigQuery count)
146
+ - [ ] Review access patterns for anomalies
147
+ - [ ] Confirm no gaps in audit trail coverage
148
+ - [ ] Validate encryption of sensitive field values
149
+ - [ ] Test restore procedure from BigQuery backup
150
+ - [ ] Update audit scope if new forms added
151
+ - [ ] Document review findings in compliance folder
152
+
153
+ ### Anomaly Detection Queries
154
+
155
+ ```sql
156
+ -- Detect unusual access patterns
157
+ SELECT user_email, COUNT(*) as access_count,
158
+ DATE(timestamp) as access_date
159
+ FROM `project.dataset.hipaa_audit_logs`
160
+ WHERE action_type = 'Access'
161
+ AND timestamp > TIMESTAMP_SUB(CURRENT_TIMESTAMP(), INTERVAL 90 DAY)
162
+ GROUP BY user_email, DATE(timestamp)
163
+ HAVING access_count > 100
164
+ ORDER BY access_count DESC;
165
+
166
+ -- Detect after-hours access
167
+ SELECT user_email, timestamp, action_type, form_name
168
+ FROM `project.dataset.hipaa_audit_logs`
169
+ WHERE EXTRACT(HOUR FROM timestamp) NOT BETWEEN 7 AND 19
170
+ AND action_type IN ('Access', 'Export', 'Delete')
171
+ ORDER BY timestamp DESC
172
+ LIMIT 100;
173
+ ```
174
+
175
+ ---
176
+
177
+ ## Responding to Audit Requests
178
+
179
+ ### OCR (Office for Civil Rights) Audit Response
180
+
181
+ 1. **Acknowledge** receipt within 24 hours
182
+ 2. **Scope** the request - identify date ranges and data types requested
183
+ 3. **Query** BigQuery for the relevant audit records
184
+ 4. **Format** results per OCR specifications (typically CSV or structured report)
185
+ 5. **Review** with client legal counsel before submission
186
+ 6. **Submit** within the timeframe specified (typically 30 days)
187
+ 7. **Document** the entire response process
188
+
189
+ ### Internal Audit Response Template
190
+
191
+ ```json
192
+ {
193
+ "audit_request_id": "AR-2025-001",
194
+ "requested_by": "auditor@client.com",
195
+ "date_range": {"start": "2024-01-01", "end": "2024-12-31"},
196
+ "scope": "All ePHI access events for Patient Records form",
197
+ "records_returned": 45230,
198
+ "export_format": "CSV",
199
+ "delivered_date": "2025-02-15",
200
+ "delivered_to": "auditor@client.com",
201
+ "delivery_method": "Encrypted file transfer",
202
+ "reviewed_by": "compliance@cloudstreamsoftware.com"
203
+ }
204
+ ```
205
+
206
+ ---
207
+
208
+ ## OCR Breach Notification Requirements
209
+
210
+ > **WARNING**: Breach notification must be provided to affected individuals within **60 days** of discovery. HHS notification is required for breaches affecting 500+ individuals.
211
+
212
+ ### Breach Response Timeline
213
+
214
+ | Day | Action |
215
+ |---|---|
216
+ | Day 0 | Breach discovered - begin investigation |
217
+ | Day 1-3 | Assess scope using audit logs |
218
+ | Day 3-7 | Determine if notification is required |
219
+ | Day 7-14 | Prepare notification content |
220
+ | Day 14-30 | Begin individual notifications |
221
+ | Day 60 | **DEADLINE**: All individual notifications complete |
222
+ | Day 60 | Submit to HHS if 500+ individuals affected |
223
+ | Annual | Breaches affecting <500 reported to HHS annually |
224
+
225
+ ### Audit Log Queries for Breach Investigation
226
+
227
+ ```sql
228
+ -- Identify all records accessed during breach window
229
+ SELECT DISTINCT record_id, form_name, user_email,
230
+ MIN(timestamp) as first_access, MAX(timestamp) as last_access
231
+ FROM `project.dataset.hipaa_audit_logs`
232
+ WHERE timestamp BETWEEN @breach_start AND @breach_end
233
+ AND (user_email = @compromised_user OR ip_address = @suspicious_ip)
234
+ GROUP BY record_id, form_name, user_email
235
+ ORDER BY first_access;
236
+ ```
237
+
238
+ ---
239
+
240
+ ## Implementation Checklist for New Healthcare Clients
241
+
242
+ - [ ] Identify all forms containing ePHI
243
+ - [ ] Deploy audit logging Deluge functions on all identified forms
244
+ - [ ] Configure BigQuery dataset with retention policy
245
+ - [ ] Set up monthly archival via Catalyst Cron
246
+ - [ ] Configure alerting for archival failures
247
+ - [ ] Document audit scope in client compliance folder
248
+ - [ ] Schedule quarterly review calendar events
249
+ - [ ] Verify BAA coverage for all tools in data flow
250
+ - [ ] Test audit trail completeness with sample transactions
251
+ - [ ] Obtain client sign-off on audit configuration
@@ -0,0 +1,298 @@
1
+ # HIPAA Business Associate Agreement (BAA) Process
2
+
3
+ ## Overview
4
+
5
+ A Business Associate Agreement (BAA) is a legally binding contract required by HIPAA between a covered entity (the healthcare client) and any business associate (CloudStream, Zoho, GCP, etc.) that creates, receives, maintains, or transmits electronic Protected Health Information (ePHI) on behalf of the covered entity.
6
+
7
+ > **WARNING**: Handling ePHI without a valid BAA in place is a HIPAA violation regardless of whether a breach occurs. Penalties range from $100 to $50,000 per violation, up to $1.5M per year per violation category.
8
+
9
+ ---
10
+
11
+ ## When You Need a BAA
12
+
13
+ A BAA is required whenever ANY of the following are true:
14
+
15
+ | Scenario | BAA Required? | Example |
16
+ |---|---|---|
17
+ | Storing ePHI in a platform | YES | Patient records in Zoho Creator |
18
+ | Processing ePHI through a service | YES | Sending appointment reminders via Zoho Mail |
19
+ | Transmitting ePHI between systems | YES | API integration between Creator and GCP |
20
+ | Hosting ePHI in infrastructure | YES | GCP Cloud Functions processing patient data |
21
+ | Accessing ePHI for support/maintenance | YES | CloudStream staff accessing client Creator org |
22
+ | Storing de-identified data only | NO | Aggregate analytics with no individual identifiers |
23
+ | Marketing site with no data collection | NO | Static website with no forms collecting health info |
24
+
25
+ ### The BAA Chain
26
+
27
+ ```
28
+ Healthcare Client (Covered Entity)
29
+ |
30
+ +-- BAA --> CloudStream Software LLC (Business Associate)
31
+ | |
32
+ | +-- BAA --> Zoho Corporation (Subcontractor BA)
33
+ | |
34
+ | +-- BAA --> Google Cloud Platform (Subcontractor BA)
35
+ | |
36
+ | +-- BAA --> Any MCP/Third-party tool (Subcontractor BA)
37
+ |
38
+ +-- BAA --> Other vendors with ePHI access
39
+ ```
40
+
41
+ > **WARNING**: Every link in the chain MUST have a BAA. If ANY vendor in the data flow lacks a BAA, the entire implementation is non-compliant.
42
+
43
+ ---
44
+
45
+ ## Zoho BAA Request Process
46
+
47
+ ### Prerequisites
48
+
49
+ 1. Active Zoho One subscription (paid plan required)
50
+ 2. Organization Admin access
51
+ 3. Zoho Org ID (found in Admin Panel → Organization)
52
+
53
+ ### Step-by-Step Process
54
+
55
+ 1. **Compose email** to `legal@zohocorp.com`
56
+ 2. **Subject line**: `BAA Request - [Organization Name] - Org ID: [YOUR_ORG_ID]`
57
+ 3. **Include in body**:
58
+ - Organization name and Org ID
59
+ - Primary contact name, title, email, phone
60
+ - List of Zoho services that will handle ePHI
61
+ - Brief description of use case
62
+ - Requested effective date
63
+
64
+ ### Email Template
65
+
66
+ ```
67
+ To: legal@zohocorp.com
68
+ Subject: BAA Request - [Client Name] - Org ID: [ORG_ID]
69
+
70
+ Dear Zoho Legal Team,
71
+
72
+ We are requesting a Business Associate Agreement for the following organization:
73
+
74
+ Organization: [Client Legal Name]
75
+ Org ID: [ORG_ID]
76
+ Subscription: Zoho One [Enterprise/Professional]
77
+ Primary Contact: [Name, Title]
78
+ Email: [email]
79
+ Phone: [phone]
80
+
81
+ Zoho services that will process ePHI:
82
+ - Zoho Creator (patient records, appointment scheduling)
83
+ - Zoho CRM (patient contact information)
84
+ - Zoho Mail (patient communications)
85
+ - [Other applicable services]
86
+
87
+ Use Case: [Brief 2-3 sentence description]
88
+
89
+ Requested Effective Date: [Date]
90
+
91
+ Please send the BAA for review and signature.
92
+
93
+ Thank you,
94
+ [Your Name]
95
+ CloudStream Software LLC
96
+ [Contact info]
97
+ ```
98
+
99
+ ### Expected Timeline
100
+
101
+ | Step | Duration |
102
+ |---|---|
103
+ | Initial response from Zoho Legal | 3-5 business days |
104
+ | BAA document provided for review | 5-10 business days |
105
+ | Review and negotiation (if needed) | 5-15 business days |
106
+ | Final signature and execution | 3-5 business days |
107
+ | **Total typical timeline** | **2-5 weeks** |
108
+
109
+ > **WARNING**: Start the BAA process BEFORE beginning any ePHI-related development work. Never assume the BAA will be approved. Factor this timeline into project planning.
110
+
111
+ ---
112
+
113
+ ## GCP BAA Process
114
+
115
+ ### Prerequisites
116
+
117
+ 1. Active GCP billing account
118
+ 2. Organization-level access
119
+ 3. GCP Organization ID
120
+
121
+ ### Step-by-Step Process
122
+
123
+ 1. Navigate to **Google Cloud Console**
124
+ 2. Go to **Settings** (Organization level)
125
+ 3. Select **HIPAA compliance** section
126
+ 4. Review the Google Cloud BAA
127
+ 5. Accept the BAA terms
128
+ 6. BAA takes effect **immediately** upon acceptance
129
+
130
+ ### GCP BAA-Covered Services
131
+
132
+ Not all GCP services are covered under the BAA. Verify each service at:
133
+ https://cloud.google.com/security/compliance/hipaa-covered
134
+
135
+ Key covered services for CloudStream implementations:
136
+
137
+ | Service | Covered | Common Use |
138
+ |---|---|---|
139
+ | BigQuery | YES | Long-term audit log storage |
140
+ | Cloud Functions | YES | Catalyst-equivalent serverless |
141
+ | Cloud Storage | YES | File/document storage |
142
+ | Cloud SQL | YES | Relational database |
143
+ | Pub/Sub | YES | Event messaging |
144
+ | Cloud Run | YES | Container workloads |
145
+ | Firebase Authentication | YES | User auth |
146
+ | Cloud KMS | YES | Key management |
147
+ | Compute Engine | YES | VM workloads |
148
+
149
+ > **WARNING**: Verify current coverage list before using ANY GCP service for ePHI. Google updates the covered services list periodically.
150
+
151
+ ---
152
+
153
+ ## Subcontractor BAA Chain Management
154
+
155
+ ### For Every Third-Party Tool/MCP in the Stack
156
+
157
+ Before integrating ANY third-party service that will touch ePHI:
158
+
159
+ 1. **Determine** if the service will access, process, store, or transmit ePHI
160
+ 2. **Request** BAA from the vendor
161
+ 3. **Review** BAA terms with client legal counsel
162
+ 4. **Execute** BAA before any ePHI flows through the service
163
+ 5. **Document** in the BAA inventory
164
+
165
+ ### Common Third-Party BAA Status
166
+
167
+ | Vendor | BAA Available | Process |
168
+ |---|---|---|
169
+ | Zoho Corporation | YES | Email legal@zohocorp.com |
170
+ | Google Cloud Platform | YES | Console self-service |
171
+ | Twilio (SMS) | YES | Enterprise plan required |
172
+ | SendGrid (Email) | YES | Contact sales |
173
+ | Stripe (Payments) | NO - not needed | Does not handle ePHI |
174
+ | GitHub | YES | Enterprise plan, contact sales |
175
+ | Custom MCP servers | DEPENDS | Must evaluate per server |
176
+
177
+ ---
178
+
179
+ ## BAA Inventory Tracking
180
+
181
+ Maintain a BAA inventory for each healthcare client:
182
+
183
+ ### BAA Inventory Template
184
+
185
+ ```json
186
+ {
187
+ "client": "Example Healthcare Corp",
188
+ "client_id": "CLT-001",
189
+ "covered_entity_type": "Healthcare Provider",
190
+ "inventory_last_reviewed": "2025-01-15",
191
+ "agreements": [
192
+ {
193
+ "vendor": "CloudStream Software LLC",
194
+ "baa_type": "Business Associate Agreement",
195
+ "effective_date": "2024-03-01",
196
+ "expiration": "None - terminates with service agreement",
197
+ "signed_by_client": "Jane Smith, CEO",
198
+ "signed_by_vendor": "CloudStream authorized signatory",
199
+ "document_location": "client-folder/legal/baa-cloudstream-signed.pdf",
200
+ "services_covered": ["Zoho Creator development", "GCP integration", "ongoing support"],
201
+ "annual_review_due": "2025-03-01",
202
+ "status": "Active"
203
+ },
204
+ {
205
+ "vendor": "Zoho Corporation",
206
+ "baa_type": "Subcontractor BAA",
207
+ "effective_date": "2024-03-15",
208
+ "expiration": "Co-terminus with Zoho subscription",
209
+ "document_location": "client-folder/legal/baa-zoho-signed.pdf",
210
+ "services_covered": ["Zoho Creator", "Zoho CRM", "Zoho Mail"],
211
+ "annual_review_due": "2025-03-15",
212
+ "status": "Active"
213
+ },
214
+ {
215
+ "vendor": "Google Cloud Platform",
216
+ "baa_type": "Subcontractor BAA",
217
+ "effective_date": "2024-04-01",
218
+ "accepted_date": "2024-04-01",
219
+ "document_location": "GCP Console - Organization Settings",
220
+ "services_covered": ["BigQuery", "Cloud Functions", "Cloud Storage"],
221
+ "annual_review_due": "2025-04-01",
222
+ "status": "Active"
223
+ }
224
+ ]
225
+ }
226
+ ```
227
+
228
+ ---
229
+
230
+ ## Annual BAA Review Process
231
+
232
+ ### Review Checklist (Perform Annually for Each BAA)
233
+
234
+ - [ ] Verify BAA is still in effect (not expired or terminated)
235
+ - [ ] Confirm vendor still offers BAA-covered services
236
+ - [ ] Review if scope of ePHI handling has changed
237
+ - [ ] Check for new services added that need BAA coverage
238
+ - [ ] Verify vendor has not had material breaches
239
+ - [ ] Update inventory with current status
240
+ - [ ] Confirm client awareness of all active BAAs
241
+ - [ ] Document review completion and findings
242
+
243
+ ### Annual Review Calendar
244
+
245
+ Schedule annual reviews 30 days before BAA anniversary date. Create recurring calendar events for each client BAA set.
246
+
247
+ ---
248
+
249
+ ## What To Do If a BAA Is Denied
250
+
251
+ If a vendor refuses to sign a BAA:
252
+
253
+ 1. **STOP** - Do not proceed with ePHI integration for that vendor
254
+ 2. **Document** the denial (save email/communication)
255
+ 3. **Evaluate alternatives**:
256
+ - Find a BAA-willing alternative vendor
257
+ - Restructure architecture to avoid ePHI in that service
258
+ - De-identify data before it reaches that service (per HIPAA Safe Harbor method)
259
+ 4. **Inform the client** of the limitation and alternatives
260
+ 5. **Update** the architecture documentation to reflect the constraint
261
+
262
+ > **WARNING**: "The vendor said it was fine" is NOT a substitute for a signed BAA. Verbal assurances have zero legal standing under HIPAA.
263
+
264
+ ---
265
+
266
+ ## BAA Requirements by Tool in the CloudStream Stack
267
+
268
+ | Tool | ePHI Contact | BAA Required | How to Obtain |
269
+ |---|---|---|---|
270
+ | Zoho Creator | Direct (forms/data) | YES | legal@zohocorp.com |
271
+ | Zoho CRM | Direct (contacts) | YES | Same as above |
272
+ | Zoho Flow | Transit (workflows) | YES | Same as above |
273
+ | Zoho Analytics | Direct (reports) | YES | Same as above |
274
+ | Zoho Catalyst | Direct (processing) | YES | Same as above |
275
+ | Zoho Mail | Direct (communications) | YES | Same as above |
276
+ | GCP BigQuery | Direct (audit storage) | YES | Console self-service |
277
+ | GCP Cloud Functions | Transit (processing) | YES | Same GCP BAA |
278
+ | GCP Cloud Storage | Direct (file storage) | YES | Same GCP BAA |
279
+ | Claude/AI tools | NEVER | N/A | Never send ePHI to AI |
280
+ | GitHub | Code only (no ePHI) | NO | No ePHI in code repos |
281
+ | Custom MCPs | Evaluate per use | MAYBE | Contact vendor |
282
+
283
+ > **WARNING**: NEVER send ePHI to AI/LLM services (Claude, GPT, etc.). These services are NOT BAA-eligible for ePHI processing. Use only de-identified or synthetic data for AI-assisted development.
284
+
285
+ ---
286
+
287
+ ## CloudStream Internal BAA Obligations
288
+
289
+ As a Business Associate, CloudStream MUST:
290
+
291
+ 1. Use ePHI only as permitted by the BAA
292
+ 2. Implement appropriate safeguards (administrative, physical, technical)
293
+ 3. Report breaches to the covered entity within contractual timeframe
294
+ 4. Ensure subcontractors agree to the same restrictions
295
+ 5. Make ePHI available to individuals upon request (if applicable)
296
+ 6. Make internal practices available to HHS for compliance audits
297
+ 7. Return or destroy ePHI upon contract termination
298
+ 8. Maintain documentation of compliance activities for 6 years