A reverse-engineering clause is a term in a software licence or online service agreement that forbids the licensee from decompiling, disassembling or otherwise analysing software to learn how it works. In current vendor terms the clause has widened to cover monitoring a service’s inputs and outputs, replicating product functionality and using output to train artificial intelligence systems. Each vendor drafts its own version against a different statutory background: under EU law some contractual restrictions are void, while the US federal statute that addresses reverse engineering speaks only to circumvention of technical protection measures.
This article quotes clauses from four vendors’ public terms as retrieved on 2026-10-08, then describes how EU and US statute limit them. The executed agreement for a given contract may differ from the public default terms.
Vendor clauses
Adobe
Section 17 of the Adobe General Terms of Use, published and effective on 2025-10-03, is headed “No Modifications, Reverse Engineering, Artificial Intelligence/Machine Learning (AI/ML)”. It states that, except as expressly permitted, the user must not (and must not allow third parties to):[1]
(B) reverse engineer (including but not limited to monitoring or tracking the inputs and outputs flowing through a system or an application in order to recreate that system), decompile, disassemble, or otherwise attempt to discover, within any Service or Software, the source code, data representations or underlying algorithms, processes, methods, and any other portion of such Service or Software; or (C) use the Services or Software, or any content, data, output, or other information received or derived from the Services or Software, to directly or indirectly create, train, test, or otherwise improve any machine learning algorithms or artificial intelligence system
Limb (A) also bars modifying, porting, adapting or translating the software. Limb (B) treats observing a system’s inputs and outputs “in order to recreate that system” as reverse engineering, which reaches black-box analysis. Limb (C) governs what the licensee does with output. The clause then addresses statutory rights directly: if local law gives a right to decompile for interoperability, “you must first request such information from us”, and Adobe may impose “reasonable conditions, including a reasonable fee”.[1]
Microsoft
Microsoft’s restrictions sit in several documents, depending on whether the customer is a consumer, a volume-licensing customer or an online service user.
The Microsoft Services Agreement (published 2026-07-30, effective 2026-09-30) states in section 8 that the software licence does not give the user any right to “disassemble, decompile, decrypt, hack, emulate, exploit, or reverse engineer any software or other aspect of the Services … except and only to the extent that the applicable copyright law expressly permits doing so”. Section 14 adds that a user “may not use the AI services to discover any underlying components of the models, algorithms, and systems”, and that a user “may not use the AI services, or data from the AI services, to create, train, or improve (directly or indirectly) any AI technology”.[2]
The Product Terms apply to commercial licensing. The Universal License Terms for All Software provide that the customer “may not (and is not licensed to) … work around any technical limitations in the Products or restrictions in Product documentation, replicate product functionality”.[3] The terms for Online Services bar use “to replicate product functionality; to scrape or use other data extraction methods to extract data from the Online Service; to reverse engineer any Online Service or exfiltrate the weights of any AI models or otherwise discover any underlying components, algorithms or systems included in the Online Service”.[4] A Microsoft Generative AI Services section repeats the ban on using the service “to discover any underlying components of the models, algorithms, and systems”.[4]
As retrieved on 2026-10-08, the Generative AI section contains no clause forbidding use of output to build competing products. The nearest restriction is the Services Agreement paragraph on creating, training or improving “any AI technology”. Separately, a Competitive Benchmarking clause applies where a customer offers a competitive product or service: the customer waives restrictions on competitive use and benchmark testing in its own terms.[4] The Product Terms text quoted contains no express exception for what law permits, whereas the Services Agreement does.
Autodesk
Section 13 of the Autodesk General Terms (the page states it was last updated on 2026-03-30) provides that the “underlying algorithms and other internals, the protocols, data structures and other externals, and the source code of the Offerings and the APIs constitute proprietary and confidential information of Autodesk”. The user:[5]
will not engage in any decompiling, disassembling, or other reverse engineering, or otherwise attempt to discover, learn, or study the structure or organization, underlying algorithms or other internals, protocols, data structures or other externals, or the source code of the Offerings or APIs, except as expressly permitted under applicable law notwithstanding a contractual prohibition to the contrary.
Autodesk prohibits attempts to “learn, or study” internals, not only to discover them, and frames the information as confidential, which links the clause to trade secret law. Its carve-out defers to whatever applicable law permits.
Oracle
In Oracle Master Agreement version v062223 (online, Switzerland), section 3.2 of Schedule P states that the licensee may not:[6]
c. cause or permit reverse engineering (unless required by law for interoperability), disassembly or decompilation of the Programs (the foregoing prohibition includes but is not limited to review of data structures or similar materials produced by Programs);
Another item in the same section forbids disclosing “results of any Program benchmark tests without Oracle’s prior written consent”. Schedule H (hardware), section 3.1, repeats the formula: the licensee “shall not decompile or reverse engineer (unless required by law for interoperability)” the operating system or integrated software.[6] Oracle’s exception names one statutory purpose, interoperability, so it is narrower than Autodesk’s.
Comparison
| Document | Decompile | Learn internals otherwise | Replicate functionality | AI training from output | Statutory carve-out |
|---|---|---|---|---|---|
| Adobe s.17 | Yes | Yes, including input and output monitoring | Recreating a system | Yes | Request first; interoperability |
| Microsoft Services Agreement | Yes | AI components | Not stated | Yes, AI services | Where copyright law expressly permits |
| Microsoft Product Terms | Not in text | Online Services | Yes | Not in text | None in text |
| Autodesk s.13 | Yes | “learn, or study” | Not stated | Not stated | “applicable law” |
| Oracle Schedule P | Yes | Data structures | Not stated | Not stated | Interoperability |
Statutory limits
European Union
Directive 2009/24/EC gives the rightholder exclusive rights over reproduction, translation and adaptation of a program in Article 4.[7] Three provisions limit reverse-engineering clauses.
- Article 5(3). A person with a right to use a copy “shall be entitled, without the authorisation of the rightholder, to observe, study or test the functioning of the program in order to determine the ideas and principles which underlie any element of the program” while performing the permitted acts of loading, running and storing. A ban on attempts to “learn, or study” internals is in tension with this to the extent it prohibits observation during permitted use.[7]
- Article 6. Authorisation is not required where reproduction and translation of the code “are indispensable to obtain the information necessary to achieve the interoperability of an independently created computer program with other programs”, if the acts are performed by a person with a right to use a copy, the information was not previously readily available, and the acts are confined to the necessary parts. The information may not be used for other goals, given to others except as needed, or used to develop a program “substantially similar in its expression”.[7]
- Article 8. “Any contractual provisions contrary to Article 6 or to the exceptions provided for in Article 5(2) and (3) shall be null and void.”[7]
In SAS Institute v World Programming (see SAS Institute v World Programming) the Court of Justice held that neither a program’s functionality nor its programming language and data file format is protected expression, and that determining underlying ideas and principles “may be carried out within the framework of the acts permitted by the licence”. It recalled that contract terms contrary to the Article 5(2) and (3) exceptions are null and void.[8]
A clause that bans decompilation with no exception is therefore void to the extent it overrides Article 6. Oracle’s carve-out tracks the interoperability right but not the wider Article 5 rights, and Adobe’s request-and-fee step is a condition on a right that arises under local law. Whether such a condition is compatible with Article 8 is for national courts applying the transposing law.
United States
The US has no counterpart to Article 8. Section 1201(a)(1)(A) of the Copyright Act provides that “No person shall circumvent a technological measure that effectively controls access to a work protected under this title.” Subsection (f) exempts a person “who has lawfully obtained the right to use a copy of a computer program” who circumvents such a measure “for the sole purpose of identifying and analyzing those elements of the program that are necessary to achieve interoperability of an independently created computer program with other programs”, where those elements were not previously readily available and the acts do not constitute infringement. Paragraphs (f)(2) and (f)(3) allow tools and information sharing for that purpose only.[9]
The structure differs from the EU in three ways. Section 1201(f) is an exemption from the anti-circumvention prohibition, and its text does not address contractual restrictions, so it does not state that a licence term forbidding reverse engineering is void. It is limited to acts that are not themselves infringement. And section 1201(c)(1) preserves other “rights, remedies, limitations, or defenses to copyright infringement, including fair use”.[9] A licensee that reverse engineers in breach of a clause may face a contract claim even where section 1201 is not engaged.
Trade secret law
Both jurisdictions treat reverse engineering of a lawfully obtained product as a lawful way to acquire information, and both let contract displace that default. The US definition of “improper means” “does not include reverse engineering, independent derivation, or any other lawful means of acquisition”.[10] The EU Trade Secrets Directive lists as lawful “observation, study, disassembly or testing of a product” lawfully possessed by an acquirer “who is free from any legally valid duty to limit the acquisition of the trade secret”, and Article 4(3) makes use unlawful in breach of “a contractual or any other duty to limit the use of the trade secret”.[11] See Software intellectual property.
Disputes
Figma v. Motiff is a recent case in which a reverse-engineering clause supports a cause of action. In its 2024 complaint in the Northern District of California, Figma alleged that its Master Subscription Agreement bound users not to “reverse engineer, decompile, disassemble or otherwise attempt to discover the source code, object code or underlying structure, ideas, know-how or algorithms relevant to the Figma Platform”. The complaint pleads breach of that agreement alongside copyright infringement; these are allegations, not findings.[12] See also Figma’s terms of service and software services agreement, Computer Associates v. Altai on clean-room rewrites, and Google v. Oracle on reimplementing an interface.