Technical Guide

    AI Coding Assistant Indemnity and GPL-3.0 Installation Information on Firmware

    Do not assume it does. Indemnities for AI coding assistants are commonly drafted around third-party intellectual property infringement claims, often with conditions such as enabled filters and unmodified output. A GPL-3.0 Installation Information demand is a licence-compliance obligation, which is distinct from copyright infringement. Whether a given indemnity responds depends on its exact wording, and silence or ambiguity is a risk in itself. Either way, a claim or an internal remediation needs evidence of what was generated, where it came from and under which licence.

    Contract questions to put to each vendor

    • Does the indemnity cover only third-party IP infringement claims, or also claims based on open-source licence compliance obligations such as GPL-3.0 Installation Information?
    • Which conditions must be met, such as enabled filters or unmodified output, and how is each one evidenced for a given snippet?
    • What exclusions, caps, and notice and defence-control terms apply, and how do they work when the demand is not a copyright claim?
    • What generation records can the vendor provide or let you export: model version, output, filter state, and any matched-source or licence information?
    • What are the retention periods and audit rights attached to those records?
    • Which party must prove what, and in what format do your insurer, carrier or counterparties expect that evidence?

    An Installation Information claim is not a copyright claim

    GPL-3.0 section 6 requires Installation Information for User Products where the firmware is locked down. The obligation falls on the party that ships the device. It is a condition of distributing the code under the licence, and it can arise without anyone alleging that code was copied unlawfully.

    That distinction matters for AI-assisted firmware development. If an assistant emits code derived from GPL-3.0 sources and that code ships in a locked-down product, the shipping organisation may face a compliance demand. The demand would concern what the organisation must provide to users. It would not be a claim for damages over copying.

    This page does not interpret the licence text or give legal advice. Counsel should read the licence against the specific product. The point for risk leaders is structural: the exposure is an obligation attached to shipped firmware, so any protection has to be tested against that obligation and not against a generic idea of open-source risk.

    How assistant indemnities are typically structured, and where the gap is likely to fall

    Most indemnity terms for AI coding assistants share three elements. The first is the covered claim: usually a third-party allegation that generated output infringes intellectual property rights. The second is conditions, such as keeping duplicate-detection or similar filters enabled and using the output unmodified. The third is exclusions, caps, and procedures for notice and control of the defence.

    The gap risk sits between the first and second elements and the nature of the demand. A clause drafted around infringement claims may not describe a licence-compliance demand at all. A demand to supply Installation Information may not be framed as a third-party claim over the output, and the clause may not say whether it counts. If the contract is silent, that is an ambiguity to resolve before relying on it, not a grant of coverage.

    Conditions create a second problem. If coverage depends on filters being enabled or output being unmodified, the organisation must be able to show that those conditions held for the specific code in question. Firmware is edited, merged and refactored over years. Without a record made at generation time, proving that a snippet was unmodified, or that a filter was active, is difficult to do afterwards.

    The evidence needed to rely on an indemnity or to remediate

    Four kinds of evidence recur whichever route you take. Origin: where the generated code came from, to the extent that can be determined. Licence context: the terms attached to that origin. Security context: known weaknesses or risk in the code. Generation record: the assistant and model version, timestamp, prompt context, output, and any policy decision applied. A record per suggestion, retained with versioned build artifacts, lets a team reconstruct after the fact which firmware contains which generated code.

    NIST AI 600-1 supports treating this as a contract matter. It advises that contracts and service agreements specify content ownership, usage rights, quality standards, security requirements and content provenance expectations, and an earlier draft of the profile adds audit clauses so the organisation can verify compliance with provenance requirements. The profile also notes that agreements may include GAI-specific indemnity clauses. It also advises setting policies to measure how effective provenance methods are, which is a useful caution: provenance and detection controls should be measured, not assumed complete.

    For carriers and brokerages that procure telematics or connected-property hardware, the same expectations can be placed on suppliers through procurement terms. The NAIC Model Bulletin, as of November 2026, expects insurers to maintain a written AIS Program for AI systems that make or support decisions related to regulated insurance practices. Whether a supplier's coding assistant falls inside that scope is not settled by the bulletin text. A comment submitted in an NAIC process argues that answering questions about auditability, indemnity or recovery needs provenance, source verification, versioning, logs, exception handling and escalation records. That is one commenter's view, but it describes the evidence an underwriter or counterparty is likely to ask for.

    Runtime policy enforcement in the coding assistant path

    Records assembled after the fact depend on what each tool happened to keep. A different approach is to enforce policy where the code is generated. Trussed operates in the execution path of coding assistants and enforces policy on individual interactions: allow, redact or block output based on the origin, licence and security context of the code. Enforcement is at runtime, not reviewed after the fact, so a policy such as blocking output whose licence context is incompatible with locked-down firmware applies before the code reaches a repository.

    Each enforcement decision also produces audit-ready evidence: what was requested, what was generated, and what the policy did. Retention and data residency are configurable, and Trussed can be self-managed in the customer cloud, which matters where firmware source cannot leave the organisation's environment. Trussed is used in regulated enterprises, including insurance, and its evidence is mapped to regimes such as NAIC and NIST.

    The limits are real. Trussed does not provide indemnity or legal protection, and it does not guarantee licence detection. Provenance controls should be measured for effectiveness, as NIST advises. What runtime enforcement offers is a defined policy, applied consistently, with a record of each decision. That is the evidence a vendor indemnity condition, an insurer's question or an internal remediation will each call for.

    Three questions to keep separate

    The obligation

    What GPL-3.0 Installation Information requires of the party shipping locked-down firmware.

    The contract

    What the indemnity covers, on what conditions, and with which exclusions.

    The evidence

    What record of origin, licence and generation supports a claim or a response.

    Build the evidence before a claim requires it

    See how policy enforcement in the coding assistant path produces code provenance and audit-ready evidence for firmware teams.

    See How Evidence Is Produced
    Next step

    How does your AI governance program compare?

    See where your program has gaps in less than 2 minutes.