Dispatch or scheduling exports
- What it answers
- Where time goes, and where the board is stretched
- What we do not need
- Private notes unrelated to jobs
How we handle your data
You are sending dispatch exports, CRM records, job-costing data and financial files. This page explains where that data goes, who can see it, how client records are separated, and what never enters the benchmark pool.
These are the operational details. The privacy notice is the legal document.
Follow the data through the auditWithin the client engagement
A conceptual map of the practitioner-led audit. This is not a live connection, automatic upload or a record of client data.
Agreed exports, not bank logins. Ask what to remove before sending a file.
What we ask for
If a file contains more than we asked for, say so before you send it and we will tell you what to strip. We would rather receive less.
Why all four
A busy dispatch board and a thin month in the books can both be accurate. Comparing them helps explain why the work did not turn into margin.
We ask for records covering a period rather than a single snapshot. Several months help distinguish seasonal changes from recurring patterns.
Explore the work from source files to reviewed findings. This illustrates the audit method and the checks the team performs; it does not represent an automated integration.
We agree which files and time period are needed before you send anything, including what to leave out. Send the smallest set of files that answers the audit questions.
Illustrative working record
An intake checklist
Before interpreting the numbers, we check that the files describe the same business at a comparable level of detail. We map the source fields and check that the records are complete.
Illustrative working record
From source fields to audit fields
Put operational records beside costs and invoices. Where the accounts disagree, the difference needs an explanation before it becomes a finding.
Illustrative working record
One job, viewed across sources
Read booking, dispatch, pricing and retention together. A finding should connect a source to a metric and explain why it deserves attention.
Illustrative working record
The anatomy of a finding
The team reviews the extraction, benchmark comparison and financial interpretation before giving advice to the owner.
Illustrative working record
A review checklist
The result is an explanation your team can act on: where the gaps are, what supports the numbers and what to address first.
Illustrative working record
What reaches the owner
Who can see it
Organisation-scoped access
| Identity | Scope of access |
|---|---|
| Operator | The organisations they are assigned to. |
| Client | Their own company, and nothing else. |
| No identity | Nothing. An anonymous request reads no client work. |
A re-run adds a new audit-artifact version and leaves the previous one in place.
Tables holding client work are scoped to one organisation. The database enforces the access rules on the tables themselves. Operators see the organisations they are assigned to; clients see only their own company. Requests without an identity read nothing.
An isolation suite checks this with real operator, client and anonymous sessions, counting what each can read. It runs on every check. The public site has no permission to read the tables that hold audit artifacts, so a request is refused rather than returning an empty result.
Audit artifacts are append-only. A re-run adds a version instead of overwriting the previous one. Nothing that has been recorded about your business can be quietly rewritten, including by us.
What is walled off from what
Separate organisation boundaries
Organisation A
Organisation B
Aggregate records
Only de-identified aggregates from a delivered audit may enter, and only if you agree. Your files and findings stay out.
The organisation boundary applies from either side. The benchmark pool is not a shared store of client work.
The separation between clients applies in both directions. The benchmark pool is separate again, with a structure that can hold only aggregates.
What never enters the benchmark
Excluded records and eligible aggregates
De-identified aggregates may enter only if you agree to it.
Outside the benchmark
Eligible only under the benchmark rules
The estimator follows the same rule: its record has no email, contact or company.
The benchmark contains percentile bands grouped by trade, revenue band and region. Its table has no organisation or client column and no link to a company, contact or engagement. These restrictions are built into the table structure, and a build check fails if any of those fields appear.
The estimator on the home page follows the same rule. It records that the tool ran and what it returned, without an email, contact or company on the record.
De-identified aggregates from a delivered audit may enter only if you agree. A band that could only have come from one business is not eligible. The full rules are on the benchmark page.
Language models
The record of a model call
Which steps use a model is still being settled. This page will name them when it is.
Input
The required context from your own records and interviews, not your files wholesale.
Purpose
The model does not produce the findings and does not invent numbers.
The full call record stays inside your tenant boundary and is readable by the delivery team, not by a public endpoint.
We use models to summarise and help find bottlenecks. They do not produce findings or invent numbers. Their input comes from your CRM, operations software and interviews with your team. Which steps use a model is still being settled; this page will name them when that is decided. Three providers are configured: Anthropic, Google and OpenAI.
Only the input needed for a step goes to the model, not your files wholesale. Every call is recorded in full. The record includes the system prompt, assembled context and returned text exactly as they were sent or received, plus the model name and cost.
The record stays inside your tenant boundary and is readable only by the delivery team. No public endpoint can reach it; the isolation suite tests that on every check. If you want to know what was sent to a model about your business, we can refer to the exact record.
How long we keep it
The retention policy
01 / The starting point
The retention period starts here.
02 / The comparison window
Your exports, audit artifacts and model-call records are held for a year after close.
03 / At the end
Write to us if you want removal sooner.
Exception: de-identified benchmark aggregates are retained because they carry no link back to your business.
We keep your exports, the artifacts built from them and every model-call record for a year after the engagement closes, then remove them. That gives us a record to compare against if you have a re-audit twelve months later.
Write to us if you want earlier removal. De-identified benchmark aggregates are the exception: we keep them because they carry no link back to your business.
Where it lives, and who else touches it
Hosting and model providers
Client-data store
Hosted by Supabase · US East · Northern Virginia
Configured model providers
Which audit steps use a model is still being settled.
The page changes when the list of providers that could see client figures changes.
Client data is held in one Postgres database hosted by Supabase in the US East region, Northern Virginia. It is not copied to a second store. No analytics or session-recording tools run on the surfaces that hold it.
The model providers named above are the only third parties that see audit material, and they receive only the input needed for a given step. We update this page whenever that list changes, including a hosting provider, error monitor or any other service that could see a client's figures.
If you are unsure whether a file contains more than we need, send the question rather than the file.