Skip to content

fix(preview): stabilize per-PR JWT identity - #55

Merged
xiaoland merged 2 commits into
mainfrom
fix/stable-preview-jwt
Aug 13, 2026
Merged

xiaoland merged 2 commits into
mainfrom
fix/stable-preview-jwt

Conversation

@xiaoland

Copy link
Copy Markdown
Member

Outcome

Derive each trusted PR preview's JWT signing key from a GitHub preview-environment seed plus the repository/PR identity. App redeploy or destruction/recreation therefore no longer invalidates reviewer browser credentials.

Boundaries

  • per-PR HMAC-SHA256 identity; no Production JWT reuse
  • both Core and PostgREST converge to the same derived key on every delivery
  • anonymous and wrong-key denial remain in the deployment probe

Verification

  • pinned full pdm run check: 234 tests, formatting/lint/type/migrations green
  • focused preview/JWT tests: 9 passed
  • actionlint and git diff --check: passed

@xiaoland
xiaoland merged commit 69ba922 into main Aug 13, 2026
6 of 7 checks passed
@xiaoland
xiaoland deleted the fix/stable-preview-jwt branch August 13, 2026 15:39

This branch was previously deployed

1 inactive deployment
preview — 6608be9b Deployed Aug 13, 2026 by xiaoland via Delete Heroku preview #121
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