Skip to content

Simplify local onboarding and Google connections - #33

Merged
erickkkyt merged 5 commits into
mainfrom
codex/simple-local-google-onboarding
Nov 3, 2026
Merged

erickkkyt merged 5 commits into
mainfrom
codex/simple-local-google-onboarding

Conversation

@erickkkyt

@erickkkyt erickkkyt commented Nov 3, 2026 •

Copy link
Copy Markdown
Contributor

New local users can run pnpm start, add their website, and authorize Search Console and GA4 without creating a Google Cloud project or entering OAuth credentials. First startup prepares private local configuration automatically. Brand settings combine website/Google, Browser, API Key and monitoring; the sidebar preserves SEO and GEO sections and exposes short /brand, /seo and /questions routes with BeatGEO branding.

The shared Google flow uses PKCE and session-bound state, records only granted scopes, retries busy property discovery, and keeps user grants encrypted locally. The bundled pair belongs to the BeatGEO Desktop installed-app public client in the BeatAPI project; it is intentionally distributable under Google's installed-app model, not a Web application secret. Custom desktop clients require a matching pair; hosted deployments require separate Web credentials. No user tokens, private environment files or raw analytics are included.

Validation: pnpm lint; web TypeScript check; 94 targeted OAuth/navigation tests; 25 installation/script tests; all 14 isolated SEO browser flows, including adding reviewed questions to GEO through the visible report action. A non-authorizing request using only the bundled pair reaches Google's authorization-code validation. Real Google consent and GSC/GA reads were exercised with the maintainer account; fresh-user/cross-platform acceptance is not claimed. Brand and Analytics scope review has been submitted and remains pending.

@erickkkyt
erickkkyt merged commit e97f9d8 into main Nov 3, 2026
4 checks passed
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