| Version | Supported |
|---|---|
| latest | Yes |
All secrets must be stored in GitHub repository settings under Settings > Secrets and variables > Actions. Never commit secrets to the repository.
| Secret | Purpose | Scope |
|---|---|---|
SFTP_HOST |
Deployment server hostname | Deployment |
SFTP_USERNAME |
SFTP authentication | Deployment |
SFTP_PASSWORD |
SFTP authentication | Deployment |
DEPLOY_BASE_PATH |
Remote deployment directory | Deployment |
PRODUCTION_DOMAIN |
Production URL generation | Deployment |
SANDBOX_DOMAIN |
Sandbox URL generation (optional) | Deployment |
| Secret | Purpose |
|---|---|
NEXT_PUBLIC_EMAILJS_* |
Client-side email service (public) |
EMAILJS_ADMIN_* |
Server-side email service (private) |
ADMIN_EMAIL |
Admin notification recipient |
| Secret | Purpose |
|---|---|
GITHUB_TOKEN |
Auto-provided by GitHub Actions for API operations |
- Secrets are masked in logs by GitHub Actions
- Debug mode (
[DEBUG_DEPLOYMENT_INFORMATION]) does not expose secret values - SFTP credentials are passed directly to action inputs, never echoed
GITHUB_TOKENpermissions are scoped per-workflow- SFTP credentials should use a dedicated deployment user with write access limited to
DEPLOY_BASE_PATH
Environment variables prefixed with NEXT_PUBLIC_ are embedded in the client bundle and publicly visible. Treat these as non-sensitive configuration only.
- Rotate credentials — Update SFTP passwords periodically
- Use deploy keys — Prefer SSH keys over passwords when possible
- Limit server access — Restrict SFTP user to deployment directory only
- Audit access — Review repository collaborators with secrets access
- Environment separation — Use different credentials for staging vs production
Report security vulnerabilities privately via GitHub's security advisory feature:
- Navigate to Security > Advisories
- Click New draft security advisory
- Provide details and reproduction steps
Do not open public issues for security vulnerabilities.
- Connections use SSH (port 22) with password or key authentication
- Existing deployments are backed up before overwrite
- Deployment verification checks for expected files post-deploy
- Tags are signed with GitHub's verified badge when using
GITHUB_TOKEN - Release assets are immutable once published
- Secrets stored in repository settings, not in code
- SFTP user has minimal required permissions
-
NEXT_PUBLIC_*variables contain no sensitive data - Repository access limited to trusted collaborators
- Branch protection enabled for
main