Phase Status
Completed in this pass
- Hugo marketing theme implemented with GooseHub visual language
- Light and dark mode support via CSS variables + persistent toggle
- Public pages added: home, pricing, FAQ, terms, privacy, provisioning success
- Pricing content is data-driven via
data/pricing.toml
- Hosted plan forms post to a checkout API endpoint
- Provisioning API scaffold added under
services/provisioning-api
- Stripe checkout + webhook handlers wired with env-driven configuration
- Provisioning status endpoint added
- Account page added with Stripe billing portal entry
- Docs page linked in site navigation
- Stripe webhook handler expanded for subscription lifecycle events
- Basic webhook idempotency guard added
- Export-by-email scaffold added for cancellation/lapse flows
- Backup scheduler scaffold added for nightly backup jobs
- Postgres-backed persistent store added for tenants/provisioning/exports/webhook events
- Local Postgres docker-compose and Makefile workflow added for easier testing
- Magic-link customer account auth flow added with encrypted account tables
- Microsoft SMTP-compatible mailer configuration scaffolded
- Admin seed script and endpoint tests added for auth/account flow
- Development auth debug endpoint added
- Customer portal moved to dedicated Node.js account subdomain routes (
/, /overview, /billing, /exports, /security)
- Customer portal route pages now load route-specific live account/billing/export/security data
- Tenant activity and account audit event storage added for account timeline visibility
- Export delivery now triggers GooseHub tenant
/api/internal/exports and emails tenant-hosted signed download links
Not completed yet
- Subscription lifecycle automation (renewal failure, suspend, cancel)
- Real email provider wiring for exports
- Customer-facing account dashboard data view