proagents 1.6.17 → 1.6.18

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 (168) hide show
  1. package/.claude/settings.local.json +169 -0
  2. package/COMMANDS.md +595 -0
  3. package/README.md +13 -23
  4. package/package.json +2 -7
  5. package/.proagents/ai-models/README.md +0 -141
  6. package/.proagents/ai-models/cost-management.md +0 -362
  7. package/.proagents/ai-models/fallbacks.md +0 -342
  8. package/.proagents/ai-models/model-config.md +0 -318
  9. package/.proagents/ai-models/task-routing.md +0 -503
  10. package/.proagents/ai-training/README.md +0 -155
  11. package/.proagents/ai-training/continuous-learning.md +0 -413
  12. package/.proagents/ai-training/domain-knowledge.md +0 -378
  13. package/.proagents/ai-training/pattern-learning.md +0 -455
  14. package/.proagents/ai-training/training-data.md +0 -337
  15. package/.proagents/ai-training/user-preferences.md +0 -346
  16. package/.proagents/approval-workflows/README.md +0 -146
  17. package/.proagents/approval-workflows/approval-config.md +0 -332
  18. package/.proagents/approval-workflows/approval-stages.md +0 -503
  19. package/.proagents/approval-workflows/emergency-bypass.md +0 -351
  20. package/.proagents/approval-workflows/examples.md +0 -859
  21. package/.proagents/approval-workflows/notifications.md +0 -320
  22. package/.proagents/compliance/README.md +0 -206
  23. package/.proagents/compliance/access-control.md +0 -310
  24. package/.proagents/compliance/audit-logging.md +0 -444
  25. package/.proagents/compliance/compliance-frameworks.md +0 -429
  26. package/.proagents/compliance/reports.md +0 -491
  27. package/.proagents/compliance/retention-policies.md +0 -454
  28. package/.proagents/config-versioning/README.md +0 -120
  29. package/.proagents/config-versioning/changelog.md +0 -300
  30. package/.proagents/config-versioning/rollback.md +0 -283
  31. package/.proagents/config-versioning/versioning.md +0 -330
  32. package/.proagents/contract-testing/README.md +0 -223
  33. package/.proagents/contract-testing/contract-testing.md +0 -614
  34. package/.proagents/contract-testing/pact-integration.md +0 -507
  35. package/.proagents/contract-testing/schema-validation.md +0 -565
  36. package/.proagents/dependency-management/README.md +0 -140
  37. package/.proagents/dependency-management/automation.md +0 -363
  38. package/.proagents/dependency-management/compatibility.md +0 -319
  39. package/.proagents/dependency-management/security-scanning.md +0 -413
  40. package/.proagents/dependency-management/update-policies.md +0 -374
  41. package/.proagents/disaster-recovery/README.md +0 -247
  42. package/.proagents/disaster-recovery/automation.md +0 -366
  43. package/.proagents/disaster-recovery/backup-recovery.md +0 -571
  44. package/.proagents/disaster-recovery/incident-response.md +0 -565
  45. package/.proagents/disaster-recovery/rollback-procedures.md +0 -499
  46. package/.proagents/disaster-recovery/runbooks.md +0 -603
  47. package/.proagents/disaster-recovery/scenarios.md +0 -892
  48. package/.proagents/disaster-recovery/testing.md +0 -438
  49. package/.proagents/environments/README.md +0 -244
  50. package/.proagents/environments/configuration.md +0 -437
  51. package/.proagents/environments/promotion.md +0 -434
  52. package/.proagents/environments/setup.md +0 -420
  53. package/.proagents/examples/README.md +0 -55
  54. package/.proagents/examples/backend-nodejs/README.md +0 -188
  55. package/.proagents/examples/backend-nodejs/complete-conversation.md +0 -601
  56. package/.proagents/examples/backend-nodejs/proagents.config.yaml +0 -415
  57. package/.proagents/examples/backend-nodejs/workflow-example.md +0 -909
  58. package/.proagents/examples/fullstack-nextjs/README.md +0 -155
  59. package/.proagents/examples/fullstack-nextjs/complete-conversation.md +0 -604
  60. package/.proagents/examples/fullstack-nextjs/proagents.config.yaml +0 -287
  61. package/.proagents/examples/fullstack-nextjs/workflow-example.md +0 -553
  62. package/.proagents/examples/mobile-react-native/README.md +0 -171
  63. package/.proagents/examples/mobile-react-native/complete-conversation.md +0 -825
  64. package/.proagents/examples/mobile-react-native/proagents.config.yaml +0 -330
  65. package/.proagents/examples/mobile-react-native/workflow-example.md +0 -723
  66. package/.proagents/examples/web-frontend-react/README.md +0 -125
  67. package/.proagents/examples/web-frontend-react/complete-conversation.md +0 -556
  68. package/.proagents/examples/web-frontend-react/proagents.config.yaml +0 -183
  69. package/.proagents/examples/web-frontend-react/workflow-example.md +0 -603
  70. package/.proagents/existing-projects/README.md +0 -65
  71. package/.proagents/existing-projects/challenges.md +0 -861
  72. package/.proagents/existing-projects/coexistence-mode.md +0 -483
  73. package/.proagents/existing-projects/compatibility-assessment.md +0 -541
  74. package/.proagents/existing-projects/gradual-adoption.md +0 -515
  75. package/.proagents/existing-projects/migration-strategies.md +0 -788
  76. package/.proagents/existing-projects/pattern-reconciliation.md +0 -489
  77. package/.proagents/existing-projects/team-onboarding.md +0 -617
  78. package/.proagents/existing-projects/technical-debt-handling.md +0 -644
  79. package/.proagents/feature-flags/README.md +0 -263
  80. package/.proagents/feature-flags/ab-testing.md +0 -413
  81. package/.proagents/feature-flags/configuration.md +0 -420
  82. package/.proagents/feature-flags/kill-switches.md +0 -444
  83. package/.proagents/feature-flags/rollout-strategies.md +0 -392
  84. package/.proagents/history.log +0 -12
  85. package/.proagents/i18n/README.md +0 -133
  86. package/.proagents/i18n/extraction.md +0 -433
  87. package/.proagents/i18n/tms-integration.md +0 -332
  88. package/.proagents/i18n/translation-workflow.md +0 -413
  89. package/.proagents/i18n/validation.md +0 -355
  90. package/.proagents/logging/README.md +0 -276
  91. package/.proagents/logging/aggregation.md +0 -475
  92. package/.proagents/logging/log-levels.md +0 -376
  93. package/.proagents/logging/sensitive-data.md +0 -423
  94. package/.proagents/logging/structured-logging.md +0 -406
  95. package/.proagents/metrics/README.md +0 -69
  96. package/.proagents/metrics/code-quality-kpis.md +0 -461
  97. package/.proagents/metrics/deployment-metrics.md +0 -517
  98. package/.proagents/metrics/developer-productivity.md +0 -368
  99. package/.proagents/metrics/learning-effectiveness.md +0 -478
  100. package/.proagents/migrations/README.md +0 -77
  101. package/.proagents/migrations/from-claude-projects.md +0 -313
  102. package/.proagents/migrations/from-cursor-rules.md +0 -345
  103. package/.proagents/migrations/from-custom-workflows.md +0 -410
  104. package/.proagents/monitoring/README.md +0 -308
  105. package/.proagents/monitoring/alerting.md +0 -449
  106. package/.proagents/monitoring/dashboards.md +0 -454
  107. package/.proagents/monitoring/health-checks.md +0 -436
  108. package/.proagents/monitoring/metrics.md +0 -434
  109. package/.proagents/multi-project/README.md +0 -170
  110. package/.proagents/multi-project/coordinated-deploy.md +0 -510
  111. package/.proagents/multi-project/cross-project-deps.md +0 -395
  112. package/.proagents/multi-project/unified-changelog.md +0 -477
  113. package/.proagents/multi-project/walkthroughs/monorepo-setup.md +0 -787
  114. package/.proagents/multi-project/workspace-config.md +0 -408
  115. package/.proagents/notifications/README.md +0 -151
  116. package/.proagents/notifications/channels.md +0 -457
  117. package/.proagents/notifications/preferences.md +0 -415
  118. package/.proagents/notifications/routing.md +0 -449
  119. package/.proagents/notifications/scheduling.md +0 -425
  120. package/.proagents/notifications/templates.md +0 -446
  121. package/.proagents/offline-mode/README.md +0 -145
  122. package/.proagents/offline-mode/caching.md +0 -344
  123. package/.proagents/offline-mode/offline-operations.md +0 -312
  124. package/.proagents/offline-mode/queue-specifications.md +0 -679
  125. package/.proagents/offline-mode/sync.md +0 -475
  126. package/.proagents/parallel-features/README.md +0 -85
  127. package/.proagents/parallel-features/conflict-detection.md +0 -226
  128. package/.proagents/parallel-features/dependency-management.md +0 -392
  129. package/.proagents/parallel-features/merge-coordination.md +0 -506
  130. package/.proagents/parallel-features/tracking-system.md +0 -416
  131. package/.proagents/performance/README.md +0 -59
  132. package/.proagents/performance/bundle-analysis.md +0 -375
  133. package/.proagents/performance/load-testing.md +0 -563
  134. package/.proagents/performance/runtime-metrics.md +0 -489
  135. package/.proagents/performance/web-vitals.md +0 -425
  136. package/.proagents/plugins/README.md +0 -139
  137. package/.proagents/plugins/creating-plugins.md +0 -504
  138. package/.proagents/plugins/plugin-api.md +0 -467
  139. package/.proagents/plugins/plugin-registry.md +0 -276
  140. package/.proagents/reporting/README.md +0 -158
  141. package/.proagents/reporting/dashboards.md +0 -366
  142. package/.proagents/reporting/exports.md +0 -524
  143. package/.proagents/reporting/quality-metrics.md +0 -385
  144. package/.proagents/reporting/templates/README.md +0 -56
  145. package/.proagents/reporting/templates/dashboard-config.json +0 -187
  146. package/.proagents/reporting/templates/metrics-queries.md +0 -427
  147. package/.proagents/reporting/templates/react-dashboard.tsx +0 -544
  148. package/.proagents/reporting/templates/widgets.md +0 -451
  149. package/.proagents/reporting/velocity-metrics.md +0 -340
  150. package/.proagents/reverse-engineering/README.md +0 -151
  151. package/.proagents/reverse-engineering/architecture-extraction.md +0 -325
  152. package/.proagents/reverse-engineering/code-analysis.md +0 -377
  153. package/.proagents/reverse-engineering/dependency-mapping.md +0 -567
  154. package/.proagents/reverse-engineering/diagram-generation.md +0 -586
  155. package/.proagents/reverse-engineering/documentation-generation.md +0 -468
  156. package/.proagents/reverse-engineering/pattern-detection.md +0 -569
  157. package/.proagents/reverse-engineering/quality-assessment.md +0 -733
  158. package/.proagents/secrets/README.md +0 -278
  159. package/.proagents/secrets/access-control.md +0 -443
  160. package/.proagents/secrets/rotation.md +0 -403
  161. package/.proagents/secrets/scanning.md +0 -487
  162. package/.proagents/secrets/storage.md +0 -394
  163. package/.proagents/webhooks/README.md +0 -126
  164. package/.proagents/webhooks/endpoints.md +0 -298
  165. package/.proagents/webhooks/events.md +0 -316
  166. package/.proagents/webhooks/payloads.md +0 -325
  167. package/.proagents/webhooks/reliability.md +0 -363
  168. package/.proagents/webhooks/security.md +0 -380
@@ -1,444 +0,0 @@
1
- # Audit Logging
2
-
3
- Comprehensive audit logging for all development activities.
4
-
5
- ---
6
-
7
- ## Overview
8
-
9
- Every action in ProAgents is logged with full context for compliance and security purposes.
10
-
11
- ```
12
- ┌─────────────────────────────────────────────────────────────┐
13
- │ Audit Log Flow │
14
- ├─────────────────────────────────────────────────────────────┤
15
- │ │
16
- │ Action Occurs ──► Log Entry Created ──► Verification │
17
- │ │ │ │ │
18
- │ ▼ ▼ ▼ │
19
- │ Context Capture Cryptographic Sign Immutable Store │
20
- │ │ │ │ │
21
- │ └──────────────────┴────────────────────┘ │
22
- │ │ │
23
- │ ▼ │
24
- │ Audit Trail │
25
- │ │
26
- └─────────────────────────────────────────────────────────────┘
27
- ```
28
-
29
- ---
30
-
31
- ## Log Entry Structure
32
-
33
- ### Standard Event Format
34
-
35
- ```json
36
- {
37
- "id": "evt_abc123xyz",
38
- "timestamp": "2024-01-15T10:30:00.000Z",
39
- "event_type": "code_change",
40
- "category": "development",
41
- "severity": "info",
42
-
43
- "actor": {
44
- "id": "user_123",
45
- "email": "developer@company.com",
46
- "name": "John Developer",
47
- "role": "developer"
48
- },
49
-
50
- "action": {
51
- "type": "file_modify",
52
- "description": "Modified authentication service"
53
- },
54
-
55
- "resource": {
56
- "type": "file",
57
- "path": "src/auth/AuthService.ts",
58
- "project": "main-app",
59
- "branch": "feature/user-auth"
60
- },
61
-
62
- "context": {
63
- "feature": "user-authentication",
64
- "phase": "implementation",
65
- "commit": "abc123def",
66
- "pr": "#456"
67
- },
68
-
69
- "metadata": {
70
- "ip_address": "192.168.1.100",
71
- "user_agent": "ProAgents/1.0",
72
- "session_id": "sess_xyz789",
73
- "request_id": "req_abc123"
74
- },
75
-
76
- "verification": {
77
- "hash": "sha256:abc123...",
78
- "signature": "sig_xyz789...",
79
- "chain_hash": "sha256:prev123..."
80
- }
81
- }
82
- ```
83
-
84
- ---
85
-
86
- ## Event Types
87
-
88
- ### Code Change Events
89
-
90
- | Event Type | Description | Severity |
91
- |------------|-------------|----------|
92
- | `file_create` | New file created | info |
93
- | `file_modify` | File modified | info |
94
- | `file_delete` | File deleted | warning |
95
- | `file_rename` | File renamed | info |
96
- | `commit_create` | Commit created | info |
97
- | `branch_create` | Branch created | info |
98
- | `branch_delete` | Branch deleted | warning |
99
- | `merge` | Branch merged | info |
100
- | `rebase` | Branch rebased | warning |
101
-
102
- ### Access Events
103
-
104
- | Event Type | Description | Severity |
105
- |------------|-------------|----------|
106
- | `repo_access` | Repository accessed | info |
107
- | `secrets_access` | Secrets accessed | warning |
108
- | `prod_access` | Production accessed | warning |
109
- | `admin_access` | Admin area accessed | warning |
110
- | `login_success` | Successful login | info |
111
- | `login_failure` | Failed login | warning |
112
- | `logout` | User logged out | info |
113
-
114
- ### Deployment Events
115
-
116
- | Event Type | Description | Severity |
117
- |------------|-------------|----------|
118
- | `deploy_start` | Deployment started | info |
119
- | `deploy_complete` | Deployment completed | info |
120
- | `deploy_failed` | Deployment failed | error |
121
- | `rollback_start` | Rollback started | warning |
122
- | `rollback_complete` | Rollback completed | warning |
123
- | `config_change` | Configuration changed | warning |
124
-
125
- ### Security Events
126
-
127
- | Event Type | Description | Severity |
128
- |------------|-------------|----------|
129
- | `vuln_detected` | Vulnerability detected | warning |
130
- | `vuln_critical` | Critical vulnerability | critical |
131
- | `permission_change` | Permission changed | warning |
132
- | `permission_escalation` | Permission escalated | critical |
133
- | `security_scan` | Security scan run | info |
134
- | `secret_exposed` | Secret potentially exposed | critical |
135
-
136
- ### Administrative Events
137
-
138
- | Event Type | Description | Severity |
139
- |------------|-------------|----------|
140
- | `user_create` | User created | info |
141
- | `user_delete` | User deleted | warning |
142
- | `role_change` | Role changed | warning |
143
- | `policy_change` | Policy changed | warning |
144
- | `config_change` | System config changed | warning |
145
- | `audit_export` | Audit logs exported | info |
146
-
147
- ---
148
-
149
- ## Immutable Logging
150
-
151
- ### Hash Chain
152
-
153
- Each log entry is cryptographically linked to the previous entry:
154
-
155
- ```
156
- ┌─────────────┐ ┌─────────────┐ ┌─────────────┐
157
- │ Event 1 │───►│ Event 2 │───►│ Event 3 │
158
- │ │ │ │ │ │
159
- │ hash: abc │ │ hash: def │ │ hash: ghi │
160
- │ prev: null │◄───│ prev: abc │◄───│ prev: def │
161
- └─────────────┘ └─────────────┘ └─────────────┘
162
- ```
163
-
164
- ### Tamper Detection
165
-
166
- ```bash
167
- # Verify audit log integrity
168
- proagents audit verify
169
-
170
- # Output:
171
- Verifying audit log integrity...
172
- ├── Total events: 10,234
173
- ├── Chain verified: ✅
174
- ├── Signatures valid: ✅
175
- └── Integrity: PASS
176
- ```
177
-
178
- ### Cryptographic Signing
179
-
180
- Each entry is signed with:
181
- - SHA-256 hash of content
182
- - Digital signature (if configured)
183
- - Reference to previous hash (chain)
184
-
185
- ```yaml
186
- verification:
187
- hash: "sha256:e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
188
- signature: "RSA-SHA256:base64encodedSignature..."
189
- chain_hash: "sha256:previousEventHash..."
190
- verified_at: "2024-01-15T10:30:01.000Z"
191
- ```
192
-
193
- ---
194
-
195
- ## Log Storage
196
-
197
- ### Storage Structure
198
-
199
- ```
200
- /.proagents/.audit/
201
- ├── logs/
202
- │ ├── 2024/
203
- │ │ ├── 01/
204
- │ │ │ ├── 2024-01-15.jsonl # Daily log files
205
- │ │ │ ├── 2024-01-15.sig # Signatures
206
- │ │ │ └── 2024-01-15.chain # Chain hashes
207
- │ │ └── 02/
208
- │ └── index.json # Log index
209
- ├── archive/ # Archived logs
210
- └── exports/ # Exported reports
211
- ```
212
-
213
- ### Log Format
214
-
215
- Logs are stored in JSON Lines format (`.jsonl`):
216
-
217
- ```jsonl
218
- {"id":"evt_001","timestamp":"2024-01-15T10:00:00Z","event_type":"file_create",...}
219
- {"id":"evt_002","timestamp":"2024-01-15T10:01:00Z","event_type":"file_modify",...}
220
- {"id":"evt_003","timestamp":"2024-01-15T10:02:00Z","event_type":"commit_create",...}
221
- ```
222
-
223
- ### Remote Storage
224
-
225
- Configure remote storage for redundancy:
226
-
227
- ```yaml
228
- audit:
229
- storage:
230
- local:
231
- enabled: true
232
- path: "./.audit"
233
-
234
- remote:
235
- enabled: true
236
- type: "s3" # s3, gcs, azure-blob
237
- bucket: "company-audit-logs"
238
- region: "us-east-1"
239
- encryption: true
240
-
241
- # Backup strategy
242
- backup:
243
- enabled: true
244
- frequency: "daily"
245
- retention_days: 365
246
- ```
247
-
248
- ---
249
-
250
- ## Querying Audit Logs
251
-
252
- ### CLI Commands
253
-
254
- ```bash
255
- # List recent events
256
- proagents audit list
257
-
258
- # Filter by type
259
- proagents audit list --type code_change
260
-
261
- # Filter by date range
262
- proagents audit list --from 2024-01-01 --to 2024-01-31
263
-
264
- # Filter by user
265
- proagents audit list --actor developer@company.com
266
-
267
- # Filter by resource
268
- proagents audit list --resource "src/auth/**"
269
-
270
- # Filter by severity
271
- proagents audit list --severity critical
272
-
273
- # Search in logs
274
- proagents audit search "authentication"
275
-
276
- # Export logs
277
- proagents audit export --format json --output audit-export.json
278
- ```
279
-
280
- ### Query Examples
281
-
282
- **All code changes in January:**
283
- ```bash
284
- proagents audit list \
285
- --type code_change \
286
- --from 2024-01-01 \
287
- --to 2024-01-31
288
- ```
289
-
290
- **Security events for specific file:**
291
- ```bash
292
- proagents audit list \
293
- --category security \
294
- --resource "src/auth/AuthService.ts"
295
- ```
296
-
297
- **All deployments by user:**
298
- ```bash
299
- proagents audit list \
300
- --category deployment \
301
- --actor developer@company.com
302
- ```
303
-
304
- ---
305
-
306
- ## Real-time Monitoring
307
-
308
- ### Event Streaming
309
-
310
- ```yaml
311
- audit:
312
- streaming:
313
- enabled: true
314
- destinations:
315
- - type: "webhook"
316
- url: "https://siem.company.com/events"
317
- events: ["security_*", "deploy_*"]
318
-
319
- - type: "slack"
320
- webhook: "https://hooks.slack.com/..."
321
- events: ["vuln_critical", "permission_escalation"]
322
-
323
- - type: "syslog"
324
- host: "syslog.company.com"
325
- port: 514
326
- events: ["*"]
327
- ```
328
-
329
- ### Alert Configuration
330
-
331
- ```yaml
332
- audit:
333
- alerts:
334
- rules:
335
- - name: "Critical Security Event"
336
- condition: "severity == 'critical'"
337
- action: "notify_immediately"
338
- channels: ["slack", "email", "pagerduty"]
339
-
340
- - name: "Multiple Login Failures"
341
- condition: "event_type == 'login_failure' && count > 5"
342
- window: "5m"
343
- action: "notify_security"
344
-
345
- - name: "After Hours Deployment"
346
- condition: "category == 'deployment' && hour not in 9..18"
347
- action: "notify_oncall"
348
- ```
349
-
350
- ---
351
-
352
- ## Audit Dashboard
353
-
354
- ```
355
- ┌─────────────────────────────────────────────────────────────┐
356
- │ Audit Trail - Last 30 Days │
357
- ├─────────────────────────────────────────────────────────────┤
358
- │ │
359
- │ Event Summary: │
360
- │ ├── Total Events: 12,456 │
361
- │ ├── Code Changes: 8,234 │
362
- │ ├── Access Events: 3,127 │
363
- │ ├── Deployments: 89 │
364
- │ └── Security Events: 6 │
365
- │ │
366
- │ By Severity: │
367
- │ ├── Info: 11,234 │
368
- │ ├── Warning: 1,215 │
369
- │ ├── Error: 5 │
370
- │ └── Critical: 2 │
371
- │ │
372
- │ Active Users: 12 │
373
- │ Top Actor: dev@company.com (2,345 events) │
374
- │ │
375
- │ Recent Critical Events: │
376
- │ • [Jan 15] Permission escalation attempt │
377
- │ • [Jan 10] Critical vulnerability in lodash │
378
- │ │
379
- │ Integrity: ✅ Verified | Last check: 5 min ago │
380
- │ │
381
- └─────────────────────────────────────────────────────────────┘
382
- ```
383
-
384
- ---
385
-
386
- ## Configuration
387
-
388
- ```yaml
389
- # proagents.config.yaml
390
-
391
- audit:
392
- enabled: true
393
-
394
- # What to log
395
- events:
396
- code_changes: true
397
- access_events: true
398
- deployments: true
399
- security_events: true
400
- admin_events: true
401
-
402
- # Immutability
403
- immutable: true
404
- hash_algorithm: "sha256"
405
- sign_entries: true
406
-
407
- # Storage
408
- storage:
409
- local:
410
- enabled: true
411
- path: "./.proagents/audit"
412
- max_size_mb: 1000
413
-
414
- remote:
415
- enabled: false
416
-
417
- # Detail level
418
- detail_level: "full" # minimal, standard, full
419
-
420
- # Exclude patterns
421
- exclude:
422
- paths:
423
- - "node_modules/**"
424
- - "*.log"
425
- events:
426
- - "file_view" # Too noisy
427
-
428
- # Performance
429
- async_logging: true
430
- batch_size: 100
431
- flush_interval_ms: 1000
432
- ```
433
-
434
- ---
435
-
436
- ## Best Practices
437
-
438
- 1. **Enable Immutability**: Always use hash chains in production
439
- 2. **Remote Backup**: Configure remote storage for audit logs
440
- 3. **Monitor Alerts**: Set up alerts for critical events
441
- 4. **Regular Verification**: Run integrity checks weekly
442
- 5. **Retention Compliance**: Set retention to match regulatory requirements
443
- 6. **Access Control**: Restrict who can view/export audit logs
444
- 7. **Test Recovery**: Periodically test log recovery from backups