Skip to main content
The pivot is additive:
  • Existing unversioned routes and the older private /v1/auth and /v1/projects routes remain registered.
  • Embedded button script URLs and legacy slugs stay valid.
  • Existing records receive UUIDs without changing primary keys.
  • Existing lists default to content_kind: listing.
  • Existing subscriber rows are retained; programmatic subscriptions add confirmation metadata.
  • Existing browser form submissions and integrations are unchanged; verified agent form requests use a separate table, inbox route, and feature flag.
  • button.contact/{slug} remains available when a custom domain is attached.
  • New public and protocol routes are ordered before legacy catch-all rendering.
All new product verticals default off except the API v1 foundation and public discovery. Roll back behavior by disabling a flag before rolling back code. Additive tables may remain safely in place while traffic is returned to legacy paths.