Ownership Checklist: what an SMB must be able to walk away with at agency separation

The practical deliverable from Research brief: Owning your stack — why agency-managed platforms cost more than they save (piece 4 of 15). At agency separation, an SMB should be able to walk away with all of the following, with no agency cooperation required:

Domain & DNS

Email

Code

  • Git repository hosted under business's own account (GitHub Org, GitLab Group) — not agency's
  • Business has owner-level access to the repo
  • README documents build/deploy steps
  • No private/proprietary agency npm or Composer dependencies without source access
  • License terms for any agency-developed code clearly assign IP to the business

Content

Infrastructure

  • Hosting account billed to the business (not the agency)
  • SSH / admin credentials transferable
  • Backup procedure runs to a location the business controls (S3 with business's keys, not agency's)

Analytics & Search

  • GA4 property under business's Google account (with agency as delegated user, not the other way around)
  • Google Search Console verified by DNS TXT or HTML file controlled by the business — owner = business
  • Google Business Profile owned by the business email, not the agency
  • Meta Business Manager assets (pixel, ad account) owned by the business

Customer relationships

  • CRM / email-list / customer database export under business control
  • Payment processor (Stripe, Shopify Payments, etc.) account in business's name
  • Reviews on platforms tied to a business-controlled email

Red flags — you're already hostage if:

  • Your domain WHOIS shows the agency name as Registrant
  • You can't log into Google Search Console without the agency
  • Your hosting bill is paid by the agency
  • Your site uses an agency-proprietary CMS with no documented export
  • You can't get a database dump on request
  • Your email is on the agency's Workspace tenant