# How it works A migration is a loop over pages. Understanding the loop explains almost everything people find surprising, including why the pages-checked number dwarfs the pages-changed number. It also explains the safety model: every changed page becomes a new version, and nothing is ever deleted. --- ## In this section [The migration lifecycleWhat actually happens between pressing Start migration and reading the results.](https://help.gocapable.com/migration/the-migration-lifecycle.html)[How pages are foundSearch decides the scope, which explains the counts, the ordering, and the pages that quietly drop out.](https://help.gocapable.com/migration/how-pages-are-found.html)[How a page is rewrittenEvery changed page becomes a new version labelled "Migrated by Capable", and unchanged pages are left completely alone.](https://help.gocapable.com/migration/how-a-page-is-rewritten.html)[What is never touchedThe guarantees worth knowing before you run anything: what is created, what is read, and what is never deleted.](https://help.gocapable.com/migration/what-is-never-touched.html)[Permissions and the admin keyWho can run a migration, which pages it can reach, and what the admin key actually changes.](https://help.gocapable.com/migration/permissions-and-the-admin-key.html)[How long a migration takesWhat drives the clock, what the estimate is based on, and why the tab has to stay open.](https://help.gocapable.com/migration/how-long-a-migration-takes.html) --- ## Related [Using the migration assistantDriving it.](https://help.gocapable.com/migration/using-the-migration-assistant.html) [Repair and rollbackThe safety net in use.](https://help.gocapable.com/migration/repair-and-rollback.html) [ReferenceThe hard numbers.](https://help.gocapable.com/migration/reference.html) --- _A loop over pages. Everything else is tidying._