Snilld

Sådan skjuler kontrakten økonomisk og juridisk risiko ved AI‑kodende agenter

En gennemgang af kontraktvilkår for AI‑kodende agenter tjekket 26. september 2026 viser markante forskelle i ansvar for IP‑krav, datalokation, admin‑logning og den reelle omkostning ved 500 brugere. GitHub Copilot tilbyder uncapped dækning for uændrede outputs, AWS Kiro lover uncapped dækning for ophavsret under betingelser, Cursor dækker Suggestions men med carve‑outs, mens Cognition lader generated code falde uden for standard‑indemnity. Det lyder teknisk, men det er i praksis fire spørgsmål, der kan stoppe en enterprise‑udrulning, før den begynder.

1. oktober 2026 Peter Munkholm

Hvem betaler, hvor bor dataen, og hvad koster 500 seats

Lad os være ærlige. Det er ikke features, der afgør, om AI‑kodende agenter får grønt lys i en stor organisation. Det er kontrakten. Marktechpost har samlet en sjældent konkret sammenligning, tjekket mod leverandørernes sider 26. september 2026, som lander på fire spørgsmål, procurement og jura altid stiller: Hvem betaler ved IP‑krav fra genereret kode, hvor lever prompts og data, hvad kan administratorer logge, og hvad koster 500 licenser i praksis.

Afspærringstape spænder hen over en teknik-korridor og markerer en midlertidig stop i arbejdsgangen

Hovedkonklusion: fire spørgsmål, der stopper en enterprise‑udrulning

Rammen er enkel og praktisk: 1) IP‑ansvar for genereret kode. 2) Datalokation og hvor prompts lagres. 3) Hvad admin kan og bør logge. 4) Den faktiske omkostning ved 500 seats, inklusive loftet for leverandørens ansvar. Det er en tjekliste, som procurement, general counsel og security kan bruge direkte i en RFP eller en kontraktforhandling.

Pointen er ikke at finde ét perfekt produkt. Pointen er at forstå, hvilken risiko man køber, og hvilke vilkår der skal justeres, før en pilot går i gang. For nogle vil det handle om uncapped indemnity for output. For andre er data residency og logging det, der kan åbne eller lukke døren.

Hvem betaler, hvis genereret kode krænker IP

GitHub Copilot for Business og Enterprise leverer ifølge Copilot Product Specific Terms og Microsoft Product Terms, som refereret i Copilot Trust Center, uncapped IP‑indemnification for unmodified outputs. Nøglen ligger i ordet “unmodified”. Koden skal være uændret for at være dækket, og gratis‑ eller enkeltbrugerplaner er ikke omfattet. Marktechpost noterer også, at GitHubs duplicate detection‑filter ikke længere var påkrævet fra 3. april 2026, hvilket tidligere var en fælde for dækningen.

AWS Kiro beskrives i AWS’ materialer som dækkende output mod ophavsretskrav, med uncapped dækning for ophavsret ifølge Bedrock FAQ. Der er dog betingelser: ingen krænkende input, og man må ikke slå servicefiltrene fra. Gratis‑niveauet er ikke dækket. I praksis er det rimelige forbehold, men de skal kunne efterleves teknisk og styres i governance.

Indemnityens undtagelser betyder alt

Cursor går et skridt længere på papiret. I den opdaterede MSA af 13. august 2026 står, at virksomheden forsvarer krav om, at tjenesten eller en “Suggestion” krænker eller misbruger tredjeparts IP. Samtidig er indemnity carve‑out’et fra 12‑måneders fee‑cap, så loftet for ansvar ikke bider på samme måde. Men der er undtagelser: hvis kravet stammer fra modificeret eller kombineret kode, hvis filtre er slået fra, eller hvis kunden vidste, at krænkelse var sandsynlig.

Cognition er outlier. MSA’en af 8. juni 2026 definerer Customer Data til at omfatte Outputs, og Customer Data er undtaget fra indemnity. Med andre ord falder genereret kode uden for den standardmæssige beskyttelse. Der er et supercap på to gange betalte gebyrer de seneste 12 måneder. Platform Terms for Pro, Max og Teams har tilsvarende undtagelser, med et lavere gebyrloft. Det er kontraktmæssigt klart, men operationelt hårdt, hvis man bygger pipeline omkring Devin.

Banner
Makro af anonym adgangsbadge i mørk lanyard med køligt lys

Hvad betyder “unmodified” i udviklerhverdagen

En ting er jura. En anden er praksis. De fleste commits bliver rettet, flettet, reformatteret. Hvad er så uændret output? Her bør der aftales eksplicitte definitioner i ordren eller en bilagstekst: er automatiske formatteringer, variabelnavne eller testtilføjelser stadig “unmodified”? Det lyder pedantisk, men det er afgørende for dækning.

Tre forhandlingspunkter går igen: få en klar definition af “unmodified” og acceptable transformationer, indfør en testdata‑undtagelse så genereret testkode ikke udløser uforvarende brud, og kræv, at leverandøren forpligter sig til at overtage sagsførelse ved tredjepartskrav med rimelig hast. Små ord, stor forskel i risiko.

Hvor bor prompts og data

Datalokation er ikke kun GDPR. Det er også e‑discovery, latency og driftsstabilitet. Nogle løsninger logger prompts centralt som en fuldmanaged cloud‑service. Andre kan køre i kundens VPC, og i enkelte opsætninger kan inference isoleres med private endpoints. AWS’ dokumentation for Bedrock og træningsinfrastruktur som SageMaker HyperPod illustrerer, hvordan man kan få kontrolleret miljø og region.

Her opstår et praktisk valg: centraliseret tjeneste med standardlogning versus mere kontrolleret VPC eller hybrid. Førstnævnte er hurtigere at udrulle, men kræver stærke datapolitikker. Sidstnævnte kræver mere opsætning og DevOps‑disciplin, men kan løse residency‑krav og reducere dataspredning.

To korte scenarier for drift

Scenario ét: cloud‑udvikling med central promptlog. Fordelen er fart og mindre vedligehold. Ulempen er skarp styring af, hvad der må postes, og hvordan logs beskyttes. Her er DLP‑regler, klassificering og begrænset retention must haves, ellers står man med et compliance‑mareridt ved første audit.

Scenario to: privat inference i en VPC med begrænset eller ingen central logning af fulde prompts. Fordelen er residency og isolation, og man kan bygge granulær logning via egne værktøjer. Ulempen er kompleksitet, ekstra omkostning og ansvar for at holde modeller, gateways og filtrering opdateret. Små teams undervurderer den løbende drift.

Sikkerhedsdør med badge-læser i køligt lys uden læsbar tekst

Hvad kan administratorer logge

Logning lyder kedeligt, men det er forsvarsbeviset i en tvist. Minimum bør være promptindhold eller hashed referencer, modelrespons, bruger‑ eller servicekonto‑ID, tidsstempel og versionsinfo for model og agent. Desuden policy‑events: hvornår blev et filter slået fra, eller en ny model godkendt. Uden det kan man ikke eftervise, at betingelser om filtrering blev overholdt.

Retention er et valg, der hænger sammen med risiko. For kort, og du mister sporbarhed. For lang, og du øger eksponeringen. Et mainstream kompromis er 90–180 dage for fulde logs, længere for anonymiserede metrikker. Anonymisering bør ske før eksport til datalager, ikke som en eftertanke.

Minimumskrav til enterprise‑logning

Hvis man vil være lavpraktisk, så start her: log konfiguration og policy‑ændringer, log alle modelkald med korrelation til artefakter i repos, og beskyt logstrømmen med write‑once eller immutability. Derudover: hold et separat spor for sikkerhedshændelser med højere detaljegrad og hurtigere alarmering. Det gør incident‑response skarpere og afklarer skyldspørgsmål hurtigere.

Det overraskede mig, hvor ofte filtreringsstatus ikke indgår i standardlogs. Men netop betingelsen om ikke at deaktivere filtrene går igen i flere kontrakter. Uden det datapunkt er det ord mod ord, hvis en leverandør afviser dækning med henvisning til, at et filter var slået fra.

Banner

Hvad koster 500 seats

Listen over priser er let at læse, men den økonomiske risiko ligger i loftet på leverandørens ansvar og undtagelserne. Marktechpost peger på tre skjulte knaster: supercaps som hos Cognition, carve‑outs fra fee caps som hos Cursor, og plan‑eksklusioner som hos GitHub, hvor Free og enkelte solo‑planer ikke er dækket af business‑indemnity. Det ændrer ikke listeprisen, men totalomkostningen ved en tvist.

Et regneeksempel uden tal: et uncapped løfte for uændret output kan i praksis være mere værd end en lavere licenspris, hvis jeres kodebase sjældent modificerer agentens forslag. Omvendt, hvis næsten alt bliver ændret af udviklere og CI‑værktøjer, falder værdien af den dækning. Her er det jeres proces, ikke prisskiltet, der afgør regnestykket.

Tre budgetscenarier at afprøve

Optimistisk: antag at output falder inden for dækning, at ingen carve‑outs udløses, og at leverandørens reaktionstid begrænser eksterne advokatomkostninger. Realistisk: læg en buffer for tvister om, hvad der er “unmodified”, inklusiv cost til intern triage og midlertidige code‑freezes. Konservativ: regn med at carve‑outs kan ramme, at supercaps sætter loft tæt på de betalte gebyrer, og at I skal føre en del af sagen selv.

Det er ikke sikkert, man skal vælge den dyreste plan for at få ro. Nogle gange kan en stram ordrebekræftelse med få tilføjelser til standardvilkår være billigere og bedre end at skifte platform. Der er plads til forhandling, især hvor leverandøren selv lader ordren trumfe MSA’en.

Konkrete forhandlingspunkter og fallback‑strategier

Vil man ind i materien, så formuler krav skarpt. Eksempler på tekstbidder, der ofte går igennem uden at vælte bordet: Leverandøren yder uncapped forsvar og erstatning for tredjepartskrav vedrørende uændret genereret kode, forudsat at kunden ikke har deaktiveret standardfiltre. “Uændret” defineres som kosmetiske ændringer, formattering, testtilføjelser og rename af identifikatorer. Filtre må ikke kunne deaktiveres på brugerniveau uden admin‑godkendelse.

Derudover: Datalokation i specificeret region, med slette‑SLA for prompts og artifacts. Loggingkrav der omfatter filterstatus og modelversion. Og en klausul om, at Outputs ikke automatisk falder ind under Customer Data‑undtagelser, hvis det ellers undergraver indemnity. Hvis leverandøren ikke vil, så hav en fallback klar, f.eks. at isolere brugen til non‑prod og test, eller at bruge en plan, der dækker det konkrete risikomønster bedre.

Hvad sikkerhed og drift skal have på plads

Sikkerhedsteamet bør dokumentere, hvordan filtrering håndhæves teknisk, ikke kun som en policy. Det betyder central kontrol over modelvalg, blokering af deaktivering i klienter, og revisionsspor for alle ændringer. Drift skal kunne rulle tilbage versioner af agenter og gateways, hvis et brud opdages, uden at standse udviklernes arbejde fuldstændigt.

For større miljøer er isolation nøglen. Skil udvikling, test og produktion ad i både dataadgang og prompts. Sæt kvoter og sensordata‑regler forskelligt per miljø. Og sørg for, at CI/CD ikke automatisk promoverer agentgenereret kode til kritiske repos uden ekstra review. Det er kedeligt, men det er her fejlene undgås.

Begrænsninger og usikkerheder

Marktechpost har gjort fodarbejdet ved at læse leverandørernes sider og kontrakter pr. 26. september 2026. Alligevel er der huller, som bør lukkes, før man beslutter stort. For det første mangler der kendte eksempler på faktiske IP‑sager mod output fra disse værktøjer og hvordan de endte. Historik betyder noget for sandsynligheden.

For det andet bør præcise kontraktudsnit gemmes som versionsfaste kopier fra leverandørernes egne sider. Links flytter sig. For det tredje kræver begreber som “unmodified output” og Customer Data‑undtagelser ofte en konkret juridisk fortolkning, der afhænger af jeres proces og værktøjer. Til sidst er datalokation stadig varieret, og muligheden for fuld EU‑ eller DK‑hosting skal dokumenteres med miljøarkitektur, ikke bare et løfte på en salgspræsentation.

Hvad ledere skal gøre i morgen

Start med at trække de nuværende vilkår for jeres planer og gem dem versionsfast. Gennemfør en kort workshop med procurement, jura, sikkerhed og udvikling for at gennemgå de fire spørgsmål i lyset af jeres proces. Identificer hvilke kontraktklausuler, der er showstoppere, og hvilke der kan løses med teknik eller governance.

Bed leverandørerne levere skriftlige svar på: IP‑dækning for genereret kode, datalokation per feature, fuld beskrivelse af admin‑logging og undtagelser, samt totalomkostning for 500 brugere inklusive caps og carve‑outs. Ingen store ord, bare klare linjer. Man opdager først forskellen, når man sidder med vilkårene og logfilerne i hånden.

Kilder

    Gør brugeroplevelsen bedre.
    Hvilket firma arbejder du for?