# Verify the migration You've imported your book. Before you point your app at Crossdeck, prove it landed — the same "verify in the middle" discipline from Get started, now at migration scale. Source: https://cross-deck.com/university/verify-the-migration/ Verified Crossdeck University lesson — prose plus real, runnable code. ## Prove it before you depend on it Your old system is still serving access right now, which means this is the safest possible moment to check Crossdeck's work — a mistake here costs you nothing, because nothing customer-facing reads from Crossdeck yet. So you verify in the middle: confirm the mapping is right while the old gate still holds, then flip. Skipping this and cutting over blind is the one way to turn a smooth migration into an incident. ## Spot-check, then read the migration counts Two checks, and you've already learned the tool for the first: ## Conflicts need a human, not more time The verification tracks the migration to completion, but it deliberately stops waiting once only conflicts remain — because a conflict won't resolve itself with patience. Auto-link can't fuse a genuine identity conflict (two signals that might be two people), so it surfaces them as a queue for you to decide, exactly the moat you met in Resolve a conflict. Clear that queue — your call — and confirm the unlinked count is what you expect (often Apple and Google subscribers, who have no bulk history and will fill in live). Then you cut over. "Cutting over" is just rewiring your app to read access from Crossdeck — the isEntitled / useEntitlement checks from Gate your features — instead of your old system. Because you verified first, the flip is a formality. ## Verified, cut over, done Spot-checks pass, conflicts cleared, unlinked count understood — now flip your app to read from Crossdeck. Your customers never notice a thing, which is exactly the point. That's the migration, and the end of the build path through Crossdeck. linked · conflicts cleared Spot-checks resolve correctly, the conflict queue is empty, unlinked are the expected mobile subscribers — safe to read from Crossdeck.