Repository navigation
Import and prepare the Webflow app for Simple Analytics hosting - #3
Open
simple-analytics-ai[bot] wants to merge 4 commits into
Open
simple-analytics-ai[bot] wants to merge 4 commits into
simple-analytics-ai[bot] wants to merge 4 commits into
Conversation
Adriaan requested that the commissioned backend run on our infrastructure. Replace Upstash with private Redis, add a production container and the standard deployment workflow, and point the extension at webflow.simpleanalytics.com. Fix site-scoped authentication and release blockers, update vulnerable dependencies, and verify with security tests and container smoke checks.
adriaandotcom
approved these changes
Oct 7, 2026
…ings Fix Webflow app review findings
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Requires https://github.com/simpleanalytics/infrastructure/pull/275 to be merged and provisioned first, including the Webflow client secret and running Redis. Then merge this PR: its main workflow builds the image and deploys the backend on esapp04.
Summary
Fixes #2. Release tracked in #1.
Import the commissioned source and prepare it to run on Simple Analytics infrastructure, as requested by Adriaan. The first commit preserves the contractor delivery from
05c638ff6a9c6c1455a8819ea8cfdd04136933bc; the follow-up replaces Upstash with private Redis, adds a non-root standalone Docker image, and uses the existing GHCR/replace-webhook deployment workflow. The extension now connects tohttps://webflow.simpleanalytics.com.Before this change a session selected a user-wide token and accepted an arbitrary site ID. Sessions now contain only a user ID and the site verified by Webflow, and every script operation checks that site boundary. OAuth uses an expiring, single-use browser-bound state. Health checks return 503 on missing configuration or Redis failure without disclosing connection details. Script configuration strings are safely serialized, disabled automatic events stay disabled, and removed scripts no longer show as installed.
Security implications
Next.js is updated to 16.3.8 with React 19 and the runtime proxy convention; Vite is updated to 7.3.7. Migration guides were checked and production builds verified. The root and extension npm audits report zero vulnerabilities. The backend audit reports five low-severity entries in the Webflow SDK's elliptic dependency chain; the current SDK 3.3.4 has no patched release for that chain. There are no remaining moderate/high/critical npm findings. Extension packaging writes the standard ZIP (built assets plus webflow.json) without adding the unrelated Webflow Cloud CLI dependency tree.
Testing
Webflow setup after deployment
In the Simple Analytics app at https://webflow.com/dashboard/workspace/simple-analytics-workspace/app-development:
https://webflow.simpleanalytics.com/api/auth/callback.https://webflow.simpleanalytics.com/api/auth/authorize(this sets OAuth state before redirecting to Webflow).webflow-extension/bundle.zipfrom the successful main workflow, test on a Webflow site, then submit for Marketplace review.The repository also needs access to the organization
DEPLOY_TOKENsecret used by the shared deployment workflow. Broker access cannot enumerate Actions secrets (HTTP 403), so that access has not been confirmed.Checklist