**Vulnerability:** The Telegram Deployment Bot (`scripts/telegram_deploy_bot.py`) contained a "Fail Open" vulnerability where omitting the `TELEGRAM_ALLOWED_USER_IDS` environment variable resulted in granting access to *all* Telegram users instead of *none*.
**Learning:** Security controls must default to deny (Fail Closed). Implicitly allowing access when configuration is missing creates silent vulnerabilities that are hard to detect until exploited.
**Prevention:** Ensure all authorization checks explicitly return `False` or throw an exception if the access control list is empty or undefined. Never default to `True` in security-critical paths.
## 2026-02-22 - Information Exposure in Web Dashboard
**Vulnerability:** The Web Dashboard (`scripts/web_dashboard.py`) directly returned raw exception messages to users (`return f"Error: {str(e)}", 500`), potentially leaking sensitive internal details (stack traces, file paths, database errors).
**Learning:** Development-style error reporting was left in production-facing code.
**Prevention:** Always use a generic error message for user-facing responses (e.g., "Internal Server Error") and log the specific exception details securely to stderr or a log file using `logging`.