Come back to your signed contract any time

Once signed, the same URL renders a read-only copy with the customer's own ink instead of the signing form — no bounce, no double-signing.

What it is

When customer_signed_at is set, the page swaps the sign block for a read-only state: the executed signatures render inside the document, and the footer either confirms full execution or reassures that the builder is finalising. The signing form is never re-presented.

Also called: review my agreement later · read the contract again · already signed

See it
Come back to your signed contract any time
Prepared for
Sutter Kline
1140 Ridge Line Rd · Fair Play
Shell package$33,034
Concrete & site$9,590
Doors & windows$6,394
Trim & finish$4,262
Total
$53,280
Signature
The read-only footer state with the green check chip and 'This agreement is fully signed.' contract/page.tsx signed branch. Sample data — no customer information appears here.
How it works
  1. 1The render branch switches on contract.customer_signed_at.
  2. 2Fully executed → 'This agreement is fully signed.' plus a pointer to Print / Save PDF.
  3. 3Customer-signed only → 'Your signature is recorded' with the signed date and a note that the dashboard unlocks once it's fully signed.
  4. 4Per-section initials render read-only with the captured images.
Why we built it

This replaced a redirect, and the comment says why: 'we used to redirect to /client/[id] here when the contract was already signed, to prevent double-signing during the initial flow. That broke the "review my agreement later" path — the customer would tap "Project Agreement" on their dashboard and bounce back instantly.'

The problem
  • A redirect that made the signed agreement unreachable
  • Customers asking the builder to re-send a copy
Sound familiar?
What you get
One permanent URL for the agreement, before and after signing
No risk of a second signature being captured
Customer self-serves their own copy

See it on your own jobs

Twenty minutes, your numbers, no slide deck. We’ll build one of your real buildings in front of you and send you the estimate link at the end — yours to keep either way.

or keep browsing features →