Delivery

Client Onboarding and Data-Handling Agreements

⏱ 16 min

Course 16 covered what AI governance and GDPR-consistent data handling requires of a developer shipping a feature, at the level of “does this feature send personal data to a third party, and on what basis.” Delivering that same feature to a client adds a second, contractual layer on top of the technical one: your client is trusting you with their site, their customers’ data, and a decision about where some of that data now travels (to an AI provider, through your infrastructure, or both). Onboarding a client well means getting the technical access you need and getting explicit, written agreement on how their data is handled, before delivery starts, not after a question comes up.

What you'll learn in this lesson
A practical onboarding sequence
What to establish before writing a single ability or MCP server for a new client.
What a data-handling agreement should name explicitly
Which AI providers, what data reaches them, and where it's retained.
Audit and transparency commitments worth making
Building on Course 4's custom audit-logging pattern as something you can actually offer a client.
Why this is a contract question, not just a technical one
And why this lesson stops short of giving legal advice.
Prerequisites

Course 16’s data privacy and consent lesson, and Course 4’s audit-logging pattern. This lesson applies both to a client-facing agreement rather than your own product’s internal practices.

Not legal advice

This lesson describes what a client data-handling agreement commonly addresses in practice, at a level useful for scoping an engagement and having an informed conversation with a client. It is not legal advice, it does not tell you what your specific contract should say, and it cannot account for your client’s jurisdiction, their own regulatory obligations, or the specifics of their data. A real client contract, and any specific commitments about GDPR or other regulatory compliance, should be reviewed by a qualified lawyer, ideally one familiar with your client’s jurisdiction, before it’s signed.

Step 1: A practical onboarding sequence

Before any ability or MCP server is built for a new client
1
Discovery: what data does this feature actually touch
Post content, customer names in support tickets, order data, whatever the AI feature will read or write.
2
Identify which of that data is personal data
Names, emails, anything identifying an individual, the same distinction Course 16's data privacy lesson draws.
3
Decide and document which AI provider(s) will process it
Named explicitly, not left as "an AI service," since this is what a data-handling agreement needs to name.
4
Draft the data-handling section of the agreement
Using Step 2's checklist below as a starting point, then have it reviewed by counsel.
5
Get access, scoped to what's actually needed
An Application Password or account with only the capabilities the abilities you're building actually require, not a full administrator account by default.
6
Deliver on staging first
Lesson 5's staging-first workflow starts here, access is granted before any live delivery, not as an afterthought.

Step 2: What a data-handling agreement should name explicitly

Items a client data-handling agreement commonly addresses
Which AI provider(s) process the client's data
Named specifically (Anthropic, OpenAI, Google, or another), not described vaguely as "an AI service."
What categories of data reach that provider
Content, customer names, order details, whatever is actually in scope for the feature being built.
Whether the client's customers' personal data is involved at all
And if so, what lawful basis or consent mechanism covers it, the question Course 16's data privacy lesson introduces.
Data retention
How long prompts, logs, or generated content are kept, by you, by the provider, or both.
Subprocessor disclosure
That you are, functionally, a subprocessor for the client's own data obligations, and that the AI provider is a subprocessor of yours.
What happens if you stop working with this client
Access revocation, data deletion, and handoff of any custom abilities or configuration built for them.

This list mirrors, at a contractual level, the same technical questions Course 16 asked about a single AI feature: what data is sent, to whom, and on what basis. The difference here is that a client relationship needs the answer written down and agreed to in advance, not just reasoned through internally as you build.

Step 3: Audit and transparency as a commitment, not just a feature

Course 4 covered building a custom audit log for agent actions, since the MCP Adapter doesn’t ship one. In a client relationship, that pattern becomes something you can offer as an explicit commitment: the ability to tell a client exactly which AI-driven action happened, when, initiated by whom, if a question ever comes up about what their assistant did to their site or their customers’ data. A client who can be told “here is the audit trail for that action” is in a meaningfully stronger position than one who has to take your word for it, and offering that transparency proactively is a real differentiator in a client pitch, not just a defensive measure.

What to commit to in writing about audit access
That an audit trail exists at all
Many agencies never mention this unless asked, stating it upfront builds trust before it becomes a dispute.
What it captures
Which ability ran, which user or agent triggered it, and the result, matching Course 4's audit log pattern.
How a client can request it
A defined process (a support ticket, a dashboard, a data export request) rather than an undefined "just ask."
How long it's retained
Matching whatever retention period the broader data-handling agreement states.

Step 4: Access scoping as part of onboarding, not an afterthought

The onboarding sequence in Step 1 deliberately puts access scoping after the data- handling agreement is drafted, not before. Once you know what data a feature actually touches, you know what WordPress capabilities and what abilities actually need exposing, which is the same least-privilege principle this track’s security lessons apply to abilities generally, just applied here to the credentials you personally hold for a client’s site. Requesting a full administrator account by default, because it’s easier than scoping a role, is the single most common way an agency ends up with far more access, and far more liability, than a given engagement actually requires.

A scoped role is also a selling point

Telling a prospective client “we only request access to what this specific engagement needs, not full administrator access” is a genuine trust signal in a sales conversation, not just good security practice. Clients increasingly ask this question themselves, having a real, specific answer ready is worth more than it costs to set up.

Recap

Onboarding a new AI/MCP client well means sequencing discovery, a written data-handling agreement, and scoped access before any delivery work begins, not treating the contract as paperwork to get through after the interesting work already started. A data-handling agreement should name the AI provider, the categories of data involved, retention, subprocessor status, and an offboarding plan, explicitly, not left as a vague assurance. Course 4’s audit-logging pattern becomes a real transparency commitment you can offer a client, not just an internal debugging tool. None of this replaces real legal review, the not-legal-advice caveat above applies to every part of this lesson, but having these questions already answered makes that legal review faster and cheaper than starting from a blank page.

Resources & further reading

← White-Labeling AI Features for Clients Safe, Staging-First Delivery →