@cloudstreamsoftware/claude-tools 1.0.0 → 1.2.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 (190) 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/bin/cloudstream-setup.js +16 -6
  17. package/config/versions.json +63 -0
  18. package/dist/hooks/hooks.json +209 -0
  19. package/dist/index.js +47 -0
  20. package/dist/lib/asset-value.js +609 -0
  21. package/dist/lib/client-manager.js +300 -0
  22. package/dist/lib/command-matcher.js +242 -0
  23. package/dist/lib/cross-session-patterns.js +754 -0
  24. package/dist/lib/intent-classifier.js +1075 -0
  25. package/dist/lib/package-manager.js +374 -0
  26. package/dist/lib/recommendation-engine.js +597 -0
  27. package/dist/lib/session-memory.js +489 -0
  28. package/dist/lib/skill-effectiveness.js +486 -0
  29. package/dist/lib/skill-matcher.js +595 -0
  30. package/dist/lib/tutorial-metrics.js +242 -0
  31. package/dist/lib/tutorial-progress.js +209 -0
  32. package/dist/lib/tutorial-renderer.js +431 -0
  33. package/dist/lib/utils.js +380 -0
  34. package/dist/lib/verify-formatter.js +143 -0
  35. package/dist/lib/workflow-state.js +249 -0
  36. package/hooks/hooks.json +209 -0
  37. package/package.json +5 -1
  38. package/scripts/aggregate-sessions.js +290 -0
  39. package/scripts/branch-name-validator.js +291 -0
  40. package/scripts/build.js +101 -0
  41. package/scripts/commands/client-switch.js +231 -0
  42. package/scripts/deprecate-skill.js +610 -0
  43. package/scripts/diagnose.js +324 -0
  44. package/scripts/doc-freshness.js +168 -0
  45. package/scripts/generate-weekly-digest.js +393 -0
  46. package/scripts/health-check.js +270 -0
  47. package/scripts/hooks/credential-check.js +101 -0
  48. package/scripts/hooks/evaluate-session.js +81 -0
  49. package/scripts/hooks/pre-compact.js +66 -0
  50. package/scripts/hooks/prompt-analyzer.js +276 -0
  51. package/scripts/hooks/prompt-router.js +422 -0
  52. package/scripts/hooks/quality-gate-enforcer.js +371 -0
  53. package/scripts/hooks/session-end.js +156 -0
  54. package/scripts/hooks/session-start.js +195 -0
  55. package/scripts/hooks/skill-injector.js +333 -0
  56. package/scripts/hooks/suggest-compact.js +58 -0
  57. package/scripts/lib/asset-value.js +609 -0
  58. package/scripts/lib/client-manager.js +300 -0
  59. package/scripts/lib/command-matcher.js +242 -0
  60. package/scripts/lib/cross-session-patterns.js +754 -0
  61. package/scripts/lib/intent-classifier.js +1075 -0
  62. package/scripts/lib/package-manager.js +374 -0
  63. package/scripts/lib/recommendation-engine.js +597 -0
  64. package/scripts/lib/session-memory.js +489 -0
  65. package/scripts/lib/skill-effectiveness.js +486 -0
  66. package/scripts/lib/skill-matcher.js +595 -0
  67. package/scripts/lib/tutorial-metrics.js +242 -0
  68. package/scripts/lib/tutorial-progress.js +209 -0
  69. package/scripts/lib/tutorial-renderer.js +431 -0
  70. package/scripts/lib/utils.js +380 -0
  71. package/scripts/lib/verify-formatter.js +143 -0
  72. package/scripts/lib/workflow-state.js +249 -0
  73. package/scripts/onboard.js +363 -0
  74. package/scripts/quarterly-report.js +692 -0
  75. package/scripts/setup-package-manager.js +204 -0
  76. package/scripts/sync-upstream.js +391 -0
  77. package/scripts/test.js +108 -0
  78. package/scripts/tutorial-runner.js +351 -0
  79. package/scripts/validate-all.js +201 -0
  80. package/scripts/verifiers/agents.js +245 -0
  81. package/scripts/verifiers/config.js +186 -0
  82. package/scripts/verifiers/environment.js +123 -0
  83. package/scripts/verifiers/hooks.js +188 -0
  84. package/scripts/verifiers/index.js +38 -0
  85. package/scripts/verifiers/persistence.js +140 -0
  86. package/scripts/verifiers/plugin.js +215 -0
  87. package/scripts/verifiers/skills.js +209 -0
  88. package/scripts/verify-setup.js +164 -0
  89. package/skills/INDEX.md +157 -0
  90. package/skills/backend-patterns/SKILL.md +586 -0
  91. package/skills/backend-patterns/catalyst-patterns.md +128 -0
  92. package/skills/bigquery-patterns/SKILL.md +27 -0
  93. package/skills/bigquery-patterns/performance-optimization.md +518 -0
  94. package/skills/bigquery-patterns/query-patterns.md +372 -0
  95. package/skills/bigquery-patterns/schema-design.md +78 -0
  96. package/skills/cloudstream-project-template/SKILL.md +20 -0
  97. package/skills/cloudstream-project-template/structure.md +65 -0
  98. package/skills/coding-standards/SKILL.md +524 -0
  99. package/skills/coding-standards/deluge-standards.md +83 -0
  100. package/skills/compliance-patterns/SKILL.md +28 -0
  101. package/skills/compliance-patterns/hipaa/audit-requirements.md +251 -0
  102. package/skills/compliance-patterns/hipaa/baa-process.md +298 -0
  103. package/skills/compliance-patterns/hipaa/data-archival-strategy.md +387 -0
  104. package/skills/compliance-patterns/hipaa/phi-handling.md +52 -0
  105. package/skills/compliance-patterns/pci-dss/saq-a-requirements.md +307 -0
  106. package/skills/compliance-patterns/pci-dss/tokenization-patterns.md +382 -0
  107. package/skills/compliance-patterns/pci-dss/zoho-checkout-patterns.md +56 -0
  108. package/skills/compliance-patterns/soc2/access-controls.md +344 -0
  109. package/skills/compliance-patterns/soc2/audit-logging.md +458 -0
  110. package/skills/compliance-patterns/soc2/change-management.md +403 -0
  111. package/skills/compliance-patterns/soc2/deluge-execution-logging.md +407 -0
  112. package/skills/consultancy-workflows/SKILL.md +19 -0
  113. package/skills/consultancy-workflows/client-isolation.md +21 -0
  114. package/skills/consultancy-workflows/documentation-automation.md +454 -0
  115. package/skills/consultancy-workflows/handoff-procedures.md +257 -0
  116. package/skills/consultancy-workflows/knowledge-capture.md +513 -0
  117. package/skills/consultancy-workflows/time-tracking.md +26 -0
  118. package/skills/continuous-learning/SKILL.md +84 -0
  119. package/skills/continuous-learning/config.json +18 -0
  120. package/skills/continuous-learning/evaluate-session.sh +60 -0
  121. package/skills/continuous-learning-v2/SKILL.md +126 -0
  122. package/skills/continuous-learning-v2/config.json +61 -0
  123. package/skills/frontend-patterns/SKILL.md +635 -0
  124. package/skills/frontend-patterns/zoho-widget-patterns.md +103 -0
  125. package/skills/gcp-data-engineering/SKILL.md +36 -0
  126. package/skills/gcp-data-engineering/bigquery/performance-optimization.md +337 -0
  127. package/skills/gcp-data-engineering/dataflow/error-handling.md +496 -0
  128. package/skills/gcp-data-engineering/dataflow/pipeline-patterns.md +444 -0
  129. package/skills/gcp-data-engineering/dbt/model-organization.md +63 -0
  130. package/skills/gcp-data-engineering/dbt/testing-patterns.md +503 -0
  131. package/skills/gcp-data-engineering/medallion-architecture/bronze-layer.md +60 -0
  132. package/skills/gcp-data-engineering/medallion-architecture/gold-layer.md +311 -0
  133. package/skills/gcp-data-engineering/medallion-architecture/layer-transitions.md +517 -0
  134. package/skills/gcp-data-engineering/medallion-architecture/silver-layer.md +305 -0
  135. package/skills/gcp-data-engineering/zoho-to-gcp/data-extraction.md +543 -0
  136. package/skills/gcp-data-engineering/zoho-to-gcp/real-time-vs-batch.md +337 -0
  137. package/skills/security-review/SKILL.md +498 -0
  138. package/skills/security-review/compliance-checklist.md +53 -0
  139. package/skills/strategic-compact/SKILL.md +67 -0
  140. package/skills/tdd-workflow/SKILL.md +413 -0
  141. package/skills/tdd-workflow/zoho-testing.md +124 -0
  142. package/skills/tutorial/SKILL.md +249 -0
  143. package/skills/tutorial/docs/ACCESSIBILITY.md +169 -0
  144. package/skills/tutorial/lessons/00-philosophy-and-workflow.md +198 -0
  145. package/skills/tutorial/lessons/01-basics.md +81 -0
  146. package/skills/tutorial/lessons/02-training.md +86 -0
  147. package/skills/tutorial/lessons/03-commands.md +109 -0
  148. package/skills/tutorial/lessons/04-workflows.md +115 -0
  149. package/skills/tutorial/lessons/05-compliance.md +116 -0
  150. package/skills/tutorial/lessons/06-zoho.md +121 -0
  151. package/skills/tutorial/lessons/07-hooks-system.md +277 -0
  152. package/skills/tutorial/lessons/08-mcp-servers.md +316 -0
  153. package/skills/tutorial/lessons/09-client-management.md +215 -0
  154. package/skills/tutorial/lessons/10-testing-e2e.md +260 -0
  155. package/skills/tutorial/lessons/11-skills-deep-dive.md +272 -0
  156. package/skills/tutorial/lessons/12-rules-system.md +326 -0
  157. package/skills/tutorial/lessons/13-golden-standard-graduation.md +213 -0
  158. package/skills/tutorial/lessons/14-fork-setup-and-sync.md +312 -0
  159. package/skills/tutorial/lessons/15-living-examples-system.md +221 -0
  160. package/skills/tutorial/tracks/accelerated/README.md +134 -0
  161. package/skills/tutorial/tracks/accelerated/assessment/checkpoint-1.md +161 -0
  162. package/skills/tutorial/tracks/accelerated/assessment/checkpoint-2.md +175 -0
  163. package/skills/tutorial/tracks/accelerated/day-1-core-concepts.md +234 -0
  164. package/skills/tutorial/tracks/accelerated/day-2-essential-commands.md +270 -0
  165. package/skills/tutorial/tracks/accelerated/day-3-workflow-mastery.md +305 -0
  166. package/skills/tutorial/tracks/accelerated/day-4-compliance-zoho.md +304 -0
  167. package/skills/tutorial/tracks/accelerated/day-5-hooks-skills.md +344 -0
  168. package/skills/tutorial/tracks/accelerated/day-6-client-testing.md +386 -0
  169. package/skills/tutorial/tracks/accelerated/day-7-graduation.md +369 -0
  170. package/skills/zoho-patterns/CHANGELOG.md +108 -0
  171. package/skills/zoho-patterns/SKILL.md +446 -0
  172. package/skills/zoho-patterns/analytics/dashboard-patterns.md +352 -0
  173. package/skills/zoho-patterns/analytics/zoho-to-bigquery-pipeline.md +427 -0
  174. package/skills/zoho-patterns/catalyst/appsail-deployment.md +349 -0
  175. package/skills/zoho-patterns/catalyst/context-close-patterns.md +354 -0
  176. package/skills/zoho-patterns/catalyst/cron-batch-processing.md +374 -0
  177. package/skills/zoho-patterns/catalyst/function-patterns.md +439 -0
  178. package/skills/zoho-patterns/creator/form-design.md +304 -0
  179. package/skills/zoho-patterns/creator/publish-api-patterns.md +313 -0
  180. package/skills/zoho-patterns/creator/widget-integration.md +306 -0
  181. package/skills/zoho-patterns/creator/workflow-automation.md +253 -0
  182. package/skills/zoho-patterns/deluge/api-patterns.md +468 -0
  183. package/skills/zoho-patterns/deluge/batch-processing.md +403 -0
  184. package/skills/zoho-patterns/deluge/cross-app-integration.md +356 -0
  185. package/skills/zoho-patterns/deluge/error-handling.md +423 -0
  186. package/skills/zoho-patterns/deluge/syntax-reference.md +65 -0
  187. package/skills/zoho-patterns/integration/cors-proxy-architecture.md +426 -0
  188. package/skills/zoho-patterns/integration/crm-books-native-sync.md +277 -0
  189. package/skills/zoho-patterns/integration/oauth-token-management.md +461 -0
  190. package/skills/zoho-patterns/integration/zoho-flow-patterns.md +334 -0
@@ -0,0 +1,56 @@
1
+ # PCI-DSS with Zoho Checkout
2
+
3
+ ## SAQ-A Compliance (Hosted Payment Pages)
4
+ Using Zoho Checkout hosted pages means:
5
+ - Cardholder data NEVER touches your systems
6
+ - Simplified compliance (SAQ-A vs full SAQ-D)
7
+ - Zoho handles PCI-DSS Level 1 compliance for payment processing
8
+ - You only need to secure the redirect/iframe integration
9
+
10
+ ## Implementation Pattern
11
+ ```javascript
12
+ // Widget: Redirect to Zoho Checkout hosted page
13
+ function initiatePayment(orderId, amount) {
14
+ const checkoutConfig = {
15
+ amount: amount,
16
+ currency: 'USD',
17
+ order_id: orderId,
18
+ redirect_url: window.location.origin + '/payment-complete',
19
+ cancel_url: window.location.origin + '/payment-cancelled'
20
+ };
21
+
22
+ // Get checkout URL from Catalyst function (server-side)
23
+ fetch('/api/create-checkout-session', {
24
+ method: 'POST',
25
+ body: JSON.stringify(checkoutConfig)
26
+ })
27
+ .then(res => res.json())
28
+ .then(data => {
29
+ window.location.href = data.checkout_url; // Redirect to Zoho Checkout
30
+ });
31
+ }
32
+ ```
33
+
34
+ ## Tokenization for Recurring
35
+ ```javascript
36
+ // Catalyst function: Create subscription with token
37
+ async function createSubscription(customerId, planId) {
38
+ const zohoPayments = new ZohoPaymentsAPI(await getValidToken());
39
+
40
+ // Token represents card - no PAN stored
41
+ const subscription = await zohoPayments.createSubscription({
42
+ customer_id: customerId,
43
+ plan_id: planId,
44
+ payment_method: 'token_from_checkout' // Never raw card data
45
+ });
46
+
47
+ return subscription;
48
+ }
49
+ ```
50
+
51
+ ## What You MUST NOT Do
52
+ - Store PAN (Primary Account Number) anywhere
53
+ - Store CVV/CVC anywhere
54
+ - Log card numbers (even partially in non-compliant systems)
55
+ - Process payments server-side (use hosted pages)
56
+ - Build custom payment forms (use Zoho Checkout)
@@ -0,0 +1,344 @@
1
+ # SOC 2 Access Controls
2
+
3
+ ## Overview
4
+
5
+ SOC 2 Trust Service Criteria CC6.1-CC6.8 require logical and physical access controls that restrict access to information assets to authorized users only. In Zoho Creator, this means implementing role-based access at the form, field, and record level, combined with comprehensive access review processes.
6
+
7
+ > **WARNING**: SOC 2 auditors will request evidence of access reviews, role documentation, and access change logs. "We set it up correctly" is insufficient -- you must prove ongoing governance.
8
+
9
+ ---
10
+
11
+ ## Role-Based Access in Zoho Creator
12
+
13
+ ### Creator Permission Hierarchy
14
+
15
+ ```
16
+ Organization Level (Zoho One Admin)
17
+ |
18
+ +-- Application Level (App Owner, App Admin, App User)
19
+ | |
20
+ | +-- Form Level (Add, Edit, View, Delete per role)
21
+ | | |
22
+ | | +-- Field Level (Show/Hide per role)
23
+ | | |
24
+ | | +-- Record Level (Creator permissions + custom filters)
25
+ |
26
+ +-- Portal Level (External users with limited access)
27
+ ```
28
+
29
+ ### Standard Role Template
30
+
31
+ | Role | Typical Access | Creator Mapping |
32
+ |---|---|---|
33
+ | System Admin | Full access, configuration | App Owner |
34
+ | Manager | All records, reports, approval | App Admin with custom permissions |
35
+ | Standard User | Own records + team records | App User with filtered views |
36
+ | Read-Only | View assigned records only | App User, view-only permissions |
37
+ | External (Portal) | Limited self-service | Portal user with form-level access |
38
+ | Service Account | API access only | API key with scoped permissions |
39
+ | Auditor | Read-only, all historical data | Custom role, time-limited |
40
+
41
+ ---
42
+
43
+ ## Principle of Least Privilege Implementation
44
+
45
+ ### Step 1: Document Required Access Per Role
46
+
47
+ Before configuring permissions, create an access requirements matrix:
48
+
49
+ ```
50
+ | Form Name | Admin | Manager | User | Read-Only | Portal |
51
+ |---|---|---|---|---|---|
52
+ | Client_Records | CRUD | CRUD | CR | R | - |
53
+ | Invoices | CRUD | CRUD | R | R | R(own) |
54
+ | Audit_Logs | R | - | - | - | - |
55
+ | System_Config | CRUD | R | - | - | - |
56
+ | User_Requests | CRUD | CRUD | CRU(own) | R(own) | C(own) |
57
+ ```
58
+
59
+ Legend: C=Create, R=Read, U=Update, D=Delete, (own)=own records only
60
+
61
+ ### Step 2: Configure Form-Level Permissions
62
+
63
+ ```deluge
64
+ // Document permission configuration in code comments
65
+ // Form: Client_Records
66
+ // Permissions configured via Creator UI → Form Properties → Permissions
67
+ //
68
+ // Admin: Add, Edit, View, Delete, Export, Share
69
+ // Manager: Add, Edit, View, Delete (no Export, no Share)
70
+ // User: Add, View (own records only via criteria)
71
+ // Read-Only: View (assigned records via lookup)
72
+ // Portal: No access
73
+ ```
74
+
75
+ ### Step 3: Implement Field-Level Restrictions
76
+
77
+ For sensitive fields within accessible forms:
78
+
79
+ | Field | Admin | Manager | User | Rationale |
80
+ |---|---|---|---|---|
81
+ | SSN | View/Edit | View (masked) | Hidden | PII - need to know only |
82
+ | Salary | View/Edit | View | Hidden | Confidential |
83
+ | Internal_Notes | View/Edit | View/Edit | Hidden | Internal only |
84
+ | Created_By | View | View | View | Audit field |
85
+ | Modified_Date | View | View | View | Audit field |
86
+
87
+ ---
88
+
89
+ ## Quarterly Access Review Process
90
+
91
+ ### Review Schedule
92
+
93
+ | Quarter | Review Type | Scope |
94
+ |---|---|---|
95
+ | Q1 (Jan) | Full access review | All users, all roles, all forms |
96
+ | Q2 (Apr) | Privileged access review | Admin and Manager roles only |
97
+ | Q3 (Jul) | Full access review | All users, all roles, all forms |
98
+ | Q4 (Oct) | Annual certification | Full review + management sign-off |
99
+
100
+ ### Review Procedure
101
+
102
+ 1. **Export current access list** from Zoho Creator Admin Panel
103
+ 2. **Compare** against approved access matrix
104
+ 3. **Identify** discrepancies:
105
+ - Users with access who should not have it
106
+ - Users missing access they should have
107
+ - Dormant accounts (no login in 90+ days)
108
+ - Role creep (accumulated permissions beyond need)
109
+ 4. **Remediate** within 5 business days of identification
110
+ 5. **Document** findings and actions in the Access Review Log
111
+ 6. **Obtain** manager sign-off on review completion
112
+
113
+ ### Access Review Form Template
114
+
115
+ ```
116
+ Form: Access_Review_Log
117
+ Fields:
118
+ - Review_ID (Auto-number)
119
+ - Review_Date (Date)
120
+ - Review_Quarter (Picklist: Q1/Q2/Q3/Q4)
121
+ - Reviewer (Lookup to Employees)
122
+ - User_Reviewed (Email)
123
+ - Current_Role (Single Line)
124
+ - Appropriate (Yes/No)
125
+ - Action_Required (Picklist: None/Modify/Revoke/Investigate)
126
+ - Action_Taken (Multi Line)
127
+ - Action_Date (Date)
128
+ - Approved_By (Lookup to Managers)
129
+ ```
130
+
131
+ ---
132
+
133
+ ## Access Request/Approval Workflow
134
+
135
+ ### Request Process
136
+
137
+ ```
138
+ User/Manager submits Access Request
139
+ |
140
+ v
141
+ Auto-assigned to IT Admin for initial review
142
+ |
143
+ v
144
+ IT Admin validates business justification
145
+ |
146
+ +-- Denied --> Notify requester with reason
147
+ |
148
+ +-- Approved --> Route to Data Owner for form-specific approval
149
+ |
150
+ v
151
+ Data Owner reviews
152
+ |
153
+ +-- Denied --> Notify requester
154
+ |
155
+ +-- Approved --> IT Admin provisions access
156
+ |
157
+ v
158
+ Confirmation to requester + audit log entry
159
+ ```
160
+
161
+ ### Access Request Form
162
+
163
+ ```deluge
164
+ // On submission of Access_Request form
165
+ // Auto-route based on requested access level
166
+
167
+ if (input.Access_Level == "Admin" || input.Access_Level == "Manager") {
168
+ // Elevated access requires additional approval
169
+ input.Approval_Chain = "IT Admin → Data Owner → Security Officer";
170
+ input.SLA_Hours = 48;
171
+ } else {
172
+ input.Approval_Chain = "IT Admin → Data Owner";
173
+ input.SLA_Hours = 24;
174
+ }
175
+
176
+ // Log the request
177
+ audit_entry = insert into HIPAA_Audit_Log [
178
+ Action_Type = "Access Request",
179
+ User_Email = zoho.loginuserid,
180
+ Form_Name = "Access_Request",
181
+ Record_ID = input.ID,
182
+ Justification = input.Business_Justification
183
+ ];
184
+ ```
185
+
186
+ ---
187
+
188
+ ## Privileged Access Monitoring
189
+
190
+ ### What Constitutes Privileged Access
191
+
192
+ - Application Owner/Admin roles
193
+ - Direct database access (if applicable)
194
+ - API keys with write permissions
195
+ - Access to configuration/settings forms
196
+ - Access to audit log forms
197
+ - Ability to modify workflows/permissions
198
+
199
+ ### Monitoring Requirements
200
+
201
+ | Activity | Monitoring Method | Alert Threshold |
202
+ |---|---|---|
203
+ | Admin login | Audit log review | Any login outside business hours |
204
+ | Permission changes | Workflow trigger on role modification | Any change |
205
+ | Bulk data export | Export event logging | Any export > 100 records |
206
+ | Schema changes | Form modification tracking | Any change to production forms |
207
+ | API key usage | API call logging | Unusual volume or new IP |
208
+ | User creation | New user event | Any new admin-level user |
209
+
210
+ ---
211
+
212
+ ## Separation of Duties (Dev vs. Prod)
213
+
214
+ > **WARNING**: SOC 2 requires that developers cannot directly modify production systems without approval. Zoho Creator does NOT enforce this natively -- you must implement it procedurally.
215
+
216
+ ### Environment Separation
217
+
218
+ | Environment | Purpose | Who Has Access | Restrictions |
219
+ |---|---|---|---|
220
+ | Development | Building/testing | Developers | No real data |
221
+ | Staging | UAT/validation | Developers + Testers | Synthetic data only |
222
+ | Production | Live operations | Operators + End Users | No direct dev access |
223
+
224
+ ### Promotion Process
225
+
226
+ 1. Developer completes work in Development org
227
+ 2. Developer submits Change Request (see `soc2/change-management.md`)
228
+ 3. Reviewer validates in Staging
229
+ 4. Approver authorizes production deployment
230
+ 5. **Different person** (not the developer) deploys to Production
231
+ 6. Post-deployment verification by Operations
232
+
233
+ ---
234
+
235
+ ## Service Account Management
236
+
237
+ ### Service Account Inventory
238
+
239
+ ```json
240
+ {
241
+ "service_accounts": [
242
+ {
243
+ "name": "archival-service",
244
+ "purpose": "Monthly audit log archival to BigQuery",
245
+ "created_date": "2024-03-15",
246
+ "owner": "devops@cloudstreamsoftware.com",
247
+ "permissions": ["Creator API Read", "BigQuery Write"],
248
+ "key_rotation": "90 days",
249
+ "last_rotated": "2025-01-10",
250
+ "next_rotation": "2025-04-10"
251
+ }
252
+ ]
253
+ }
254
+ ```
255
+
256
+ ### Service Account Rules
257
+
258
+ - Every service account must have a documented owner
259
+ - API keys rotated every 90 days minimum
260
+ - Permissions scoped to minimum required
261
+ - Usage monitored for anomalies
262
+ - Disabled immediately when no longer needed
263
+ - Never shared between environments (dev/staging/prod)
264
+
265
+ ---
266
+
267
+ ## MFA Enforcement
268
+
269
+ ### Requirements
270
+
271
+ - **All users**: MFA required for Zoho One login
272
+ - **Admin users**: Hardware key (FIDO2) preferred, TOTP acceptable
273
+ - **Portal users**: TOTP or SMS (SMS only if TOTP not feasible)
274
+ - **Service accounts**: IP restriction + API key (MFA not applicable)
275
+
276
+ ### Configuration
277
+
278
+ ```
279
+ Zoho One Admin → Security → Multi-Factor Authentication
280
+ → Enable for all users
281
+ → Set enforcement: "Mandatory"
282
+ → Allowed methods: Authenticator App, Security Key
283
+ → Grace period for setup: 7 days
284
+ → Backup codes: Enabled (stored securely by IT)
285
+ ```
286
+
287
+ ---
288
+
289
+ ## Access Revocation on Employee Departure
290
+
291
+ ### Immediate Revocation Checklist (Within 4 Hours of Departure)
292
+
293
+ - [ ] Disable Zoho One account
294
+ - [ ] Revoke all API keys associated with the user
295
+ - [ ] Remove from all Creator applications
296
+ - [ ] Remove from all shared forms/reports
297
+ - [ ] Remove from all portal access
298
+ - [ ] Revoke GCP IAM permissions
299
+ - [ ] Rotate any shared credentials the user knew
300
+ - [ ] Remove from distribution lists/groups
301
+ - [ ] Document revocation in Access Review Log
302
+ - [ ] Verify revocation with login attempt test
303
+
304
+ ### Offboarding Workflow
305
+
306
+ ```deluge
307
+ // Triggered by HR when employee status changes to "Terminated"
308
+ // This initiates the access revocation workflow
309
+
310
+ if (input.Employment_Status == "Terminated") {
311
+ // Create revocation task
312
+ revocation_task = insert into Access_Revocation [
313
+ Employee_Email = input.Email,
314
+ Departure_Date = zoho.currentdate,
315
+ Urgency = "Immediate",
316
+ Assigned_To = "it-admin@cloudstreamsoftware.com",
317
+ SLA_Hours = 4,
318
+ Status = "Pending"
319
+ ];
320
+
321
+ // Alert IT Admin
322
+ sendmail [
323
+ to: "it-admin@cloudstreamsoftware.com",
324
+ subject: "URGENT: Access Revocation Required - " + input.Full_Name,
325
+ message: "Employee departure. Revoke all access within 4 hours."
326
+ ];
327
+ }
328
+ ```
329
+
330
+ ---
331
+
332
+ ## Access Matrix Documentation Template
333
+
334
+ ### Per-Client Access Matrix
335
+
336
+ Maintain this document for each client engagement and update with every access change:
337
+
338
+ | User | Role | Forms Accessible | Field Restrictions | Record Scope | Granted Date | Approved By | Last Reviewed |
339
+ |---|---|---|---|---|---|---|---|
340
+ | admin@client.com | Admin | All | None | All | 2024-03-01 | CEO | 2025-01-15 |
341
+ | user1@client.com | User | Orders, Products | No cost fields | Own department | 2024-06-15 | Dept Mgr | 2025-01-15 |
342
+ | portal@vendor.com | Portal | PO_Submissions | Limited fields | Own records | 2024-09-01 | Procurement Mgr | 2025-01-15 |
343
+
344
+ > **WARNING**: This matrix must be stored in the client's compliance folder and presented during SOC 2 audits. Missing or outdated access matrices are audit findings.