Release Surface Area
Flutter UI is often the easy part. Release is where platform work returns.
Surface Area By Target
| Target | Hidden work |
|---|---|
| Android | Signing, manifest, Gradle, app bundle, Play policy, Data safety, target SDK deadlines |
| iOS | Apple Developer Program, Xcode, Bundle ID, signing, capabilities, TestFlight, App Review |
| Web | Renderer, hosting path, caching, browser support, accessibility semantics, bundle size |
| Windows | Partner Center, MSIX/AppX, package identity, Store policies, version constraints |
| macOS | Apple signing/notarization/App Store path, entitlements, archive validation |
| Linux | Packaging route, snapcraft/LXD if following official Snap Store path, desktop metadata |
Release Planning Rule
Write a release checklist before the first feature touches a policy-sensitive API such as location, camera, health, finance, child data, notifications, background work, files, SMS, or payments.
Evidence Hierarchy
debug run < profile measurement < release build < install smoke < store/test-track smoke
Aim for the strongest evidence that matches the claim.
Gotcha: Store review can block a technically correct app. Privacy declarations, permissions, screenshots, and policy justification are product work.