How do I prove when I delivered work to a client?

Prove delivery time with timestamps you did not write: each step's saved result is fixed in its receipt at the moment it was saved, and the handover carries its own creation and decision times. Send the handover link as the delivery itself, and the when question answers itself from the record.

Last updated: 2026-10-17

Deadline disputes are lost in a predictable way: the freelancer's evidence is a sent-folder timestamp and a file's modified date, both trivially doubted, while the client's evidence is a memory. The repair is to make delivery an event inside a record neither side narrates. When work runs through a recording connection, each step is saved as it executes (AER-1 receipt, IETF Internet-draft-zambo-aer1-21), and the handover built from those steps carries its own times: created, updated as steps complete, and decided on by the client.

The delivery habit matters as much as the record. Send the handover link as the delivery, in a message that names the job and the deadline it meets. The client's opening of the link, their recorded acceptance, and the step times now form one timeline on one object. If a dispute comes, you do not assemble a chronology; you link one.

For work already delivered outside a record, be honest about the weaker set: message timestamps, file histories, platform logs. Gather them today into the job folder; they persuade less than a receipt and more than a recollection. Then change the default so the next deadline runs on records made at the time, which is the only kind of timestamp that cannot be argued into a screenshot contest.

Checklist: delivery-time proof

1. Work recorded as it runs: step save times fixed in receipts. 2. Handover built from the finished job before the deadline where possible. 3. Delivery message names the job, the deadline, and the handover link. 4. Client decision recorded on the handover, with its date. 5. Job folder holds: the delivery message, the handover link, the invoice. 6. For unrecorded work: export message and platform timestamps into the folder the same day. Test: could a stranger, given only the folder, state the delivery date without asking you? If not, a layer is missing.

Worked example

A public record carrying its own timeline: https://zambo.dev/handover/45434a17-4afc-486a-9646-e689bcee4297 shows a job whose steps and acceptance sit on one timestamped object. In a deadline argument, this is the artefact you link: not your account of Tuesday, but the record Tuesday left behind.

Frequently asked questions

Is a read receipt or email timestamp enough?

It proves a message was sent or opened, not what work it carried or when the work itself was completed. The step record proves the work's own timeline; the message then only has to prove the link was sent, which is the easy part.

The deadline passed while the client delayed approval. Who does the record help?

Both honest parties. The record separates your delivery time from their decision time, each with its own date, so a late approval cannot be rewritten as a late delivery.

Can timestamps in a receipt be faked after the fact?

A receipt commits to the saved result at save time and can be recomputed by a third party; backdating a step would require the record to have existed then. That is the difference between a timestamp inside a verifiable record and a date typed into a file.

By Brennan Zambo, founder of Zambo.

Last verified: 2026-10-17.

Deliver your next deadline inside a record: https://zambo.dev/demo/ .

Try a handover

A handover gives your client one proof link with verifiable receipts to review, then Accept or Flag.

try it: say 'use zambo to hand this over to <client>' in your ai

Add Zambo · Handover docs · Real public handover · AER-1