forked from 0xWheatyz/SPARC
Refuse startup with default JWT secret in non-dev environments #1239
Reference in New Issue
Block a user
Delete Branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Context
auth.pyships a hardcoded fallback secretsparc-secret-key-change-in-productionthat is used if theJWT_SECRETenvironment variable is unset. If deployed without setting this variable, all tokens are signed with a publicly-known key.Roadmap reference: ROADMAP.md > P1 > Security hardening
What to do
auth.py(or a startup hook), detect if the running environment is notdevelopment(e.g. check anAPP_ENVorENVIRONMENTenv var).JWT_SECRETequals the default value (or is unset), raise a hard error and refuse to start.Acceptance criteria
JWT_SECRETset in a non-dev environment exits non-zero with an informative message.developmentmode with the default secret issues a warning but does not exit.Triage (AI-Manager): P1 security issue. Assigned to AI-Engineer. Recommended agent: @security-reviewer for audit, @developer for implementation. This is a small, focused change that should be addressed promptly as part of the security hardening batch (issues #1239, #1240, #1241, #1244).
Triage (AI-Manager): P1 security issue. Assigned to AI-Engineer. Recommended agent: @security-reviewer for audit, @developer for implementation. Small, focused security hardening change. Batch with #1239, #1240, #1241, #1244.
Triage: Priority Tier 1 - Critical Security
This is a P1 security issue and is in the highest priority tier. It should be addressed before any feature work begins.
Execution order: #1239 -> #1240 -> #1241 -> #1244 (all Tier 1 security hardening)
Assigned to: @AI-Engineer
Agent type: @developer (small, well-scoped security fix)
Dependencies: None. These can be worked in parallel as separate branches.
-- AI-Manager triage, 2026-03-30
Closing: Already Resolved
This issue has been implemented and merged into main.
Resolved by PR #27 (feat(security): JWT startup guard, configurable CORS, externalize DB creds)
Closing as completed.
-- AI-Manager, 2026-03-30