tractatus/public/js/admin
TheFlow d854ac85e2 feat(research): add cross-environment audit log sync infrastructure
Implements privacy-preserving synchronization of production audit logs
to development for comprehensive governance research analysis.

Backend Components:
- SyncMetadata.model.js: Track sync state and statistics
- audit-sanitizer.util.js: Privacy sanitization utility
  - Redacts credentials, API keys, user identities
  - Sanitizes file paths and violation content
  - Preserves statistical patterns for research
- sync-prod-audit-logs.js: CLI sync script
  - Incremental sync with deduplication
  - Dry-run mode for testing
  - Configurable date range
- AuditLog.model.js: Enhanced schema with environment tracking
  - environment field (development/production/staging)
  - sync_metadata tracking (original_id, synced_from, etc.)
  - New indexes for cross-environment queries
- audit.controller.js: New /api/admin/audit-export endpoint
  - Privacy-sanitized export for cross-environment sync
  - Environment filter support in getAuditLogs
- MemoryProxy.service.js: Environment tagging in auditDecision()
  - Tags new logs with NODE_ENV or override
  - Sets is_local flag for tracking

Frontend Components:
- audit-analytics.html: Environment filter dropdown
- audit-analytics.js: Environment filter query parameter handling

Research Benefits:
- Combine dev and prod governance statistics
- Longitudinal analysis across environments
- Validate framework consistency
- Privacy-preserving data sharing

Security:
- API-based export (not direct DB access)
- Admin-only endpoints with JWT authentication
- Comprehensive credential redaction
- One-way sync (production → development)

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-10-27 12:11:16 +13:00
..
analytics.js fix(submissions): restructure Economist package and fix article display 2025-10-24 08:47:42 +13:00
audit-analytics.js feat(research): add cross-environment audit log sync infrastructure 2025-10-27 12:11:16 +13:00
auth-check.js fix(submissions): restructure Economist package and fix article display 2025-10-24 08:47:42 +13:00
blog-curation-enhanced.js fix(admin): force fresh API requests to prevent cached 500 errors 2025-10-24 11:02:43 +13:00
blog-curation.js feat(cultural-sensitivity): implement Phase 2 - admin UI with cultural flags (inst_081) 2025-10-25 11:22:42 +13:00
blog-validation.js feat(admin): add standalone submission package modal support 2025-10-24 11:06:22 +13:00
calendar.js fix(calendar): Add cache-busting and better error handling 2025-10-24 12:13:21 +13:00
case-moderation.js fix(submissions): restructure Economist package and fix article display 2025-10-24 08:47:42 +13:00
claude-md-migrator.js fix(submissions): restructure Economist package and fix article display 2025-10-24 08:47:42 +13:00
contact-management.js feat(crm): complete Phase 3 multi-project CRM + critical bug fixes 2025-10-24 18:10:14 +13:00
dashboard.js fix(submissions): restructure Economist package and fix article display 2025-10-24 08:47:42 +13:00
editorial-guidelines.js feat(admin): add Editorial Guidelines Manager page 2025-10-24 13:05:47 +13:00
hooks-dashboard.js fix(submissions): restructure Economist package and fix article display 2025-10-24 08:47:42 +13:00
login.js fix(submissions): restructure Economist package and fix article display 2025-10-24 08:47:42 +13:00
media-triage.js feat(cultural-sensitivity): implement Phase 2 - admin UI with cultural flags (inst_081) 2025-10-25 11:22:42 +13:00
newsletter-management.js fix(newsletter): convert ObjectId to string in DELETE button data attributes 2025-10-24 20:24:54 +13:00
project-editor.js fix(submissions): restructure Economist package and fix article display 2025-10-24 08:47:42 +13:00
project-manager.js fix(submissions): restructure Economist package and fix article display 2025-10-24 08:47:42 +13:00
project-selector.js fix(submissions): restructure Economist package and fix article display 2025-10-24 08:47:42 +13:00
rule-editor.js fix(submissions): restructure Economist package and fix article display 2025-10-24 08:47:42 +13:00
rule-manager.js fix(submissions): restructure Economist package and fix article display 2025-10-24 08:47:42 +13:00
submission-modal-enhanced.js fix(submissions): extract data from API response wrappers 2025-10-24 16:35:10 +13:00
submission-modal-old.js fix(submissions): restructure Economist package and fix article display 2025-10-24 08:47:42 +13:00
unified-inbox.js feat(crm): complete Phase 3 multi-project CRM + critical bug fixes 2025-10-24 18:10:14 +13:00