managarten/monitoring/results/history-local.json
Wuesteon 4d15d9e764 🔒 security(auth): migrate to EdDSA JWT and add automated monitoring
BREAKING: JWT keys are now auto-managed by Better Auth (EdDSA/Ed25519)
- Remove all JWT_PRIVATE_KEY, JWT_PUBLIC_KEY, JWT_SECRET references
- Keys stored in auth.jwks database table (auto-generated on first run)
- Delete obsolete generate-keys.sh and generate-staging-secrets.sh scripts
- Clean up legacy AUTH_*.md analysis files from root

Security Improvements:
- Add security_events table for audit logging
- Add SecurityEventsService for tracking auth events
- Enhanced security headers (HSTS, CSP, X-Frame-Options)
- Rate limiting configuration

Monitoring Setup:
- Add auth-health-check.sh for automated testing
- Add generate-dashboard.sh for HTML status dashboard
- Tests: health endpoint, JWKS (EdDSA), security headers, response time
- Ready for Hetzner cron deployment

Documentation:
- Update deployment docs with Better Auth notes
- Update environment variable references
- Add security improvements documentation

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

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-18 21:42:47 +01:00

68 lines
1.3 KiB
JSON

[
{
"environment": "local",
"url": "http://localhost:3001",
"timestamp": "2025-12-18T20:37:03Z",
"status": "fail",
"tests": {
"health": {
"test": "health",
"status": "pass",
"httpCode": 200,
"response": {
"status": "ok",
"timestamp": "2025-12-18T20:37:03.965Z"
}
},
"jwks": {
"test": "jwks",
"status": "pass",
"httpCode": 200,
"algorithm": "EdDSA"
},
"security_headers": {
"test": "security_headers",
"status": "pass",
"headers": ["HSTS", "X-Content-Type-Options", "X-Frame-Options", "CSP"]
},
"response_time": {
"test": "response_time",
"status": "fail",
"time_ms": 9999
}
}
},
{
"environment": "local",
"url": "http://localhost:3001",
"timestamp": "2025-12-18T20:37:28Z",
"status": "healthy",
"tests": {
"health": {
"test": "health",
"status": "pass",
"httpCode": 200,
"response": {
"status": "ok",
"timestamp": "2025-12-18T20:37:28.972Z"
}
},
"jwks": {
"test": "jwks",
"status": "pass",
"httpCode": 200,
"algorithm": "EdDSA"
},
"security_headers": {
"test": "security_headers",
"status": "pass",
"headers": ["HSTS", "X-Content-Type-Options", "X-Frame-Options", "CSP"]
},
"response_time": {
"test": "response_time",
"status": "pass",
"time_ms": 1
}
}
}
]