Skip to content

Repair JackerBox security, rentals and Stripe flow - #2

Open
BTheCoderr wants to merge 152 commits into
mainfrom
audit/security-and-rental-hardening-2026-10
Open

BTheCoderr wants to merge 152 commits into
mainfrom
audit/security-and-rental-hardening-2026-10

Conversation

@BTheCoderr

@BTheCoderr BTheCoderr commented Oct 10, 2026 •

Copy link
Copy Markdown
Owner

JackerBox V2 hardening — NOT APPROVED FOR RELEASE

Current repair branch: audit/security-and-rental-hardening-2026-10.
Last code commit reviewed: 341dbf5ff60ab0d93d52d205b46e9b527a65a929.
The latest GitHub Actions run has been triggered; check its current completion status before relying on it. Previous CI validation passed with 51 focused tests, production build, TypeScript checks and zero reported moderate-or-higher production dependency vulnerabilities.

Work completed

  • Stripe rental amount calculated on the server; signed webhooks, serializable overlap protection, payout/deposit idempotency and admin authorization have regression tests (mocked SDK only).
  • Safe forward-only Prisma migration validation passes on disposable PostgreSQL.
  • Bthedream Supabase project gjqrubvipnhpnnpvodsv is active, has 19 application tables, six completed Prisma migrations and RLS enabled on all 20 public tables. Its application data was empty at the last read-only verification. It has not been verified through an application runtime connection.
  • Created an independently isolated Netlify project jackerbox-staging, site id f23d7f5f-7d06-47dd-a29b-80e23c687c8a. Access requires team SSO for all deployments, including its default production context.
  • Added site-ID-aware build gates, runtime request blocking for unapproved staging and GitHub regression tests to prevent bypass on the separate staging site's default deployment.
  • Existing public Netlify jackerbox production site is unchanged.

Outstanding release blockers

  1. Connect staging Git source: the separate Netlify staging project is empty. Connect it to BTheCoderr/jackerboxV2 and set its published branch to audit/security-and-rental-hardening-2026-10. Do not retarget the production Netlify project.
  2. Stage-only credentials: configure secret DATABASE_URL (Supabase transaction pool), DIRECT_DATABASE_URL (session pool), fresh NEXTAUTH_SECRET, matching NEXTAUTH_URL, UPSTASH_REDIS_REST_URL and UPSTASH_REDIS_REST_TOKEN in staging only. Existing Netlify environment writes were acknowledged but did not survive read-back; they are not verified. Do not reuse all-context production variables.
  3. Stripe test integration: configure sk_test_, pk_test_ and whsec_ credentials for the staging site only; run signed webhook, checkout, rental completion, owner transfer, cancellation, security deposit and refund tests. No real Stripe test-mode transaction has yet been performed.
  4. Rotate historical credentials: old tracked environment files in Git history contained credential-shaped entries (database, Redis, OAuth, Stripe, AWS, Cloudinary, Resend). Removing source files does not revoke those keys.
  5. Browser/mobile acceptance: test real listing uploads, login, booking, profile permissions, accessibility and desktop/mobile workflows.
  6. Release verification: staging smoke test npm run db:verify:supabase, run Prisma migrate status/forward-only checks, complete test-mode financial reconciliation, security review and explicit launch approval.

Do not set JACKERBOX_STAGING_READY=true until independent staging credentials and callback endpoints are verified.
Do not merge this PR, publish it to jackerbox.app, or process live payments.

Detailed setup: docs/supabase-fresh-bootstrap.md.

@netlify

netlify Bot commented Oct 10, 2026 •

Copy link
Copy Markdown

❌ Deploy Preview for jackerbox failed. Why did it fail? →

Name Link
🔨 Latest commit 341dbf5
🔍 Latest deploy log https://app.netlify.com/projects/jackerbox/deploys/6ace9bfe1e611a8e9f73d16a

@gitguardian

gitguardian Bot commented Oct 13, 2026 •

Copy link
Copy Markdown

⚠️ GitGuardian has uncovered 1 secret following the scan of your pull request.

Please consider investigating the findings and remediating the incidents. Failure to do so may lead to compromising the associated services or software components.

🔎 Detected hardcoded secret in your pull request
GitGuardian id GitGuardian status Secret Commit Filename
38170851 Triggered PostgreSQL Credentials 10aa6dc tests/unit/staging-env-guard.test.mjs View secret
🛠 Guidelines to remediate hardcoded secrets
  1. Understand the implications of revoking this secret by investigating where it is used in your code.
  2. Replace and store your secret safely. Learn here the best practices.
  3. Revoke and rotate this secret.
  4. If possible, rewrite git history. Rewriting git history is not a trivial act. You might completely break other contributing developers' workflow and you risk accidentally deleting legitimate data.

To avoid such incidents in the future consider


🦉 GitGuardian detects secrets in your source code to help developers and security teams secure the modern development process. You are seeing this because you or someone else with access to this repository has authorized GitGuardian to scan your pull request.

This branch has not been deployed

No deployments
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