Skip to content

ABUSE-001A1: use reCAPTCHA Enterprise for browser App Check - #160

Merged
daliu merged 1 commit into
mainfrom
codex/issue-159-app-check-enterprise
Jul 13, 2026
Merged

daliu merged 1 commit into
mainfrom
codex/issue-159-app-check-enterprise

Conversation

@daliu

@daliu daliu commented Jul 13, 2026 •

Copy link
Copy Markdown
Contributor

Closes #159

Outcome

The browser now constructs Firebase App Check with ReCaptchaEnterpriseProvider on an ordinary production page when the public site-key variable is configured. The legacy v3 provider is absent. Local/test runtimes, initial capability callback URLs, missing-key behavior, token auto-refresh, Analytics shutdown, and fixed redacted diagnostics are preserved.

This is a source/test correction only. It does not create a key, configure allowed domains, set a protected variable, enable callable enforcement, publish the website or Firebase, or prove live attestation.

Officer handoff

Officer impact: No current officer screen or procedure changes. This prepares the correct browser provider for a later owner-approved protected release.

Officer documentation: None — there is no new officer action and no live behavior after this source-only slice. The root security and operations records were updated to keep future owner/provider/deployment work explicit.

Deployment evidence: Exact-head CI run 29259142366 passed frontend, Functions, and Rules at 14a333bdbf5d09b9dffc34339150fcb4497ec330. Netlify deploy preview 6a54f97f7e026c000828d663 is ready; that is not a production publication. No website production, Firebase, provider, key, enforcement, token exchange, or live behavior is configured or proven. Protected release 29254280177 previously failed closed before checkout/build because the site-key variable was absent; nothing was published.

Verification

Node v20.20.2:

  • focused FirebaseResources suite: 23/23
  • full frontend Jest: 9 suites / 132 tests
  • standalone SPA callback suite: 10/10
  • changed-file ESLint: passed
  • diagnostic production build: passed; not published
  • staged diff check and sensitive-pattern review: passed
  • three independent exact-diff reviews: approved with no findings
  • hosted CI 29259142366: frontend, Functions, and Rules passed at the exact head
  • Netlify preview and redirect checks: passed; header/pages checks neutral because they were not applicable

Exact source commit: 14a333bdbf5d09b9dffc34339150fcb4497ec330
Exact staged diff hash reviewed: 525928f78fa8ade111b3317190b57db1f515aed1

Boundary

Changed only:

  • src/services/firebase/FirebaseResources.ts
  • src/services/firebase/FirebaseResources.test.ts
  • minimum exact status hunks in SECURITY.md, OPERATIONS_RUNBOOK.md, GITHUB_ISSUES.md, and GITHUB_ISSUE_SLICES.md

Excluded workflows, environment files, package/lockfiles, Functions, Rules, provider settings, keys, enforcement, officer procedures, and production data.

@netlify

netlify Bot commented Jul 13, 2026 •

Copy link
Copy Markdown

✅ Deploy Preview for luminous-fox-7c393f ready!

Name Link
🔨 Latest commit 14a333b
🔍 Latest deploy log https://app.netlify.com/projects/luminous-fox-7c393f/deploys/6a54f97f7e026c000828d663
😎 Deploy Preview https://deploy-preview-160--luminous-fox-7c393f.netlify.app
📱 Preview on mobile
Toggle QR Code...

QR Code

Use your smartphone camera to open QR code link.

To edit notification comments on pull requests, go to your Netlify project configuration.

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.

ABUSE-001A1 — Use reCAPTCHA Enterprise for browser App Check

1 participant