Skip to content

docs(security): keep server secrets out of Vercel builds; park a secret-free deploy workflow (#920) - #926

Merged
dadadave80 merged 1 commit into
mainfrom
ci/920-prebuilt-deploy
Oct 22, 2026
Merged

dadadave80 merged 1 commit into
mainfrom
ci/920-prebuilt-deploy

Conversation

@dadadave80

Copy link
Copy Markdown
Contributor

Summary

Production builds run merged package.json scripts with whatever the Vercel project exposes at build time (#920). The heliobond Vercel project holds no environment variables in any environment today, so there is nothing for a malicious build script to steal. This PR keeps it that way and parks the fix for when the real backend is connected.

  • SECURITY.md: new "Deployment secrets" section. No server secret (for example HELIOBOND_API_KEY) goes into Vercel until production builds move off Vercel's git integration.

  • docs/MAINNET_CHECKLIST.md: the same rule as a release item.

  • .github/workflows/deploy.yml (parked, manual trigger only): a secret-free production pipeline in three jobs.

    1. settings pulls the project settings with the token and deletes the pulled env file. It never checks out repo code.
    2. build builds with no token and no secrets. Public values come from repository variables.
    3. deploy uploads the prebuilt output with the token. It never runs repo code.

    Server secrets stay in Vercel for runtime only. Actions are pinned to commit SHAs and the Vercel CLI is pinned. The header comment lists the three steps to switch it on.

Linked issue

Refs #920. It stays open until the workflow is switched on, which has to happen before backend secrets are added.

Type of change

  • Docs / chore

Notes for reviewers

  • The workflow is workflow_dispatch only, so merging it changes nothing about how production deploys today.
  • It hasn't run yet. The first manual run needs the production environment (VERCEL_TOKEN, VERCEL_ORG_ID, VERCEL_PROJECT_ID) and the NEXT_PUBLIC_* repository variables.
  • SECURITY.md and MAINNET_CHECKLIST.md are also edited by ci: supply-chain guardrails for hidden payloads and build scripts (#914, #915, #921, #920) #924, but in different sections, so they shouldn't conflict.

@vercel

vercel Bot commented Oct 22, 2026 •

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated
heliobond Ready Ready Preview Oct 22, 2026 2:19pm UTC

@github-actions

Copy link
Copy Markdown

Thanks for your contribution! ❤️ It looks like this PR isn't linked to an issue yet. Please add Fixes #123 (or Closes #123) to the PR description, or link it via the Development sidebar on the right. Once linked, a maintainer will review your changes. No stress — we'll help fix things up if needed!

@dadadave80
dadadave80 merged commit 810ed1a into main Oct 22, 2026
11 checks passed

This branch was successfully deployed

1 active deployment
Preview — b9fd9208 Deployed Oct 22, 2026 by vercel[bot]
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant