The following files have been secured by replacing real credentials with placeholder values:
- Status: Tracked in git, now contains only placeholders
- Local secrets moved to:
app/.env.development.local(gitignored)
- Status: Tracked in git, now contains only placeholders
- Local secrets moved to:
app/.env.production.local(gitignored)
.env.local- Already gitignored, contains Vercel-generated credentialsapp/.env- Already gitignored, contains real credentialsserver/.env- Already gitignored, contains configuration
The following credentials were previously committed to the repository and MUST be rotated immediately:
- Project ID: [REDACTED - rotate immediately]
- Publishable Client Key: [REDACTED - rotate immediately]
- Secret Server Key: [REDACTED - rotate immediately]
- Action Required: Regenerate keys in Stack Auth dashboard at https://app.stack-auth.com
- Database URL: [REDACTED - reset password immediately]
- Username: [REDACTED - reset password immediately]
- Password: [REDACTED - reset password immediately]
- Action Required: Reset database password in Neon dashboard at https://console.neon.tech
-
Rotate Stack Auth Credentials
- Go to Stack Auth dashboard
- Generate new project keys
- Update
app/.env.development.localandapp/.env.production.local - Update Vercel environment variables
-
Rotate Neon Database Password
- Go to Neon console
- Reset the database owner password
- Update all
.env*.localfiles with new connection string - Update Vercel environment variables
- Update
.env.localfile
-
Update Vercel Environment Variables
- Go to Vercel dashboard → Settings → Environment Variables
- Update all rotated credentials
- Redeploy the application
-
Clean Git History (Optional but Recommended)
- Consider using tools like
git filter-branchorBFG Repo-Cleanerto remove exposed secrets from git history - Note: This requires force-pushing and coordinating with all repository collaborators
- Consider using tools like
When setting up this project locally:
-
Copy template files to create local environment files:
cp app/.env.development app/.env.development.local cp app/.env.production app/.env.production.local
-
Request the real credentials from a team lead and update the
.localfiles -
Never commit
.env*.localfiles - they are gitignored for security
The following patterns are in .gitignore to protect credentials:
.env.env.local.env.development.local.env.test.local.env.production.local.env*.local(catch-all)
For Vercel deployments, environment variables should be set in the Vercel dashboard, not in committed files. The .env.production file serves only as a template showing which variables are needed.