Buying a micro-SaaS? Ask for a working handover.
Check code, accounts, deploys, backups and recurring costs before a micro-SaaS handover. Use a practical worksheet to record evidence and unresolved risks.
Sep 24, 2026 · 8 min read
Field Notes from Thunkle, a studio that takes AI-built apps from prototype to secure, production-ready software.
Buying a micro-SaaS should let you deploy it, recover its data, and run its essential services under the agreed ownership. Before the handover, ask for evidence of those operations. A repository invitation proves only one part of that work.
I review code and security through Thunkle. This checklist covers the technical questions to settle when taking over a product. It does not assess the deal's valuation, legal rights, tax treatment or financial claims. Those need their own checks and advisers.
Build the asset list around what the app needs to do
Start with a short walkthrough: a customer signs up, completes the main workflow, pays and comes back later. List each service involved. Then cover what happens without the customer present: scheduled jobs, billing updates, email, backups and alerts.
For each dependency, record the owning account, who can administer it, how it will transfer and what remains dependent on the seller. Do not assume one platform's transfer moves connected accounts on other platforms.
GitHub, for example, says repository webhooks, secrets and deploy keys remain associated after a repository transfer. It also says the original owner becomes a collaborator. That makes an access review part of handover, not something the repository rename proves complete. GitHub repository transfer documentation.
The technical handover acceptance sheet
Copy this table and add an owner, evidence link and review date to each row. These are proposed acceptance checks, not results from a completed acquisition.
| Asset or operation | Evidence to request | Unresolved issue to record |
|---|---|---|
| Source and build | A named revision builds from a clean environment using documented dependencies | Missing private packages, local files or undocumented build steps. |
| Deployment | The receiving operator deploys that revision to an isolated environment | Deployment still requires the seller's laptop, account or unrecorded manual step. |
| Domain and routing | Control of registrar and DNS, documented records and a change plan | Transfer approval, renewal ownership or a shared account remains unresolved. |
| Database and files | An authorized restore rehearsal checks relationships and representative files | Missing objects, unusable encryption keys or an undocumented recovery step. |
| Authentication | Sign-in, recovery and relevant OAuth callbacks work in the test setup | User identities, provider ownership or redirect changes are unaccounted for. |
| Payments | Provider-approved ownership arrangements and a test of billing-to-entitlement behaviour | Recurring subscriptions or live account transfer depend on unconfirmed provider steps. |
| Jobs and integrations | A named owner can inspect and safely test scheduled and event-driven work | Duplicate workers, personal OAuth grants or callbacks still point to the old system. |
| Monitoring and support | The buyer receives an agreed test alert and can find the associated logs | The seller is still the only alert recipient or the only person who can diagnose a failure. |
| Access and credentials | A timed plan to establish buyer access, rotate secrets and retire unnecessary seller access | Shared credentials or early revocation could break production. |
| Dependencies and licences | An inventory of runtime services, private packages and licence documents | Transferability or permitted use needs confirmation from the provider or legal adviser. |
Mark a row verified only when its agreed test has been observed. Keep “not tested”, “blocked” and “not applicable” separate. An unresolved question is manageable when it has an owner and a plan; hiding it behind a completed checkbox is less useful.
Run one clean deployment before relying on the instructions
Have the receiving developer follow the documented process without relying on the seller's machine. Record the commit, runtime, dependency lockfile, environment-variable names and the deployment produced.
Keep real payment actions, messages and scheduled jobs disabled unless a safe test procedure has been agreed. Then run the product's essential flows with test identities. Include a denied action, such as a user trying to open a record belonging to a different workspace, alongside the successful customer path.
If the build fails, record the actual dependency instead of asking the seller to fix it quietly on their laptop. The purpose is to produce instructions the next operator can repeat.
For an app tied to a builder, this test may still use that builder's backend. Document the dependency rather than implying that possession of source code removes it. The platform migration worksheet is useful if the intended handover also includes a move to different infrastructure.
Ask for restore evidence, not just a backup setting
A useful restore record identifies the backup, destination, time taken, records checked and excluded systems. File attachments, identity providers and encryption material may need separate treatment.
Supabase's documentation states that its database backups do not contain objects stored through the Storage API. A successful database restore therefore does not demonstrate recovery of those files. Check the equivalent boundary for every provider the product uses. Supabase backup documentation.
Run the rehearsal in an authorized isolated environment. Protect customer data, block outbound side effects and agree how temporary copies will be deleted. If a rehearsal is not possible before handover, label recovery unverified and record the remaining work. Do not convert “backups enabled” into a tested recovery claim.
Put recurring costs beside their operational purpose
A low hosting invoice can omit services paid through a founder's personal account or a temporary credit. Build an inventory from the service accounts and billing records made available for review. This is an operational dependency check, not a financial audit or a valuation model.
| Service | Purpose | Account owner after handover | Current plan and included usage | Usage-based charges or limits | Credit expiry / renewal | Evidence date |
|---|---|---|---|---|---|---|
| Hosting | Web app and workers | To complete | To complete | To complete | To complete | To complete |
| Database and storage | Records, uploads and recovery | To complete | To complete | To complete | To complete | To complete |
| Payments, email and SMS | Revenue and communication flows | To complete | To complete | To complete | To complete | To complete |
| AI and external APIs | Product features | To complete | To complete | To complete | To complete | To complete |
| Monitoring and domains | Detection and routing | To complete | To complete | To complete | To complete | To complete |
Capture billing periods and currency separately when comparing invoices. Describe a traffic scenario before estimating future usage. Do not multiply a current invoice by a user-growth factor and present the result as a reliable forecast.
Finish with an operating handover
Agree who handles an incident during the transfer window, who removes unnecessary access and when, and what support is included afterwards. Ask the receiving operator to locate a failed job, follow a rollback procedure and identify the person to contact for a provider problem.
A concise final record can look like this:
Asset / workflow:
Receiving owner:
Test date and environment:
Evidence reference:
Status: verified / blocked / not tested / not applicable
Known limitation and practical consequence:
Next action, owner and deadline:
Accepted by:
The final record should explain what the buyer can operate and what remains unresolved. It need not be an elaborate document, but it should survive the last handover call.
If you need an independent developer to examine the code and the technical handover, ask about Thunkle's inherited-codebase review. I can scope the checks around the application and the decisions you need to make. Legal ownership, contractual transfer and financial due diligence remain separate work.
Know what needs fixing before you ship.
Get a scoped developer review, evidence-backed findings and remediation guidance, with a free re-review of agreed fixes. Fix implementation is quoted separately.
