Most contract marketing shows you a demo document. A clean, invented MSA with an obvious problem planted in clause 9, caught triumphantly by the software. It proves nothing, because the person who wrote the contract also wrote the answer.
So here is a real one. Exhibit 10.4, a Master Services Agreement between Velocity Global, LLC and Klaviyo, Inc., effective 10 September 2020, filed with the SEC and public since. Two sophisticated parties, real counsel on both sides, a real commercial relationship. You can open the source in another tab and check every line of what follows.
I am using a public filing deliberately. I cannot show you my clients' contracts, and no attorney can. Everything I review in practice is confidential, and that is not a technicality I could work around with a redaction pass. Public filings solve it completely: material agreements get filed as exhibits, they are as hard as anything that crosses my desk, and anyone can audit my reading against the document.
What the agreement is
Velocity Global provides employer of record services. Klaviyo wants people working in countries where it has no legal entity, so Velocity Global employs them and Klaviyo directs the work. The entire commercial point is that somebody else carries the employment risk.
Hold that thought, because it is the lens for everything below.
1. The indemnity is capped by the clause after it
Section 9.1 is a mutual indemnity, and a broad one. Each party indemnifies the other against "any claim, loss, expense or other liability (including but not limited to reasonable attorney's fees) which arises out of the indemnifying Party's breach of Sections 3, 4, 5, 6, 7, 8, or 11."
Read alone, that looks like real protection across most of the agreement. Then Section 10 opens with "NOTWITHSTANDING ANY OTHER PROVISIONS OF THIS AGREEMENT" and closes the aggregate liability of either party at "THE TOTAL AMOUNT OF FEES PAID BY CLIENT UNDER THIS AGREEMENT AND ALL APPLICABLE STATEMENTS OF WORK IN THE TWELVE MONTH PERIOD PRECEDING THE CLAIM."
There is no carve out for indemnification. The usual drafting move is to except indemnity obligations from the cap, because an indemnity that is capped at the fees is not really shifting risk, it is refunding you. Here that exception is simply absent, and the "notwithstanding" language is doing the opposite work: it pulls the indemnity under the cap rather than lifting it out.
This is the single most common thing I find, and it is almost never visible from either clause on its own. You have to read them against each other. A checklist that asks "is there an indemnity?" and "is there a cap?" answers yes twice and tells you nothing.
2. Privacy ranks below confidentiality
The consequential damages waiver in Section 10 is mutual and total, with exactly one exception: it does not apply "TO THE EXTENT THAT SUCH ARISES FROM A PARTY'S BREACH OF SECTION 6."
Section 6 is Confidential and Proprietary Information. Section 7 is Security and Privacy of Personal Data. They are different sections, and only one of them is carved out.
So a breach of the confidentiality clause exposes the breaching party to consequential damages. A breach of the personal data security clause does not. The practical consequence lands unevenly: the costs that actually follow a personal data incident, being regulatory response, notification, credit monitoring and reputational loss, are precisely the ones a consequential damages waiver is built to exclude.
I do not think this is malice. Section 6 predates the modern privacy section in most MSA lineages, the carve out was written when confidentiality was the only sensitive category, and Section 7 arrived later without anyone revisiting Section 10. That is what a drafting artefact looks like, and assuming an artefact before assuming intent is usually both correct and a much easier conversation to open.
3. The cap that actually applies is far smaller than the headline cap
This is the finding I would lead with if this were my client's agreement.
After setting the twelve month fee cap, Section 10 adds that Velocity Global's liability "WITH RESPECT TO A BREACH OF ITS OBLIGATIONS REGARDING AN INDIVIDUAL PEO EMPLOYEE" is limited to the fees paid "RELATING TO THAT SPECIFIC PEO EMPLOYEE" in the preceding twelve months.
Now recall what the agreement is for. The risk Klaviyo is buying protection against is employment risk on individual workers: misclassification, wrongful termination, unpaid statutory entitlements. Those claims are, by definition, claims regarding an individual PEO Employee.
So the cap that governs the main risk is not twelve months of total programme fees. It is twelve months of the margin on one person. A wrongful dismissal claim in a jurisdiction with real statutory protection can exceed that by an order of magnitude, and the sub-cap is a single sentence inside a block of capitalised text most readers have stopped reading by.
The headline cap is the one everybody negotiates. The sub-cap is the one that decides the case.
4. Thirty days notice is not thirty days
Section 5 reads like a clean exit. Twelve month term, "automatic unlimited twelve (12) month renewals", terminable by either party on "not less than thirty (30) days written notice."
Then: "Notwithstanding the foregoing, the obligations set forth in this Agreement and any applicable Statement of Work shall continue until Velocity Global is able to legally terminate, as applicable, all PEO Employee(s)."
The exit date is therefore not thirty days out. It is whenever employment law in each relevant country permits termination of each employed person, which in much of Europe and Latin America means statutory notice, consultation requirements, and severance timelines running to months. Klaviyo keeps paying throughout.
That may well be the only workable arrangement, since Velocity Global cannot lawfully strand employees to meet a contractual notice period. It is a defensible clause. It is also not what "thirty days written notice" signals to whoever budgets the wind down, and the gap between those two readings is worth surfacing before signature rather than during an exit.
What this is not
This is commentary on a public document. It is not legal advice, it is not a criticism of either company or the lawyers who papered this, and it is not a claim that either party got a bad deal. Allocating risk is what negotiation is for, and a term that reads aggressively in isolation is often the price of something better elsewhere in the agreement, including terms redacted from the public copy. I have no visibility into what was traded for what.
What I am showing is the reading, not a verdict.
Why this took fifteen minutes and not three hours
None of the four findings above required deep expertise. Every one of them required reading two clauses against each other: the indemnity against the cap, the damages waiver against the section it fails to name, the headline cap against its own sub-cap, the notice period against the survival language.
That is the work that does not scale by reading harder, and it is exactly what a linear read misses, because a linear read encounters Section 9 fifteen minutes before Section 10 and has already formed a view.
It is also the specific thing I built Midly to do. Not to summarise a contract, which is easy and nearly useless, but to hold the whole instrument in view at once and price the cross references. That is why the review takes minutes, and why what comes out reads like the notes above rather than a list of clause names.
Next in this series: a commercial lease, and a services agreement where the payment terms and the termination right quietly contradict each other.
Read your own paper this way
Midly reviews counterparty contracts against your playbook and prices the cross references, so the clause that changes the answer does not sit fifteen pages from the clause it changes.