The engagement is not finished when the dashboard works. It is finished when the client owns everything, I hold nothing, and both of us have signed that sentence.
Delivered: [DATE] · Handover completed: [DATE] Client contact: [NAME], [ROLE]
1. Credentials rotated
- ☐Every secret used by the project rotated to a value I have never seen
- ☐Rotation done by the client where the platform allows it
- ☐Rotated values are in the client's vault, not in a message to me
- ☐Old values invalidated, not just replaced
| Secret | Where it lives | Rotated by | Date |
|---|---|---|---|
2. My access removed
- ☐Every open row in
access-register.mdclosed with a revoked date - ☐App registrations and service accounts either deleted or transferred to the client; service-account keys revoked, not merely rotated
- ☐My account removed from their tenant, repo, file share, hosting
- ☐SSH keys removed from any host (self-hosted only)
- ☐Verified by trying — I attempted to log in to each and was refused
| System | Removed by | Date | I confirmed lock-out |
|---|---|---|---|
3. Client data deleted
- ☐Working copies deleted from my machine — all client folders
- ☐Deliverables containing real data deleted from my machine
- ☐Any copy in my cloud storage, email attachments and chat threads deleted
- ☐Deleted from my backups — which backups, and when they roll off:
_____ - ☐Trash emptied
- ☐Anything retained is listed below with a reason and an end date
| Retained | Why | Where | Delete by |
|---|---|---|---|
| e.g. invoices, contract | statutory accounting retention | EU accounting tool |
Nothing operational is retained by default. If I want to keep something for my portfolio it is synthetic or fully anonymised, and I ask first.
4. Docs delivered
- ☐Source code in a repo the client owns, with history
- ☐README: what it does, how to run it, how to change the common things
- ☐Runbook: the schedule, what each alert means, what to do when one fires
- ☐Data-flow diagram and access register, final versions
- ☐Pinned dependency versions and where to watch for advisories
- ☐Restore instructions, and the date of the last restore test
- ☐Named owner from here for patching, monitoring and access reviews:
_____ - ☐Walked through live with the person who will own it — not just emailed
5. Sign-off
Both lines get signed. The client's signature is what makes "I hold no access and no data" a shared fact rather than my own claim.
| Name | Date | |
|---|---|---|
| Delivered and access surrendered by | ||
| Received and confirmed by (client) |
Anything outstanding, with an owner and a date:
| Item | Owner | Due |
|---|---|---|