Fraher Digital

Work · Built in-house · Minutes, not days

The week between yes and started

A client says yes on a call, and then nothing happens for three or four days while a contract is drafted, printed, signed and scanned. That gap is where second thoughts live. We built the thing that closes it.

ON SCREEN Agree AT SIGNATURE Fingerprint of what they read THE RECORD Name, time, device and that fingerprint, kept together Template edited later New version No effect on what was signed
The fingerprint is taken from the page as shown, at the moment the name is typed. A system that hashes its own template instead proves nothing once the template moves.

Define

Nobody was doing anything wrong. The process was simply slower than the decision had been. A client agrees on a Tuesday, a contract goes out as a PDF on Wednesday, it is printed and signed and scanned on Friday, and the work starts the following week.

The obvious reading is that the contract is the problem. It is not. The problem is the four days, and most of those days are spent on paper handling rather than on anybody thinking about the terms.

Evaluate

Three decisions did the real work.

The record has to prove what the signer actually read. A system that hashes its own template proves nothing: edit the template later and the record quietly changes meaning. The fingerprint is taken from what was on the screen at the moment the name was typed, so editing the wording afterwards can't alter what an existing signature proves.

Every email has to say whether it arrived. This was learned the hard way and is covered below.

It can't live inside the website. The main site deploys with a command that removes anything on the server not present in the source tree. A database of signed agreements in that directory would have been destroyed by the next routine deploy, on an ordinary Tuesday, with no warning.

Execute

An agreement is created in one short form and the client gets a link of their own. The page opens with a welcome rather than a contract: the deal in six plain-English lines, the full terms folded underneath, and a box for their name. Both sides have a copy within seconds of agreement.

Signing records the name typed, the time in UTC, the address and browser it came from, and a fingerprint of the exact wording shown. Under the Electronic Communications Act 2000 that is a valid signature for a services agreement.

Testing is the part most write-ups leave out, so here it is. The first version recorded nothing about the two copies sent on signature. When one went missing there was no way to tell whether it had failed, been rejected, or never been attempted at all. Every send now writes its outcome and its provider message ID into the audit trail. A second pass found the signature block rendering twice in the HTML version of the email, and a third found a stray byte that broke the page encoding, introduced by a character sequence the language reads as an escape code.

Deliver

It runs in production and issues every agreement the practice sends. Nothing is rented, no third party holds the records, and the signed documents sit on infrastructure we control.

What it does not do is chase. A client who opens the link, reads it and then gets distracted is still a job for a person. The system will tell you that is what happened, and that is all it will do about it.

Client

Fraher Digital. Named with permission.

Talk about similar work All work