AI Coding Indemnity and Mixed Authorship: Mapping Overlapping Terms to One Function
Overlapping AI coding indemnities rarely map cleanly onto a function that mixes human, AI-generated and pasted third-party code. Vendor indemnities are generally conditional on product tier, on settings such as public-code matching at generation time, and on your ability to show both. Open-source licence duties attach separately. To support a claim, capture origin, configuration and licence evidence when each suggestion is produced, not afterwards.
Technical requirements for capture in the assistant execution path
- 1
Generation-time context
Record tier, version and filter state with each suggestion, as a system-written record rather than a developer attestation.
- 2
Event linkage
Link suggestion, acceptance, edits and commit so a function can later be decomposed by origin.
- 3
Match and licence capture
Store any similarity result and its licence context when the suggestion is produced.
- 4
Terms binding
Tie each record to the dated vendor terms in force, and review the mapping whenever terms change.
- 5
Separate third-party control
Treat pasted snippets with their own licence scanning, since tool-output evidence will not cover them.
- 6
Ownership register
Name an owner for each tool, indemnity and condition that must be kept in place.
Evidence an enterprise needs to support a claim
- Tool, version and product tier in use when the suggestion was generated.
- Public-code matching and filter settings in force at that moment.
- A dated record of the vendor terms version and the conditions it set.
- The suggestion, its acceptance event, later human edits and the resulting commit.
- Similarity or public-code match results, with licence context, captured at generation.
- Reviewer approval, what the reviewer saw, and authorship labels such as agent trailers or PR labels.
Three layers of terms that do not line up
An enterprise using an AI coding assistant can face three separate sets of terms. The assistant vendor may offer an IP indemnity for its product. The underlying model provider may offer its own commitment. Open-source licences, which are not indemnities at all, impose conditions on any licensed code that reaches your repository, whatever its route.
The layers differ in kind. An indemnity is a contractual promise to defend or compensate you if a covered claim is made, and it is conditional. Commitments of this type typically depend on the product tier you pay for, on mitigations being configured and evidenced, and on the configuration state when the code was generated. A licence obligation attaches to the code itself. If an agent produces output substantively derived from copyleft sources, that output almost never carries the attribution the licence requires, so licence duties can exist even where an indemnity is in force.
Vendor terms are also amended unilaterally. As of November 2026, an architect should treat the terms in force at the moment of generation as a dated fact to be recorded, not a standing assumption.
Decomposing one mixed-authorship function
Take a 30-line function. A developer writes the opening lines, accepts an AI suggestion for the middle, edits part of it, and pastes a snippet from an online project into the end. The table below shows which term could be relevant to each segment and where evidence gaps appear. It is a mapping aid. Contract language and legal interpretation decide the outcome.
- Human-written lines: No vendor indemnity applies. Risk sits with the enterprise. Useful evidence is commit history showing who wrote them.
- Accepted AI suggestion, unchanged: Assistant vendor or model provider indemnity may be relevant. Conditions include eligible tier, public-code matching setting and the ability to show both. Gap: settings state cannot be reconstructed later.
- AI suggestion edited by a developer: Edit and combination limits reported in vendor terms may narrow or withdraw coverage. Gap: no record of which lines still reflect the suggestion.
- Pasted third-party snippet: The snippet's own licence applies. Vendor indemnities are framed around tool output, so this segment likely sits outside them. Gap: licence and attribution are rarely recorded.
- AI output resembling copyleft code: Licence obligations attach regardless of indemnity. Coverage can lapse if content is flagged retroactively and the cited licence is not honoured. Gap: no match result captured at generation.
Where modification, filters and attribution create gaps
Modification is the least settled question. Some commentary on vendor contracts reports that Microsoft, Cursor and GitHub terms each promise a defence and then withdraw it when the customer edits, combines or otherwise modifies output. That characterisation has not been tested against clause text here, so treat it as a prompt for contract review, not a conclusion. If it holds, much shipped code could fall outside coverage, because most production functions are edited after acceptance. Developer-modification policy should be reviewed against the actual contract language.
Filter and matching settings are the second gap. GitHub's indemnity for Copilot Business and Enterprise is subject to conditions that include its setting for suggestions matching public code. A setting that was on in policy but off on one developer's machine, or changed mid-quarter, undermines a claim. The enterprise needs to show the state at the time of each suggestion.
Attribution is the third gap. Commit trailers such as Co-Authored-By, which some agents add by default, and PR labels such as ai-generated are useful authorship signals. They usually operate at commit or PR level, so they say little about which lines of a hand-edited function came from the tool. Legal analysis of function-level or line-level authorship is thin, which is a reason to preserve raw event records rather than rely on a later reconstruction.
Where indemnity ends and enterprise controls carry the burden
An indemnity is a remedy after a claim, not a control. It does not reach human-written lines, probably does not reach pasted snippets, and only helps if conditions were maintained and can be evidenced. An indemnity nobody can evidence is not a control. Procurement should check current terms for the exact tier purchased, since positions of vendors vary and change frequently.
Trussed addresses the evidence and enforcement part of this problem. It enforces policy in the execution path of coding assistants, with allow, redact and block decisions applied to individual interactions and tool calls, enforced at runtime, not reviewed after the fact. It produces code provenance covering the origin, licence and security context of code, and generates audit-ready evidence from that enforcement. Deployment is self-managed in the customer cloud, with configurable retention and data residency, which supports the retention decisions above.
Trussed does not provide legal coverage and does not interpret vendor terms or licences. Its records support legal review of a claim. They do not decide it.
One function, several origins
Human-written lines
Authored by your developers. No vendor indemnity is relevant.
Accepted AI suggestions
May fall under an assistant vendor or model provider indemnity, subject to conditions.
Pasted third-party snippets
Governed by the snippet's own open-source licence.
Evidence at generation time
Tier, settings, matches and acceptance records decide whether conditions can be shown.
Review your evidence path before a claim arises
See how policy enforcement in the coding assistant execution path produces code provenance and audit-ready evidence.
See How Evidence Is Produced