Governance
Governance decisions that are cheap on day one
Nobody books a governance workshop. It arrives later as a question from an auditor, a client security review or a privacy complaint. Four decisions cost close to nothing at the start and a great deal once there is data in the system.
Key takeaways
- Residency, retention, access and logging are close to free to decide before build and expensive to change afterwards.
- Retrofitting is costly because by then there is production data, so any change becomes a migration, a backfill and a legal conversation at once.
- Residency has to cover backups, logs and any managed service that might process data elsewhere, not just the primary database.
- Retention is a design input. A system built with no deletion path cannot acquire one cheaply.
- Decide what a future auditor will ask for while you still control what gets written down.
Nobody books a governance workshop. Governance arrives later, usually as a question: an auditor asking where the data is held, a client security questionnaire with forty items on it, a privacy complaint, or a board member asking what the AI tool everyone is using does with the information staff paste into it.
By then the answers are expensive. Not because the decisions are hard, but because there is production data in the system and every change has become a migration with a legal conversation attached.
Four decisions account for most of that pain. All four can be made in a half-day before a line of code is written, and all four cost close to nothing at that point.
Why retrofitting is the expensive part
On day one, each of these is a sentence in a design document. Somebody decides, somebody writes it down, and the build proceeds accordingly. The cost is an hour of attention.
Two years later the same decision is a different animal. There is live data, so changing where it sits is a migration. There are integrations, so changing who can read it means auditing every caller. There is history, so introducing a deletion rule means deciding what to do about everything already stored under no rule at all. And there are people relying on the current behaviour, so any change needs a communications plan.
| Decision | Cost on day one | Cost to retrofit |
|---|---|---|
| Residency: where data is stored and processed | A line in the landing zone design | A migration, including backups, logs and every managed service touching the data |
| Retention: how long each class of data is kept | A field and a scheduled job | A policy decision about years of existing records nobody classified |
| Access: who can see and change what | A role model with three or four roles in it | Unpicking permissions granted individually to solve one urgent problem each |
| Logging: what is recorded about each action | Structured events written as the code is written | Reconstructing history that was never captured, which is often impossible |
The bottom-right cell is the one worth reading twice. The other three are expensive. Logging is the one where the answer can simply be that the information does not exist, and no budget recovers it.
Residency: decide it for the backups and the logs too
AWS, Azure and Google Cloud all offer Australian regions, so the primary question is usually easy to answer. The part that catches people is everything around the primary store.
- Backups and snapshots, which are sometimes replicated to a second region by a default nobody chose.
- Logs and telemetry, which frequently leave the region through a monitoring product.
- Managed services that process rather than store, including transcription, translation, search and model inference.
- Support arrangements where a vendor's engineers can access data from wherever they are based.
The honest answer to "where is our data?" is a list, not a region name. Producing that list at design time takes an hour. Producing it during a client security review, under a deadline, takes a fortnight and finds surprises.
Retention: a deletion rule is a design input
Most systems are built to keep things. Deletion, where it exists at all, tends to be a manual act by an administrator rather than a rule the system runs.
That is a defensible choice as long as it is a choice. What is not defensible is discovering, seven years in, that you hold every document a client ever sent, that your privacy policy says you keep information only as long as necessary, and that nobody can define necessary for any of it.
The design-time version is simple. Name the classes of data the system will hold, put a retention period against each, and build the deletion path while you are building the storage path. It is a field and a scheduled job. Retrofitted, it becomes a policy exercise across records nobody ever classified.
Retention has a security dividend
Data you no longer hold cannot appear in a breach, cannot be requested under a subject access request, and cannot be misread by a system that has no business seeing it. Deleting on schedule is one of the few controls that reduces cost and risk at the same time.
Access: model the roles before there are exceptions
Access models do not usually fail at design. They fail one urgent request at a time. Someone needs to see one report, so they are granted a permission directly. It is the right call in the moment, it is never revisited, and eighteen months later the only accurate description of who can see what is the permissions table itself.
Three or four named roles agreed at the start, with a rule that access is granted by role rather than by person, prevents most of that. It also makes offboarding a single action instead of an investigation, which matters more than it sounds: the accounts that cause trouble are usually the ones belonging to people who have already left.
Logging: decide what a future auditor will ask for
The test for logging is not whether a developer could debug the system. It is whether you could reconstruct, months later, what happened to one record and why, in a form that satisfies somebody external.
- Who or what acted, including automated processes acting on nobody's behalf in particular.
- What changed, with the previous value, not just the new one.
- What information the decision was based on, which is the part that matters most for anything automated.
- When, in a timezone that is stated rather than assumed.
This matters twice over where AI is involved. A decision an automated step took cannot be explained after the fact unless the inputs and the reasoning were recorded at the time. "The model decided" is not an answer anyone accepts, and it is the only answer available if the logging was not designed in.
The test worth applying
Could you reconstruct what happened to one record, and why, for somebody who does not trust you? That is the standard, not whether a developer could work it out.
The half-day version
None of this requires a governance function or a framework. For most projects it is one session, with the right four or five people in the room, producing a page.
- 01List the classes of data the system will hold, in plain language rather than schema names.
- 02For each class: where it lives, where its backups and logs live, how long it is kept, and who can see it.
- 03Name three or four roles, and agree that access is granted by role and reviewed on a date.
- 04Write down what gets logged for every action that changes a record or makes an automated decision.
- 05Note the assumptions you could not resolve, and who owns resolving them. An open question with a name against it is governance. An open question without one is a risk.
The short version
Residency, retention, access and logging are cheap at design time and expensive afterwards, and logging is the one that can become impossible rather than merely costly. Spend the half-day. The output is a page, and it is the page you will be grateful for when somebody external asks a question you have not thought about in two years.
Common questions
What is data residency and why decide it early?
Residency is where data is stored and processed, including backups, logs and any managed service that touches it. Deciding it at landing-zone stage is a line in a design document. Changing it later is a migration across every one of those places, which is why the honest answer to where your data lives is a list rather than a region name.
Can our data stay in Australia?
Yes. AWS, Azure and Google Cloud all offer Australian regions. The decision needs to cover backups, logs, telemetry, managed services that process rather than store, and support arrangements where a vendor's engineers might access data from elsewhere.
Why is a data retention policy a design decision?
Because a system built with no deletion path cannot acquire one cheaply. At design time, retention is a field and a scheduled job. Retrofitted, it becomes a policy exercise across years of existing records that nobody ever classified, with a legal conversation attached.
What should be logged for an automated or AI decision?
Who or what acted, what changed including the previous value, what information the decision was based on, and when in a stated timezone. For automated steps the inputs and reasoning matter most, because a decision cannot be explained after the fact if it was never recorded at the time.
How long does this take to decide?
For most projects, one half-day session with four or five people, producing a single page: the classes of data, where each lives and how long it is kept, three or four access roles, what gets logged, and the open questions with a name against each.
Read next
Why the guardrails are the expensive part of an AI agent
Getting a model to read a document well is the afternoon. What makes it safe to run unattended is everything around it, and that work costs the same whether the agent is for one client or fifty. Which is precisely why it keeps getting skipped.
Build or buy, before you commit either way
By the time build or buy reaches a meeting, somebody usually has a preference and the meeting exists to ratify it. These are the questions that settle it honestly in an afternoon, including the ones that argue against writing custom software at all.
