Your SECURITY.md fails 17 of 18 Article 14 checks

The EU Cyber Resilience Act reporting clock started on 11 September 2026 — 24 hours, 72 hours, 14 days, to ENISA and your coordinating CSIRT. Paste your file. Everything below runs in this tab; nothing is uploaded.

A document linter, not legal advice and not a conformity assessment. Regulation (EU) 2024/2847, Articles 13, 14 and 16; Annex I Part II; Annex II. More tools: getreadystack.com

Install free

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

VS Code MarketplaceOpen VSX (Cursor, VSCodium)npmMCP server (npx)Docker Hub
ext install ReadyStack.cra-24-72-14-reporting-lint
npx @readystack/cra-24-72-14-reporting-lint <file>
npx @readystack/cra-24-72-14-reporting-lint --mcp

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

Get the full rule table as a PDF
All 18 rules CRA 24/72/14 Reporting Lint (Article 14) checks, each with its source and date, on printable pages you can hand to your team or auditor. We email it now, and once more only if a rule changes. No newsletter.

Get the full version $29

Sweeps every Markdown file in the workspace in one pass, works out which checks are answered nowhere in the repository rather than merely missing from one file, and writes one dated CRA-24-72-14-READINESS.md to hand to an auditor.

One payment, one licence key for this tool. The key is shown right after payment.

One hour of EU product-compliance consulting runs $150-250, and a first documentation review is rarely one hour.

Buy the full version — $29
ENDEJAESPT

Find a tool

· ReadyStack

Worked example

Real numbers from this tool, line by line.

Five lines in your SECURITY.md that EU Article 14 now rejects

Five lines in this SECURITY.md fail EU Cyber Resilience Act Article 14 — for maintainers and compliance leads at vendors selling into the EU, this is what the linter prints:

line  6 [warn]  response_window_in_days  "acknowledge your report within 5 business days"
        A response window in days sits beside an obligation in hours.   Art. 14(1)
line 10 [error] wrong_start_date_2027    "reporting obligations start in December 2027"
        Wrong start date. The reporting obligation already applies.     Art. 71(2)
line 11 [error] wrong_recipient          "we will notify the supervisory authority"
        Wrong recipient on the Article 14 path.                         Art. 14(1)
line 13 [error] gdpr_clock_confusion     "the GDPR already gives us 72 hours"
        Two different 72-hour clocks treated as one.        Art. 14 vs GDPR Art. 33
line 17 [error] support_period_lapsed    "supported until 2026-06-30"
        Declared support period already ended, today 2026-09-11.        Art. 13(8)

That file ships with the extension; those five lines are five of its findings. The full run reports 17 findings against 18 checks: a sixth also lands on a line — support_period_under_five_years at line 18, declared end 2027-03-31 against five years from today, 2031-09-11 — and the remaining eleven are things the file never says at all: no ENISA, no CSIRT, no reporting platform, neither trigger, no SBOM, no contact address.

The date is the part people get wrong. The Cyber Resilience Act is widely filed under "December 2027". That is true of most of it, not of the reporting obligation. From 11 September 2026, a manufacturer who becomes aware of an *actively exploited vulnerability*, or of a *severe incident* affecting a product's security, owes three filings on a clock in hours — and it applies to products already on the market:

They go to ENISA and to the CSIRT designated as coordinator for your main establishment in the Union, through the single reporting platform (Art. 16).

The GDPR confusion is the expensive one. Article 33 also says 72 hours, so it feels like the same obligation with the same runbook. It is not: different trigger, different recipient, different content — and one incident can start both clocks at once. Send an actively exploited vulnerability to a data protection supervisory authority and you have notified the wrong body, while the ENISA report is already late.

The support line is arithmetic, not interpretation: Article 13(8) expects a declared support period, and supported until 2026-06-30 in a release still installed is a disclosure that the product is unsupported.

I wrote CRA 24/72/14 Reporting Lint, a VS Code extension, to check this one document: 18 rules, entirely offline, on the Markdown file you have open — the clock, the recipients, the triggers, the contact point, the disclosure policy, the SBOM and the support period. Every finding names its article and the fix. The free web version runs the same engine file: https://getreadystack.com/t/cra-24-72-14-reporting-lint/

It is a document linter, not a legal opinion or a conformity assessment; open-source stewards carry a lighter duty under Article 24. Regulation (EU) 2024/2847, Articles 13, 14 and 16; Annex I Part II; Annex II.

Checking the open file is free, all 18 rules, nothing withheld — fixing one document finishes there. The licence widens the scope: every Markdown file in the workspace in one pass, which checks are answered nowhere in the repo, and one dated readiness report. One hour of EU product-compliance consulting runs $150-250; the licence is $49 once.

15 seconds — what it actually does

Questions people ask

What does this actually do?

It reads a Markdown file — SECURITY.md, a coordinated disclosure policy, an incident runbook — and names every line that will not survive EU Cyber Resilience Act Article 14. Eighteen rules cover the 24-hour early warning, the 72-hour notification, the 14-day final report, the recipients, the two triggers, and the supporting facts an auditor asks for. Each finding carries the article it comes from and one replacement line.

Who is it for?

Maintainers and compliance leads at vendors placing software on the EU market, who own the security documents. It is written for the person who will be woken at 3am by an actively exploited vulnerability and needs the runbook to say who to notify, by when, and through which platform. Open-source stewards carry a lighter duty under Article 24; the rules here flag the manufacturer path.

Why not just ask a chatbot or use a free checklist?

Because they get the two questions wrong that matter most. General assistants still quote 11 December 2027 as the reporting start date — that is when the remaining obligations apply, while reporting has applied since 11 September 2026. They also reuse the GDPR Article 33 runbook, which has a similar 72-hour number but a different recipient and a different trigger. This linter checks your actual file for both mistakes.

What is free and what needs a licence?

Checking the file you have open is free forever, for personal or commercial use, with the complete rule set and no limits. The licence widens the scope: it sweeps every Markdown file in the workspace at once, reports which checks are answered nowhere in the repository, and writes one dated readiness report. The free scope finishes the job of fixing one document.

What would this cost if a person did it?

One hour of EU product-compliance consulting runs $150-250, and reviewing a security policy against Articles 13, 14 and 16 is rarely a single hour. The licence is $29 once,. The linter does not replace counsel on scope or product classification; it removes the mechanical errors before anyone bills you to find them.

Why not just ask ChatGPT or another AI chat?

A general AI chat answers from training data with a cutoff date, cannot read your repository and names no rule version. Vulnerability Report Lint - CRA 24h/72h/14d timeline (Articl checks the file you open against 18 rules, each naming its legal or official basis, from a rule set dated 2026-09-20, and points at the exact line with the fix. For a filing, an audit or a client you need that dated result on your own files.

Ask about this tool

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

Embed this tool on your site (free)

Paste this code into your page. It runs in your visitor’s browser and stays up to date. Nothing your visitors type is stored.

 All embeddable tools

For businesses: your name and logo instead of ours, and each visitor’s result + e-mail in your inbox (only when they tick consent) — Pro from $19/month. See Pro →