Lit Template Binding Audit

Finds the Lit / lit-html template bindings that auto-escaping does not cover - unsafeHTML, javascript: href, .innerHTML, srcdoc, unsafeStatic - and names the safe form. Runs entirely in your browser — nothing is uploaded.

Same engine as the VS Code extension, byte for byte.

Install free

Free for the file open in your editor - no key, no limit. The workspace sweep and the report ask for a key.

Open VSX (Cursor, VSCodium)npmDocker Hub
npx @readystack/lit-binding-xss-audit <file>
docker run --rm -v "$PWD:/w" getreadystack/lit-binding-xss-audit /w

Team? One key for every ReadyStack linter, 5 seats, $149 once

Get one email when this rule changes
We watch the regulation and vendor sources behind Lit Template Binding Audit every day. When a rule changes, you get a single email with what changed and the updated check. No newsletter.

Get the complete version $29

This page is the working piece. The full pack has everything below.

Finds the lit-html binding positions auto-escaping does not cover, before the component ships

An application-security contractor reviewing component code bills roughly 150 to 250 an hour; this audit runs on the file you have open.

Buy the full version — $29

Questions people ask

What does Lit Template Binding Audit actually do?

It reads a Lit or lit-html component file and reports the binding positions where auto-escaping does not apply: unsafeHTML, unsafeSVG, unsafeStatic, a .innerHTML property binding, srcdoc, an on* attribute binding, a URL attribute bound straight from data, and any binding sitting inside a style or script block. Each finding carries a line number and the safe form to write instead.

Who is this for?

Developers who ship Lit web components in a product placed on the EU market, and the reviewer who has to sign off on that component. If your team writes lit-html templates and an exploitable injection in one of them would become a CRA Article 14 reporting event, this is aimed at you rather than at a general JavaScript linter user.

Why will a free linter or a chatbot not find these?

ESLint and Prettier read html`...` as a plain tagged template literal, so a binding in a style block or an on* attribute looks like ordinary text to them. A chatbot can explain lit-html escaping but cannot walk your repository line by line and will not tell you which line number in which file ships the hole.

What is free and what does the licence add?

Free is the whole audit of the file you have open: all 15 rules, every finding, every line number, every suggested fix, with no watermark and no run limit. The licence adds a different job: one command sweeps every component in the workspace and writes a dated evidence report listing each unsafe binding with its file and line.

What would this cost done by hand?

An application-security contractor reviewing component code bills roughly 150 to 250 an hour, and a template review of a component library is rarely under a day. The audit here is 15 rules run against the open file in under a second, and the paid sweep produces the written record that the review would otherwise have to type.

Ask about this tool

One question, answered by the person who built it. Your email only if you want the answer sent.

ENDEJAESPT

Find a tool