Does NIS2 require or forbid JavaScript obfuscation?
Neither, and the directive does not mention it. The risk-management obligations are written as areas you must address proportionately: risk analysis, incident handling, business continuity, supply chain security, security in development and maintenance, vulnerability handling and disclosure, access control, cryptography, and training. Those are outcomes rather than approved techniques, and no build setting satisfies or violates any of them. Protection is a legitimate hardening measure that you may adopt or not, and the choice carries no compliance weight either way.
Does protecting our front end affect whether we are in scope?
Not at all. Scope follows the sector you operate in, the size of the entity, and the role your services play, with national implementations adding their own detail. Nothing about the delivery format of your JavaScript enters that test. It is worth stating plainly because the question often arrives inside a request to make a web application compliant, which is not a thing a web application can be on its own. Determine scope with your counsel and your national authority first, then look at the engineering work.
How is this different from DORA and the Cyber Resilience Act?
They regulate different subjects, which is why the engineering work only partly overlaps. This directive regulates the entity: how an organisation running an important service manages cyber risk and reports incidents. The Cyber Resilience Act regulates the product placed on the market, with inventory, vulnerability handling and update duties across a declared support period. The financial-sector regime is more specific and, for the entities it names, takes precedence on the same subject matter, so financial entities should work from that page instead. A single incident can easily engage more than one of them plus a personal data breach.
Which risk-management measure does a front-end team actually own?
Supply chain security, in two halves that are usually managed by different people or by nobody. The first is the packages your build pulls in, which comes from your lock file and is at least visible to your engineers. The second is the scripts other parties execute on your live pages: tag managers, analytics, session recording, payment widgets, chat. That second population changes without a deployment, is rarely inventoried, and is the route most browser-side incidents actually take. Protecting your own bundle does nothing for either half.
Does obfuscation help or hurt our incident reporting timelines?
It works against you unless you plan for it, and this is the most practical point on the page. Reporting runs in stages from the moment you become aware of a significant incident, with an early warning first, a fuller notification shortly after and a final report later. Awareness means the point at which you understand what you are looking at, not the moment of compromise. A protected bundle with no retained symbol map turns production error reports into noise, which lengthens exactly the interval your deadline is measured against. Retain the symbol map and the build manifest, keyed to the release.
What should we write in the risk register about client-side protection?
Describe it as what it is. Filed as an anti-tampering and intellectual property measure that raises the cost of reading and modifying shipped code, it is accurate and defensible. Filed as a confidentiality control for data or logic that the browser receives, it is not, because the browser receives all of it and anyone can read what arrives. Management bodies approve these measures and can be held accountable for them, which means the register is read by people who will test its claims, and an overstated entry is worse than no entry.
How does this interact with coordinated vulnerability disclosure?
In a way most teams discover only after the first report arrives. A researcher examining a protected bundle produces a vaguer report, with a stack trace nobody can read and a reproduction that takes longer to pin down, so your own triage slows down at the moment speed matters most. Publish a security contact and a disclosure route, be prepared to work from symbolicated traces rather than from the shipped artifact, and consider whether you can share an unprotected build under an agreement with researchers who ask.
Does secret scanning still work on protected output?
No, and the failure is silent. A credential that a pattern-matching scan would have caught in source becomes unrecognisable once literals have been moved into a table and encoded, while remaining fully recoverable at run time by anyone who inspects the running program. This is the same shape as composition analysis going quiet. Run every scan that works by reading code before the protection step, and remember that the sharpest version of the problem is that protecting a bundle which already contains a compromised package hides the payload from your own reviewers.
Does using a hosted protection service make us dependent on a third party?
It is a supplier relationship and it belongs in your supplier assessment like any other, which is a reasonable thing to ask about rather than a problem. The specifics that usually matter: the hosted service receives the JavaScript you select, protects it and deletes the request file after the run; the Windows desktop application and the command line tool both offer local processing where the source body stays on the device; those local paths still make an online entitlement check that carries no source; and virtual machine protection is hosted by design. Whether that fits your policy is a decision only you can make.
What is the shortest useful checklist for a front-end team?
Five items. Inventory the third-party scripts executing on your highest-value pages and identify an owner for each. Generate your dependency list from the lock file and run composition and secret scanning before the protection step. Retain the symbol map and build manifest for every release, and rehearse reading a real production error with them. Write the register entry as an anti-tampering measure rather than a confidentiality control. And publish a disclosure route, because a researcher who cannot reach you is not a risk you have avoided.