Secrets have one owner.
Use separately restricted native app credentials and keep privileged service credentials on a backend. Do not move secrets into shared assemblies during extraction.
A shared .NET contract extracting business identity and commands from legacy bindings before independent Android and iOS successor selection.
The canonical file manifest is also the archive contract. Common evidence, environment, manifest, and acceptance files accompany platform-specific source.
README.mdSetup and first-success boundarySTARTER_MANIFEST.jsonMachine-readable project scope.env.exampleBlank non-secret configurationEVIDENCE.mdSource and selection boundaryACCEPTANCE.mdSuccess and hostile-path proofMapplsMigration.csprojPortable contract buildMapplsFeature.csBinding-independent contractMIGRATION.mdCharacterization and replacement sequenceUse separately restricted native app credentials and keep privileged service credentials on a backend. Do not move secrets into shared assemblies during extraction.
No public repository in the snapshot provides a current Xamarin successor. Obtain the existing binding/source and target-platform contract from Mappls and use the migration principles before implementation.
This platform requires an entitled or company-selected distribution before live binding.
Shared tests prove equivalent place identity and errors while no shared state retains a native view, context, delegate, or credential.
A blocked, missing, or unentitled provider produces a useful explicit failure rather than a blank surface or fabricated result.
No server credential, bearer value, precise private fixture, or provider response body appears in client bundles, logs, screenshots, or test artifacts.
Resources, listeners, sessions, processes, or requests stop cleanly when the owning screen, request, or application ends.
Support posture is documented
Both native builds are reproducible
Shared code owns no native resources
Journey parity determines migration