Skip to content

security: remove the last committed credentials (and sync main into develop) - #251

Merged
rvegajr merged 34 commits into
developfrom
security/remove-remaining-credentials
Oct 13, 2026
Merged

rvegajr merged 34 commits into
developfrom
security/remove-remaining-credentials

Conversation

@rvegajr

@rvegajr rvegajr commented Oct 12, 2026

Copy link
Copy Markdown
Member

What

  • docs/DVR_TESTING_GUIDE.md: the production Railway Postgres URL is replaced with $DATABASE_URL. The earlier fix (55ba7e1) missed this file.
  • docs/ENV_SETUP_GUIDE.md: the Square sandbox access token and application ID are replaced with placeholders.

Why this targets develop from main

The branch was cut from main, so merging it also brings develop level with main. Today main has 33 commits develop lacks, including 55ba7e1, which removed the same credential from scripts/apply-prod-migration.ts and scripts/_archive/test-dvr.sh. develop has nothing main lacks, so there are no conflicts.

After this lands and is promoted, a scan finds no Railway DB URLs or Square tokens on any branch.

Still required (outside this PR)

Both values are still in git history, so editing the files doesn't make them safe.

Tests

This PR only changes docs; no code changed. The unit suites last ran green on 2026-09-27 (API 716, web 939, data-model 377, dvr-service 78). CI runs them again on this PR.

🤖 Generated with Claude Code

rvegajr and others added 30 commits July 22, 2026 20:47
Apply migrate-on-deploy to production (fix VeoIntegration P2021 drift)
Promote develop -> release (UAT): env-chrome banner + clone fix
Promote develop -> main (PROD): env-chrome + clone fix
Promote develop -> release (UAT): Traklet gate + env-label workflow
Promote develop -> main (PROD): Traklet gate + env-label workflow
promote: env-aware email via relay → UAT
promote: env-aware email via relay → PROD
promote: crowdsourced sport overlay → UAT
promote: crowdsourced sport overlay → PROD
promote: shared multi-channel stream toolbar → UAT
promote: shared multi-channel stream toolbar → PROD
Inherit event scoreboard names, show the bootstrap title, and stop HLS waiting events from covering a working player after Mux 404s.

Co-authored-by: Cursor <cursoragent@cursor.com>
…ships

Those tests assume /parent/event rewrite, which is not on production main yet.

Co-authored-by: Cursor <cursoragent@cursor.com>
Co-authored-by: Cursor <cursoragent@cursor.com>
…manager

Railpack 0.38 failed DEV deploys with "Failed to resolve version 8.15.0 of pnpm".
Vidstack can stay aria-busy while native HLS already has frames, which left
the Rayos page stuck on "Loading stream..." over a working player.

Co-authored-by: Cursor <cursoragent@cursor.com>
Safari was rendering a generic Pay label because the button used custom text instead of Apple's buy-with-Apple-Pay control.

Co-authored-by: Cursor <cursoragent@cursor.com>
Safari was rendering a generic Pay label because the button used custom text instead of Apple's buy-with-Apple-Pay control.

Co-authored-by: Cursor <cursoragent@cursor.com>
…prod

promote: official Apple Pay button → PROD
Keep develop's official Apple Pay button and relay checkout stack.

Co-authored-by: Cursor <cursoragent@cursor.com>
promote: develop → UAT (relay paywall + official Apple Pay)
UAT web and API are green on the relay paywall stack. Keep the official Apple Pay button from UAT.

Co-authored-by: Cursor <cursoragent@cursor.com>
promote: UAT → PROD (relay paywall + official Apple Pay)
Both files embedded the production Postgres URL, password included, for the
Railway `production` environment. This repo is PUBLIC, and the credential was
reachable in HEAD and in history since 2026-01-18.

The password has been rotated on Railway and the old one no longer
authenticates. It is stored in 1Password (Automation vault) and mirrored in the
Railway service variables; nothing reads it from source any more.

- apply-prod-migration.ts: read DATABASE_URL from the environment, exit if unset
  rather than silently targeting a hardcoded database
- _archive/test-dvr.sh: same, for the `prod` branch of the script

Rotating was required regardless of this change: history rewriting cannot
un-publish a credential that was public for eight months.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
FieldView already uses the relay for Square; this makes the same drop-in the rule for mail, SMS, and litellm-vm.

Co-authored-by: Cursor <cursoragent@cursor.com>
Apps should call the LiteLLM gateway, not the legacy nsk_* host.

Co-authored-by: Cursor <cursoragent@cursor.com>
Point LLM Relay docs at ai.noctusoft.com
promote: develop → UAT (signed marketplace buy links, event v1 webhook)
promote: UAT → PROD (signed marketplace buy links, event v1 webhook)
rvegajr and others added 4 commits October 4, 2026 00:46
Promote SMS compliance (#241) to production
Promote develop to production: public /sms opt-in page
Promote develop to production: public home page + operator line (#247, #249), health fleet metadata (#246)
The production Postgres URL was still in docs/DVR_TESTING_GUIDE.md, which
55ba7e1 missed. A Square sandbox access token and application ID were
still in docs/ENV_SETUP_GUIDE.md. Both are now placeholders.

Both values remain in git history, so they still have to be rotated.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@rvegajr
rvegajr merged commit e49284f into develop Oct 13, 2026
3 checks passed
rvegajr added a commit that referenced this pull request Oct 17, 2026
Promote develop to release (uat): seek hold overlay (#252), refund fixes (#253), credential cleanup (#251)
rvegajr added a commit that referenced this pull request Oct 17, 2026
Promote develop to production: seek hold overlay (#252), refund fixes (#253), credential cleanup (#251)
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