Ownership and export
What leaves SodaFlex, what keeps working, and what does not belong in public output.
This capability is implemented for the scope described here. Production acceptance may still be named explicitly.
The ownership test
Leaving must be a supported workflow. A customer should be able to take meaningful editable source and an independently functioning website without negotiating a custom migration project.
Export shape
The precise schema is versioned. Exported references use stable portable identities and ordinary paths rather than signed Active Storage URLs.
my-business.zip
├── site.json
├── pages/*.json
├── theme.json
├── assets/
└── dist/
├── index.html
├── about/index.html
└── assets/
What remains functional
- Semantic pages, navigation, branding, images, metadata, sitemap, and robots output.
- Progressively enhanced public behavior included in the build.
- External links and replaceable form endpoints where configured.
What is not exported publicly
- Passwords, sessions, provider credentials, or secret keys.
- Private enquiries and unrelated account data.
- Incidental Rails IDs or Active Storage implementation details.
- A promise that optional hosted services continue after they are disconnected.
Verify the exit
A successful export is served from an ordinary static server and checked without Rails, PostgreSQL, or an authenticated SodaFlex API. The repository automates this architectural test; real customer re-hosting remains part of operational proof.