Your client gets this every Friday.
An owner's brief in eight sections, every figure carrying the records behind it. A private portal on one revocable link. And a forty-second film.
Eight sections. Every figure carries its records.
Progress against plan, the crew curve, safety, quality, the look-ahead with the points needing your attendance, owner-furnished equipment at risk, risks, decisions. All eight are computed from the records. None of them is typed.
The AI drafts prose only under a fact. A paragraph carrying a number the section does not own is never published.
The desk reads the record ids. That is what makes a brief auditable a year later, and what a PM clicks through to.
The portal reads how many records there are. A count is what makes a figure credible — "29%, from 12 activities and 31 approved quantities". The ids themselves are a map of an internal register, and a link gets forwarded. That difference is the curation boundary, and it is a function in the codebase rather than a habit on a page.
Sent on their clock. Refused if it is not approved.
One path for the desk and the clock
Scheduled sends run on each project's own clock, through the same path the desk presses. An unapproved brief is never sent — not by a person, not by the timer.
A stub that admits it is a stub
One hand-written SMTP adapter behind a key — with your accounts. With no key the message is written to the server's outbox as a real .eml file, and the screen says so. The mail carries the summary; the sections stay behind the token.
When it went, and when it was opened
By send and by pixel, first open only. A receipt is a fact about a document — never a score for a person.
On the numbers the client chose
Open critical snags, hold points past their date, unserved notices, owner-furnished items past need. Once per breach, not once per pass — and never inside the site's quiet hours.
Your name, your accent, still legible
The accent is the name of a design token, never a hex. A pasted hex is refused with the reason: the token is guaranteed to pass contrast in both themes and in print.
Decisions dated on both ends.
One revocable link goes out. What comes back is decisions.
- Asked Tuesday, answered Friday — both dates on the row.
- It files itself into My Work; every PM is notified.
- Revoking the link revokes something: the sections live behind it, never in the mail.
Three things the client does here, not three things you do for them.
Signed by the contact, on the portal
A time-and-materials day ticket signed by the client's own act — not by someone in the office typing their name into a box.
Issued by a PM, accepted by the client
Twelve stated sections assembled from the asset dossier. A PM issues it; the client accepts it on the portal, and the archive downloads through their own token.
COBie, the CMMS, and the defects clock
COBie in the eight BS 1192-4 sheets and CMMS exports in the Maximo and SAP shapes, both as snapshots. The warranty and defects-liability register is shown to the owner.
Two dates, one position.
Same spot, dated each time; any two dates side by side.
- One capture per position per day, dated and kept.
Redaction is a derivative. The capture never moves.
A data-centre owner's security team asks this question first.
- Annotation and redaction write new files; the original is re-hashed to prove it.
- The portal is served the redacted file wherever one exists.
- On a project that publishes redacted photographs only, a frame without one is withheld — at the file handle, not just in the portal read.
Nothing here is self-reported.
Enforced in code, not editorial judgement.
Only verified records cross
Photograph, checklist, sign-off — or it never crosses.
Crew appear as counts
The one name on the glass: the brief's approver.
Money stays on your side
Valuations, rates and retention never cross.
Comments in three channels; the portal shows one
Any record can carry threads — internal, client and sub — with mentions, resolve, and a fifteen-minute edit window for the author. The portal shows the client channel and nothing else, and the contractor's name stands in for a person's.
What happened to a record, and what it said before
Every record carries its own timeline: the audit log with previous values, folded together with the record's lifecycle stamps. The client's copy keeps the verified and approved acts, and never a crew name.
Drafted by AI. Approved by a person. Then immutable.
Facts from the verified record, words drafted by AI and labelled, approved by a PM.
- Approved is immutable — recompose is refused.
- The approver is the one person the client sees named.
- Rendered locally into a forty-second film.
Marked as AI, because it is.
- The portal discloses the capture route on the record — "4 of 4 photos captured in-app".
- Every brief names the model that drafted it and the person who edited it.
- The Friday film carries machine-readable AI-generated metadata and a manifest.
The EU AI Act's Article 50 transparency obligation came into force on 2 August 2026, and the exemption it allows is human editorial review — which is exactly what an approved brief is. That is a legal fact and a difference, not a boast.
As the client sees it.
STAGE LIVE — OPEN THE CLIENT'S OWN VIEW →
STAGE OFFLINE — npm run demo LIGHTS THIS LINK.
Competitors share claims. Olab shares proof.