Hosting and cloud architecture
Hosting roles
| Plane | Provider | Responsibility |
|---|---|---|
| Build and delivery | Cloudflare Pages | Creates and serves the static application through the global edge network |
| Client runtime | User browser | Executes the application, holds the configured session, and calls backend services |
| Managed backend | Supabase | Routes authentication, data, realtime, storage, and serverless requests |
| Database | Supabase | Operates the managed PostgreSQL system of record |
| Object storage | Supabase | Stores customer, policy, quote, and operational evidence |
| Observability | Sentry | Receives configured release and runtime telemetry |
Request routing
- Cloudflare terminates the public HTTPS connection and serves the approved static release.
- The browser restores or creates an authentication session.
- Backend requests are sent over TLS to the managed gateway.
- The gateway routes requests to the appropriate managed service.
- Grants, row-level security, trusted operation checks, and storage policies evaluate access.
- Approved serverless workflows contact external providers and persist authorised output.
Availability and recovery boundaries
- Static application rollback and data recovery are separate operations.
- Reverting a frontend release does not revert database records, objects, backend functions, configuration, or secrets.
- Provider backup entitlements do not by themselves prove that an application restore has been tested.
- Account-level evidence is required to confirm production domains, deployment controls, web application firewall settings, access roles, and rollback exercises.
Deployment control sequence
| Phase | Technical operation | Security and integrity decision | Retained evidence |
|---|---|---|---|
| Source approval | A reviewed source revision is selected for release | Review findings, dependency risk, and unresolved exceptions are accepted before build | Revision, reviewers, checks, and approval |
| Build | Cloudflare installs dependencies and produces browser assets | Build configuration supplies public values only; privileged values remain outside browser output | Build result, dependency resolution, and build logs |
| Publish | The immutable output becomes a versioned Pages deployment | The candidate is not production until the production alias is assigned | Deployment identifier and publication time |
| Smoke validation | The public route, static assets, authentication entry point, and managed-service reachability are checked | A release with missing assets, broken routing, or invalid configuration is rejected | Validation result and operator |
| Observe | Error rate, failed requests, authentication behavior, and critical workflow signals are reviewed | Material regression initiates incident handling or rollback | Monitoring window and decision |
| Rollback | The production alias is moved to a previous successful deployment | Frontend rollback is used only for browser-release defects; it does not reverse database state | Selected prior deployment, reason, and validation |
Runtime dependency behavior
| Dependency | Normal path | Failure effect | Application treatment |
|---|---|---|---|
| Cloudflare Pages | Delivers HTML, JavaScript, styles, images, and route fallback | New or uncached sessions cannot load the application; already loaded sessions continue until refresh | Display provider-level failure, avoid claiming backend loss, and restore a known-good deployment |
| Supabase Auth | Issues, refreshes, and validates signed sessions | New authentication and expired-session refresh fail | Fail closed for protected functions and return the user to authentication after recovery |
| Data API and PostgreSQL | Reads and commits operational state | Data-backed routes fail or become read-only depending on the workflow | Do not fabricate success; preserve safe local input and retry only idempotent operations |
| Object storage | Uploads and retrieves policy or customer evidence | Document-dependent workflows cannot complete | Retain metadata state, expose an explicit document error, and avoid marking verification complete |
| Trusted functions | Executes privileged, scheduled, and provider-facing operations | Individual workflows fail while static navigation remains available | Use correlation evidence and bounded retry; reconcile external side effects before retrying |
| External providers | Performs communications, payment, quote, or automation activity | Provider-specific operations remain pending or fail | Persist provider state separately from business completion and reconcile asynchronously |
Shared responsibility
| Control area | SaaS provider | Cloudflare | Supabase |
|---|---|---|---|
| Application and dependencies | Source review, dependency selection, release approval | — | — |
| Static delivery | Domain, header, access, and rollback configuration | Operates Pages and edge delivery | — |
| Browser security | Application logic, session handling, requested security headers | Enforces configured edge controls | Issues and validates sessions |
| Data model and access | Schema, grants, policies, trusted operations, retention decisions | — | Operates the managed platform |
| Monitoring and incidents | Alerting, triage, escalation, and customer communication | Platform evidence and service status | Platform evidence and service status |
Evidence basis and limitations
This page is based on the reviewed application architecture, a read-only managed-backend inventory, provider documentation, and the supplied production-hosting context. It excludes account names, project identifiers, domains, environment variables, internal release details, and credentials.