Phase 0 fixes completed before baseline collection: 1. Defense-in-Depth Layer 1 (.gitignore) - Added missing credential file patterns - *.pem, *.key, *.p12, *.pfx - credentials.json, secrets, *.secret - config/secrets.json, auth.json - Verification: ✅ All critical patterns in .gitignore 2. Defense-in-Depth Layer 5 (Credential Rotation) - Created docs/CREDENTIAL_ROTATION_PROCEDURES.md - MongoDB password rotation procedures - API key rotation procedures - SSH/deployment key rotation - Git history credential removal - Emergency contact procedures - Verification: ✅ Rotation procedures documented 3. inst_083 Enforcement Recognition - Updated scripts/audit-enforcement.js - Added inst_083: ['scripts/session-init.js'] - Documents handoff auto-injection enforcement - Verification: ✅ 40/40 imperative instructions (100%) 4. Session-closedown Dev Server Protection - Fixed scripts/session-closedown.js - Added port 9000 check to prevent killing dev server - Prevents disruption during active development - Verification: ✅ Dev server preserved during cleanup Baseline Metrics Collected: - Enforcement Coverage: 40/40 (100%) - Defense-in-Depth: 5/5 layers (100%) - Framework Activity: 1,204+ audit logs, 162 blocks - Research data saved to docs/research-data/metrics/ Research Documentation Plan: - Created docs/RESEARCH_DOCUMENTATION_DETAILED_PLAN.md - 150+ granular tasks across 6 phases - User decisions confirmed (Working Paper v0.1) - Scope: Development-time governance only - Author: John G Stroh - Contact: research@agenticgovernance.digital - Status: Phase 0 complete, ready for Phase 1 Results: ✅ 100% enforcement coverage (architectural) ✅ 100% defense-in-depth (all 5 layers) ✅ All 6 framework services operational ✅ Clean baseline established for research paper ✅ Dev server protection implemented Next: Phase 1 (Metrics Gathering & Verification) Related: inst_072 (defense-in-depth), inst_083 (handoff auto-injection) 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
2.3 KiB
2.3 KiB
Credential Rotation Procedures
Purpose: Defense-in-Depth Layer 5 (inst_072) Status: Active Last Updated: 2025-10-25
🚨 When to Rotate Credentials
Rotate credentials IMMEDIATELY if any of the following occur:
- Confirmed Exposure: Credential detected in git history, logs, or public location
- Suspected Compromise: Security incident, unauthorized access attempt, or anomalous activity
- Personnel Change: Team member with credential access leaves or changes role
- Scheduled Rotation: Regular rotation per security policy (recommended: 90 days)
- Detection Alert: Pre-commit hook blocked credential, GitHub secret scanning alert
📋 Rotation Procedures by Credential Type
MongoDB Database Password
Location: .env file (MONGODB_URI)
Rotation Steps:
- Generate new strong password (16+ characters, mixed case, numbers, symbols)
- Update MongoDB user:
mongosh tractatus_dev --eval "db.changeUserPassword('tractatus_user', 'NEW_PASSWORD')" - Update
.envfile with new password - Test connection:
npm test -- --testPathPattern=mongodb.test.js - Restart application
- Verify application works
- Document rotation in security log
Rollback: Keep old password active for 24 hours, then revoke
🔍 Git History Credential Removal
If credentials were committed to git history:
- Remove from history:
git filter-repo --path .env --invert-paths - Force push (coordinate with team first):
git push origin --force --all - Rotate ALL exposed credentials
- Notify GitHub Security Team (if public repo)
📊 Rotation Log
Location: logs/credential-rotations.log
Format: [TIMESTAMP] ROTATION | Credential: TYPE | Reason: REASON | Performed By: EMAIL | Status: SUCCESS/FAILED
🛡️ Prevention Measures
- Never commit credentials (use .env files, already in .gitignore)
- Pre-commit hooks active (inst_069)
- Use credential vault (KeePassXC recommended)
- GitHub secret scanning enabled
- Regular security audits
🚨 Emergency Contact
- Immediate: Rotate exposed credentials
- Within 1 hour: Notify security@agenticgovernance.digital
- Within 24 hours: Complete incident report
- Within 1 week: Review and update procedures
License: Apache 2.0
This document satisfies Defense-in-Depth Layer 5 (inst_072)