Where your engagement data should live, and how to defend the answer
Findings are the most sensitive artefact a consultancy produces. A practical look at custody, residency and what a client is really asking when they ask where their report is stored.
A penetration testing report is an inventory of the fastest ways into a client’s business, written by experts, in order of exploitability. Very few documents your client owns are worth more to an attacker. It is worth being deliberate about where that document lives between the day you write it and the day they read it.
The question behind the question
When a client asks where their data is stored, they are almost never asking for a city. They are asking three things at once: who could read this if they wanted to, what happens if that party is compromised, and can we prove any of it to our own regulator. A city name answers none of them, which is why "hosted in the EU" so often produces a follow-up email rather than a signature.
Answer the three directly instead. Name who holds custody. Name what would have to be compromised for a third party to read a finding. Name the artefact you can hand an auditor. If your answer to any of those is "the vendor says so", you have inherited their risk posture and you will be defending it in your own client’s procurement review.
Custody is not the same as location
Two arrangements can both put data in London and be very different. In the first, a vendor holds your findings in a database they administer, in a London region, alongside every other customer’s. In the second, the database is in your own cloud account, in London, and the vendor has no standing route into it. The pin on the map is identical. The set of people who could read the report is not.
Custody is the question that actually determines your exposure, and it is the one a shared-tenancy platform cannot answer in your favour, because the honest answer involves their staff, their access reviews and their incident history rather than yours.
A useful test: if the vendor went out of business on Friday, could you still open a report on Monday without asking anyone? If not, they have custody and you have a dependency.
Residency, and when it genuinely matters
Data residency is over-invoked and under-specified in this industry. It matters concretely in a few situations, and being able to tell them apart saves a lot of argument.
- The client is a public body, or supplies one, and its own contract fixes a jurisdiction it can process in.
- The engagement scope includes systems holding special-category personal data, where a transfer mechanism has to be named rather than assumed.
- The client operates under a sector rule, common in finance and health, that constrains where records of a security assessment can sit.
- The client is in a jurisdiction with a data-localisation statute, in which case this is settled law rather than a preference.
Outside those, residency is usually a proxy for the custody question above. Clients ask it because it is the question they have a word for. Answering the real one tends to end the thread.
What to write into your own contracts
Whatever you decide, put it in the engagement letter rather than leaving it to be discovered during an incident. The clauses worth having are short:
- Where the report and its evidence are stored, named as an account and a region rather than a brand.
- Who at your firm can read it, and how that is enforced rather than promised.
- How long you retain it after delivery, and what the client can require you to destroy.
- What happens to it if the client leaves, and how quickly.
- Which sub-processors touch it, including any AI provider, and under whose account.
That last one has become the sharp edge. A firm that has quietly routed client findings through a vendor’s AI account has added a sub-processor to every engagement it has run since, usually without telling anyone, and often without being able to say what the retention terms are.
A short checklist before you answer a client
| Ask yourself | |
|---|---|
| Who holds the credentials to the database? | If it is not you, say so plainly |
| Could the vendor read a finding if compelled? | The answer is architectural, not contractual |
| Is the region a choice you made? | Or the default of whoever you signed with |
| What is logged when the vendor touches it? | And can you read that log yourself |
| Where does AI-generated text come from? | Name the account, not just the model |
| If you cancel, what happens on day one? | Export window, or nothing to export |
None of this requires you to run your own infrastructure. It requires you to know which questions have architectural answers and which have only promises, and to be honest with your client about which is which. That distinction is most of what buying trust looks like in this market.
Also worth reading
Answering a client security questionnaire about your own tooling
Consultancies increasingly get assessed by the people hiring them. What the questions are actually probing, and how to answer without either overclaiming or losing the deal.
OperationsSending client email from your own domain, properly
SPF, DKIM and DMARC for a consultancy running a client portal. Why platform email lands in junk, what actually has to be aligned, and the order to do it in.
AIRunning AI report writing on your own hardware
Local inference for finding write-ups and executive summaries: what it is genuinely good at, what it is not, the hardware that actually matters, and how to keep the output defensible.