<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/">
    <channel>
        <title>CRA Compliance – BAUER GROUP (English)</title>
        <link>https://cra.docs.bauer-group.com/</link>
        <description>Cyber Resilience Act – Compliance Documentation Updates</description>
        <lastBuildDate>Mon, 30 Mar 2026 08:25:56 GMT</lastBuildDate>
        <docs>https://validator.w3.org/feed/docs/rss2.html</docs>
        <generator>https://github.com/jpmonette/feed</generator>
        <language>en</language>
        <copyright>© 2026 BAUER GROUP</copyright>
        <item>
            <title><![CDATA[8.2 Automation Workflows]]></title>
            <link>https://cra.docs.bauer-group.com/en/compliance-matrix/automation-workflows</link>
            <guid isPermaLink="false">https://cra.docs.bauer-group.com/en/compliance-matrix/automation-workflows</guid>
            <pubDate>Mon, 30 Mar 2026 08:24:51 GMT</pubDate>
            <description><![CDATA[# 8.2 Automation Workflows

## Architecture

BAUER GROUP's CRA automation is split across two repositories:

- **CRA-specific** workflows and actions live in `SEC-CRACompliance` (this repo)
- **Generic** actions (VEX generation, SBOM attestation) live in `automation-templates`

Consumer repositories (your products) call the CRA release workflow with a single `uses:` line.

```
┌──────────────────────────────────────────┐
│            Consumer Repo (Product)        │
│                                          │
│  uses: bauer-group/SEC-CRACompliance/    │
│        .github/workflows/cra-release.yml │
└──────────────────┬───────────────────────┘
                   │
    ┌──────────────┼──────────────┐
    ▼              ▼              ▼
┌─────────┐  ┌──────────┐  ┌────────────┐
│ CRA-Repo│  │ CRA-Repo │  │ Automation │
│ Actions │  │ Actions  │  │ Templates  │
├─────────┤  ├──────────┤  ├────────────┤
│ SBOM    │  │Compliance│  │ VEX        │
│ Sign    │  │ Report   │  │ Attestation│
│ Scan    │  │          │  │            │
│ Hub     │  │          │  │            │
└─────────┘  └──────────┘  └────────────┘
CRA-specific  CRA-specific    Generic
```

## Reusable Workflows

### `cra-release.yml` — Release Artifacts

The primary workflow. Generates, signs, and archives all CRA artifacts for a release.

**Usage (zero-config):**

```yaml
jobs:
  cra:
    uses: bauer-group/SEC-CRACompliance/.github/workflows/cra-release.yml@main
    permissions:
      contents: write
      id-token: write
      attestations: write
      security-events: write
```

**Usage (customised):**

```yaml
jobs:
  cra:
    uses: bauer-group/SEC-CRACompliance/.github/workflows/cra-release.yml@main
    with:
      run-validation: true
      validation-command: 'npm run ci'
      sign-sbom: true
      attest-sbom: true
      generate-vex: true
      generate-compliance-report: true
      support-period-years: 5
      fail-on-critical: true
    permissions:
      contents: write
      id-token: write
      attestations: write
      security-events: write
```

**Pipeline flow:**

| Step | Action | Artifact | CRA Reference |
|]]></description>
            <content:encoded><![CDATA[<h1 id="_8-2-automation-workflows" tabindex="-1">8.2 Automation Workflows <a class="header-anchor" href="#_8-2-automation-workflows" aria-label="Permalink to &quot;8.2 Automation Workflows&quot;"></a></h1>
<h2 id="architecture" tabindex="-1">Architecture <a class="header-anchor" href="#architecture" aria-label="Permalink to &quot;Architecture&quot;"></a></h2>
<p>BAUER GROUP's CRA automation is split across two repositories:</p>
<ul>
<li><strong>CRA-specific</strong> workflows and actions live in <code>SEC-CRACompliance</code> (this repo)</li>
<li><strong>Generic</strong> actions (VEX generation, SBOM attestation) live in <code>automation-templates</code></li>
</ul>
<p>Consumer repositories (your products) call the CRA release workflow with a single <code>uses:</code> line.</p>
<div class="language- vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang"></span><pre class="shiki shiki-themes github-light github-dark vp-code" tabindex="0" v-pre=""><code><span class="line"><span>┌──────────────────────────────────────────┐</span></span>
<span class="line"><span>│            Consumer Repo (Product)        │</span></span>
<span class="line"><span>│                                          │</span></span>
<span class="line"><span>│  uses: bauer-group/SEC-CRACompliance/    │</span></span>
<span class="line"><span>│        .github/workflows/cra-release.yml │</span></span>
<span class="line"><span>└──────────────────┬───────────────────────┘</span></span>
<span class="line"><span>                   │</span></span>
<span class="line"><span>    ┌──────────────┼──────────────┐</span></span>
<span class="line"><span>    ▼              ▼              ▼</span></span>
<span class="line"><span>┌─────────┐  ┌──────────┐  ┌────────────┐</span></span>
<span class="line"><span>│ CRA-Repo│  │ CRA-Repo │  │ Automation │</span></span>
<span class="line"><span>│ Actions │  │ Actions  │  │ Templates  │</span></span>
<span class="line"><span>├─────────┤  ├──────────┤  ├────────────┤</span></span>
<span class="line"><span>│ SBOM    │  │Compliance│  │ VEX        │</span></span>
<span class="line"><span>│ Sign    │  │ Report   │  │ Attestation│</span></span>
<span class="line"><span>│ Scan    │  │          │  │            │</span></span>
<span class="line"><span>│ Hub     │  │          │  │            │</span></span>
<span class="line"><span>└─────────┘  └──────────┘  └────────────┘</span></span>
<span class="line"><span>CRA-specific  CRA-specific    Generic</span></span></code></pre>
</div><h2 id="reusable-workflows" tabindex="-1">Reusable Workflows <a class="header-anchor" href="#reusable-workflows" aria-label="Permalink to &quot;Reusable Workflows&quot;"></a></h2>
<h3 id="cra-release-yml-—-release-artifacts" tabindex="-1"><code>cra-release.yml</code> — Release Artifacts <a class="header-anchor" href="#cra-release-yml-—-release-artifacts" aria-label="Permalink to &quot;`cra-release.yml` — Release Artifacts&quot;"></a></h3>
<p>The primary workflow. Generates, signs, and archives all CRA artifacts for a release.</p>
<p><strong>Usage (zero-config):</strong></p>
<div class="language-yaml vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang">yaml</span><pre class="shiki shiki-themes github-light github-dark vp-code" tabindex="0" v-pre=""><code><span class="line"><span style="--shiki-light:#22863A;--shiki-dark:#85E89D">jobs</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">:</span></span>
<span class="line"><span style="--shiki-light:#22863A;--shiki-dark:#85E89D">  cra</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">:</span></span>
<span class="line"><span style="--shiki-light:#22863A;--shiki-dark:#85E89D">    uses</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">: </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF">bauer-group/SEC-CRACompliance/.github/workflows/cra-release.yml@main</span></span>
<span class="line"><span style="--shiki-light:#22863A;--shiki-dark:#85E89D">    permissions</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">:</span></span>
<span class="line"><span style="--shiki-light:#22863A;--shiki-dark:#85E89D">      contents</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">: </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF">write</span></span>
<span class="line"><span style="--shiki-light:#22863A;--shiki-dark:#85E89D">      id-token</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">: </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF">write</span></span>
<span class="line"><span style="--shiki-light:#22863A;--shiki-dark:#85E89D">      attestations</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">: </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF">write</span></span>
<span class="line"><span style="--shiki-light:#22863A;--shiki-dark:#85E89D">      security-events</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">: </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF">write</span></span></code></pre>
</div><p><strong>Usage (customised):</strong></p>
<div class="language-yaml vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang">yaml</span><pre class="shiki shiki-themes github-light github-dark vp-code" tabindex="0" v-pre=""><code><span class="line"><span style="--shiki-light:#22863A;--shiki-dark:#85E89D">jobs</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">:</span></span>
<span class="line"><span style="--shiki-light:#22863A;--shiki-dark:#85E89D">  cra</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">:</span></span>
<span class="line"><span style="--shiki-light:#22863A;--shiki-dark:#85E89D">    uses</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">: </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF">bauer-group/SEC-CRACompliance/.github/workflows/cra-release.yml@main</span></span>
<span class="line"><span style="--shiki-light:#22863A;--shiki-dark:#85E89D">    with</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">:</span></span>
<span class="line"><span style="--shiki-light:#22863A;--shiki-dark:#85E89D">      run-validation</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">: </span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF">true</span></span>
<span class="line"><span style="--shiki-light:#22863A;--shiki-dark:#85E89D">      validation-command</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">: </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF">'npm run ci'</span></span>
<span class="line"><span style="--shiki-light:#22863A;--shiki-dark:#85E89D">      sign-sbom</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">: </span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF">true</span></span>
<span class="line"><span style="--shiki-light:#22863A;--shiki-dark:#85E89D">      attest-sbom</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">: </span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF">true</span></span>
<span class="line"><span style="--shiki-light:#22863A;--shiki-dark:#85E89D">      generate-vex</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">: </span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF">true</span></span>
<span class="line"><span style="--shiki-light:#22863A;--shiki-dark:#85E89D">      generate-compliance-report</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">: </span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF">true</span></span>
<span class="line"><span style="--shiki-light:#22863A;--shiki-dark:#85E89D">      support-period-years</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">: </span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF">5</span></span>
<span class="line"><span style="--shiki-light:#22863A;--shiki-dark:#85E89D">      fail-on-critical</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">: </span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF">true</span></span>
<span class="line"><span style="--shiki-light:#22863A;--shiki-dark:#85E89D">    permissions</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">:</span></span>
<span class="line"><span style="--shiki-light:#22863A;--shiki-dark:#85E89D">      contents</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">: </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF">write</span></span>
<span class="line"><span style="--shiki-light:#22863A;--shiki-dark:#85E89D">      id-token</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">: </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF">write</span></span>
<span class="line"><span style="--shiki-light:#22863A;--shiki-dark:#85E89D">      attestations</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">: </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF">write</span></span>
<span class="line"><span style="--shiki-light:#22863A;--shiki-dark:#85E89D">      security-events</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">: </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF">write</span></span></code></pre>
</div><p><strong>Pipeline flow:</strong></p>
<table tabindex="0">
<thead>
<tr>
<th>Step</th>
<th>Action</th>
<th>Artifact</th>
<th>CRA Reference</th>
</tr>
</thead>
<tbody>
<tr>
<td>1</td>
<td>SBOM Generation</td>
<td><code>sbom.cdx.json</code></td>
<td>Art. 13(23)</td>
</tr>
<tr>
<td>2</td>
<td>SBOM Signing (Cosign)</td>
<td><code>.sig</code> + <code>.cert</code></td>
<td>Art. 10(12)</td>
</tr>
<tr>
<td>3</td>
<td>SBOM Attestation</td>
<td>GitHub Attestation</td>
<td>Art. 10(12)</td>
</tr>
<tr>
<td>4</td>
<td>Vulnerability Scan</td>
<td><code>vulnerability-report.json</code></td>
<td>Art. 10(6)</td>
</tr>
<tr>
<td>5</td>
<td>VEX Generation</td>
<td><code>vex.openvex.json</code></td>
<td>Annex I II.2</td>
</tr>
<tr>
<td>6</td>
<td>Compliance Report</td>
<td><code>.json</code> + <code>.md</code></td>
<td>Annex VII</td>
</tr>
<tr>
<td>7</td>
<td>SARIF Upload</td>
<td>GitHub Security tab</td>
<td>Art. 10(8)</td>
</tr>
<tr>
<td>8</td>
<td>Release Attachment</td>
<td>All artifacts on release</td>
<td>Art. 13</td>
</tr>
</tbody>
</table>
<div class="tip custom-block"><p class="custom-block-title">Zero Config</p>
<p>All new features (attestation, VEX, compliance report) are enabled by default. Existing consumers get them automatically without workflow changes.</p>
</div>
<h3 id="cra-scan-yml-—-scheduled-vulnerability-scan" tabindex="-1"><code>cra-scan.yml</code> — Scheduled Vulnerability Scan <a class="header-anchor" href="#cra-scan-yml-—-scheduled-vulnerability-scan" aria-label="Permalink to &quot;`cra-scan.yml` — Scheduled Vulnerability Scan&quot;"></a></h3>
<p>For continuous CVE monitoring (Art. 10 Abs. 8). Run daily via cron schedule.</p>
<div class="language-yaml vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang">yaml</span><pre class="shiki shiki-themes github-light github-dark vp-code" tabindex="0" v-pre=""><code><span class="line"><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF">on</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">:</span></span>
<span class="line"><span style="--shiki-light:#22863A;--shiki-dark:#85E89D">  schedule</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">:</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">    - </span><span style="--shiki-light:#22863A;--shiki-dark:#85E89D">cron</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">: </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF">'0 6 * * *'</span></span>
<span class="line"></span>
<span class="line"><span style="--shiki-light:#22863A;--shiki-dark:#85E89D">jobs</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">:</span></span>
<span class="line"><span style="--shiki-light:#22863A;--shiki-dark:#85E89D">  scan</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">:</span></span>
<span class="line"><span style="--shiki-light:#22863A;--shiki-dark:#85E89D">    uses</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">: </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF">bauer-group/SEC-CRACompliance/.github/workflows/cra-scan.yml@main</span></span>
<span class="line"><span style="--shiki-light:#22863A;--shiki-dark:#85E89D">    with</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">:</span></span>
<span class="line"><span style="--shiki-light:#22863A;--shiki-dark:#85E89D">      severity-threshold</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">: </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF">MEDIUM</span></span>
<span class="line"><span style="--shiki-light:#22863A;--shiki-dark:#85E89D">      fail-on-critical</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">: </span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF">false</span></span>
<span class="line"><span style="--shiki-light:#22863A;--shiki-dark:#85E89D">      create-issue</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">: </span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF">true</span></span>
<span class="line"><span style="--shiki-light:#22863A;--shiki-dark:#85E89D">    permissions</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">:</span></span>
<span class="line"><span style="--shiki-light:#22863A;--shiki-dark:#85E89D">      contents</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">: </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF">read</span></span>
<span class="line"><span style="--shiki-light:#22863A;--shiki-dark:#85E89D">      security-events</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">: </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF">write</span></span>
<span class="line"><span style="--shiki-light:#22863A;--shiki-dark:#85E89D">      issues</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">: </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF">write</span></span></code></pre>
</div><p><strong>Features:</strong></p>
<ul>
<li>Multi-engine scanning (Trivy + Grype + OSV-Scanner)</li>
<li>Automatic GitHub Issue creation for CRITICAL findings</li>
<li>SARIF upload to GitHub Security tab</li>
<li>Configurable severity thresholds</li>
</ul>
<h3 id="cra-report-yml-—-hub-api-report" tabindex="-1"><code>cra-report.yml</code> — Hub API Report <a class="header-anchor" href="#cra-report-yml-—-hub-api-report" aria-label="Permalink to &quot;`cra-report.yml` — Hub API Report&quot;"></a></h3>
<p>Sends compliance data to the Software Security Hub API for centralised tracking.</p>
<div class="language-yaml vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang">yaml</span><pre class="shiki shiki-themes github-light github-dark vp-code" tabindex="0" v-pre=""><code><span class="line"><span style="--shiki-light:#22863A;--shiki-dark:#85E89D">jobs</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">:</span></span>
<span class="line"><span style="--shiki-light:#22863A;--shiki-dark:#85E89D">  report</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">:</span></span>
<span class="line"><span style="--shiki-light:#22863A;--shiki-dark:#85E89D">    uses</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">: </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF">bauer-group/SEC-CRACompliance/.github/workflows/cra-report.yml@main</span></span>
<span class="line"><span style="--shiki-light:#22863A;--shiki-dark:#85E89D">    with</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">:</span></span>
<span class="line"><span style="--shiki-light:#22863A;--shiki-dark:#85E89D">      send-sbom</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">: </span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF">true</span></span>
<span class="line"><span style="--shiki-light:#22863A;--shiki-dark:#85E89D">      send-vulnerabilities</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">: </span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF">true</span></span>
<span class="line"><span style="--shiki-light:#22863A;--shiki-dark:#85E89D">      send-release-info</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">: </span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF">true</span></span></code></pre>
</div><h2 id="complete-consumer-workflow" tabindex="-1">Complete Consumer Workflow <a class="header-anchor" href="#complete-consumer-workflow" aria-label="Permalink to &quot;Complete Consumer Workflow&quot;"></a></h2>
<div class="tip custom-block"><p class="custom-block-title">COPY &amp; PASTE</p>
<p>Copy this workflow into your product repository as <code>.github/workflows/cra.yml</code>. It covers release compliance, weekly scanning, and Hub reporting — all with sensible defaults.</p>
</div>
<h3 id="minimal-zero-config" tabindex="-1">Minimal (Zero-Config) <a class="header-anchor" href="#minimal-zero-config" aria-label="Permalink to &quot;Minimal (Zero-Config)&quot;"></a></h3>
<p>Works out of the box for any repository. All features enabled with defaults.</p>
<div class="language-yaml vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang">yaml</span><pre class="shiki shiki-themes github-light github-dark vp-code" tabindex="0" v-pre=""><code><span class="line"><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D"># .github/workflows/cra.yml</span></span>
<span class="line"><span style="--shiki-light:#22863A;--shiki-dark:#85E89D">name</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">: </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF">CRA Compliance</span></span>
<span class="line"></span>
<span class="line"><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF">on</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">:</span></span>
<span class="line"><span style="--shiki-light:#22863A;--shiki-dark:#85E89D">  release</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">:</span></span>
<span class="line"><span style="--shiki-light:#22863A;--shiki-dark:#85E89D">    types</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">: [</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF">published</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">]</span></span>
<span class="line"><span style="--shiki-light:#22863A;--shiki-dark:#85E89D">  schedule</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">:</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">    - </span><span style="--shiki-light:#22863A;--shiki-dark:#85E89D">cron</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">: </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF">'0 6 * * 1'</span><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D">  # Weekly Monday 06:00 UTC</span></span>
<span class="line"><span style="--shiki-light:#22863A;--shiki-dark:#85E89D">  workflow_dispatch</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">:</span></span>
<span class="line"></span>
<span class="line"><span style="--shiki-light:#22863A;--shiki-dark:#85E89D">permissions</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">:</span></span>
<span class="line"><span style="--shiki-light:#22863A;--shiki-dark:#85E89D">  contents</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">: </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF">write</span></span>
<span class="line"><span style="--shiki-light:#22863A;--shiki-dark:#85E89D">  id-token</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">: </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF">write</span></span>
<span class="line"><span style="--shiki-light:#22863A;--shiki-dark:#85E89D">  attestations</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">: </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF">write</span></span>
<span class="line"><span style="--shiki-light:#22863A;--shiki-dark:#85E89D">  security-events</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">: </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF">write</span></span>
<span class="line"><span style="--shiki-light:#22863A;--shiki-dark:#85E89D">  issues</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">: </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF">write</span></span>
<span class="line"></span>
<span class="line"><span style="--shiki-light:#22863A;--shiki-dark:#85E89D">jobs</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">:</span></span>
<span class="line"><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D">  # On release: Full CRA pipeline</span></span>
<span class="line"><span style="--shiki-light:#22863A;--shiki-dark:#85E89D">  cra-release</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">:</span></span>
<span class="line"><span style="--shiki-light:#22863A;--shiki-dark:#85E89D">    if</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">: </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF">github.event_name == 'release'</span></span>
<span class="line"><span style="--shiki-light:#22863A;--shiki-dark:#85E89D">    uses</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">: </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF">bauer-group/SEC-CRACompliance/.github/workflows/cra-release.yml@main</span></span>
<span class="line"><span style="--shiki-light:#22863A;--shiki-dark:#85E89D">    permissions</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">:</span></span>
<span class="line"><span style="--shiki-light:#22863A;--shiki-dark:#85E89D">      contents</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">: </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF">write</span></span>
<span class="line"><span style="--shiki-light:#22863A;--shiki-dark:#85E89D">      id-token</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">: </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF">write</span></span>
<span class="line"><span style="--shiki-light:#22863A;--shiki-dark:#85E89D">      attestations</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">: </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF">write</span></span>
<span class="line"><span style="--shiki-light:#22863A;--shiki-dark:#85E89D">      security-events</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">: </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF">write</span></span>
<span class="line"></span>
<span class="line"><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D">  # Weekly: CVE scan</span></span>
<span class="line"><span style="--shiki-light:#22863A;--shiki-dark:#85E89D">  cra-scan</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">:</span></span>
<span class="line"><span style="--shiki-light:#22863A;--shiki-dark:#85E89D">    if</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">: </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF">github.event_name == 'schedule' || github.event_name == 'workflow_dispatch'</span></span>
<span class="line"><span style="--shiki-light:#22863A;--shiki-dark:#85E89D">    uses</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">: </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF">bauer-group/SEC-CRACompliance/.github/workflows/cra-scan.yml@main</span></span>
<span class="line"><span style="--shiki-light:#22863A;--shiki-dark:#85E89D">    permissions</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">:</span></span>
<span class="line"><span style="--shiki-light:#22863A;--shiki-dark:#85E89D">      contents</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">: </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF">read</span></span>
<span class="line"><span style="--shiki-light:#22863A;--shiki-dark:#85E89D">      security-events</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">: </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF">write</span></span>
<span class="line"><span style="--shiki-light:#22863A;--shiki-dark:#85E89D">      issues</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">: </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF">write</span></span></code></pre>
</div><h3 id="full-configuration-all-parameters" tabindex="-1">Full Configuration (all parameters) <a class="header-anchor" href="#full-configuration-all-parameters" aria-label="Permalink to &quot;Full Configuration (all parameters)&quot;"></a></h3>
<p>For products with specific requirements — Node.js validation, Class I classification, Grype scanning, etc.</p>
<div class="language-yaml vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang">yaml</span><pre class="shiki shiki-themes github-light github-dark vp-code" tabindex="0" v-pre=""><code><span class="line"><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D"># .github/workflows/cra.yml</span></span>
<span class="line"><span style="--shiki-light:#22863A;--shiki-dark:#85E89D">name</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">: </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF">CRA Compliance</span></span>
<span class="line"></span>
<span class="line"><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF">on</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">:</span></span>
<span class="line"><span style="--shiki-light:#22863A;--shiki-dark:#85E89D">  release</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">:</span></span>
<span class="line"><span style="--shiki-light:#22863A;--shiki-dark:#85E89D">    types</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">: [</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF">published</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">]</span></span>
<span class="line"><span style="--shiki-light:#22863A;--shiki-dark:#85E89D">  schedule</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">:</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">    - </span><span style="--shiki-light:#22863A;--shiki-dark:#85E89D">cron</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">: </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF">'0 6 * * 1'</span></span>
<span class="line"><span style="--shiki-light:#22863A;--shiki-dark:#85E89D">  workflow_dispatch</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">:</span></span>
<span class="line"></span>
<span class="line"><span style="--shiki-light:#22863A;--shiki-dark:#85E89D">permissions</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">:</span></span>
<span class="line"><span style="--shiki-light:#22863A;--shiki-dark:#85E89D">  contents</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">: </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF">write</span></span>
<span class="line"><span style="--shiki-light:#22863A;--shiki-dark:#85E89D">  id-token</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">: </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF">write</span></span>
<span class="line"><span style="--shiki-light:#22863A;--shiki-dark:#85E89D">  attestations</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">: </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF">write</span></span>
<span class="line"><span style="--shiki-light:#22863A;--shiki-dark:#85E89D">  security-events</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">: </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF">write</span></span>
<span class="line"><span style="--shiki-light:#22863A;--shiki-dark:#85E89D">  issues</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">: </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF">write</span></span>
<span class="line"></span>
<span class="line"><span style="--shiki-light:#22863A;--shiki-dark:#85E89D">jobs</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">:</span></span>
<span class="line"><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D">  # ── Release: Full CRA pipeline ──</span></span>
<span class="line"><span style="--shiki-light:#22863A;--shiki-dark:#85E89D">  cra-release</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">:</span></span>
<span class="line"><span style="--shiki-light:#22863A;--shiki-dark:#85E89D">    if</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">: </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF">github.event_name == 'release'</span></span>
<span class="line"><span style="--shiki-light:#22863A;--shiki-dark:#85E89D">    uses</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">: </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF">bauer-group/SEC-CRACompliance/.github/workflows/cra-release.yml@main</span></span>
<span class="line"><span style="--shiki-light:#22863A;--shiki-dark:#85E89D">    with</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">:</span></span>
<span class="line"><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D">      # Validation</span></span>
<span class="line"><span style="--shiki-light:#22863A;--shiki-dark:#85E89D">      run-validation</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">: </span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF">true</span><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D">              # Run lint/build before CRA artifacts</span></span>
<span class="line"><span style="--shiki-light:#22863A;--shiki-dark:#85E89D">      node-version</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">: </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF">'24'</span><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D">                # Node.js version for validation</span></span>
<span class="line"><span style="--shiki-light:#22863A;--shiki-dark:#85E89D">      validation-command</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">: </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF">'npm run ci'</span><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D">  # Your validation command</span></span>
<span class="line"></span>
<span class="line"><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D">      # SBOM &#x26; Scanning</span></span>
<span class="line"><span style="--shiki-light:#22863A;--shiki-dark:#85E89D">      scan-target</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">: </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF">'.'</span><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D">                  # Directory, image ref, or SBOM path</span></span>
<span class="line"><span style="--shiki-light:#22863A;--shiki-dark:#85E89D">      scan-type</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">: </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF">'auto'</span><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D">                 # auto | fs | image | sbom</span></span>
<span class="line"><span style="--shiki-light:#22863A;--shiki-dark:#85E89D">      sign-sbom</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">: </span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF">true</span><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D">                   # Cosign keyless signing</span></span>
<span class="line"><span style="--shiki-light:#22863A;--shiki-dark:#85E89D">      fail-on-critical</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">: </span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF">true</span><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D">            # Block release on CRITICAL CVEs</span></span>
<span class="line"><span style="--shiki-light:#22863A;--shiki-dark:#85E89D">      enable-grype</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">: </span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF">true</span><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D">                # Additional Grype scan</span></span>
<span class="line"><span style="--shiki-light:#22863A;--shiki-dark:#85E89D">      enable-osv</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">: </span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF">true</span><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D">                  # Additional OSV-Scanner</span></span>
<span class="line"></span>
<span class="line"><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D">      # Attestation &#x26; VEX</span></span>
<span class="line"><span style="--shiki-light:#22863A;--shiki-dark:#85E89D">      attest-sbom</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">: </span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF">true</span><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D">                 # GitHub-native SBOM attestation</span></span>
<span class="line"><span style="--shiki-light:#22863A;--shiki-dark:#85E89D">      generate-vex</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">: </span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF">true</span><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D">                # OpenVEX document</span></span>
<span class="line"><span style="--shiki-light:#22863A;--shiki-dark:#85E89D">      vex-overrides</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">: </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF">'security/vex-overrides.json'</span><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D">  # Manual triage file</span></span>
<span class="line"></span>
<span class="line"><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D">      # Compliance Report</span></span>
<span class="line"><span style="--shiki-light:#22863A;--shiki-dark:#85E89D">      generate-compliance-report</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">: </span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF">true</span></span>
<span class="line"><span style="--shiki-light:#22863A;--shiki-dark:#85E89D">      support-period-years</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">: </span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF">5</span><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D">           # Art. 13(8): minimum 5 years</span></span>
<span class="line"></span>
<span class="line"><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D">      # EU Declaration of Conformity</span></span>
<span class="line"><span style="--shiki-light:#22863A;--shiki-dark:#85E89D">      generate-eu-doc</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">: </span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF">true</span><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D">             # Annex V JSON</span></span>
<span class="line"><span style="--shiki-light:#22863A;--shiki-dark:#85E89D">      render-pdfs</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">: </span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF">true</span><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D">                 # JSON → PDF rendering</span></span>
<span class="line"><span style="--shiki-light:#22863A;--shiki-dark:#85E89D">      classification</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">: </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF">'important-class-1'</span><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D">  # standard | important-class-1 | important-class-2 | critical</span></span>
<span class="line"><span style="--shiki-light:#22863A;--shiki-dark:#85E89D">      conformity-module</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">: </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF">'module-a'</span><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D">     # module-a | module-b-c | module-h | eucc</span></span>
<span class="line"><span style="--shiki-light:#22863A;--shiki-dark:#85E89D">      manufacturer-name</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">: </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF">'BAUER GROUP GmbH'</span></span>
<span class="line"></span>
<span class="line"><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D">      # Release</span></span>
<span class="line"><span style="--shiki-light:#22863A;--shiki-dark:#85E89D">      upload-to-release</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">: </span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF">true</span><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D">           # Attach all artifacts to GitHub Release</span></span>
<span class="line"><span style="--shiki-light:#22863A;--shiki-dark:#85E89D">      retention-days</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">: </span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF">90</span><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D">                # Artifact retention</span></span>
<span class="line"><span style="--shiki-light:#22863A;--shiki-dark:#85E89D">    permissions</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">:</span></span>
<span class="line"><span style="--shiki-light:#22863A;--shiki-dark:#85E89D">      contents</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">: </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF">write</span></span>
<span class="line"><span style="--shiki-light:#22863A;--shiki-dark:#85E89D">      id-token</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">: </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF">write</span></span>
<span class="line"><span style="--shiki-light:#22863A;--shiki-dark:#85E89D">      attestations</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">: </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF">write</span></span>
<span class="line"><span style="--shiki-light:#22863A;--shiki-dark:#85E89D">      security-events</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">: </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF">write</span></span>
<span class="line"></span>
<span class="line"><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D">  # ── Weekly: CVE Scan ──</span></span>
<span class="line"><span style="--shiki-light:#22863A;--shiki-dark:#85E89D">  cra-scan</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">:</span></span>
<span class="line"><span style="--shiki-light:#22863A;--shiki-dark:#85E89D">    if</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">: </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF">github.event_name == 'schedule' || github.event_name == 'workflow_dispatch'</span></span>
<span class="line"><span style="--shiki-light:#22863A;--shiki-dark:#85E89D">    uses</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">: </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF">bauer-group/SEC-CRACompliance/.github/workflows/cra-scan.yml@main</span></span>
<span class="line"><span style="--shiki-light:#22863A;--shiki-dark:#85E89D">    with</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">:</span></span>
<span class="line"><span style="--shiki-light:#22863A;--shiki-dark:#85E89D">      severity-threshold</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">: </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF">'MEDIUM'</span><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D">      # UNKNOWN | LOW | MEDIUM | HIGH | CRITICAL</span></span>
<span class="line"><span style="--shiki-light:#22863A;--shiki-dark:#85E89D">      fail-on-critical</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">: </span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF">false</span><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D">           # Don't fail scheduled scans</span></span>
<span class="line"><span style="--shiki-light:#22863A;--shiki-dark:#85E89D">      create-issue</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">: </span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF">true</span><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D">                # Create GitHub Issue for CRITICAL CVEs</span></span>
<span class="line"><span style="--shiki-light:#22863A;--shiki-dark:#85E89D">      enable-grype</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">: </span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF">true</span></span>
<span class="line"><span style="--shiki-light:#22863A;--shiki-dark:#85E89D">      enable-osv</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">: </span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF">true</span></span>
<span class="line"><span style="--shiki-light:#22863A;--shiki-dark:#85E89D">    permissions</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">:</span></span>
<span class="line"><span style="--shiki-light:#22863A;--shiki-dark:#85E89D">      contents</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">: </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF">read</span></span>
<span class="line"><span style="--shiki-light:#22863A;--shiki-dark:#85E89D">      security-events</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">: </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF">write</span></span>
<span class="line"><span style="--shiki-light:#22863A;--shiki-dark:#85E89D">      issues</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">: </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF">write</span></span>
<span class="line"></span>
<span class="line"><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D">  # ── After Release: Report to Hub ──</span></span>
<span class="line"><span style="--shiki-light:#22863A;--shiki-dark:#85E89D">  cra-report</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">:</span></span>
<span class="line"><span style="--shiki-light:#22863A;--shiki-dark:#85E89D">    if</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">: </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF">github.event_name == 'release'</span></span>
<span class="line"><span style="--shiki-light:#22863A;--shiki-dark:#85E89D">    needs</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">: [</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF">cra-release</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">]</span></span>
<span class="line"><span style="--shiki-light:#22863A;--shiki-dark:#85E89D">    uses</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">: </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF">bauer-group/SEC-CRACompliance/.github/workflows/cra-report.yml@main</span></span>
<span class="line"><span style="--shiki-light:#22863A;--shiki-dark:#85E89D">    with</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">:</span></span>
<span class="line"><span style="--shiki-light:#22863A;--shiki-dark:#85E89D">      dry-run</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">: </span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF">true</span><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D">                     # Set false when Hub is operational</span></span>
<span class="line"><span style="--shiki-light:#22863A;--shiki-dark:#85E89D">    permissions</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">:</span></span>
<span class="line"><span style="--shiki-light:#22863A;--shiki-dark:#85E89D">      contents</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">: </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF">read</span></span>
<span class="line"><span style="--shiki-light:#22863A;--shiki-dark:#85E89D">      id-token</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">: </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF">write</span></span></code></pre>
</div><h3 id="docker-container-image" tabindex="-1">Docker / Container Image <a class="header-anchor" href="#docker-container-image" aria-label="Permalink to &quot;Docker / Container Image&quot;"></a></h3>
<p>For products that build container images — scan the image instead of the filesystem.</p>
<div class="language-yaml vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang">yaml</span><pre class="shiki shiki-themes github-light github-dark vp-code" tabindex="0" v-pre=""><code><span class="line"><span style="--shiki-light:#22863A;--shiki-dark:#85E89D">jobs</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">:</span></span>
<span class="line"><span style="--shiki-light:#22863A;--shiki-dark:#85E89D">  cra-release</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">:</span></span>
<span class="line"><span style="--shiki-light:#22863A;--shiki-dark:#85E89D">    if</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">: </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF">github.event_name == 'release'</span></span>
<span class="line"><span style="--shiki-light:#22863A;--shiki-dark:#85E89D">    uses</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">: </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF">bauer-group/SEC-CRACompliance/.github/workflows/cra-release.yml@main</span></span>
<span class="line"><span style="--shiki-light:#22863A;--shiki-dark:#85E89D">    with</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">:</span></span>
<span class="line"><span style="--shiki-light:#22863A;--shiki-dark:#85E89D">      scan-target</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">: </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF">'ghcr.io/bauer-group/my-app:${{ github.ref_name }}'</span></span>
<span class="line"><span style="--shiki-light:#22863A;--shiki-dark:#85E89D">      scan-type</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">: </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF">'image'</span></span>
<span class="line"><span style="--shiki-light:#22863A;--shiki-dark:#85E89D">      classification</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">: </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF">'important-class-2'</span></span>
<span class="line"><span style="--shiki-light:#22863A;--shiki-dark:#85E89D">    permissions</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">:</span></span>
<span class="line"><span style="--shiki-light:#22863A;--shiki-dark:#85E89D">      contents</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">: </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF">write</span></span>
<span class="line"><span style="--shiki-light:#22863A;--shiki-dark:#85E89D">      id-token</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">: </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF">write</span></span>
<span class="line"><span style="--shiki-light:#22863A;--shiki-dark:#85E89D">      attestations</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">: </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF">write</span></span>
<span class="line"><span style="--shiki-light:#22863A;--shiki-dark:#85E89D">      security-events</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">: </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF">write</span></span></code></pre>
</div><h3 id="product-config-file-recommended" tabindex="-1">Product Config File (recommended) <a class="header-anchor" href="#product-config-file-recommended" aria-label="Permalink to &quot;Product Config File (recommended)&quot;"></a></h3>
<p>Instead of passing all parameters in the workflow, create a <code>cra-product.json</code> in your repository root. The <code>cra-eu-doc</code> action reads it automatically:</p>
<div class="language-json vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang">json</span><pre class="shiki shiki-themes github-light github-dark vp-code" tabindex="0" v-pre=""><code><span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">{</span></span>
<span class="line"><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF">  "$schema"</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">: </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF">"https://cra.docs.bauer-group.com/schemas/cra-product/v1.0.0"</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">,</span></span>
<span class="line"><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF">  "product"</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">: {</span></span>
<span class="line"><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF">    "name"</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">: </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF">"API-Gateway"</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">,</span></span>
<span class="line"><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF">    "description"</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">: </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF">"REST API Gateway for BAUER GROUP services"</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">,</span></span>
<span class="line"><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF">    "classification"</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">: </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF">"important-class-1"</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">,</span></span>
<span class="line"><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF">    "conformityModule"</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">: </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF">"module-a"</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">  },</span></span>
<span class="line"><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF">  "manufacturer"</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">: {</span></span>
<span class="line"><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF">    "name"</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">: </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF">"BAUER GROUP GmbH"</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">,</span></span>
<span class="line"><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF">    "address"</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">: </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF">"Street, City, Country"</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">  },</span></span>
<span class="line"><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF">  "support"</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">: {</span></span>
<span class="line"><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF">    "periodYears"</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">: </span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF">5</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">,</span></span>
<span class="line"><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF">    "until"</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">: </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF">"2031-12-31"</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">  },</span></span>
<span class="line"><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF">  "contacts"</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">: {</span></span>
<span class="line"><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF">    "securityEmail"</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">: </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF">"disclosure@bauer-group.com"</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">,</span></span>
<span class="line"><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF">    "productOwner"</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">: </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF">"team@bauer-group.com"</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">  }</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">}</span></span></code></pre>
</div><h2 id="parameter-reference" tabindex="-1">Parameter Reference <a class="header-anchor" href="#parameter-reference" aria-label="Permalink to &quot;Parameter Reference&quot;"></a></h2>
<h3 id="cra-release-yml" tabindex="-1"><code>cra-release.yml</code> <a class="header-anchor" href="#cra-release-yml" aria-label="Permalink to &quot;`cra-release.yml`&quot;"></a></h3>
<table tabindex="0">
<thead>
<tr>
<th>Parameter</th>
<th>Type</th>
<th>Default</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><code>run-validation</code></td>
<td>boolean</td>
<td><code>false</code></td>
<td>Run lint/build before CRA artifacts</td>
</tr>
<tr>
<td><code>node-version</code></td>
<td>string</td>
<td><code>'24'</code></td>
<td>Node.js version (if <code>run-validation: true</code>)</td>
</tr>
<tr>
<td><code>validation-command</code></td>
<td>string</td>
<td><code>'npm run lint'</code></td>
<td>Validation command</td>
</tr>
<tr>
<td><code>scan-target</code></td>
<td>string</td>
<td><code>'.'</code></td>
<td>Directory, image ref, or SBOM file path</td>
</tr>
<tr>
<td><code>scan-type</code></td>
<td>string</td>
<td><code>'auto'</code></td>
<td><code>auto</code>, <code>fs</code>, <code>image</code>, or <code>sbom</code></td>
</tr>
<tr>
<td><code>sbom-filename</code></td>
<td>string</td>
<td><code>'sbom.cdx.json'</code></td>
<td>SBOM output filename</td>
</tr>
<tr>
<td><code>sign-sbom</code></td>
<td>boolean</td>
<td><code>true</code></td>
<td>Sign SBOM with Cosign (keyless)</td>
</tr>
<tr>
<td><code>fail-on-critical</code></td>
<td>boolean</td>
<td><code>false</code></td>
<td>Fail if CRITICAL vulnerabilities found</td>
</tr>
<tr>
<td><code>enable-grype</code></td>
<td>boolean</td>
<td><code>false</code></td>
<td>Run Grype as additional scanner</td>
</tr>
<tr>
<td><code>enable-osv</code></td>
<td>boolean</td>
<td><code>true</code></td>
<td>Run OSV-Scanner</td>
</tr>
<tr>
<td><code>attest-sbom</code></td>
<td>boolean</td>
<td><code>true</code></td>
<td>Create GitHub SBOM attestation</td>
</tr>
<tr>
<td><code>generate-vex</code></td>
<td>boolean</td>
<td><code>true</code></td>
<td>Generate OpenVEX document</td>
</tr>
<tr>
<td><code>vex-overrides</code></td>
<td>string</td>
<td><code>'security/vex-overrides.json'</code></td>
<td>Path to VEX triage overrides</td>
</tr>
<tr>
<td><code>generate-compliance-report</code></td>
<td>boolean</td>
<td><code>true</code></td>
<td>Generate JSON + Markdown report</td>
</tr>
<tr>
<td><code>support-period-years</code></td>
<td>number</td>
<td><code>5</code></td>
<td>Support period (Art. 13(8))</td>
</tr>
<tr>
<td><code>generate-eu-doc</code></td>
<td>boolean</td>
<td><code>true</code></td>
<td>Generate EU Declaration of Conformity</td>
</tr>
<tr>
<td><code>render-pdfs</code></td>
<td>boolean</td>
<td><code>true</code></td>
<td>Render JSON → PDF</td>
</tr>
<tr>
<td><code>classification</code></td>
<td>string</td>
<td><code>'standard'</code></td>
<td>CRA class: <code>standard</code>, <code>important-class-1</code>, <code>important-class-2</code>, <code>critical</code></td>
</tr>
<tr>
<td><code>conformity-module</code></td>
<td>string</td>
<td><code>'module-a'</code></td>
<td>Module: <code>module-a</code>, <code>module-b-c</code>, <code>module-h</code>, <code>eucc</code></td>
</tr>
<tr>
<td><code>manufacturer-name</code></td>
<td>string</td>
<td><code>'BAUER GROUP GmbH'</code></td>
<td>Manufacturer legal name</td>
</tr>
<tr>
<td><code>upload-to-release</code></td>
<td>boolean</td>
<td><code>true</code></td>
<td>Attach artifacts to GitHub Release</td>
</tr>
<tr>
<td><code>retention-days</code></td>
<td>number</td>
<td><code>90</code></td>
<td>Artifact retention in days</td>
</tr>
</tbody>
</table>
<h3 id="cra-scan-yml" tabindex="-1"><code>cra-scan.yml</code> <a class="header-anchor" href="#cra-scan-yml" aria-label="Permalink to &quot;`cra-scan.yml`&quot;"></a></h3>
<table tabindex="0">
<thead>
<tr>
<th>Parameter</th>
<th>Type</th>
<th>Default</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><code>scan-target</code></td>
<td>string</td>
<td><code>'.'</code></td>
<td>Scan target</td>
</tr>
<tr>
<td><code>scan-type</code></td>
<td>string</td>
<td><code>'auto'</code></td>
<td>Scan type</td>
</tr>
<tr>
<td><code>severity-threshold</code></td>
<td>string</td>
<td><code>'MEDIUM'</code></td>
<td>Minimum severity to report</td>
</tr>
<tr>
<td><code>fail-on-critical</code></td>
<td>boolean</td>
<td><code>false</code></td>
<td>Fail on CRITICAL findings</td>
</tr>
<tr>
<td><code>create-issue</code></td>
<td>boolean</td>
<td><code>true</code></td>
<td>Create GitHub Issue for CRITICALs</td>
</tr>
<tr>
<td><code>enable-grype</code></td>
<td>boolean</td>
<td><code>false</code></td>
<td>Additional Grype scan</td>
</tr>
<tr>
<td><code>enable-osv</code></td>
<td>boolean</td>
<td><code>true</code></td>
<td>Additional OSV-Scanner</td>
</tr>
</tbody>
</table>
<h3 id="required-permissions" tabindex="-1">Required Permissions <a class="header-anchor" href="#required-permissions" aria-label="Permalink to &quot;Required Permissions&quot;"></a></h3>
<table tabindex="0">
<thead>
<tr>
<th>Workflow</th>
<th>Permission</th>
<th>Why</th>
</tr>
</thead>
<tbody>
<tr>
<td><code>cra-release</code></td>
<td><code>contents: write</code></td>
<td>Upload release assets</td>
</tr>
<tr>
<td><code>cra-release</code></td>
<td><code>id-token: write</code></td>
<td>Cosign keyless signing (OIDC)</td>
</tr>
<tr>
<td><code>cra-release</code></td>
<td><code>attestations: write</code></td>
<td>GitHub SBOM attestation</td>
</tr>
<tr>
<td><code>cra-release</code></td>
<td><code>security-events: write</code></td>
<td>SARIF upload to Security tab</td>
</tr>
<tr>
<td><code>cra-scan</code></td>
<td><code>contents: read</code></td>
<td>Read repository for scanning</td>
</tr>
<tr>
<td><code>cra-scan</code></td>
<td><code>security-events: write</code></td>
<td>SARIF upload</td>
</tr>
<tr>
<td><code>cra-scan</code></td>
<td><code>issues: write</code></td>
<td>Create CVE issues</td>
</tr>
<tr>
<td><code>cra-report</code></td>
<td><code>contents: read</code></td>
<td>Read SBOM + scan results</td>
</tr>
<tr>
<td><code>cra-report</code></td>
<td><code>id-token: write</code></td>
<td>API authentication</td>
</tr>
</tbody>
</table>
<h2 id="release-artifacts" tabindex="-1">Release Artifacts <a class="header-anchor" href="#release-artifacts" aria-label="Permalink to &quot;Release Artifacts&quot;"></a></h2>
<p>A fully configured CRA release produces:</p>
<table tabindex="0">
<thead>
<tr>
<th>Artifact</th>
<th>Format</th>
<th>Purpose</th>
<th>CRA Reference</th>
</tr>
</thead>
<tbody>
<tr>
<td><code>sbom.cdx.json</code></td>
<td>CycloneDX JSON</td>
<td>Software Bill of Materials</td>
<td>Art. 13(23)</td>
</tr>
<tr>
<td><code>sbom.cdx.json.sig</code></td>
<td>Cosign Signature</td>
<td>SBOM integrity (portable)</td>
<td>Art. 10(12)</td>
</tr>
<tr>
<td><code>sbom.cdx.json.cert</code></td>
<td>X.509 Certificate</td>
<td>Signing identity</td>
<td>Art. 10(12)</td>
</tr>
<tr>
<td>GitHub Attestation</td>
<td>Sigstore</td>
<td>SBOM provenance (GitHub-native)</td>
<td>Art. 10(12)</td>
</tr>
<tr>
<td><code>vulnerability-report.json</code></td>
<td>Trivy JSON</td>
<td>Known vulnerabilities</td>
<td>Art. 10(6)</td>
</tr>
<tr>
<td><code>vex.openvex.json</code></td>
<td>OpenVEX v0.2.0</td>
<td>Vulnerability exploitability</td>
<td>Annex I II.2</td>
</tr>
<tr>
<td><code>cra-compliance-report.json</code></td>
<td>Custom Schema v1.0.0</td>
<td>Machine-readable compliance status</td>
<td>Annex VII</td>
</tr>
<tr>
<td><code>cra-compliance-report.md</code></td>
<td>Markdown</td>
<td>Human-readable compliance status</td>
<td>Annex VII</td>
</tr>
<tr>
<td><code>eu-doc.json</code></td>
<td>EU DoC Schema v1.0.0</td>
<td>Machine-readable EU Declaration of Conformity</td>
<td>Art. 28, Annex V</td>
</tr>
<tr>
<td><code>EU-Declaration-*.pdf</code></td>
<td>PDF</td>
<td>Printable EU Declaration of Conformity</td>
<td>Art. 28, Annex V</td>
</tr>
<tr>
<td><code>CRA-Compliance-Report-*.pdf</code></td>
<td>PDF</td>
<td>Printable compliance report</td>
<td>Annex VII</td>
</tr>
</tbody>
</table>
<div class="warning custom-block"><p class="custom-block-title">VERIFICATION</p>
<p>Verify SBOM authenticity after download:</p>
<div class="language-bash vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang">bash</span><pre class="shiki shiki-themes github-light github-dark vp-code" tabindex="0" v-pre=""><code><span class="line"><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D"># Cosign</span></span>
<span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0">cosign</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF"> verify-blob</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF"> --signature</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF"> sbom.cdx.json.sig</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF"> --certificate</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF"> sbom.cdx.json.cert</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF"> sbom.cdx.json</span></span>
<span class="line"></span>
<span class="line"><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D"># GitHub Attestation</span></span>
<span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0">gh</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF"> attestation</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF"> verify</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF"> sbom.cdx.json</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF"> --repo</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF"> owner/repo</span></span></code></pre>
</div></div>
<h2 id="vex-triage" tabindex="-1">VEX Triage <a class="header-anchor" href="#vex-triage" aria-label="Permalink to &quot;VEX Triage&quot;"></a></h2>
<p>The VEX document auto-generates <code>under_investigation</code> statements for all found CVEs. To triage:</p>
<ol>
<li>Create <code>security/vex-overrides.json</code> in your product repo</li>
<li>Add manual decisions for each CVE</li>
</ol>
<div class="language-json vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang">json</span><pre class="shiki shiki-themes github-light github-dark vp-code" tabindex="0" v-pre=""><code><span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">{</span></span>
<span class="line"><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF">  "@context"</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">: </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF">"https://openvex.dev/ns/v0.2.0"</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">,</span></span>
<span class="line"><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF">  "statements"</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">: [</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">    {</span></span>
<span class="line"><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF">      "vulnerability"</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">: { </span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF">"@id"</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">: </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF">"CVE-2024-1234"</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8"> },</span></span>
<span class="line"><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF">      "products"</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">: [{ </span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF">"@id"</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">: </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF">"pkg:github/your-org/your-repo"</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8"> }],</span></span>
<span class="line"><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF">      "status"</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">: </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF">"not_affected"</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">,</span></span>
<span class="line"><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF">      "justification"</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">: </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF">"vulnerable_code_not_in_execute_path"</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">,</span></span>
<span class="line"><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF">      "impact_statement"</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">: </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF">"Dependency imported but affected function never called."</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">    }</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">  ]</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">}</span></span></code></pre>
</div><table tabindex="0">
<thead>
<tr>
<th>Status</th>
<th>When to use</th>
</tr>
</thead>
<tbody>
<tr>
<td><code>not_affected</code></td>
<td>Vulnerability exists but is not exploitable in your product</td>
</tr>
<tr>
<td><code>affected</code></td>
<td>Vulnerability is exploitable — remediation required</td>
</tr>
<tr>
<td><code>fixed</code></td>
<td>Vulnerability has been remediated</td>
</tr>
<tr>
<td><code>under_investigation</code></td>
<td>Assessment pending (auto-generated default)</td>
</tr>
</tbody>
</table>
<h2 id="compliance-scoring" tabindex="-1">Compliance Scoring <a class="header-anchor" href="#compliance-scoring" aria-label="Permalink to &quot;Compliance Scoring&quot;"></a></h2>
<p>The compliance report assigns a score out of 100:</p>
<table tabindex="0">
<thead>
<tr>
<th>Category</th>
<th>Max</th>
<th>Criteria</th>
</tr>
</thead>
<tbody>
<tr>
<td>SBOM</td>
<td>20</td>
<td>Generated (10) + Signed (5) + Attested (5)</td>
</tr>
<tr>
<td>Signing</td>
<td>15</td>
<td>Cosign verified (10) + Attestation present (5)</td>
</tr>
<tr>
<td>Vulnerabilities</td>
<td>20</td>
<td>0 critical (15) + 0 high (5)</td>
</tr>
<tr>
<td>VEX</td>
<td>10</td>
<td>Generated (5) + Manual overrides present (5)</td>
</tr>
<tr>
<td>Security Policy</td>
<td>15</td>
<td>SECURITY.md (10) + CVD process defined (5)</td>
</tr>
<tr>
<td>Support Period</td>
<td>10</td>
<td>Defined in config (10)</td>
</tr>
<tr>
<td>CRA Article Coverage</td>
<td>10</td>
<td>Percentage of mapped articles met</td>
</tr>
</tbody>
</table>
<div class="tip custom-block"><p class="custom-block-title">CLI TOOL</p>
<p>Use the <a href="/en/compliance-matrix/cra-check">cra-check CLI</a> to verify compliance locally or for any GitHub repo.</p>
</div>
]]></content:encoded>
            <author>BAUER GROUP</author>
        </item>
        <item>
            <title><![CDATA[8.1 Tooling Map]]></title>
            <link>https://cra.docs.bauer-group.com/en/compliance-matrix/tooling-map</link>
            <guid isPermaLink="false">https://cra.docs.bauer-group.com/en/compliance-matrix/tooling-map</guid>
            <pubDate>Sun, 29 Mar 2026 00:03:19 GMT</pubDate>
            <description><![CDATA[# 8.1 Tooling Map

## 8.1.1 Tool → CRA Compliance Matrix

This mapping shows which tool covers which CRA requirements.

## 8.1.2 GitHub Ecosystem

### Dependabot

| CRA Requirement | Coverage |
|]]></description>
            <content:encoded><![CDATA[<h1 id="_8-1-tooling-map" tabindex="-1">8.1 Tooling Map <a class="header-anchor" href="#_8-1-tooling-map" aria-label="Permalink to &quot;8.1 Tooling Map&quot;"></a></h1>
<h2 id="_8-1-1-tool-→-cra-compliance-matrix" tabindex="-1">8.1.1 Tool → CRA Compliance Matrix <a class="header-anchor" href="#_8-1-1-tool-→-cra-compliance-matrix" aria-label="Permalink to &quot;8.1.1 Tool → CRA Compliance Matrix&quot;"></a></h2>
<p>This mapping shows which tool covers which CRA requirements.</p>
<h2 id="_8-1-2-github-ecosystem" tabindex="-1">8.1.2 GitHub Ecosystem <a class="header-anchor" href="#_8-1-2-github-ecosystem" aria-label="Permalink to &quot;8.1.2 GitHub Ecosystem&quot;"></a></h2>
<h3 id="dependabot" tabindex="-1">Dependabot <a class="header-anchor" href="#dependabot" aria-label="Permalink to &quot;Dependabot&quot;"></a></h3>
<table tabindex="0">
<thead>
<tr>
<th>CRA Requirement</th>
<th>Coverage</th>
</tr>
</thead>
<tbody>
<tr>
<td>Art. 10(6) – Identify vulnerabilities</td>
<td>Automatic CVE alerts for dependencies</td>
</tr>
<tr>
<td>Art. 10(7) – Security updates</td>
<td>Automatic PRs when updates are available</td>
</tr>
<tr>
<td>Annex I, Part II, No. 2 – Remediation without undue delay</td>
<td>Auto-Merge for patch updates</td>
</tr>
<tr>
<td>Annex I, Part II, No. 5 – Monitor third-party components</td>
<td>Continuous dependency monitoring</td>
</tr>
</tbody>
</table>
<h3 id="github-security-advisories" tabindex="-1">GitHub Security Advisories <a class="header-anchor" href="#github-security-advisories" aria-label="Permalink to &quot;GitHub Security Advisories&quot;"></a></h3>
<table tabindex="0">
<thead>
<tr>
<th>CRA Requirement</th>
<th>Coverage</th>
</tr>
</thead>
<tbody>
<tr>
<td>Art. 10(9) – Coordinated disclosure</td>
<td>Private advisory, CVE assignment</td>
</tr>
<tr>
<td>Art. 14(8) – User notification</td>
<td>Public advisory with recommended actions</td>
</tr>
<tr>
<td>Annex I, Part II, No. 4 – Disclosure of remediated CVEs</td>
<td>Publish security advisory</td>
</tr>
</tbody>
</table>
<h3 id="github-actions-automation-templates" tabindex="-1">GitHub Actions (Automation Templates) <a class="header-anchor" href="#github-actions-automation-templates" aria-label="Permalink to &quot;GitHub Actions (Automation Templates)&quot;"></a></h3>
<table tabindex="0">
<thead>
<tr>
<th>Workflow</th>
<th>CRA Requirement</th>
<th>Function</th>
</tr>
</thead>
<tbody>
<tr>
<td><code>automatic-release.yml</code></td>
<td>Art. 10(7)</td>
<td>Automated release pipeline</td>
</tr>
<tr>
<td><code>modules-security-scan.yml</code></td>
<td>Art. 10(6)</td>
<td>Multi-Engine Security Scanning</td>
</tr>
<tr>
<td><code>modules-license-compliance.yml</code></td>
<td>Art. 10(4), Art. 13(23)</td>
<td>License check + SBOM</td>
</tr>
<tr>
<td><code>docker-build.yml</code></td>
<td>Art. 10(12)</td>
<td>Image build + signing</td>
</tr>
<tr>
<td><code>docker-maintenance-dependabot.yml</code></td>
<td>Annex I, Part II, No. 2</td>
<td>Auto-Merge dependency updates</td>
</tr>
<tr>
<td><code>modules-docker-base-image-monitor.yml</code></td>
<td>Annex I, Part II, No. 5</td>
<td>Base image update</td>
</tr>
<tr>
<td><code>security-management.yml</code></td>
<td>Art. 13(8)</td>
<td>SECURITY.md auto-generation</td>
</tr>
<tr>
<td><code>teams-notifications.yml</code></td>
<td>Art. 14 (supporting)</td>
<td>Incident communication</td>
</tr>
</tbody>
</table>
<h2 id="_8-1-3-security-scanning" tabindex="-1">8.1.3 Security Scanning <a class="header-anchor" href="#_8-1-3-security-scanning" aria-label="Permalink to &quot;8.1.3 Security Scanning&quot;"></a></h2>
<h3 id="trivy-aqua-security" tabindex="-1">Trivy (Aqua Security) <a class="header-anchor" href="#trivy-aqua-security" aria-label="Permalink to &quot;Trivy (Aqua Security)&quot;"></a></h3>
<table tabindex="0">
<thead>
<tr>
<th>CRA Requirement</th>
<th>Coverage</th>
</tr>
</thead>
<tbody>
<tr>
<td>Art. 10(6)</td>
<td>Container image vulnerability scanning</td>
</tr>
<tr>
<td>Art. 10(8)</td>
<td>Detection of known exploitable vulnerabilities</td>
</tr>
<tr>
<td>Art. 13(23)</td>
<td>SBOM generation (CycloneDX, SPDX)</td>
</tr>
<tr>
<td>Annex I, Part II, No. 1</td>
<td>Component detection for SBOM</td>
</tr>
<tr>
<td>Annex I, Part II, No. 3</td>
<td>Regular security testing (CI/CD)</td>
</tr>
</tbody>
</table>
<h3 id="grype-anchore" tabindex="-1">Grype (Anchore) <a class="header-anchor" href="#grype-anchore" aria-label="Permalink to &quot;Grype (Anchore)&quot;"></a></h3>
<table tabindex="0">
<thead>
<tr>
<th>CRA Requirement</th>
<th>Coverage</th>
</tr>
</thead>
<tbody>
<tr>
<td>Art. 10(6)</td>
<td>Vulnerability scanning (complementary to Trivy)</td>
</tr>
<tr>
<td>Annex I, Part II, No. 1</td>
<td>CVE matching against SBOM</td>
</tr>
</tbody>
</table>
<h3 id="osv-scanner-google" tabindex="-1">OSV-Scanner (Google) <a class="header-anchor" href="#osv-scanner-google" aria-label="Permalink to &quot;OSV-Scanner (Google)&quot;"></a></h3>
<table tabindex="0">
<thead>
<tr>
<th>CRA Requirement</th>
<th>Coverage</th>
</tr>
</thead>
<tbody>
<tr>
<td>Art. 10(6)</td>
<td>OSV database-based vulnerability scanning</td>
</tr>
<tr>
<td>Art. 10(8)</td>
<td>Detection of known vulnerabilities (aggregates NVD, GitHub, PyPI, npm, Go etc.)</td>
</tr>
<tr>
<td>Annex I, Part II, No. 2</td>
<td>CVE matching against lockfiles and SBOMs</td>
</tr>
</tbody>
</table>
<h3 id="snyk" tabindex="-1">Snyk <a class="header-anchor" href="#snyk" aria-label="Permalink to &quot;Snyk&quot;"></a></h3>
<table tabindex="0">
<thead>
<tr>
<th>CRA Requirement</th>
<th>Coverage</th>
</tr>
</thead>
<tbody>
<tr>
<td>Art. 10(6)</td>
<td>Application security scanning</td>
</tr>
<tr>
<td>Annex I, Part II, No. 3</td>
<td>Code-level vulnerability detection</td>
</tr>
</tbody>
</table>
<h3 id="gitleaks-gitguardian" tabindex="-1">Gitleaks + GitGuardian <a class="header-anchor" href="#gitleaks-gitguardian" aria-label="Permalink to &quot;Gitleaks + GitGuardian&quot;"></a></h3>
<table tabindex="0">
<thead>
<tr>
<th>CRA Requirement</th>
<th>Coverage</th>
</tr>
</thead>
<tbody>
<tr>
<td>Art. 10(1)</td>
<td>Prevention of secret exposure</td>
</tr>
<tr>
<td>Annex I, Part I, No. 5</td>
<td>Protection against unauthorised access (secrets)</td>
</tr>
</tbody>
</table>
<h2 id="_8-1-4-sbom-compliance" tabindex="-1">8.1.4 SBOM &amp; Compliance <a class="header-anchor" href="#_8-1-4-sbom-compliance" aria-label="Permalink to &quot;8.1.4 SBOM &amp; Compliance&quot;"></a></h2>
<h3 id="syft-anchore" tabindex="-1">Syft (Anchore) <a class="header-anchor" href="#syft-anchore" aria-label="Permalink to &quot;Syft (Anchore)&quot;"></a></h3>
<table tabindex="0">
<thead>
<tr>
<th>CRA Requirement</th>
<th>Coverage</th>
</tr>
</thead>
<tbody>
<tr>
<td>Art. 13(23)</td>
<td>SBOM generation (CycloneDX JSON)</td>
</tr>
<tr>
<td>Annex I, Part II, No. 1</td>
<td>Component detection and documentation</td>
</tr>
<tr>
<td>Annex VII No. 1</td>
<td>Product description (dependencies)</td>
</tr>
</tbody>
</table>
<h3 id="fossa-license-compliance" tabindex="-1">FOSSA / License Compliance <a class="header-anchor" href="#fossa-license-compliance" aria-label="Permalink to &quot;FOSSA / License Compliance&quot;"></a></h3>
<table tabindex="0">
<thead>
<tr>
<th>CRA Requirement</th>
<th>Coverage</th>
</tr>
</thead>
<tbody>
<tr>
<td>Art. 10(4)</td>
<td>Due diligence for third-party components (licences)</td>
</tr>
<tr>
<td>Annex I, Part II, No. 1</td>
<td>Licence inventory as part of the SBOM</td>
</tr>
</tbody>
</table>
<h2 id="_8-1-5-signing-attestation-integrity" tabindex="-1">8.1.5 Signing, Attestation &amp; Integrity <a class="header-anchor" href="#_8-1-5-signing-attestation-integrity" aria-label="Permalink to &quot;8.1.5 Signing, Attestation &amp; Integrity&quot;"></a></h2>
<h3 id="cosign-sigstore" tabindex="-1">Cosign (Sigstore) <a class="header-anchor" href="#cosign-sigstore" aria-label="Permalink to &quot;Cosign (Sigstore)&quot;"></a></h3>
<table tabindex="0">
<thead>
<tr>
<th>CRA Requirement</th>
<th>Coverage</th>
</tr>
</thead>
<tbody>
<tr>
<td>Art. 10(12)</td>
<td>Integrity protection of updates</td>
</tr>
<tr>
<td>Annex I, Part I, No. 3.2</td>
<td>Integrity protection (data/artefacts)</td>
</tr>
<tr>
<td>Annex I, Part II, No. 6</td>
<td>Secure provision of updates</td>
</tr>
</tbody>
</table>
<h3 id="github-attestation-sigstore-via-github" tabindex="-1">GitHub Attestation (Sigstore via GitHub) <a class="header-anchor" href="#github-attestation-sigstore-via-github" aria-label="Permalink to &quot;GitHub Attestation (Sigstore via GitHub)&quot;"></a></h3>
<table tabindex="0">
<thead>
<tr>
<th>CRA Requirement</th>
<th>Coverage</th>
</tr>
</thead>
<tbody>
<tr>
<td>Art. 10(12)</td>
<td>Cryptographic provenance of SBOM</td>
</tr>
<tr>
<td>Annex I, Part I, No. 3.2</td>
<td>Verifiable build-time integrity</td>
</tr>
</tbody>
</table>
<div class="tip custom-block"><p class="custom-block-title">Belt + Suspenders</p>
<p>Both Cosign (portable) and GitHub Attestation (native) are used simultaneously. Cosign works outside GitHub; Attestation is verifiable via <code>gh attestation verify</code>.</p>
</div>
<h2 id="_8-1-6-cra-compliance-workflows-this-repository" tabindex="-1">8.1.6 CRA Compliance Workflows (this repository) <a class="header-anchor" href="#_8-1-6-cra-compliance-workflows-this-repository" aria-label="Permalink to &quot;8.1.6 CRA Compliance Workflows (this repository)&quot;"></a></h2>
<p>In addition to the automation templates, this repository provides dedicated CRA workflows that can be reused in every source code repository. See <a href="/en/compliance-matrix/automation-workflows">8.2 Automation Workflows</a> for detailed usage.</p>
<h3 id="composite-actions-cra-specific" tabindex="-1">Composite Actions (CRA-specific) <a class="header-anchor" href="#composite-actions-cra-specific" aria-label="Permalink to &quot;Composite Actions (CRA-specific)&quot;"></a></h3>
<table tabindex="0">
<thead>
<tr>
<th>Action</th>
<th>CRA Requirement</th>
<th>Function</th>
</tr>
</thead>
<tbody>
<tr>
<td><code>cra-sbom-generate</code></td>
<td>Art. 13(23)</td>
<td>Generate CycloneDX SBOM (Trivy, auto-detect)</td>
</tr>
<tr>
<td><code>cra-sbom-sign</code></td>
<td>Art. 10(12)</td>
<td>Sign SBOM (Cosign, keyless OIDC)</td>
</tr>
<tr>
<td><code>cra-vulnerability-scan</code></td>
<td>Art. 10(6), (8)</td>
<td>Multi-engine vulnerability scan (Trivy + Grype + OSV-Scanner)</td>
</tr>
<tr>
<td><code>cra-hub-report</code></td>
<td>Art. 10, Art. 13</td>
<td>Send compliance data to Software Security Hub API</td>
</tr>
<tr>
<td><code>cra-compliance-report</code></td>
<td>Annex VII</td>
<td>Generate JSON + Markdown compliance report with scoring</td>
</tr>
<tr>
<td><code>cra-eu-doc</code></td>
<td>Art. 28, Annex V</td>
<td>Generate machine-readable EU Declaration of Conformity (JSON)</td>
</tr>
<tr>
<td><code>cra-render</code></td>
<td>Annex V, Annex VII</td>
<td>Render JSON artifacts to PDF (EU DoC, Compliance Report)</td>
</tr>
</tbody>
</table>
<h3 id="composite-actions-generic-in-automation-templates" tabindex="-1">Composite Actions (Generic, in automation-templates) <a class="header-anchor" href="#composite-actions-generic-in-automation-templates" aria-label="Permalink to &quot;Composite Actions (Generic, in automation-templates)&quot;"></a></h3>
<table tabindex="0">
<thead>
<tr>
<th>Action</th>
<th>CRA Requirement</th>
<th>Function</th>
</tr>
</thead>
<tbody>
<tr>
<td><code>vex-generate</code></td>
<td>Annex I, Part II, No. 2</td>
<td>Generate OpenVEX document from scan results + manual triage</td>
</tr>
<tr>
<td><code>sbom-attest</code></td>
<td>Art. 10(12)</td>
<td>Create GitHub-native SBOM attestation</td>
</tr>
</tbody>
</table>
<h3 id="reusable-workflows" tabindex="-1">Reusable Workflows <a class="header-anchor" href="#reusable-workflows" aria-label="Permalink to &quot;Reusable Workflows&quot;"></a></h3>
<table tabindex="0">
<thead>
<tr>
<th>Workflow</th>
<th>Type</th>
<th>CRA Requirement</th>
<th>Function</th>
</tr>
</thead>
<tbody>
<tr>
<td><code>cra-release.yml</code></td>
<td>Repo-local</td>
<td>Art. 10(12), Art. 13(23), Annex VII</td>
<td>SBOM + signature + attestation + VEX + compliance report</td>
</tr>
<tr>
<td><code>cra-scan.yml</code></td>
<td>Repo-local</td>
<td>Art. 10(6), (8)</td>
<td>Scheduled CVE scan with issue creation</td>
</tr>
<tr>
<td><code>cra-report.yml</code></td>
<td>API reporting</td>
<td>Art. 10, Art. 13, Annex VII</td>
<td>All CRA data to CRA Compliance Hub</td>
</tr>
<tr>
<td><code>cra-onboard.yml</code></td>
<td>Repo-local</td>
<td>Art. 10, Art. 13(6)</td>
<td>One-click CRA enrollment for any repository</td>
</tr>
<tr>
<td><code>cra-audit.yml</code></td>
<td>Repo-local</td>
<td>Annex I, Annex VII</td>
<td>Weekly compliance audit with issue creation</td>
</tr>
<tr>
<td><code>cra-incident.yml</code></td>
<td>Repo-local</td>
<td>Art. 14</td>
<td>Incident response trigger with ENISA deadline calculation</td>
</tr>
</tbody>
</table>
<h3 id="cli-tool" tabindex="-1">CLI Tool <a class="header-anchor" href="#cli-tool" aria-label="Permalink to &quot;CLI Tool&quot;"></a></h3>
<table tabindex="0">
<thead>
<tr>
<th>Tool</th>
<th>CRA Requirement</th>
<th>Function</th>
</tr>
</thead>
<tbody>
<tr>
<td><a href="/en/compliance-matrix/cra-check"><code>cra-check</code></a></td>
<td>Annex VII</td>
<td>Local/remote compliance verification with scoring</td>
</tr>
</tbody>
</table>
<h2 id="_8-1-7-planned-extensions" tabindex="-1">8.1.7 Planned Extensions <a class="header-anchor" href="#_8-1-7-planned-extensions" aria-label="Permalink to &quot;8.1.7 Planned Extensions&quot;"></a></h2>
<table tabindex="0">
<thead>
<tr>
<th>Tool / Workflow</th>
<th>CRA Requirement</th>
<th>Status</th>
</tr>
</thead>
<tbody>
<tr>
<td><strong>CodeQL</strong> (SAST)</td>
<td>Annex I, Part II, No. 3</td>
<td>🔧 Optional</td>
</tr>
</tbody>
</table>
<h2 id="_8-1-8-summary-cra-coverage-through-tooling" tabindex="-1">8.1.8 Summary: CRA Coverage through Tooling <a class="header-anchor" href="#_8-1-8-summary-cra-coverage-through-tooling" aria-label="Permalink to &quot;8.1.8 Summary: CRA Coverage through Tooling&quot;"></a></h2>
<div class="language- vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang"></span><pre class="shiki shiki-themes github-light github-dark vp-code" tabindex="0" v-pre=""><code><span class="line"><span>                         CRA Requirement</span></span>
<span class="line"><span>                    ┌─────────────────────────┐</span></span>
<span class="line"><span>                    │  Art. 10 (Manufacturer)   │</span></span>
<span class="line"><span>                    │  ├── (1) Security         │──→ Trivy, Gitleaks, Code Review</span></span>
<span class="line"><span>                    │  ├── (2) Risk             │──→ Manual + Template</span></span>
<span class="line"><span>                    │  ├── (4) 3rd Party        │──→ FOSSA, License Compliance</span></span>
<span class="line"><span>                    │  ├── (6) Vulnerabilities  │──→ CVE-Monitor, Dependabot</span></span>
<span class="line"><span>                    │  ├── (7) Updates          │──→ Dependabot, CI/CD</span></span>
<span class="line"><span>                    │  ├── (8) No CVEs          │──→ CVE-Monitor, Trivy</span></span>
<span class="line"><span>                    │  ├── (9) CVD              │──→ GitHub Advisories</span></span>
<span class="line"><span>                    │  ├── (12) Integrity       │──→ Cosign + Attestation</span></span>
<span class="line"><span>                    │  └── (16) Support         │──→ SECURITY.md</span></span>
<span class="line"><span>                    ├─────────────────────────┤</span></span>
<span class="line"><span>                    │  Art. 13 (Information)     │</span></span>
<span class="line"><span>                    │  ├── (6) CVD Policy        │──→ SECURITY.md</span></span>
<span class="line"><span>                    │  └── (23) SBOM            │──→ Trivy/Syft</span></span>
<span class="line"><span>                    ├─────────────────────────┤</span></span>
<span class="line"><span>                    │  Art. 14 (Reporting)       │</span></span>
<span class="line"><span>                    │  ├── 24h Early Warning     │──→ ENISA SRP + Teams</span></span>
<span class="line"><span>                    │  ├── 72h Notification      │──→ ENISA SRP</span></span>
<span class="line"><span>                    │  └── User Info            │──→ GitHub Advisory</span></span>
<span class="line"><span>                    └─────────────────────────┘</span></span></code></pre>
</div>]]></content:encoded>
            <author>BAUER GROUP</author>
        </item>
        <item>
            <title><![CDATA[8.3 CRA Compliance Checker (cra-check)]]></title>
            <link>https://cra.docs.bauer-group.com/en/compliance-matrix/cra-check</link>
            <guid isPermaLink="false">https://cra.docs.bauer-group.com/en/compliance-matrix/cra-check</guid>
            <pubDate>Sat, 28 Mar 2026 20:15:04 GMT</pubDate>
            <description><![CDATA[# 8.3 CRA Compliance Checker (cra-check)

## Overview

`cra-check` is a zero-dependency Node.js CLI tool that verifies whether a product meets CRA compliance requirements. It checks for the presence and quality of compliance artifacts — SBOM, VEX, vulnerability scans, security policies, and support period definitions.

## Installation

No installation required. Run directly via `npx`:

```bash
npx @bauer-group/cra-check
```

Or install globally:

```bash
npm install -g @bauer-group/cra-check
```

## Usage

```bash
# Check current directory
cra-check

# Check a specific directory
cra-check /path/to/project

# Check a GitHub repository (latest release)
cra-check bauer-group/my-product

# Check a specific release
cra-check bauer-group/my-product --release v2.0.0

# JSON output for automation
cra-check --format json

# CI mode (exit code 1 if below threshold)
cra-check --ci --min-score 70
```

## Modes

### Local Mode

Scans the filesystem for CRA artifacts:

| File | Check |
|]]></description>
            <content:encoded><![CDATA[<h1 id="_8-3-cra-compliance-checker-cra-check" tabindex="-1">8.3 CRA Compliance Checker (cra-check) <a class="header-anchor" href="#_8-3-cra-compliance-checker-cra-check" aria-label="Permalink to &quot;8.3 CRA Compliance Checker (cra-check)&quot;"></a></h1>
<h2 id="overview" tabindex="-1">Overview <a class="header-anchor" href="#overview" aria-label="Permalink to &quot;Overview&quot;"></a></h2>
<p><code>cra-check</code> is a zero-dependency Node.js CLI tool that verifies whether a product meets CRA compliance requirements. It checks for the presence and quality of compliance artifacts — SBOM, VEX, vulnerability scans, security policies, and support period definitions.</p>
<h2 id="installation" tabindex="-1">Installation <a class="header-anchor" href="#installation" aria-label="Permalink to &quot;Installation&quot;"></a></h2>
<p>No installation required. Run directly via <code>npx</code>:</p>
<div class="language-bash vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang">bash</span><pre class="shiki shiki-themes github-light github-dark vp-code" tabindex="0" v-pre=""><code><span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0">npx</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF"> @bauer-group/cra-check</span></span></code></pre>
</div><p>Or install globally:</p>
<div class="language-bash vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang">bash</span><pre class="shiki shiki-themes github-light github-dark vp-code" tabindex="0" v-pre=""><code><span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0">npm</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF"> install</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF"> -g</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF"> @bauer-group/cra-check</span></span></code></pre>
</div><h2 id="usage" tabindex="-1">Usage <a class="header-anchor" href="#usage" aria-label="Permalink to &quot;Usage&quot;"></a></h2>
<div class="language-bash vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang">bash</span><pre class="shiki shiki-themes github-light github-dark vp-code" tabindex="0" v-pre=""><code><span class="line"><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D"># Check current directory</span></span>
<span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0">cra-check</span></span>
<span class="line"></span>
<span class="line"><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D"># Check a specific directory</span></span>
<span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0">cra-check</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF"> /path/to/project</span></span>
<span class="line"></span>
<span class="line"><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D"># Check a GitHub repository (latest release)</span></span>
<span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0">cra-check</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF"> bauer-group/my-product</span></span>
<span class="line"></span>
<span class="line"><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D"># Check a specific release</span></span>
<span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0">cra-check</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF"> bauer-group/my-product</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF"> --release</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF"> v2.0.0</span></span>
<span class="line"></span>
<span class="line"><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D"># JSON output for automation</span></span>
<span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0">cra-check</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF"> --format</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF"> json</span></span>
<span class="line"></span>
<span class="line"><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D"># CI mode (exit code 1 if below threshold)</span></span>
<span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0">cra-check</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF"> --ci</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF"> --min-score</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF"> 70</span></span></code></pre>
</div><h2 id="modes" tabindex="-1">Modes <a class="header-anchor" href="#modes" aria-label="Permalink to &quot;Modes&quot;"></a></h2>
<h3 id="local-mode" tabindex="-1">Local Mode <a class="header-anchor" href="#local-mode" aria-label="Permalink to &quot;Local Mode&quot;"></a></h3>
<p>Scans the filesystem for CRA artifacts:</p>
<table tabindex="0">
<thead>
<tr>
<th>File</th>
<th>Check</th>
</tr>
</thead>
<tbody>
<tr>
<td><code>sbom.cdx.json</code></td>
<td>SBOM present, valid, component count</td>
</tr>
<tr>
<td><code>sbom.cdx.json.sig</code> + <code>.cert</code></td>
<td>Cosign signature present</td>
</tr>
<tr>
<td><code>vex.openvex.json</code></td>
<td>VEX document, statement count, triage status</td>
</tr>
<tr>
<td><code>vulnerability-report.json</code></td>
<td>Severity counts (critical/high/medium/low)</td>
</tr>
<tr>
<td><code>SECURITY.md</code></td>
<td>Security policy present, CVD process defined</td>
</tr>
<tr>
<td><code>cra-config.json</code></td>
<td>Support period definition</td>
</tr>
</tbody>
</table>
<h3 id="remote-mode" tabindex="-1">Remote Mode <a class="header-anchor" href="#remote-mode" aria-label="Permalink to &quot;Remote Mode&quot;"></a></h3>
<p>Fetches data from GitHub API:</p>
<ul>
<li>Downloads release assets (SBOM, VEX, vulnerability report)</li>
<li>Checks for signature files in release</li>
<li>Verifies SECURITY.md exists in repository</li>
<li>Extracts support period from compliance report</li>
</ul>
<div class="tip custom-block"><p class="custom-block-title">AUTHENTICATION</p>
<p>Set <code>GITHUB_TOKEN</code> for private repositories and higher API rate limits:</p>
<div class="language-bash vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang">bash</span><pre class="shiki shiki-themes github-light github-dark vp-code" tabindex="0" v-pre=""><code><span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">export</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8"> GITHUB_TOKEN</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">=</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">ghp_...</span></span>
<span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0">cra-check</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF"> bauer-group/private-repo</span></span></code></pre>
</div></div>
<h2 id="output" tabindex="-1">Output <a class="header-anchor" href="#output" aria-label="Permalink to &quot;Output&quot;"></a></h2>
<h3 id="terminal-default" tabindex="-1">Terminal (default) <a class="header-anchor" href="#terminal-default" aria-label="Permalink to &quot;Terminal (default)&quot;"></a></h3>
<div class="language- vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang"></span><pre class="shiki shiki-themes github-light github-dark vp-code" tabindex="0" v-pre=""><code><span class="line"><span>  CRA Compliance: my-product v2.3.1</span></span>
<span class="line"><span>  ══════════════════════════════════════════</span></span>
<span class="line"><span></span></span>
<span class="line"><span>  SBOM                ✅ PASS  CycloneDX, 142 components</span></span>
<span class="line"><span>  SBOM Signed         ✅ PASS  Cosign signature + certificate present</span></span>
<span class="line"><span>  VEX Document        ✅ PASS  15 statements (3 triaged)</span></span>
<span class="line"><span>  Vulnerabilities     ⚠️ WARN  0 critical, 2 high, 5 medium, 3 low</span></span>
<span class="line"><span>  Security Policy     ✅ PASS  SECURITY.md present with CVD process</span></span>
<span class="line"><span>  Support Period      ✅ PASS  5 years</span></span>
<span class="line"><span></span></span>
<span class="line"><span>  Score: 85/100 ████████████████░░░░ PASS</span></span></code></pre>
</div><h3 id="json-format-json" tabindex="-1">JSON (<code>--format json</code>) <a class="header-anchor" href="#json-format-json" aria-label="Permalink to &quot;JSON (`--format json`)&quot;"></a></h3>
<div class="language-json vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang">json</span><pre class="shiki shiki-themes github-light github-dark vp-code" tabindex="0" v-pre=""><code><span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">{</span></span>
<span class="line"><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF">  "$schema"</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">: </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF">"https://cra.docs.bauer-group.com/schemas/cra-check/v1.0.0"</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">,</span></span>
<span class="line"><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF">  "product"</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">: { </span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF">"name"</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">: </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF">"my-product"</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">, </span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF">"version"</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">: </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF">"2.3.1"</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8"> },</span></span>
<span class="line"><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF">  "checks"</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">: [</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">    { </span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF">"name"</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">: </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF">"SBOM"</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">, </span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF">"status"</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">: </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF">"pass"</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">, </span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF">"details"</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">: </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF">"CycloneDX, 142 components"</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8"> }</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">  ],</span></span>
<span class="line"><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF">  "complianceScore"</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">: {</span></span>
<span class="line"><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF">    "score"</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">: </span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF">85</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">,</span></span>
<span class="line"><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF">    "maxScore"</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">: </span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF">100</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">,</span></span>
<span class="line"><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF">    "passed"</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">: </span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF">true</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">  }</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">}</span></span></code></pre>
</div><h2 id="ci-cd-integration" tabindex="-1">CI/CD Integration <a class="header-anchor" href="#ci-cd-integration" aria-label="Permalink to &quot;CI/CD Integration&quot;"></a></h2>
<h3 id="github-actions" tabindex="-1">GitHub Actions <a class="header-anchor" href="#github-actions" aria-label="Permalink to &quot;GitHub Actions&quot;"></a></h3>
<div class="language-yaml vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang">yaml</span><pre class="shiki shiki-themes github-light github-dark vp-code" tabindex="0" v-pre=""><code><span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">- </span><span style="--shiki-light:#22863A;--shiki-dark:#85E89D">name</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">: </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF">🔍 CRA Compliance Check</span></span>
<span class="line"><span style="--shiki-light:#22863A;--shiki-dark:#85E89D">  run</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">: </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF">npx @bauer-group/cra-check --ci --min-score 70</span></span>
<span class="line"><span style="--shiki-light:#22863A;--shiki-dark:#85E89D">  env</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">:</span></span>
<span class="line"><span style="--shiki-light:#22863A;--shiki-dark:#85E89D">    GITHUB_TOKEN</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">: </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF">${{ secrets.GITHUB_TOKEN }}</span></span></code></pre>
</div><h3 id="exit-codes" tabindex="-1">Exit Codes <a class="header-anchor" href="#exit-codes" aria-label="Permalink to &quot;Exit Codes&quot;"></a></h3>
<table tabindex="0">
<thead>
<tr>
<th>Code</th>
<th>Meaning</th>
</tr>
</thead>
<tbody>
<tr>
<td><code>0</code></td>
<td>Score &gt;= min-score (PASS)</td>
</tr>
<tr>
<td><code>1</code></td>
<td>Score &lt; min-score (FAIL) — only with <code>--ci</code> flag</td>
</tr>
<tr>
<td><code>2</code></td>
<td>Fatal error (invalid target, network failure)</td>
</tr>
</tbody>
</table>
<h2 id="scoring" tabindex="-1">Scoring <a class="header-anchor" href="#scoring" aria-label="Permalink to &quot;Scoring&quot;"></a></h2>
<p>See <a href="/en/compliance-matrix/automation-workflows#compliance-scoring">Compliance Scoring</a> for the full scoring algorithm.</p>
<h2 id="options" tabindex="-1">Options <a class="header-anchor" href="#options" aria-label="Permalink to &quot;Options&quot;"></a></h2>
<table tabindex="0">
<thead>
<tr>
<th>Option</th>
<th>Default</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><code>--format &lt;terminal|json&gt;</code></td>
<td><code>terminal</code></td>
<td>Output format</td>
</tr>
<tr>
<td><code>--ci</code></td>
<td><code>false</code></td>
<td>CI mode: non-zero exit on failure</td>
</tr>
<tr>
<td><code>--min-score &lt;n&gt;</code></td>
<td><code>70</code></td>
<td>Minimum score to pass</td>
</tr>
<tr>
<td><code>--github-token &lt;token&gt;</code></td>
<td><code>GITHUB_TOKEN</code> env</td>
<td>GitHub API authentication</td>
</tr>
<tr>
<td><code>--release &lt;tag&gt;</code></td>
<td><code>latest</code></td>
<td>Release tag for remote mode</td>
</tr>
<tr>
<td><code>--no-color</code></td>
<td><code>false</code></td>
<td>Disable ANSI colours</td>
</tr>
<tr>
<td><code>--verbose</code></td>
<td><code>false</code></td>
<td>Show score breakdown</td>
</tr>
<tr>
<td><code>-h, --help</code></td>
<td>—</td>
<td>Show help text</td>
</tr>
<tr>
<td><code>-v, --version</code></td>
<td>—</td>
<td>Show version</td>
</tr>
</tbody>
</table>
<h2 id="requirements" tabindex="-1">Requirements <a class="header-anchor" href="#requirements" aria-label="Permalink to &quot;Requirements&quot;"></a></h2>
<ul>
<li>Node.js &gt;= 20</li>
<li>No npm dependencies (zero-dependency design)</li>
</ul>
]]></content:encoded>
            <author>BAUER GROUP</author>
        </item>
        <item>
            <title><![CDATA[Chapter 8: CRA Compliance Matrix]]></title>
            <link>https://cra.docs.bauer-group.com/en/compliance-matrix/</link>
            <guid isPermaLink="false">https://cra.docs.bauer-group.com/en/compliance-matrix/</guid>
            <pubDate>Thu, 26 Mar 2026 10:46:49 GMT</pubDate>
            <description><![CDATA[# Chapter 8: CRA Compliance Matrix

## Complete Mapping: CRA Article → Documentation → Tooling

This matrix maps each relevant CRA requirement to the corresponding documentation and implemented tooling. It serves as the central reference for audits and conformity assessments.

::: tip STATUS OVERVIEW

| Category | ✅ Implemented | ⚠️ Product-Specific | ❌ Open | Total |
|]]></description>
            <content:encoded><![CDATA[<h1 id="chapter-8-cra-compliance-matrix" tabindex="-1">Chapter 8: CRA Compliance Matrix <a class="header-anchor" href="#chapter-8-cra-compliance-matrix" aria-label="Permalink to &quot;Chapter 8: CRA Compliance Matrix&quot;"></a></h1>
<h2 id="complete-mapping-cra-article-→-documentation-→-tooling" tabindex="-1">Complete Mapping: CRA Article → Documentation → Tooling <a class="header-anchor" href="#complete-mapping-cra-article-→-documentation-→-tooling" aria-label="Permalink to &quot;Complete Mapping: CRA Article → Documentation → Tooling&quot;"></a></h2>
<p>This matrix maps each relevant CRA requirement to the corresponding documentation and implemented tooling. It serves as the central reference for audits and conformity assessments.</p>
<div class="tip custom-block"><p class="custom-block-title">STATUS OVERVIEW</p>
<table tabindex="0">
<thead>
<tr>
<th>Category</th>
<th style="text-align:center">✅ Implemented</th>
<th style="text-align:center">⚠️ Product-Specific</th>
<th style="text-align:center">❌ Open</th>
<th style="text-align:center">Total</th>
</tr>
</thead>
<tbody>
<tr>
<td>Art. 10 – Manufacturer Obligations</td>
<td style="text-align:center">8</td>
<td style="text-align:center">4</td>
<td style="text-align:center">0</td>
<td style="text-align:center">12</td>
</tr>
<tr>
<td>Art. 13 – Information Obligations</td>
<td style="text-align:center">3</td>
<td style="text-align:center">1</td>
<td style="text-align:center">0</td>
<td style="text-align:center">4</td>
</tr>
<tr>
<td>Art. 14 – Reporting Obligations</td>
<td style="text-align:center">1</td>
<td style="text-align:center">3</td>
<td style="text-align:center">0</td>
<td style="text-align:center">4</td>
</tr>
<tr>
<td>Art. 16 – Authorised Representative</td>
<td style="text-align:center">1</td>
<td style="text-align:center">2</td>
<td style="text-align:center">0</td>
<td style="text-align:center">3</td>
</tr>
<tr>
<td>Art. 28/29 – Conformity &amp; CE</td>
<td style="text-align:center">0</td>
<td style="text-align:center">2</td>
<td style="text-align:center">0</td>
<td style="text-align:center">2</td>
</tr>
<tr>
<td>Annex I Part I – Security</td>
<td style="text-align:center">6</td>
<td style="text-align:center">1</td>
<td style="text-align:center">0</td>
<td style="text-align:center">7</td>
</tr>
<tr>
<td>Annex I Part II – Vulnerabilities</td>
<td style="text-align:center">8</td>
<td style="text-align:center">0</td>
<td style="text-align:center">0</td>
<td style="text-align:center">8</td>
</tr>
<tr>
<td>Annex II – User Information</td>
<td style="text-align:center">4</td>
<td style="text-align:center">4</td>
<td style="text-align:center">0</td>
<td style="text-align:center">8</td>
</tr>
<tr>
<td>Annex VII – Technical Documentation</td>
<td style="text-align:center">3</td>
<td style="text-align:center">4</td>
<td style="text-align:center">0</td>
<td style="text-align:center">7</td>
</tr>
<tr>
<td><strong>Total</strong></td>
<td style="text-align:center"><strong>34</strong></td>
<td style="text-align:center"><strong>21</strong></td>
<td style="text-align:center"><strong>0</strong></td>
<td style="text-align:center"><strong>55</strong></td>
</tr>
</tbody>
</table>
</div>
<p>Detailed mapping: <a href="/en/compliance-matrix/tooling-map">8.1 Tooling Map</a> (Tool → CRA Requirement)</p>
<h2 id="obligations-by-economic-operator-role" tabindex="-1">Obligations by Economic Operator Role <a class="header-anchor" href="#obligations-by-economic-operator-role" aria-label="Permalink to &quot;Obligations by Economic Operator Role&quot;"></a></h2>
<table tabindex="0">
<thead>
<tr>
<th>CRA Area</th>
<th style="text-align:center"><span class="badge-manufacturer">Manufacturer</span></th>
<th style="text-align:center"><span class="badge-importer">Importer</span></th>
<th style="text-align:center"><span class="badge-distributor">Distributor</span></th>
</tr>
</thead>
<tbody>
<tr>
<td>Cybersecurity by design (Art. 10)</td>
<td style="text-align:center">✅ Full</td>
<td style="text-align:center">—</td>
<td style="text-align:center">—</td>
</tr>
<tr>
<td>Conformity assessment (Art. 10(5))</td>
<td style="text-align:center">✅ Full</td>
<td style="text-align:center">—</td>
<td style="text-align:center">—</td>
</tr>
<tr>
<td>SBOM generation (Art. 13(23))</td>
<td style="text-align:center">✅ Full</td>
<td style="text-align:center">—</td>
<td style="text-align:center">—</td>
</tr>
<tr>
<td>Vulnerability handling (Annex I Part II)</td>
<td style="text-align:center">✅ Full</td>
<td style="text-align:center">—</td>
<td style="text-align:center">—</td>
</tr>
<tr>
<td>Security updates (Art. 10(7))</td>
<td style="text-align:center">✅ Full</td>
<td style="text-align:center">—</td>
<td style="text-align:center">—</td>
</tr>
<tr>
<td>Incident reporting to ENISA (Art. 14)</td>
<td style="text-align:center">✅ Full</td>
<td style="text-align:center">—</td>
<td style="text-align:center">—</td>
</tr>
<tr>
<td>CE marking &amp; EU DoC (Art. 28–29)</td>
<td style="text-align:center">✅ Full</td>
<td style="text-align:center">✅ Verify</td>
<td style="text-align:center">✅ Verify</td>
</tr>
<tr>
<td>User information (Annex II)</td>
<td style="text-align:center">✅ Full</td>
<td style="text-align:center">✅ Verify</td>
<td style="text-align:center">✅ Verify</td>
</tr>
<tr>
<td>Technical documentation (Annex VII)</td>
<td style="text-align:center">✅ Full</td>
<td style="text-align:center">✅ Keep available</td>
<td style="text-align:center">—</td>
</tr>
<tr>
<td>Verify conformity before market placement</td>
<td style="text-align:center">—</td>
<td style="text-align:center">✅ Full (Art. 15)</td>
<td style="text-align:center">✅ Full (Art. 17)</td>
</tr>
<tr>
<td>Inform manufacturer of non-conformity</td>
<td style="text-align:center">—</td>
<td style="text-align:center">✅ Full</td>
<td style="text-align:center">✅ Full</td>
</tr>
<tr>
<td>Cooperate with market surveillance</td>
<td style="text-align:center">✅ Full</td>
<td style="text-align:center">✅ Full</td>
<td style="text-align:center">✅ Full</td>
</tr>
<tr>
<td>Name &amp; address on product/packaging</td>
<td style="text-align:center">✅ Full</td>
<td style="text-align:center">✅ Full</td>
<td style="text-align:center">✅ Full</td>
</tr>
</tbody>
</table>
<div class="tip custom-block"><p class="custom-block-title">Role Legend</p>
<p><strong>Manufacturer</strong> — Bears primary compliance responsibility. Designs, develops, and produces the product.
<strong>Importer</strong> — Must verify manufacturer's compliance before placing product on EU market.
<strong>Distributor</strong> — Must verify CE marking and declarations exist. Not responsible for content.</p>
</div>
<h2 id="estimated-effort-by-product-class" tabindex="-1">Estimated Effort by Product Class <a class="header-anchor" href="#estimated-effort-by-product-class" aria-label="Permalink to &quot;Estimated Effort by Product Class&quot;"></a></h2>
<table tabindex="0">
<thead>
<tr>
<th>Requirement Area</th>
<th><span class="badge-default">Standard</span></th>
<th><span class="badge-class-i">Class I</span></th>
<th><span class="badge-class-ii">Class II</span></th>
<th><span class="badge-critical">Critical</span></th>
<th>Automation</th>
</tr>
</thead>
<tbody>
<tr>
<td>Security risk assessment</td>
<td>20–40h</td>
<td>20–40h</td>
<td>30–60h</td>
<td>40–80h</td>
<td>Manual</td>
</tr>
<tr>
<td>SBOM &amp; signing</td>
<td>8–16h</td>
<td>8–16h</td>
<td>8–16h</td>
<td>8–16h</td>
<td>Automated</td>
</tr>
<tr>
<td>Vulnerability handling</td>
<td>20–40h</td>
<td>20–40h</td>
<td>20–40h</td>
<td>20–40h</td>
<td>Automated</td>
</tr>
<tr>
<td>Incident reporting setup</td>
<td>16–32h</td>
<td>16–32h</td>
<td>16–32h</td>
<td>16–32h</td>
<td>Semi-auto</td>
</tr>
<tr>
<td>Technical documentation</td>
<td>40–80h</td>
<td>40–80h</td>
<td>60–120h</td>
<td>80–160h</td>
<td>Manual</td>
</tr>
<tr>
<td>CE marking &amp; EU DoC</td>
<td>8–16h</td>
<td>8–16h</td>
<td>8–16h</td>
<td>8–16h</td>
<td>Manual</td>
</tr>
<tr>
<td>Conformity assessment</td>
<td>Self (0h)</td>
<td>Self or 40–80h*</td>
<td>40–80h</td>
<td>80–160h</td>
<td>Manual</td>
</tr>
<tr>
<td><strong>One-off total</strong></td>
<td><strong>112–224h</strong></td>
<td><strong>112–304h</strong></td>
<td><strong>182–364h</strong></td>
<td><strong>252–504h</strong></td>
<td></td>
</tr>
<tr>
<td><strong>Annual total</strong></td>
<td><strong>60–120h</strong></td>
<td><strong>60–160h</strong></td>
<td><strong>90–200h</strong></td>
<td><strong>130–260h</strong></td>
<td></td>
</tr>
</tbody>
</table>
<p>* Class I: self-assessment if harmonised standards are applied in full; third-party assessment otherwise.</p>
<div class="tip custom-block"><p class="custom-block-title">BAUER GROUP Approach</p>
<p>Automated tooling (Trivy, Grype, CycloneDX, Cosign, GitHub Actions) reduces actual effort significantly for Standard and Class I products. See <a href="/en/overview/scope-checker">Scope Checker</a> for decision guidance.</p>
</div>
<hr>
<h2 id="art-10-–-obligations-of-manufacturers" tabindex="-1">Art. 10 – Obligations of Manufacturers <a class="header-anchor" href="#art-10-–-obligations-of-manufacturers" aria-label="Permalink to &quot;Art. 10 – Obligations of Manufacturers&quot;"></a></h2>
<table tabindex="0">
<thead>
<tr>
<th>CRA Reference</th>
<th>Requirement</th>
<th>Documentation</th>
<th>Tooling</th>
<th style="text-align:center">Status</th>
</tr>
</thead>
<tbody>
<tr>
<td>Art. 10(1)</td>
<td>Appropriate level of cybersecurity in design, development, production</td>
<td><a href="/en/technical-documentation/security-architecture">Security Architecture</a></td>
<td>Security Scans (Trivy, Grype, Snyk), Code Review</td>
<td style="text-align:center">✅</td>
</tr>
<tr>
<td>Art. 10(2)</td>
<td>Conduct cybersecurity risk assessment</td>
<td><a href="/en/vulnerability-management/risk-assessment">Risk Assessment</a></td>
<td>– (manual process + template)</td>
<td style="text-align:center">⚠️</td>
</tr>
<tr>
<td>Art. 10(3)</td>
<td>Include risk assessment in documentation</td>
<td><a href="/en/technical-documentation/">Technical Documentation</a></td>
<td>Git-versioned</td>
<td style="text-align:center">⚠️</td>
</tr>
<tr>
<td>Art. 10(4)</td>
<td>Due diligence for third-party components</td>
<td><a href="/en/supply-chain/">Supply Chain</a></td>
<td>License Compliance, Dependency Scan</td>
<td style="text-align:center">✅</td>
</tr>
<tr>
<td>Art. 10(5)</td>
<td>Conduct conformity assessment</td>
<td><a href="/en/conformity/">Conformity Assessment</a></td>
<td>– (manual process + template)</td>
<td style="text-align:center">⚠️</td>
</tr>
<tr>
<td>Art. 10(6)</td>
<td>Effectively identify vulnerabilities</td>
<td><a href="/en/vulnerability-management/">Vulnerability Management</a></td>
<td>CVE-Monitor, Dependabot, Trivy</td>
<td style="text-align:center">✅</td>
</tr>
<tr>
<td>Art. 10(7)</td>
<td>Provide security updates free of charge</td>
<td><a href="/en/vulnerability-management/patch-management">Patch Management</a></td>
<td>Dependabot, Auto-Merge, Release Pipeline</td>
<td style="text-align:center">✅</td>
</tr>
<tr>
<td>Art. 10(8)</td>
<td>No known exploitable vulnerabilities</td>
<td><a href="/en/vulnerability-management/cve-monitoring">CVE-Monitoring</a></td>
<td>CVE-Monitor (daily), Trivy</td>
<td style="text-align:center">✅</td>
</tr>
<tr>
<td>Art. 10(9)</td>
<td>Coordinated vulnerability disclosure</td>
<td><a href="/en/incident-response/disclosure-policy">Disclosure Policy</a></td>
<td>SECURITY.md, GitHub Advisories</td>
<td style="text-align:center">✅</td>
</tr>
<tr>
<td>Art. 10(10)</td>
<td>Point of contact for vulnerability reports</td>
<td><a href="/en/incident-response/disclosure-policy">Disclosure Policy</a></td>
<td>SECURITY.md in each repository</td>
<td style="text-align:center">✅</td>
</tr>
<tr>
<td>Art. 10(12)</td>
<td>Integrity of security updates</td>
<td><a href="/en/sbom-signing/">SBOM &amp; Signing</a></td>
<td>Cosign, SHA256</td>
<td style="text-align:center">✅</td>
</tr>
<tr>
<td>Art. 10(13)</td>
<td>Retain documentation for 10 years</td>
<td><a href="/en/technical-documentation/">Technical Documentation</a></td>
<td>Git repository (10-year retention)</td>
<td style="text-align:center">✅</td>
</tr>
<tr>
<td>Art. 10(16)</td>
<td>Define and publish support period</td>
<td><a href="/en/technical-documentation/support-period">Support &amp; Lifecycle</a></td>
<td>SECURITY.md, product page</td>
<td style="text-align:center">⚠️</td>
</tr>
</tbody>
</table>
<h2 id="art-13-–-information-obligations" tabindex="-1">Art. 13 – Information Obligations <a class="header-anchor" href="#art-13-–-information-obligations" aria-label="Permalink to &quot;Art. 13 – Information Obligations&quot;"></a></h2>
<table tabindex="0">
<thead>
<tr>
<th>CRA Reference</th>
<th>Requirement</th>
<th>Documentation</th>
<th>Tooling</th>
<th style="text-align:center">Status</th>
</tr>
</thead>
<tbody>
<tr>
<td>Art. 13(6)</td>
<td>Publish CVD policy</td>
<td><a href="/en/incident-response/disclosure-policy">Disclosure Policy</a></td>
<td>SECURITY.md</td>
<td style="text-align:center">✅</td>
</tr>
<tr>
<td>Art. 13(8)</td>
<td>Contact details for vulnerability reports</td>
<td><a href="/en/SECURITY">SECURITY.md</a></td>
<td>Repository SECURITY.md</td>
<td style="text-align:center">✅</td>
</tr>
<tr>
<td>Art. 13(16)</td>
<td>Communicate support period</td>
<td><a href="/en/technical-documentation/support-period">Support &amp; Lifecycle</a></td>
<td>–</td>
<td style="text-align:center">⚠️</td>
</tr>
<tr>
<td>Art. 13(23)</td>
<td>Produce SBOM (machine-readable)</td>
<td><a href="/en/sbom-signing/">SBOM &amp; Signing</a></td>
<td>Trivy/Syft → CycloneDX JSON</td>
<td style="text-align:center">✅</td>
</tr>
</tbody>
</table>
<h2 id="art-14-–-reporting-obligations" tabindex="-1">Art. 14 – Reporting Obligations <a class="header-anchor" href="#art-14-–-reporting-obligations" aria-label="Permalink to &quot;Art. 14 – Reporting Obligations&quot;"></a></h2>
<table tabindex="0">
<thead>
<tr>
<th>CRA Reference</th>
<th>Requirement</th>
<th>Documentation</th>
<th>Tooling</th>
<th style="text-align:center">Status</th>
</tr>
</thead>
<tbody>
<tr>
<td>Art. 14(1)</td>
<td>Early warning for actively exploited vulnerability (24h)</td>
<td><a href="/en/incident-response/enisa-reporting">ENISA Reporting Process</a></td>
<td>ENISA SRP (from 09/2026)</td>
<td style="text-align:center">⚠️</td>
</tr>
<tr>
<td>Art. 14(2)</td>
<td>Vulnerability notification (72h)</td>
<td><a href="/en/incident-response/enisa-reporting">ENISA Reporting Process</a></td>
<td>ENISA SRP</td>
<td style="text-align:center">⚠️</td>
</tr>
<tr>
<td>Art. 14(3)</td>
<td>Final report (14 days)</td>
<td><a href="/en/incident-response/enisa-reporting">ENISA Reporting Process</a></td>
<td>ENISA SRP</td>
<td style="text-align:center">⚠️</td>
</tr>
<tr>
<td>Art. 14(8)</td>
<td>User notification</td>
<td><a href="/en/incident-response/communication">Communication Plan</a></td>
<td>GitHub Advisories, E-Mail</td>
<td style="text-align:center">✅</td>
</tr>
</tbody>
</table>
<h2 id="art-16-–-authorised-representative-eu-authorized-representative" tabindex="-1">Art. 16 – Authorised Representative (EU Authorized Representative) <a class="header-anchor" href="#art-16-–-authorised-representative-eu-authorized-representative" aria-label="Permalink to &quot;Art. 16 – Authorised Representative (EU Authorized Representative)&quot;"></a></h2>
<table tabindex="0">
<thead>
<tr>
<th>CRA Reference</th>
<th>Requirement</th>
<th>Documentation</th>
<th>Tooling</th>
<th style="text-align:center">Status</th>
</tr>
</thead>
<tbody>
<tr>
<td>Art. 16(1)</td>
<td>Appoint authorised representative by written mandate (non-EU manufacturers)</td>
<td><a href="/en/overview/responsibilities">Roles &amp; Responsibilities</a></td>
<td>– (contractual process)</td>
<td style="text-align:center">⚠️</td>
</tr>
<tr>
<td>Art. 16(2)</td>
<td>Keep conformity documentation available for 10 years</td>
<td><a href="/en/overview/responsibilities">Roles &amp; Responsibilities</a></td>
<td>Git repository (10-year retention)</td>
<td style="text-align:center">✅</td>
</tr>
<tr>
<td>Art. 16(2)</td>
<td>Cooperation with market surveillance authorities</td>
<td><a href="/en/overview/responsibilities">Roles &amp; Responsibilities</a></td>
<td>–</td>
<td style="text-align:center">⚠️</td>
</tr>
</tbody>
</table>
<h2 id="art-28-–-declaration-of-conformity-ce" tabindex="-1">Art. 28 – Declaration of Conformity &amp; CE <a class="header-anchor" href="#art-28-–-declaration-of-conformity-ce" aria-label="Permalink to &quot;Art. 28 – Declaration of Conformity &amp; CE&quot;"></a></h2>
<table tabindex="0">
<thead>
<tr>
<th>CRA Reference</th>
<th>Requirement</th>
<th>Documentation</th>
<th>Tooling</th>
<th style="text-align:center">Status</th>
</tr>
</thead>
<tbody>
<tr>
<td>Art. 28, Annex V</td>
<td>Issue EU declaration of conformity</td>
<td><a href="/en/conformity/eu-declaration">EU DoC</a></td>
<td>Template</td>
<td style="text-align:center">⚠️</td>
</tr>
<tr>
<td>Art. 29</td>
<td>Affix CE marking</td>
<td><a href="/en/conformity/eu-declaration">EU DoC</a></td>
<td>–</td>
<td style="text-align:center">⚠️</td>
</tr>
</tbody>
</table>
<h2 id="annex-i-part-i-–-security-requirements" tabindex="-1">Annex I, Part I – Security Requirements <a class="header-anchor" href="#annex-i-part-i-–-security-requirements" aria-label="Permalink to &quot;Annex I, Part I – Security Requirements&quot;"></a></h2>
<table tabindex="0">
<thead>
<tr>
<th>No.</th>
<th>Requirement</th>
<th>Documentation</th>
<th>Tooling</th>
<th style="text-align:center">Status</th>
</tr>
</thead>
<tbody>
<tr>
<td>1</td>
<td>Appropriate level of cybersecurity</td>
<td><a href="/en/technical-documentation/security-architecture">Security Architecture</a></td>
<td>Multi-Engine Security Scanning</td>
<td style="text-align:center">✅</td>
</tr>
<tr>
<td>2</td>
<td>No known exploitable vulnerabilities</td>
<td><a href="/en/vulnerability-management/cve-monitoring">CVE-Monitoring</a></td>
<td>CVE-Monitor, Trivy, Dependabot</td>
<td style="text-align:center">✅</td>
</tr>
<tr>
<td>3.1</td>
<td>Confidentiality protection (data)</td>
<td><a href="/en/technical-documentation/security-architecture">Security Architecture</a></td>
<td>TLS, AES-256</td>
<td style="text-align:center">✅</td>
</tr>
<tr>
<td>3.2</td>
<td>Integrity protection (data)</td>
<td><a href="/en/sbom-signing/">SBOM &amp; Signing</a></td>
<td>Cosign, SHA256</td>
<td style="text-align:center">✅</td>
</tr>
<tr>
<td>3.3</td>
<td>Availability protection</td>
<td><a href="/en/technical-documentation/security-architecture">Security Architecture</a></td>
<td>Product-specific</td>
<td style="text-align:center">⚠️</td>
</tr>
<tr>
<td>4</td>
<td>Secure default configuration</td>
<td><a href="/en/technical-documentation/security-architecture">Security Architecture</a></td>
<td>Security-by-Default</td>
<td style="text-align:center">✅</td>
</tr>
<tr>
<td>5</td>
<td>Protection against unauthorised access</td>
<td><a href="/en/technical-documentation/security-architecture">Security Architecture</a></td>
<td>Auth/Authz</td>
<td style="text-align:center">✅</td>
</tr>
<tr>
<td>6</td>
<td>Minimal attack surface</td>
<td><a href="/en/technical-documentation/security-architecture">Security Architecture</a></td>
<td>Alpine/Distroless, min. services</td>
<td style="text-align:center">✅</td>
</tr>
</tbody>
</table>
<h2 id="annex-i-part-ii-–-vulnerability-handling" tabindex="-1">Annex I, Part II – Vulnerability Handling <a class="header-anchor" href="#annex-i-part-ii-–-vulnerability-handling" aria-label="Permalink to &quot;Annex I, Part II – Vulnerability Handling&quot;"></a></h2>
<table tabindex="0">
<thead>
<tr>
<th>No.</th>
<th>Requirement</th>
<th>Documentation</th>
<th>Tooling</th>
<th style="text-align:center">Status</th>
</tr>
</thead>
<tbody>
<tr>
<td>1</td>
<td>Identify and document vulnerabilities (SBOM)</td>
<td><a href="/en/sbom-signing/">SBOM &amp; Signing</a></td>
<td>Trivy/Syft, CycloneDX</td>
<td style="text-align:center">✅</td>
</tr>
<tr>
<td>2</td>
<td>Remediate vulnerabilities without undue delay</td>
<td><a href="/en/vulnerability-management/patch-management">Patch Management</a></td>
<td>Dependabot, CI/CD</td>
<td style="text-align:center">✅</td>
</tr>
<tr>
<td>3</td>
<td>Regular testing and reviews</td>
<td><a href="/en/technical-documentation/security-architecture">Security Architecture</a></td>
<td>CI/CD Security Scans</td>
<td style="text-align:center">✅</td>
</tr>
<tr>
<td>4</td>
<td>Disclosure of remediated vulnerabilities</td>
<td><a href="/en/incident-response/disclosure-policy">Disclosure Policy</a></td>
<td>GitHub Security Advisories</td>
<td style="text-align:center">✅</td>
</tr>
<tr>
<td>5</td>
<td>Coordinated vulnerability disclosure</td>
<td><a href="/en/incident-response/disclosure-policy">Disclosure Policy</a></td>
<td>SECURITY.md, CVD process</td>
<td style="text-align:center">✅</td>
</tr>
<tr>
<td>6</td>
<td>Provide security updates</td>
<td><a href="/en/technical-documentation/update-mechanism">Update Mechanism</a></td>
<td>Release Pipeline, OTA</td>
<td style="text-align:center">✅</td>
</tr>
<tr>
<td>7</td>
<td>Provision without undue delay</td>
<td><a href="/en/vulnerability-management/patch-management">Patch Management</a></td>
<td>SLA-based (P0-P4)</td>
<td style="text-align:center">✅</td>
</tr>
<tr>
<td>8</td>
<td>Designate point of contact</td>
<td><a href="/en/SECURITY">SECURITY.md</a></td>
<td>SECURITY.md, CVD Policy</td>
<td style="text-align:center">✅</td>
</tr>
</tbody>
</table>
<h2 id="annex-ii-–-user-information" tabindex="-1">Annex II – User Information <a class="header-anchor" href="#annex-ii-–-user-information" aria-label="Permalink to &quot;Annex II – User Information&quot;"></a></h2>
<table tabindex="0">
<thead>
<tr>
<th>No.</th>
<th>Requirement</th>
<th>Documentation</th>
<th style="text-align:center">Status</th>
</tr>
</thead>
<tbody>
<tr>
<td>1</td>
<td>Manufacturer name and contact</td>
<td>Product page, SECURITY.md</td>
<td style="text-align:center">✅</td>
</tr>
<tr>
<td>2</td>
<td>Product identification</td>
<td>Release Notes, Repository</td>
<td style="text-align:center">✅</td>
</tr>
<tr>
<td>3</td>
<td>Intended use</td>
<td><a href="/en/technical-documentation/product-description">Product Description</a></td>
<td style="text-align:center">⚠️</td>
</tr>
<tr>
<td>4</td>
<td>Security-relevant properties</td>
<td><a href="/en/templates/product-security-info">User Information Template</a></td>
<td style="text-align:center">⚠️</td>
</tr>
<tr>
<td>5</td>
<td>Support period</td>
<td><a href="/en/technical-documentation/support-period">Support &amp; Lifecycle</a></td>
<td style="text-align:center">⚠️</td>
</tr>
<tr>
<td>6</td>
<td>Installation instructions</td>
<td>README, product documentation</td>
<td style="text-align:center">⚠️</td>
</tr>
<tr>
<td>7</td>
<td>Contact for vulnerability reports</td>
<td>SECURITY.md</td>
<td style="text-align:center">✅</td>
</tr>
<tr>
<td>8</td>
<td>Changelog of significant changes</td>
<td>Changelog, Release Notes</td>
<td style="text-align:center">✅</td>
</tr>
</tbody>
</table>
<h2 id="annex-vii-–-technical-documentation" tabindex="-1">Annex VII – Technical Documentation <a class="header-anchor" href="#annex-vii-–-technical-documentation" aria-label="Permalink to &quot;Annex VII – Technical Documentation&quot;"></a></h2>
<table tabindex="0">
<thead>
<tr>
<th>No.</th>
<th>Requirement</th>
<th>Documentation</th>
<th style="text-align:center">Status</th>
</tr>
</thead>
<tbody>
<tr>
<td>1</td>
<td>General product description</td>
<td><a href="/en/technical-documentation/product-description">Product Description</a></td>
<td style="text-align:center">⚠️</td>
</tr>
<tr>
<td>2</td>
<td>Security risk assessment</td>
<td><a href="/en/vulnerability-management/risk-assessment">Risk Assessment</a></td>
<td style="text-align:center">⚠️</td>
</tr>
<tr>
<td>3</td>
<td>Architecture and design</td>
<td><a href="/en/technical-documentation/security-architecture">Security Architecture</a></td>
<td style="text-align:center">✅</td>
</tr>
<tr>
<td>4</td>
<td>Vulnerability handling procedures</td>
<td><a href="/en/vulnerability-management/">Vulnerability Management</a></td>
<td style="text-align:center">✅</td>
</tr>
<tr>
<td>5</td>
<td>Applied standards</td>
<td><a href="/en/compliance-matrix/">Compliance Matrix</a></td>
<td style="text-align:center">✅</td>
</tr>
<tr>
<td>6</td>
<td>Conformity assessment</td>
<td><a href="/en/conformity/">Conformity Assessment</a></td>
<td style="text-align:center">⚠️</td>
</tr>
<tr>
<td>7</td>
<td>EU declaration of conformity</td>
<td><a href="/en/conformity/eu-declaration">EU DoC</a></td>
<td style="text-align:center">⚠️</td>
</tr>
</tbody>
</table>
<h2 id="legend" tabindex="-1">Legend <a class="header-anchor" href="#legend" aria-label="Permalink to &quot;Legend&quot;"></a></h2>
<table tabindex="0">
<thead>
<tr>
<th>Symbol</th>
<th>Meaning</th>
</tr>
</thead>
<tbody>
<tr>
<td>✅</td>
<td>Implemented and documented</td>
</tr>
<tr>
<td>⚠️</td>
<td>Documentation available, product-specific implementation required</td>
</tr>
<tr>
<td>❌</td>
<td>Not yet implemented</td>
</tr>
</tbody>
</table>
]]></content:encoded>
            <author>BAUER GROUP</author>
        </item>
        <item>
            <title><![CDATA[7.1 Product Classification]]></title>
            <link>https://cra.docs.bauer-group.com/en/conformity/product-classification</link>
            <guid isPermaLink="false">https://cra.docs.bauer-group.com/en/conformity/product-classification</guid>
            <pubDate>Thu, 26 Mar 2026 10:46:49 GMT</pubDate>
            <description><![CDATA[# 7.1 Product Classification

## 7.1.1 Overview

Every product with digital elements must be classified into a CRA risk category under the Cyber Resilience Act (CRA). The classification determines the required conformity assessment procedure. The CRA distinguishes four categories: **Standard**, **Class I** (Important), **Class II** (Important), and **Critical**.

## 7.1.2 Classification Decision Tree

The following decision tree outlines the systematic approach to product classification:

```
Is the product listed in Annex IV?
├── Yes → CRITICAL (EUCC required)
└── No
    └── Is the product listed in Annex III?
        ├── Yes → Which class?
        │   ├── Class II → CLASS II (Module B+C or H)
        │   └── Class I → CLASS I (Module A* or B+C)
        └── No → STANDARD (Module A)
```

*\* Module A only where harmonised standards are applied in full*

## 7.1.3 Product Categories

### Category: Standard (Default)

**Conformity assessment:** Internal control (Module A) -- Self-assessment

The majority of products fall into this category. The manufacturer carries out the conformity assessment themselves.

**Typical Products:**

- Standard web applications
- Internal tools and utilities
- Non-critical container images
- Simple IoT sensors

### Class I (Annex III)

**Conformity assessment:** [Internal control (Module A)](/en/conformity/self-assessment) with application of harmonised standards OR [EU type examination (Module B+C)](/en/conformity/module-bc)

**Examples from Annex III:**

- Identity management systems and software for privileged access
- Browsers (standalone)
- Password managers
- Software for searching, removing, and quarantining malware
- VPN products
- Network management systems
- SIEM systems
- Boot managers
- Firewalls, IDS/IPS (non-industrial)
- Routers, modems (for internet access)
- Microcontrollers with security-relevant functions
- Operating systems (not for server/desktop Class II)

### Class II (Annex III)

**Conformity assessment:** [EU type examination (Module B+C)](/en/conformity/module-bc) OR [Comprehensive quality assurance (Module H)](/en/conformity/module-h)

**Examples from Annex III:**

- Hypervisors and container runtime environments
- Firewalls and IDS/IPS for industrial use
- Tamper-resistant microcontrollers/microprocessors
- Operating systems for servers, desktops, mobile
- Public key infrastructure and certificate issuers
- Industrial automation and control systems (IACS)
- Industrial IoT devices (not subject to other sectoral regulation)

### Category: Critical (Annex IV)

**Conformity assessment:** [European cybersecurity certificate (EUCC)](/en/conformity/eucc) at assurance level "substantial" or higher

**Examples from Annex IV:**

- Hardware security modules (HSM)
- Smart cards and similar devices (incl. secure elements)
- Smart card readers
- Sensors and actuators for robots and machine controllers
- Smart meter gateways

## 7.1.4 Conformity Assessment by Category

| Category | Module A (Self) | Module B+C (Type) | Module H (Quality) | EUCC |
|]]></description>
            <content:encoded><![CDATA[<h1 id="_7-1-product-classification" tabindex="-1">7.1 Product Classification <a class="header-anchor" href="#_7-1-product-classification" aria-label="Permalink to &quot;7.1 Product Classification&quot;"></a></h1>
<h2 id="_7-1-1-overview" tabindex="-1">7.1.1 Overview <a class="header-anchor" href="#_7-1-1-overview" aria-label="Permalink to &quot;7.1.1 Overview&quot;"></a></h2>
<p>Every product with digital elements must be classified into a CRA risk category under the Cyber Resilience Act (CRA). The classification determines the required conformity assessment procedure. The CRA distinguishes four categories: <strong>Standard</strong>, <strong>Class I</strong> (Important), <strong>Class II</strong> (Important), and <strong>Critical</strong>.</p>
<h2 id="_7-1-2-classification-decision-tree" tabindex="-1">7.1.2 Classification Decision Tree <a class="header-anchor" href="#_7-1-2-classification-decision-tree" aria-label="Permalink to &quot;7.1.2 Classification Decision Tree&quot;"></a></h2>
<p>The following decision tree outlines the systematic approach to product classification:</p>
<div class="language- vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang"></span><pre class="shiki shiki-themes github-light github-dark vp-code" tabindex="0" v-pre=""><code><span class="line"><span>Is the product listed in Annex IV?</span></span>
<span class="line"><span>├── Yes → CRITICAL (EUCC required)</span></span>
<span class="line"><span>└── No</span></span>
<span class="line"><span>    └── Is the product listed in Annex III?</span></span>
<span class="line"><span>        ├── Yes → Which class?</span></span>
<span class="line"><span>        │   ├── Class II → CLASS II (Module B+C or H)</span></span>
<span class="line"><span>        │   └── Class I → CLASS I (Module A* or B+C)</span></span>
<span class="line"><span>        └── No → STANDARD (Module A)</span></span></code></pre>
</div><p><em>* Module A only where harmonised standards are applied in full</em></p>
<h2 id="_7-1-3-product-categories" tabindex="-1">7.1.3 Product Categories <a class="header-anchor" href="#_7-1-3-product-categories" aria-label="Permalink to &quot;7.1.3 Product Categories&quot;"></a></h2>
<h3 id="category-standard-default" tabindex="-1">Category: Standard (Default) <a class="header-anchor" href="#category-standard-default" aria-label="Permalink to &quot;Category: Standard (Default)&quot;"></a></h3>
<p><strong>Conformity assessment:</strong> Internal control (Module A) -- Self-assessment</p>
<p>The majority of products fall into this category. The manufacturer carries out the conformity assessment themselves.</p>
<p><strong>Typical Products:</strong></p>
<ul>
<li>Standard web applications</li>
<li>Internal tools and utilities</li>
<li>Non-critical container images</li>
<li>Simple IoT sensors</li>
</ul>
<h3 id="class-i-annex-iii" tabindex="-1">Class I (Annex III) <a class="header-anchor" href="#class-i-annex-iii" aria-label="Permalink to &quot;Class I (Annex III)&quot;"></a></h3>
<p><strong>Conformity assessment:</strong> <a href="/en/conformity/self-assessment">Internal control (Module A)</a> with application of harmonised standards OR <a href="/en/conformity/module-bc">EU type examination (Module B+C)</a></p>
<p><strong>Examples from Annex III:</strong></p>
<ul>
<li>Identity management systems and software for privileged access</li>
<li>Browsers (standalone)</li>
<li>Password managers</li>
<li>Software for searching, removing, and quarantining malware</li>
<li>VPN products</li>
<li>Network management systems</li>
<li>SIEM systems</li>
<li>Boot managers</li>
<li>Firewalls, IDS/IPS (non-industrial)</li>
<li>Routers, modems (for internet access)</li>
<li>Microcontrollers with security-relevant functions</li>
<li>Operating systems (not for server/desktop Class II)</li>
</ul>
<h3 id="class-ii-annex-iii" tabindex="-1">Class II (Annex III) <a class="header-anchor" href="#class-ii-annex-iii" aria-label="Permalink to &quot;Class II (Annex III)&quot;"></a></h3>
<p><strong>Conformity assessment:</strong> <a href="/en/conformity/module-bc">EU type examination (Module B+C)</a> OR <a href="/en/conformity/module-h">Comprehensive quality assurance (Module H)</a></p>
<p><strong>Examples from Annex III:</strong></p>
<ul>
<li>Hypervisors and container runtime environments</li>
<li>Firewalls and IDS/IPS for industrial use</li>
<li>Tamper-resistant microcontrollers/microprocessors</li>
<li>Operating systems for servers, desktops, mobile</li>
<li>Public key infrastructure and certificate issuers</li>
<li>Industrial automation and control systems (IACS)</li>
<li>Industrial IoT devices (not subject to other sectoral regulation)</li>
</ul>
<h3 id="category-critical-annex-iv" tabindex="-1">Category: Critical (Annex IV) <a class="header-anchor" href="#category-critical-annex-iv" aria-label="Permalink to &quot;Category: Critical (Annex IV)&quot;"></a></h3>
<p><strong>Conformity assessment:</strong> <a href="/en/conformity/eucc">European cybersecurity certificate (EUCC)</a> at assurance level &quot;substantial&quot; or higher</p>
<p><strong>Examples from Annex IV:</strong></p>
<ul>
<li>Hardware security modules (HSM)</li>
<li>Smart cards and similar devices (incl. secure elements)</li>
<li>Smart card readers</li>
<li>Sensors and actuators for robots and machine controllers</li>
<li>Smart meter gateways</li>
</ul>
<h2 id="_7-1-4-conformity-assessment-by-category" tabindex="-1">7.1.4 Conformity Assessment by Category <a class="header-anchor" href="#_7-1-4-conformity-assessment-by-category" aria-label="Permalink to &quot;7.1.4 Conformity Assessment by Category&quot;"></a></h2>
<table tabindex="0">
<thead>
<tr>
<th>Category</th>
<th style="text-align:center">Module A (Self)</th>
<th style="text-align:center">Module B+C (Type)</th>
<th style="text-align:center">Module H (Quality)</th>
<th style="text-align:center">EUCC</th>
</tr>
</thead>
<tbody>
<tr>
<td>Standard</td>
<td style="text-align:center">✅</td>
<td style="text-align:center">-</td>
<td style="text-align:center">-</td>
<td style="text-align:center">-</td>
</tr>
<tr>
<td>Class I</td>
<td style="text-align:center">✅*</td>
<td style="text-align:center">✅</td>
<td style="text-align:center">-</td>
<td style="text-align:center">-</td>
</tr>
<tr>
<td>Class II</td>
<td style="text-align:center">-</td>
<td style="text-align:center">✅</td>
<td style="text-align:center">✅</td>
<td style="text-align:center">-</td>
</tr>
<tr>
<td>Critical</td>
<td style="text-align:center">-</td>
<td style="text-align:center">-</td>
<td style="text-align:center">-</td>
<td style="text-align:center">✅</td>
</tr>
</tbody>
</table>
<p><em>* Only when applying harmonised standards or when conforming with EU cybersecurity certification</em></p>
<div class="tip custom-block"><p class="custom-block-title">AI Act Synergy</p>
<p>Products listed in <strong>Annex III of the AI Act</strong> as high-risk AI systems may also appear in CRA Annex III (e.g. IACS, safety components). When a product is classified under both regulations, the <strong>stricter conformity assessment</strong> applies. Coordinate classification decisions between CRA and AI Act teams.</p>
</div>
<div class="tip custom-block"><p class="custom-block-title">Scope Checker</p>
<p>Use the interactive <a href="/en/overview/scope-checker">Scope Checker</a> to walk through the full classification process step by step, including effort estimates per product class.</p>
</div>
<h2 id="_7-1-5-relevant-product-types-for-bauer-group" tabindex="-1">7.1.5 Relevant Product Types for BAUER GROUP <a class="header-anchor" href="#_7-1-5-relevant-product-types-for-bauer-group" aria-label="Permalink to &quot;7.1.5 Relevant Product Types for BAUER GROUP&quot;"></a></h2>
<h3 id="review-against-annex-iii-important-products" tabindex="-1">Review against Annex III (Important Products) <a class="header-anchor" href="#review-against-annex-iii-important-products" aria-label="Permalink to &quot;Review against Annex III (Important Products)&quot;"></a></h3>
<table tabindex="0">
<thead>
<tr>
<th>Annex III Category</th>
<th>Applicable to BAUER GROUP?</th>
<th>Rationale</th>
</tr>
</thead>
<tbody>
<tr>
<td>Identity Management Systems</td>
<td>To be reviewed</td>
<td>If IAM solutions are offered</td>
</tr>
<tr>
<td>Password Managers</td>
<td>To be reviewed</td>
<td>If credential management is offered</td>
</tr>
<tr>
<td>VPN Products</td>
<td>To be reviewed</td>
<td>If VPN solutions are offered</td>
</tr>
<tr>
<td>Network Management Systems</td>
<td>To be reviewed</td>
<td>If network tools are offered</td>
</tr>
<tr>
<td>Firewalls, IDS/IPS</td>
<td>To be reviewed</td>
<td>If security products are offered</td>
</tr>
<tr>
<td>Routers, Modems</td>
<td>To be reviewed</td>
<td>If network hardware with firmware</td>
</tr>
<tr>
<td>Microcontrollers (security-relevant)</td>
<td><strong>Likely yes</strong></td>
<td>ESP32/STM32 firmware with security-relevant functions</td>
</tr>
<tr>
<td>Operating Systems</td>
<td>To be reviewed</td>
<td>If OS-level products</td>
</tr>
<tr>
<td>Container Runtime</td>
<td>No (as a rule)</td>
<td>We use containers but do not offer a runtime</td>
</tr>
<tr>
<td>Hypervisor</td>
<td>No (as a rule)</td>
<td>We use hypervisors but do not offer one</td>
</tr>
<tr>
<td>Industrial IoT Devices</td>
<td><strong>Likely yes</strong></td>
<td>If IoT devices for industrial use</td>
</tr>
</tbody>
</table>
<h3 id="review-against-annex-iv-critical-products" tabindex="-1">Review against Annex IV (Critical Products) <a class="header-anchor" href="#review-against-annex-iv-critical-products" aria-label="Permalink to &quot;Review against Annex IV (Critical Products)&quot;"></a></h3>
<table tabindex="0">
<thead>
<tr>
<th>Annex IV Category</th>
<th>Applicable to BAUER GROUP?</th>
<th>Rationale</th>
</tr>
</thead>
<tbody>
<tr>
<td>Hardware Security Modules (HSM)</td>
<td>No (as a rule)</td>
<td>We use HSMs but do not manufacture them</td>
</tr>
<tr>
<td>Smartcards / Secure Elements</td>
<td>No (as a rule)</td>
<td></td>
</tr>
<tr>
<td>Smart Meter Gateways</td>
<td>To be reviewed</td>
<td>If energy products</td>
</tr>
</tbody>
</table>
<h3 id="typical-classification-for-bauer-group-products" tabindex="-1">Typical Classification for BAUER GROUP Products <a class="header-anchor" href="#typical-classification-for-bauer-group-products" aria-label="Permalink to &quot;Typical Classification for BAUER GROUP Products&quot;"></a></h3>
<table tabindex="0">
<thead>
<tr>
<th>Product Type</th>
<th>Expected Class</th>
<th>Assessment Procedure</th>
</tr>
</thead>
<tbody>
<tr>
<td>Standard web application</td>
<td>Standard</td>
<td>Module A</td>
</tr>
<tr>
<td>REST API</td>
<td>Standard</td>
<td>Module A</td>
</tr>
<tr>
<td>Container image (microservice)</td>
<td>Standard</td>
<td>Module A</td>
</tr>
<tr>
<td>NPM/NuGet Library</td>
<td>Standard</td>
<td>Module A</td>
</tr>
<tr>
<td>ESP32 IoT sensor (non-safety-critical)</td>
<td>Standard</td>
<td>Module A</td>
</tr>
<tr>
<td>ESP32/STM32 industrial controller</td>
<td>Class I</td>
<td>Module A* or B+C</td>
</tr>
<tr>
<td>Firmware with authentication function</td>
<td>Class I</td>
<td>Module A* or B+C</td>
</tr>
<tr>
<td>Network router with firmware</td>
<td>Class I</td>
<td>Module A* or B+C</td>
</tr>
</tbody>
</table>
<h2 id="_7-1-6-classification-process" tabindex="-1">7.1.6 Classification Process <a class="header-anchor" href="#_7-1-6-classification-process" aria-label="Permalink to &quot;7.1.6 Classification Process&quot;"></a></h2>
<p>The following process must be carried out for each product:</p>
<h3 id="_1-functional-review" tabindex="-1">1. Functional Review <a class="header-anchor" href="#_1-functional-review" aria-label="Permalink to &quot;1. Functional Review&quot;"></a></h3>
<p>Verify whether the product fulfils one of the functions listed in Annex III or IV. Systematically compare against all categories.</p>
<h3 id="_2-intended-purpose" tabindex="-1">2. Intended Purpose <a class="header-anchor" href="#_2-intended-purpose" aria-label="Permalink to &quot;2. Intended Purpose&quot;"></a></h3>
<p>Consider the intended purpose:</p>
<ul>
<li>Is the product used in critical infrastructure?</li>
<li>Does it process sensitive/personal data?</li>
<li>Does it have network functionality?</li>
<li>Could a compromise cause physical damage?</li>
</ul>
<h3 id="_3-document-the-classification" tabindex="-1">3. Document the Classification <a class="header-anchor" href="#_3-document-the-classification" aria-label="Permalink to &quot;3. Document the Classification&quot;"></a></h3>
<p>Use the template <a href="/en/templates/risk-assessment">Risk Assessment</a> to document the classification decision.</p>
<div class="tip custom-block"><p class="custom-block-title">RECOMMENDATION</p>
<p>When in doubt, choose the higher category. A conservative classification is regulatorily safer than one that is too low.</p>
</div>
<h2 id="_7-1-7-documentation-of-the-classification" tabindex="-1">7.1.7 Documentation of the Classification <a class="header-anchor" href="#_7-1-7-documentation-of-the-classification" aria-label="Permalink to &quot;7.1.7 Documentation of the Classification&quot;"></a></h2>
<p>For each product, the classification is documented in the <a href="/en/technical-documentation/product-description">Product Description</a>:</p>
<ol>
<li><strong>Review against Annex III and IV</strong> -- Systematic comparison against all categories</li>
<li><strong>Rationale</strong> -- Why this classification applies (with reference to the Annex)</li>
<li><strong>Conformity Assessment procedure</strong> -- Which module is applied</li>
<li><strong>Date</strong> -- When the classification was carried out</li>
<li><strong>Responsible person</strong> -- Who carried out the classification</li>
</ol>
]]></content:encoded>
            <author>BAUER GROUP</author>
        </item>
        <item>
            <title><![CDATA[4.3 ENISA Reporting Process]]></title>
            <link>https://cra.docs.bauer-group.com/en/incident-response/enisa-reporting</link>
            <guid isPermaLink="false">https://cra.docs.bauer-group.com/en/incident-response/enisa-reporting</guid>
            <pubDate>Thu, 26 Mar 2026 10:46:49 GMT</pubDate>
            <description><![CDATA[# 4.3 ENISA Reporting Process

## 4.3.1 Legal Basis

Pursuant to Art. 14 CRA, manufacturers are required to report certain security events to ENISA or the competent national CSIRT authority. The reporting obligation applies from **11 September 2026**.

::: info LEGAL BASIS
**Art. 14(1) CRA:** *"The manufacturer shall notify any actively exploited vulnerability contained in the product with digital elements simultaneously to the designated CSIRT and to ENISA. The manufacturer shall submit an early warning within 24 hours of becoming aware of it."*

**Art. 14(2) CRA:** *"The manufacturer shall submit within 72 hours of becoming aware a vulnerability notification containing a general description of the vulnerability, an initial assessment of the severity and impact, as well as information on corrective measures taken."*

**Art. 14(3) CRA:** *"The manufacturer shall submit within 14 days of becoming aware a final report containing a detailed description of the vulnerability, information on corrective or mitigating measures taken, and, where applicable, indicators of compromise."*
:::

::: danger CRITICAL DEADLINES

| Notification | Deadline | Deadline Starts |
|]]></description>
            <content:encoded><![CDATA[<h1 id="_4-3-enisa-reporting-process" tabindex="-1">4.3 ENISA Reporting Process <a class="header-anchor" href="#_4-3-enisa-reporting-process" aria-label="Permalink to &quot;4.3 ENISA Reporting Process&quot;"></a></h1>
<h2 id="_4-3-1-legal-basis" tabindex="-1">4.3.1 Legal Basis <a class="header-anchor" href="#_4-3-1-legal-basis" aria-label="Permalink to &quot;4.3.1 Legal Basis&quot;"></a></h2>
<p>Pursuant to Art. 14 CRA, manufacturers are required to report certain security events to ENISA or the competent national CSIRT authority. The reporting obligation applies from <strong>11 September 2026</strong>.</p>
<div class="info custom-block"><p class="custom-block-title">LEGAL BASIS</p>
<p><strong>Art. 14(1) CRA:</strong> <em>&quot;The manufacturer shall notify any actively exploited vulnerability contained in the product with digital elements simultaneously to the designated CSIRT and to ENISA. The manufacturer shall submit an early warning within 24 hours of becoming aware of it.&quot;</em></p>
<p><strong>Art. 14(2) CRA:</strong> <em>&quot;The manufacturer shall submit within 72 hours of becoming aware a vulnerability notification containing a general description of the vulnerability, an initial assessment of the severity and impact, as well as information on corrective measures taken.&quot;</em></p>
<p><strong>Art. 14(3) CRA:</strong> <em>&quot;The manufacturer shall submit within 14 days of becoming aware a final report containing a detailed description of the vulnerability, information on corrective or mitigating measures taken, and, where applicable, indicators of compromise.&quot;</em></p>
</div>
<div class="danger custom-block"><p class="custom-block-title">CRITICAL DEADLINES</p>
<table tabindex="0">
<thead>
<tr>
<th>Notification</th>
<th>Deadline</th>
<th>Deadline Starts</th>
</tr>
</thead>
<tbody>
<tr>
<td>Early warning</td>
<td><strong>24 hours</strong></td>
<td>Becoming aware of the actively exploited vulnerability / severe incident</td>
</tr>
<tr>
<td>Vulnerability notification</td>
<td><strong>72 hours</strong></td>
<td>Becoming aware</td>
</tr>
<tr>
<td>Final report</td>
<td><strong>14 days</strong></td>
<td>Becoming aware</td>
</tr>
</tbody>
</table>
</div>
<div class="tip custom-block"><p class="custom-block-title">NIS2 Synergy</p>
<p>CRA Art. 14 reporting aligns with <strong>NIS2 Art. 23</strong> (incident notification). Both use the same ENISA Single Reporting Platform (SRP). Organizations already reporting under NIS2 can <strong>reuse the same platform and largely the same process</strong> — only the reporting scope differs: NIS2 covers operational incidents, CRA covers product vulnerabilities.</p>
</div>
<div class="tip custom-block"><p class="custom-block-title">AI Act Synergy</p>
<p>Products containing AI components that are classified as high-risk under the AI Act have <strong>additional reporting obligations</strong> (Art. 62 AI Act). Coordinate AI-related incident reports with CRA reporting to avoid duplicate filings.</p>
</div>
<h2 id="_4-3-2-reportable-events" tabindex="-1">4.3.2 Reportable Events <a class="header-anchor" href="#_4-3-2-reportable-events" aria-label="Permalink to &quot;4.3.2 Reportable Events&quot;"></a></h2>
<h3 id="actively-exploited-vulnerability-art-14-1" tabindex="-1">Actively Exploited Vulnerability (Art. 14(1)) <a class="header-anchor" href="#actively-exploited-vulnerability-art-14-1" aria-label="Permalink to &quot;Actively Exploited Vulnerability (Art. 14(1))&quot;"></a></h3>
<p>A vulnerability in a BAUER GROUP product is being actively exploited in the wild. Pursuant to Art. 3(42) CRA, active exploitation exists when reliable evidence shows that the vulnerability has been exploited by a malicious actor in a system without the permission of the owner.</p>
<p><strong>Indicators of active exploitation:</strong></p>
<ul>
<li>Inclusion in the <strong>KEV catalog</strong> (CISA Known Exploited Vulnerabilities)</li>
<li><strong>Threat intelligence feeds</strong> report exploitation activity</li>
<li><strong>Report by customers or security researchers</strong> with evidence of exploitation</li>
<li><strong>Own detection</strong> in logs, monitoring or incident response processes</li>
<li><strong>Public reports</strong> (vendor advisories, blogs, forums) about attacks</li>
</ul>
<h3 id="severe-security-incident-art-14-3" tabindex="-1">Severe Security Incident (Art. 14(3)) <a class="header-anchor" href="#severe-security-incident-art-14-3" aria-label="Permalink to &quot;Severe Security Incident (Art. 14(3))&quot;"></a></h3>
<p>An incident that significantly affects the security of the product or its users (Art. 3(43) CRA).</p>
<p><strong>Criteria for classification as a severe incident:</strong></p>
<table tabindex="0">
<thead>
<tr>
<th>Criterion</th>
<th>Description</th>
<th>Examples</th>
</tr>
</thead>
<tbody>
<tr>
<td>Integrity compromise</td>
<td>The integrity of the product or its supply chain is compromised</td>
<td>Manipulated source code, compromised build pipeline</td>
</tr>
<tr>
<td>Unauthorised data access</td>
<td>Access to user data without authorisation</td>
<td>Data leak, API abuse, configuration error</td>
</tr>
<tr>
<td>Availability loss</td>
<td>Security-relevant functions are impaired</td>
<td>Auth bypass, update mechanism disrupted</td>
</tr>
<tr>
<td>Compromised updates</td>
<td>Manipulated updates are delivered</td>
<td>Supply chain attack, signing key compromise</td>
</tr>
</tbody>
</table>
<h2 id="_4-3-3-roles-and-responsibilities" tabindex="-1">4.3.3 Roles and Responsibilities <a class="header-anchor" href="#_4-3-3-roles-and-responsibilities" aria-label="Permalink to &quot;4.3.3 Roles and Responsibilities&quot;"></a></h2>
<table tabindex="0">
<thead>
<tr>
<th>Role</th>
<th>Responsibility in the Reporting Process</th>
</tr>
</thead>
<tbody>
<tr>
<td><strong>Security Lead</strong></td>
<td>Assess reporting obligation, submit ENISA notifications, overall coordination</td>
</tr>
<tr>
<td><strong>DevOps Lead</strong></td>
<td>Technical analysis, patch coordination, infrastructure measures</td>
</tr>
<tr>
<td><strong>Product Owner</strong></td>
<td>User notification, impact assessment, release decision</td>
</tr>
<tr>
<td><strong>Management</strong></td>
<td>Approval for SEV-1/SEV-2, resource allocation, escalation</td>
</tr>
<tr>
<td><strong>Developer</strong></td>
<td>Root cause analysis, patch development, security review</td>
</tr>
</tbody>
</table>
<h2 id="_4-3-4-reporting-platform" tabindex="-1">4.3.4 Reporting Platform <a class="header-anchor" href="#_4-3-4-reporting-platform" aria-label="Permalink to &quot;4.3.4 Reporting Platform&quot;"></a></h2>
<h3 id="enisa-single-reporting-platform-srp" tabindex="-1">ENISA Single Reporting Platform (SRP) <a class="header-anchor" href="#enisa-single-reporting-platform-srp" aria-label="Permalink to &quot;ENISA Single Reporting Platform (SRP)&quot;"></a></h3>
<p>From 11 September 2026, the ENISA Single Reporting Platform is available as the central reporting point:</p>
<table tabindex="0">
<thead>
<tr>
<th>Property</th>
<th>Details</th>
</tr>
</thead>
<tbody>
<tr>
<td><strong>URL</strong></td>
<td>To be provided by ENISA (expected: <code>https://reporting.enisa.europa.eu</code>)</td>
</tr>
<tr>
<td><strong>Access</strong></td>
<td>Registration as manufacturer pursuant to Art. 14(4) CRA required</td>
</tr>
<tr>
<td><strong>Format</strong></td>
<td>Structured online form + API access (planned)</td>
</tr>
<tr>
<td><strong>Language</strong></td>
<td>English (EU-wide), possibly national languages</td>
</tr>
<tr>
<td><strong>Confirmation</strong></td>
<td>Automatic acknowledgement of receipt by the platform</td>
</tr>
</tbody>
</table>
<h3 id="national-csirts-of-eu-member-states" tabindex="-1">National CSIRTs of EU Member States <a class="header-anchor" href="#national-csirts-of-eu-member-states" aria-label="Permalink to &quot;National CSIRTs of EU Member States&quot;"></a></h3>
<p>If the ENISA SRP is temporarily unavailable, the notification shall be submitted to the competent national CSIRT. Below is the complete directory of all 27 EU Member States:</p>
<table tabindex="0">
<thead>
<tr>
<th>Country</th>
<th>CSIRT</th>
<th>Website</th>
<th>Email</th>
</tr>
</thead>
<tbody>
<tr>
<td><strong>Austria</strong></td>
<td>CERT.at</td>
<td><a href="https://www.cert.at" target="_blank" rel="noreferrer">www.cert.at</a></td>
<td><code>reports@cert.at</code></td>
</tr>
<tr>
<td><strong>Belgium</strong></td>
<td>CERT.be (CCB)</td>
<td><a href="https://ccb.belgium.be/cert" target="_blank" rel="noreferrer">ccb.belgium.be/cert</a></td>
<td><code>cert@cert.be</code></td>
</tr>
<tr>
<td><strong>Bulgaria</strong></td>
<td>CERT Bulgaria</td>
<td><a href="https://www.govcert.bg" target="_blank" rel="noreferrer">www.govcert.bg</a></td>
<td><code>cert@govcert.bg</code></td>
</tr>
<tr>
<td><strong>Croatia</strong></td>
<td>National CERT (CERT.hr)</td>
<td><a href="https://www.cert.hr" target="_blank" rel="noreferrer">www.cert.hr</a></td>
<td><code>ncert@cert.hr</code></td>
</tr>
<tr>
<td><strong>Cyprus</strong></td>
<td>CSIRT-CY (DMRID)</td>
<td><a href="https://csirt.cy" target="_blank" rel="noreferrer">csirt.cy</a></td>
<td><code>info@csirt.cy</code></td>
</tr>
<tr>
<td><strong>Czechia</strong></td>
<td>NÚKIB / GovCERT.CZ</td>
<td><a href="https://www.nukib.cz" target="_blank" rel="noreferrer">www.nukib.cz</a></td>
<td><code>cert@nukib.cz</code></td>
</tr>
<tr>
<td><strong>Denmark</strong></td>
<td>CFCS</td>
<td><a href="https://www.cfcs.dk" target="_blank" rel="noreferrer">www.cfcs.dk</a></td>
<td><code>cfcs@cfcs.dk</code></td>
</tr>
<tr>
<td><strong>Estonia</strong></td>
<td>CERT-EE (RIA)</td>
<td><a href="https://www.cert.ee" target="_blank" rel="noreferrer">www.cert.ee</a></td>
<td><code>cert@cert.ee</code></td>
</tr>
<tr>
<td><strong>Finland</strong></td>
<td>NCSC-FI (Traficom)</td>
<td><a href="https://www.kyberturvallisuuskeskus.fi" target="_blank" rel="noreferrer">www.kyberturvallisuuskeskus.fi</a></td>
<td><code>cert@traficom.fi</code></td>
</tr>
<tr>
<td><strong>France</strong></td>
<td>CERT-FR (ANSSI)</td>
<td><a href="https://www.cert.ssi.gouv.fr" target="_blank" rel="noreferrer">www.cert.ssi.gouv.fr</a></td>
<td><code>cert-fr@ssi.gouv.fr</code></td>
</tr>
<tr>
<td><strong>Germany</strong></td>
<td>CERT-Bund (BSI)</td>
<td><a href="https://www.bsi.bund.de/DE/Themen/Unternehmen-und-Organisationen/Cyber-Sicherheitslage/Reaktion/CERT-Bund/cert-bund_node.html" target="_blank" rel="noreferrer">www.bsi.bund.de</a></td>
<td><code>certbund@bsi.bund.de</code></td>
</tr>
<tr>
<td><strong>Greece</strong></td>
<td>National CERT-GR</td>
<td><a href="https://www.cert.gr" target="_blank" rel="noreferrer">www.cert.gr</a></td>
<td><code>cert@cert.gr</code></td>
</tr>
<tr>
<td><strong>Hungary</strong></td>
<td>NCSC Hungary (NBSZ NKI)</td>
<td><a href="https://nki.gov.hu" target="_blank" rel="noreferrer">nki.gov.hu</a></td>
<td><code>cert@nki.gov.hu</code></td>
</tr>
<tr>
<td><strong>Ireland</strong></td>
<td>NCSC-IE</td>
<td><a href="https://www.ncsc.gov.ie" target="_blank" rel="noreferrer">www.ncsc.gov.ie</a></td>
<td><code>certreport@ncsc.gov.ie</code></td>
</tr>
<tr>
<td><strong>Italy</strong></td>
<td>CSIRT Italia (ACN)</td>
<td><a href="https://www.csirt.gov.it" target="_blank" rel="noreferrer">www.csirt.gov.it</a></td>
<td><code>csirt@pec.acn.gov.it</code></td>
</tr>
<tr>
<td><strong>Latvia</strong></td>
<td>CERT.LV</td>
<td><a href="https://cert.lv" target="_blank" rel="noreferrer">cert.lv</a></td>
<td><code>cert@cert.lv</code></td>
</tr>
<tr>
<td><strong>Lithuania</strong></td>
<td>NKSC</td>
<td><a href="https://www.nksc.lt" target="_blank" rel="noreferrer">www.nksc.lt</a></td>
<td><code>cert@nksc.lt</code></td>
</tr>
<tr>
<td><strong>Luxembourg</strong></td>
<td>CIRCL / GovCERT.lu</td>
<td><a href="https://www.circl.lu" target="_blank" rel="noreferrer">www.circl.lu</a></td>
<td><code>info@circl.lu</code></td>
</tr>
<tr>
<td><strong>Malta</strong></td>
<td>CSIRTMalta</td>
<td><a href="https://www.mca.org.mt" target="_blank" rel="noreferrer">www.mca.org.mt</a></td>
<td><code>csirtmalta@gov.mt</code></td>
</tr>
<tr>
<td><strong>Netherlands</strong></td>
<td>NCSC-NL</td>
<td><a href="https://www.ncsc.nl" target="_blank" rel="noreferrer">www.ncsc.nl</a></td>
<td><code>cert@ncsc.nl</code></td>
</tr>
<tr>
<td><strong>Poland</strong></td>
<td>CERT Polska (NASK)</td>
<td><a href="https://cert.pl" target="_blank" rel="noreferrer">cert.pl</a></td>
<td><code>cert@cert.pl</code></td>
</tr>
<tr>
<td><strong>Portugal</strong></td>
<td>CERT.PT (CNCS)</td>
<td><a href="https://www.cncs.gov.pt" target="_blank" rel="noreferrer">www.cncs.gov.pt</a></td>
<td><code>cert@cert.pt</code></td>
</tr>
<tr>
<td><strong>Romania</strong></td>
<td>CERT-RO</td>
<td><a href="https://www.cert.ro" target="_blank" rel="noreferrer">www.cert.ro</a></td>
<td><code>cert@cert.ro</code></td>
</tr>
<tr>
<td><strong>Slovakia</strong></td>
<td>SK-CERT (NASES)</td>
<td><a href="https://www.sk-cert.sk" target="_blank" rel="noreferrer">www.sk-cert.sk</a></td>
<td><code>incident@sk-cert.sk</code></td>
</tr>
<tr>
<td><strong>Slovenia</strong></td>
<td>SI-CERT</td>
<td><a href="https://www.cert.si" target="_blank" rel="noreferrer">www.cert.si</a></td>
<td><code>cert@cert.si</code></td>
</tr>
<tr>
<td><strong>Spain</strong></td>
<td>CCN-CERT / INCIBE-CERT</td>
<td><a href="https://www.incibe.es" target="_blank" rel="noreferrer">www.incibe.es</a></td>
<td><code>incidencias@incibe-cert.es</code></td>
</tr>
<tr>
<td><strong>Sweden</strong></td>
<td>CERT-SE (MSB)</td>
<td><a href="https://www.cert.se" target="_blank" rel="noreferrer">www.cert.se</a></td>
<td><code>cert@cert.se</code></td>
</tr>
</tbody>
</table>
<p><em>Source: <a href="https://csirtsnetwork.eu/" target="_blank" rel="noreferrer">ENISA CSIRTs Network</a> / <a href="https://www.enisa.europa.eu/tools/csirts-by-country-interactive-map" target="_blank" rel="noreferrer">ENISA CSIRT Inventory</a>. As of: 2026-02. Verify current contact details before initial notification.</em></p>
<div class="warning custom-block"><p class="custom-block-title">DUPLICATE NOTIFICATION</p>
<p>When using the national CSIRT as a fallback, the notification must be re-submitted without delay once the ENISA SRP is available again.</p>
</div>
<h2 id="_4-3-5-reporting-process" tabindex="-1">4.3.5 Reporting Process <a class="header-anchor" href="#_4-3-5-reporting-process" aria-label="Permalink to &quot;4.3.5 Reporting Process&quot;"></a></h2>
<h3 id="phase-1-early-warning-≤-24-hours" tabindex="-1">Phase 1: Early Warning (≤ 24 hours) <a class="header-anchor" href="#phase-1-early-warning-≤-24-hours" aria-label="Permalink to &quot;Phase 1: Early Warning (≤ 24 hours)&quot;"></a></h3>
<p><strong>Responsible:</strong> Security Lead</p>
<div class="language- vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang"></span><pre class="shiki shiki-themes github-light github-dark vp-code" tabindex="0" v-pre=""><code><span class="line"><span>Actively exploited vulnerability / severe incident detected</span></span>
<span class="line"><span>    │</span></span>
<span class="line"><span>    ├── 1. Immediate notification</span></span>
<span class="line"><span>    │   ├── Alert Security Lead (immediately, any time of day)</span></span>
<span class="line"><span>    │   └── Create incident ticket (GitHub Issue, label: incident + enisa)</span></span>
<span class="line"><span>    │</span></span>
<span class="line"><span>    ├── 2. Initial assessment (≤ 2 hours)</span></span>
<span class="line"><span>    │   ├── Confirm vulnerability / incident</span></span>
<span class="line"><span>    │   ├── Identify affected products and versions</span></span>
<span class="line"><span>    │   ├── Verify active exploitation (KEV, threat intel)</span></span>
<span class="line"><span>    │   ├── Determine severity (CVSS)</span></span>
<span class="line"><span>    │   └── Confirm ENISA reporting obligation</span></span>
<span class="line"><span>    │</span></span>
<span class="line"><span>    ├── 3. Submit ENISA early warning (≤ 24h)</span></span>
<span class="line"><span>    │   ├── Template: /templates/enisa-early-warning</span></span>
<span class="line"><span>    │   ├── Platform: ENISA SRP (primary) or CSIRT (fallback)</span></span>
<span class="line"><span>    │   └── Minimum content per Art. 14(1):</span></span>
<span class="line"><span>    │       ├── Manufacturer identification</span></span>
<span class="line"><span>    │       ├── Affected product / affected versions</span></span>
<span class="line"><span>    │       ├── Nature of the vulnerability / incident</span></span>
<span class="line"><span>    │       ├── Severity (CVSS score + vector)</span></span>
<span class="line"><span>    │       ├── Confirmation of active exploitation</span></span>
<span class="line"><span>    │       ├── Initial assessment of impact</span></span>
<span class="line"><span>    │       └── Planned immediate measures</span></span>
<span class="line"><span>    │</span></span>
<span class="line"><span>    └── 4. Parallel measures</span></span>
<span class="line"><span>        ├── Activate communication plan (→ 5.4)</span></span>
<span class="line"><span>        ├── Inform management (for SEV-1/SEV-2)</span></span>
<span class="line"><span>        └── Initiate immediate measures (workaround, isolation)</span></span></code></pre>
</div><p><strong>Evidence:</strong> Screenshot of notification confirmation + timestamp in incident ticket</p>
<h3 id="phase-2-vulnerability-notification-≤-72-hours" tabindex="-1">Phase 2: Vulnerability Notification (≤ 72 hours) <a class="header-anchor" href="#phase-2-vulnerability-notification-≤-72-hours" aria-label="Permalink to &quot;Phase 2: Vulnerability Notification (≤ 72 hours)&quot;"></a></h3>
<p><strong>Responsible:</strong> Security Lead + DevOps Lead</p>
<div class="language- vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang"></span><pre class="shiki shiki-themes github-light github-dark vp-code" tabindex="0" v-pre=""><code><span class="line"><span>Detailed assessment in progress / completed</span></span>
<span class="line"><span>    │</span></span>
<span class="line"><span>    ├── 1. Deepen technical analysis</span></span>
<span class="line"><span>    │   ├── Complete version list of affected products</span></span>
<span class="line"><span>    │   ├── Assign CWE classification</span></span>
<span class="line"><span>    │   ├── Calculate complete CVSS v3.1 vector</span></span>
<span class="line"><span>    │   ├── Document attack vector and prerequisites</span></span>
<span class="line"><span>    │   └── Describe exploitation scenarios</span></span>
<span class="line"><span>    │</span></span>
<span class="line"><span>    ├── 2. Document measures</span></span>
<span class="line"><span>    │   ├── Mitigation measures already taken</span></span>
<span class="line"><span>    │   ├── Status of patch development</span></span>
<span class="line"><span>    │   ├── Available workarounds</span></span>
<span class="line"><span>    │   └── Recommended user measures</span></span>
<span class="line"><span>    │</span></span>
<span class="line"><span>    └── 3. Submit ENISA notification (≤ 72h)</span></span>
<span class="line"><span>        ├── Template: /templates/enisa-notification</span></span>
<span class="line"><span>        ├── Platform: ENISA SRP</span></span>
<span class="line"><span>        └── Minimum content per Art. 14(2):</span></span>
<span class="line"><span>            ├── Reference to early warning</span></span>
<span class="line"><span>            ├── Detailed vulnerability description</span></span>
<span class="line"><span>            ├── CVE-ID (if already assigned)</span></span>
<span class="line"><span>            ├── All affected product versions</span></span>
<span class="line"><span>            ├── CWE classification + CVSS vector</span></span>
<span class="line"><span>            ├── Technical details (attack vector, impact)</span></span>
<span class="line"><span>            ├── Status of mitigation measures taken</span></span>
<span class="line"><span>            ├── Available patch / workaround</span></span>
<span class="line"><span>            ├── Recommended user measures</span></span>
<span class="line"><span>            └── Estimated number of affected users / devices</span></span></code></pre>
</div><p><strong>Evidence:</strong> Notification confirmation + complete copy in incident ticket</p>
<h3 id="phase-3-final-report-≤-14-days" tabindex="-1">Phase 3: Final Report (≤ 14 days) <a class="header-anchor" href="#phase-3-final-report-≤-14-days" aria-label="Permalink to &quot;Phase 3: Final Report (≤ 14 days)&quot;"></a></h3>
<p><strong>Responsible:</strong> Security Lead</p>
<div class="language- vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang"></span><pre class="shiki shiki-themes github-light github-dark vp-code" tabindex="0" v-pre=""><code><span class="line"><span>Remediation completed or well advanced</span></span>
<span class="line"><span>    │</span></span>
<span class="line"><span>    ├── 1. Prepare final documentation</span></span>
<span class="line"><span>    │   ├── Complete root cause analysis</span></span>
<span class="line"><span>    │   ├── Create complete incident timeline</span></span>
<span class="line"><span>    │   ├── List all measures taken</span></span>
<span class="line"><span>    │   ├── Identify patches / updates provided</span></span>
<span class="line"><span>    │   ├── Assess residual risks</span></span>
<span class="line"><span>    │   └── Formulate lessons learned</span></span>
<span class="line"><span>    │</span></span>
<span class="line"><span>    └── 2. Submit ENISA final report (≤ 14 days)</span></span>
<span class="line"><span>        ├── Template: /templates/enisa-final-report</span></span>
<span class="line"><span>        ├── Platform: ENISA SRP</span></span>
<span class="line"><span>        └── Minimum content per Art. 14(3):</span></span>
<span class="line"><span>            ├── Reference to early warning and notification</span></span>
<span class="line"><span>            ├── Detailed vulnerability description</span></span>
<span class="line"><span>            ├── Root cause analysis</span></span>
<span class="line"><span>            ├── Complete event timeline</span></span>
<span class="line"><span>            ├── All corrective measures taken</span></span>
<span class="line"><span>            ├── Patches / updates provided (with version numbers)</span></span>
<span class="line"><span>            ├── Residual risks and their mitigation</span></span>
<span class="line"><span>            ├── Indicators of compromise (IoC), if available</span></span>
<span class="line"><span>            ├── Lessons learned</span></span>
<span class="line"><span>            └── Measures to prevent future incidents</span></span></code></pre>
</div><p><strong>Evidence:</strong> Notification confirmation + complete copy in incident ticket + archiving</p>
<h2 id="_4-3-6-user-notification-art-14-8" tabindex="-1">4.3.6 User Notification (Art. 14(8)) <a class="header-anchor" href="#_4-3-6-user-notification-art-14-8" aria-label="Permalink to &quot;4.3.6 User Notification (Art. 14(8))&quot;"></a></h2>
<p>In parallel to the ENISA notification, affected users must be informed <strong>without delay</strong> about the vulnerability and available corrective measures.</p>
<table tabindex="0">
<thead>
<tr>
<th>Aspect</th>
<th>Details</th>
</tr>
</thead>
<tbody>
<tr>
<td><strong>Trigger</strong></td>
<td>Any actively exploited vulnerability or severe incident</td>
</tr>
<tr>
<td><strong>Deadline</strong></td>
<td>Without delay (Art. 14(8))</td>
</tr>
<tr>
<td><strong>Primary channel</strong></td>
<td>GitHub Security Advisory</td>
</tr>
<tr>
<td><strong>Secondary channel</strong></td>
<td>Email to known customers (for SEV-1/SEV-2)</td>
</tr>
<tr>
<td><strong>Content</strong></td>
<td>Vulnerability description, impact, recommended measures, available patch</td>
</tr>
<tr>
<td><strong>Template</strong></td>
<td><a href="/en/templates/vulnerability-report">Vulnerability Report</a></td>
</tr>
<tr>
<td><strong>Responsible</strong></td>
<td>Security Lead + Product Owner</td>
</tr>
</tbody>
</table>
<div class="warning custom-block"><p class="custom-block-title">COORDINATION WITH ENISA</p>
<p>The user notification must not contain details that could facilitate exploitation of the vulnerability as long as no patch is available. A delayed disclosure may be agreed in coordination with ENISA (Art. 14(7)).</p>
</div>
<h2 id="_4-3-7-documentation-and-record-keeping" tabindex="-1">4.3.7 Documentation and Record-Keeping <a class="header-anchor" href="#_4-3-7-documentation-and-record-keeping" aria-label="Permalink to &quot;4.3.7 Documentation and Record-Keeping&quot;"></a></h2>
<p>Each ENISA notification is fully documented. This documentation serves as <strong>evidence of compliance</strong> vis-a-vis market surveillance authorities (Art. 52 CRA).</p>
<h3 id="mandatory-documentation-per-notification" tabindex="-1">Mandatory Documentation per Notification <a class="header-anchor" href="#mandatory-documentation-per-notification" aria-label="Permalink to &quot;Mandatory Documentation per Notification&quot;"></a></h3>
<table tabindex="0">
<thead>
<tr>
<th>Documentation Component</th>
<th>Storage Location</th>
<th>Retention Period</th>
</tr>
</thead>
<tbody>
<tr>
<td>Complete copy of each ENISA notification</td>
<td>Incident ticket (GitHub Issue)</td>
<td>10 years</td>
</tr>
<tr>
<td>Timestamps of all notifications and actions</td>
<td>Incident ticket + Git log</td>
<td>10 years</td>
</tr>
<tr>
<td>Acknowledgement of receipt by ENISA / CSIRT</td>
<td>Incident ticket (attachment)</td>
<td>10 years</td>
</tr>
<tr>
<td>Communication log (internal + external)</td>
<td>Incident ticket</td>
<td>10 years</td>
</tr>
<tr>
<td>User notifications (advisory + email)</td>
<td>GitHub Advisory + email archive</td>
<td>10 years</td>
</tr>
<tr>
<td>Post-mortem / lessons learned</td>
<td>Incident ticket</td>
<td>10 years</td>
</tr>
</tbody>
</table>
<h3 id="reference-numbering-scheme" tabindex="-1">Reference Numbering Scheme <a class="header-anchor" href="#reference-numbering-scheme" aria-label="Permalink to &quot;Reference Numbering Scheme&quot;"></a></h3>
<p>All notifications use a uniform reference numbering scheme:</p>
<table tabindex="0">
<thead>
<tr>
<th>Notification Type</th>
<th>Format</th>
<th>Example</th>
</tr>
</thead>
<tbody>
<tr>
<td>Early warning</td>
<td><code>EW-YYYY-NNN</code></td>
<td>EW-2026-001</td>
</tr>
<tr>
<td>Vulnerability notification</td>
<td><code>VN-YYYY-NNN</code></td>
<td>VN-2026-001</td>
</tr>
<tr>
<td>Final report</td>
<td><code>FR-YYYY-NNN</code></td>
<td>FR-2026-001</td>
</tr>
<tr>
<td>Internal incident</td>
<td><code>INC-YYYY-NNN</code></td>
<td>INC-2026-001</td>
</tr>
</tbody>
</table>
<h2 id="_4-3-8-preparatory-measures-before-11-09-2026" tabindex="-1">4.3.8 Preparatory Measures (before 11.09.2026) <a class="header-anchor" href="#_4-3-8-preparatory-measures-before-11-09-2026" aria-label="Permalink to &quot;4.3.8 Preparatory Measures (before 11.09.2026)&quot;"></a></h2>
<p>The following measures must be completed before the reporting obligation enters into force:</p>
<table tabindex="0">
<thead>
<tr>
<th>No.</th>
<th>Measure</th>
<th>Responsible</th>
<th>Deadline</th>
<th>Status</th>
</tr>
</thead>
<tbody>
<tr>
<td>1</td>
<td>Complete ENISA SRP registration</td>
<td>Security Lead</td>
<td>As soon as available</td>
<td>Pending</td>
</tr>
<tr>
<td>2</td>
<td>Verify national CSIRT contact details</td>
<td>Security Lead</td>
<td>Q2 2026</td>
<td>Pending</td>
</tr>
<tr>
<td>3</td>
<td>Prepare and internally test reporting templates</td>
<td>Security Lead</td>
<td>Q2 2026</td>
<td>Done</td>
</tr>
<tr>
<td>4</td>
<td>Train incident response team on reporting process</td>
<td>Security Lead</td>
<td>Q2 2026</td>
<td>Pending</td>
</tr>
<tr>
<td>5</td>
<td>Conduct test notification via ENISA SRP</td>
<td>Security Lead</td>
<td>Q3 2026</td>
<td>Pending</td>
</tr>
<tr>
<td>6</td>
<td>Update escalation paths and contact lists</td>
<td>Security Lead</td>
<td>Q2 2026</td>
<td>Pending</td>
</tr>
<tr>
<td>7</td>
<td>Securely store ENISA access credentials</td>
<td>Security Lead</td>
<td>Q3 2026</td>
<td>Pending</td>
</tr>
<tr>
<td>8</td>
<td>Test reporting process in tabletop exercise</td>
<td>Security Lead</td>
<td>Q3 2026</td>
<td>Pending</td>
</tr>
</tbody>
</table>
<h2 id="_4-3-9-decision-tree-reporting-obligation" tabindex="-1">4.3.9 Decision Tree: Reporting Obligation <a class="header-anchor" href="#_4-3-9-decision-tree-reporting-obligation" aria-label="Permalink to &quot;4.3.9 Decision Tree: Reporting Obligation&quot;"></a></h2>
<div class="language- vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang"></span><pre class="shiki shiki-themes github-light github-dark vp-code" tabindex="0" v-pre=""><code><span class="line"><span>Security event detected</span></span>
<span class="line"><span>    │</span></span>
<span class="line"><span>    ├── Is a vulnerability in our product affected?</span></span>
<span class="line"><span>    │   ├── No → No CRA reporting obligation (check NIS2 if applicable)</span></span>
<span class="line"><span>    │   └── Yes ↓</span></span>
<span class="line"><span>    │</span></span>
<span class="line"><span>    ├── Is the vulnerability being actively exploited?</span></span>
<span class="line"><span>    │   ├── Yes → REPORTABLE (Art. 14(1))</span></span>
<span class="line"><span>    │   │         → 24h early warning + 72h notification + 14d final report</span></span>
<span class="line"><span>    │   └── No ↓</span></span>
<span class="line"><span>    │</span></span>
<span class="line"><span>    ├── Is it a severe security incident?</span></span>
<span class="line"><span>    │   ├── Yes → REPORTABLE (Art. 14(3))</span></span>
<span class="line"><span>    │   │         → 24h early warning + 72h notification + 14d final report</span></span>
<span class="line"><span>    │   └── No ↓</span></span>
<span class="line"><span>    │</span></span>
<span class="line"><span>    └── Standard vulnerability handling</span></span>
<span class="line"><span>        → Vulnerability management (→ Chapter 3)</span></span>
<span class="line"><span>        → Patch management per SLA</span></span>
<span class="line"><span>        → No ENISA reporting obligation</span></span></code></pre>
</div>]]></content:encoded>
            <author>BAUER GROUP</author>
        </item>
        <item>
            <title><![CDATA[Chapter 1: CRA Overview]]></title>
            <link>https://cra.docs.bauer-group.com/en/overview/</link>
            <guid isPermaLink="false">https://cra.docs.bauer-group.com/en/overview/</guid>
            <pubDate>Thu, 26 Mar 2026 10:46:49 GMT</pubDate>
            <description><![CDATA[# Chapter 1: CRA Overview

## Document Control

| Field | Value |
|]]></description>
            <content:encoded><![CDATA[<h1 id="chapter-1-cra-overview" tabindex="-1">Chapter 1: CRA Overview <a class="header-anchor" href="#chapter-1-cra-overview" aria-label="Permalink to &quot;Chapter 1: CRA Overview&quot;"></a></h1>
<h2 id="document-control" tabindex="-1">Document Control <a class="header-anchor" href="#document-control" aria-label="Permalink to &quot;Document Control&quot;"></a></h2>
<table tabindex="0">
<thead>
<tr>
<th>Field</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td><strong>Document Title</strong></td>
<td>CRA Compliance Handbook</td>
</tr>
<tr>
<td><strong>Document Identifier</strong></td>
<td>BG-CRA-HB-001</td>
</tr>
<tr>
<td><strong>Version</strong></td>
<td>1.0</td>
</tr>
<tr>
<td><strong>Classification</strong></td>
<td>Public</td>
</tr>
<tr>
<td><strong>Scope</strong></td>
<td>All products with digital elements of BAUER GROUP</td>
</tr>
<tr>
<td><strong>Publisher</strong></td>
<td>BAUER GROUP – Information Security</td>
</tr>
<tr>
<td><strong>Created</strong></td>
<td>2026-02-08</td>
</tr>
<tr>
<td><strong>Approval</strong></td>
<td>Information Security Officer (ISO)</td>
</tr>
<tr>
<td><strong>Next Revision</strong></td>
<td>2027-02-08</td>
</tr>
</tbody>
</table>
<blockquote>
<p><strong>Note:</strong> This is the public version of this document. Personal data (names, contact details) are not included in this edition and are only available in the internal version.</p>
</blockquote>
<h3 id="change-history" tabindex="-1">Change History <a class="header-anchor" href="#change-history" aria-label="Permalink to &quot;Change History&quot;"></a></h3>
<table tabindex="0">
<thead>
<tr>
<th>Version</th>
<th>Date</th>
<th>Author</th>
<th>Change</th>
</tr>
</thead>
<tbody>
<tr>
<td>1.0</td>
<td>2026-02-08</td>
<td>BAUER GROUP</td>
<td>Initial version</td>
</tr>
</tbody>
</table>
<h3 id="binding-nature" tabindex="-1">Binding Nature <a class="header-anchor" href="#binding-nature" aria-label="Permalink to &quot;Binding Nature&quot;"></a></h3>
<p>This handbook is <strong>binding</strong> for all employees of BAUER GROUP who are involved in the development, operation, distribution, or support of products with digital elements. Deviations from the processes described herein require written approval from the Security Lead and Management.</p>
<hr>
<h2 id="regulation-eu-2024-2847-–-cyber-resilience-act" tabindex="-1">Regulation (EU) 2024/2847 – Cyber Resilience Act <a class="header-anchor" href="#regulation-eu-2024-2847-–-cyber-resilience-act" aria-label="Permalink to &quot;Regulation (EU) 2024/2847 – Cyber Resilience Act&quot;"></a></h2>
<p>The <strong>Cyber Resilience Act (CRA)</strong> is the EU regulation on horizontal cybersecurity requirements for products with digital elements. It was published in the Official Journal of the European Union on 20 November 2024 (OJ L, 2024/2847) and entered into force on <strong>10 December 2024</strong>.</p>
<p>The CRA applies directly in all EU Member States and establishes binding obligations for manufacturers, importers, and distributors of products with digital elements.</p>
<h3 id="legal-characteristics" tabindex="-1">Legal Characteristics <a class="header-anchor" href="#legal-characteristics" aria-label="Permalink to &quot;Legal Characteristics&quot;"></a></h3>
<table tabindex="0">
<thead>
<tr>
<th>Characteristic</th>
<th>Detail</th>
</tr>
</thead>
<tbody>
<tr>
<td><strong>Legal Form</strong></td>
<td>EU Regulation (directly applicable)</td>
</tr>
<tr>
<td><strong>Publication</strong></td>
<td>OJ L, 2024/2847, 20.11.2024</td>
</tr>
<tr>
<td><strong>Entry into Force</strong></td>
<td>10.12.2024</td>
</tr>
<tr>
<td><strong>Reporting obligations from</strong></td>
<td><strong>11.09.2026</strong> (Art. 14)</td>
</tr>
<tr>
<td><strong>Full applicability from</strong></td>
<td><strong>11.12.2027</strong> (all requirements)</td>
</tr>
<tr>
<td><strong>Penalties</strong></td>
<td>Up to EUR 15 million or 2.5% of global annual turnover (Art. 64)</td>
</tr>
</tbody>
</table>
<h2 id="purpose-and-objectives" tabindex="-1">Purpose and Objectives <a class="header-anchor" href="#purpose-and-objectives" aria-label="Permalink to &quot;Purpose and Objectives&quot;"></a></h2>
<p>The CRA pursues two core objectives:</p>
<ol>
<li>
<p><strong>Security requirements for products (Annex I Part I)</strong> – Products with digital elements may only be made available on the EU market if they fulfil the essential cybersecurity requirements. This includes security-by-design, confidentiality, integrity, availability, and minimisation of the attack surface.</p>
</li>
<li>
<p><strong>Vulnerability handling (Annex I Part II)</strong> – Manufacturers must systematically identify, document, assess, remediate, and report vulnerabilities to users and authorities throughout the entire support period (at least 5 years, Art. 13(8)).</p>
</li>
</ol>
<h3 id="interplay-with-nis2" tabindex="-1">Interplay with NIS2 <a class="header-anchor" href="#interplay-with-nis2" aria-label="Permalink to &quot;Interplay with NIS2&quot;"></a></h3>
<p>The CRA complements the <strong>NIS2 Directive</strong> (Directive (EU) 2022/2555). While NIS2 governs the cybersecurity of operators of essential and important entities, the CRA addresses the security of the <strong>products</strong> used by those entities. The reporting obligations under the CRA (Art. 14) are modelled on the NIS2 reporting obligations (Art. 23 NIS2) and utilise the same ENISA reporting platform.</p>
<div class="tip custom-block"><p class="custom-block-title">AI Act Synergy</p>
<p>Products with AI components must comply with <strong>both</strong> the CRA and the <a href="/en/overview/nis2-integration">EU AI Act (Regulation 2024/1689)</a>. The CRA covers cybersecurity of the product; the AI Act covers safety, transparency, and rights. Art. 8(2) AI Act permits integration of CRA compliance activities into the AI Act conformity process.</p>
</div>
<div class="danger custom-block"><p class="custom-block-title">Start Here</p>
<p>Not sure if the CRA applies to your product? Use the <strong><a href="/en/overview/scope-checker">Scope Checker</a></strong> for interactive decision guidance — from applicability through product classification to the correct conformity path.</p>
</div>
<h2 id="scope" tabindex="-1">Scope <a class="header-anchor" href="#scope" aria-label="Permalink to &quot;Scope&quot;"></a></h2>
<p>Pursuant to Art. 2 CRA, this regulation applies to <strong>products with digital elements</strong> whose intended or reasonably foreseeable use includes a direct or indirect logical or physical data connection to a device or network.</p>
<p>For BAUER GROUP, this concerns:</p>
<ul>
<li><strong>Software</strong> – Standalone applications, microservices, APIs, container images</li>
<li><strong>Firmware</strong> – Embedded systems (ESP32, STM32, Zephyr RTOS)</li>
<li><strong>Libraries</strong> – Publicly published NPM and NuGet packages</li>
<li><strong>Hardware with Software</strong> – IoT devices, industrial controllers</li>
<li><strong>Remote Data Processing</strong> – Cloud components that are an integral part of a product</li>
</ul>
<p>Detailed product categories and exemptions: see <a href="./scope">1.1 Scope &amp; Products</a>.</p>
<h3 id="subpages-of-this-chapter" tabindex="-1">Subpages of this Chapter <a class="header-anchor" href="#subpages-of-this-chapter" aria-label="Permalink to &quot;Subpages of this Chapter&quot;"></a></h3>
<table tabindex="0">
<thead>
<tr>
<th>Section</th>
<th>Topic</th>
</tr>
</thead>
<tbody>
<tr>
<td><strong>1.1</strong></td>
<td><a href="./scope">Scope &amp; Products</a></td>
</tr>
<tr>
<td><strong>1.2</strong></td>
<td><a href="./responsibilities">Roles &amp; Responsibilities</a></td>
</tr>
<tr>
<td><strong>1.3</strong></td>
<td><a href="./timeline">Deadlines &amp; Timelines</a></td>
</tr>
<tr>
<td><strong>1.4</strong></td>
<td><a href="./importer-obligations">Importer Obligations (Art. 15)</a></td>
</tr>
<tr>
<td><strong>1.5</strong></td>
<td><a href="./authorised-representative">Authorised Representative (Art. 16)</a></td>
</tr>
<tr>
<td><strong>1.6</strong></td>
<td><a href="./distributor-obligations">Distributor Obligations (Art. 17)</a></td>
</tr>
<tr>
<td><strong>1.7</strong></td>
<td><a href="./open-source-steward">Open-Source Steward (Art. 18–19)</a></td>
</tr>
<tr>
<td><strong>1.8</strong></td>
<td><a href="./substantial-modifications">Substantial Modifications (Art. 20)</a></td>
</tr>
<tr>
<td><strong>1.9</strong></td>
<td><a href="./non-conformity">Non-Conformity (Art. 22–23)</a></td>
</tr>
<tr>
<td><strong>1.10</strong></td>
<td><a href="./market-surveillance">Market Surveillance (Art. 52–58)</a></td>
</tr>
<tr>
<td><strong>1.11</strong></td>
<td><a href="./penalties">Penalties (Art. 64)</a></td>
</tr>
<tr>
<td><strong>1.12</strong></td>
<td><a href="./harmonised-standards">Harmonised Standards (Art. 5–6)</a></td>
</tr>
<tr>
<td><strong>1.13</strong></td>
<td><a href="./product-safety">General Product Safety (Art. 9)</a></td>
</tr>
<tr>
<td><strong>1.14</strong></td>
<td><a href="./nis2-integration">NIS2 Integration</a></td>
</tr>
</tbody>
</table>
<h2 id="structure-of-this-handbook" tabindex="-1">Structure of this Handbook <a class="header-anchor" href="#structure-of-this-handbook" aria-label="Permalink to &quot;Structure of this Handbook&quot;"></a></h2>
<p>This handbook is structured according to the core processes of the CRA. Each chapter addresses a distinct compliance area with legal basis, process description, and operational implementation:</p>
<table tabindex="0">
<thead>
<tr>
<th>Chapter</th>
<th>Topic</th>
<th>CRA Reference</th>
</tr>
</thead>
<tbody>
<tr>
<td><strong>Ch. 1</strong></td>
<td>Overview, Scope, Roles, Deadlines</td>
<td>Art. 2, 3, 10, 13, 14, 16</td>
</tr>
<tr>
<td><strong>Ch. 2</strong></td>
<td><a href="/en/sbom-signing/">SBOM &amp; Signing</a></td>
<td>Art. 13(23), Art. 10(12), Annex I Part I No. 3, Part II No. 1</td>
</tr>
<tr>
<td><strong>Ch. 3</strong></td>
<td><a href="/en/vulnerability-management/">Vulnerability Management</a></td>
<td>Art. 10(6), Annex I Part II No. 2-8</td>
</tr>
<tr>
<td><strong>Ch. 4</strong></td>
<td><a href="/en/incident-response/">Incident Response &amp; Disclosure</a></td>
<td>Art. 13(6), Art. 14</td>
</tr>
<tr>
<td><strong>Ch. 5</strong></td>
<td><a href="/en/supply-chain/">Supply Chain Security</a></td>
<td>Art. 10(4), Annex I Part II No. 1</td>
</tr>
<tr>
<td><strong>Ch. 6</strong></td>
<td><a href="/en/technical-documentation/">Technical Documentation</a></td>
<td>Art. 31, Annex VII</td>
</tr>
<tr>
<td><strong>Ch. 7</strong></td>
<td><a href="/en/conformity/">Conformity Assessment</a></td>
<td>Art. 24-28, Annex V, VIII</td>
</tr>
<tr>
<td><strong>Ch. 8</strong></td>
<td><a href="/en/compliance-matrix/">Compliance Matrix</a></td>
<td>Complete requirements mapping</td>
</tr>
<tr>
<td><strong>Appendix</strong></td>
<td><a href="/en/templates/">Templates</a></td>
<td>ENISA notifications, EU DoC, Reports</td>
</tr>
</tbody>
</table>
<h2 id="toolchain" tabindex="-1">Toolchain <a class="header-anchor" href="#toolchain" aria-label="Permalink to &quot;Toolchain&quot;"></a></h2>
<p>BAUER GROUP relies on a fully automated toolchain to ensure CRA conformity without additional manual effort:</p>
<table tabindex="0">
<thead>
<tr>
<th>Area</th>
<th>Tool</th>
<th>Function</th>
<th>Status</th>
</tr>
</thead>
<tbody>
<tr>
<td>SBOM Generation</td>
<td>Trivy / Syft</td>
<td>Software Bill of Materials (CycloneDX JSON)</td>
<td>Active</td>
</tr>
<tr>
<td>Vulnerability Scanning</td>
<td>Trivy, Grype</td>
<td>CVE detection against NVD + GitHub Advisory DB</td>
<td>Active</td>
</tr>
<tr>
<td>Secret Scanning</td>
<td>Gitleaks, GitGuardian</td>
<td>Detection of exposed secrets</td>
<td>Active</td>
</tr>
<tr>
<td>Dependency Monitoring</td>
<td>Dependabot, Renovate</td>
<td>Automated dependency updates</td>
<td>Active</td>
</tr>
<tr>
<td>License Compliance</td>
<td>FOSSA / Syft</td>
<td>License evaluation against whitelist/blacklist</td>
<td>Active</td>
</tr>
<tr>
<td>Artefact Signing</td>
<td>Cosign (Sigstore)</td>
<td>Integrity assurance for container images</td>
<td>Active</td>
</tr>
<tr>
<td>SBOM Signing</td>
<td>Cosign (Blob-Signing)</td>
<td>Integrity assurance for SBOMs</td>
<td>Active</td>
</tr>
<tr>
<td>Base Image Monitoring</td>
<td>Custom Workflow</td>
<td>Docker base image vulnerability monitoring</td>
<td>Active</td>
</tr>
<tr>
<td>CVE Monitor</td>
<td><code>cra-scan.yml</code></td>
<td>Scheduled vulnerability scan with issue creation</td>
<td>Active</td>
</tr>
<tr>
<td>CRA Release</td>
<td><code>cra-release.yml</code></td>
<td>SBOM + signature + scan as release assets</td>
<td>Active</td>
</tr>
<tr>
<td>Software Security Hub Report</td>
<td><code>cra-report.yml</code></td>
<td>Compliance data to CRA Compliance Hub</td>
<td>Active</td>
</tr>
<tr>
<td>CI/CD</td>
<td>GitHub Actions</td>
<td>Automation of all compliance processes</td>
<td>Active</td>
</tr>
<tr>
<td>Documentation</td>
<td>VitePress + GitHub Pages</td>
<td>This compliance handbook</td>
<td>Active</td>
</tr>
</tbody>
</table>
<h2 id="regulatory-references" tabindex="-1">Regulatory References <a class="header-anchor" href="#regulatory-references" aria-label="Permalink to &quot;Regulatory References&quot;"></a></h2>
<table tabindex="0">
<thead>
<tr>
<th>Regulation</th>
<th>Reference</th>
<th>Relevance</th>
</tr>
</thead>
<tbody>
<tr>
<td><strong>Cyber Resilience Act</strong></td>
<td>Regulation (EU) 2024/2847</td>
<td>Primary legal basis of this handbook</td>
</tr>
<tr>
<td><strong>NIS2 Directive</strong></td>
<td>Directive (EU) 2022/2555</td>
<td>Supplementary reporting obligations for operators</td>
</tr>
<tr>
<td><strong>Delegated Acts</strong></td>
<td>Art. 7, 8, 14(9) CRA</td>
<td>Technical specifications (expected 2026/2027)</td>
</tr>
<tr>
<td><strong>ENISA Single Reporting Platform</strong></td>
<td>Art. 14 CRA</td>
<td>Central reporting platform for vulnerabilities</td>
</tr>
<tr>
<td><strong>ISO/IEC 29147:2018</strong></td>
<td>Vulnerability Disclosure</td>
<td>Reference standard for Coordinated Vulnerability Disclosure</td>
</tr>
<tr>
<td><strong>ISO/IEC 30111:2019</strong></td>
<td>Vulnerability Handling</td>
<td>Reference standard for vulnerability handling</td>
</tr>
<tr>
<td><strong>CycloneDX v1.5+</strong></td>
<td>OWASP Standard</td>
<td>SBOM format</td>
</tr>
<tr>
<td><strong>NIST SP 800-161r1</strong></td>
<td>C-SCRM</td>
<td>Supply chain risk management best practice</td>
</tr>
<tr>
<td><strong>IEC 62443</strong></td>
<td>Industrial Cybersecurity</td>
<td>Reference for industrial control systems</td>
</tr>
</tbody>
</table>
<h2 id="terms-and-definitions" tabindex="-1">Terms and Definitions <a class="header-anchor" href="#terms-and-definitions" aria-label="Permalink to &quot;Terms and Definitions&quot;"></a></h2>
<table tabindex="0">
<thead>
<tr>
<th>Term</th>
<th>Definition</th>
<th>CRA Reference</th>
</tr>
</thead>
<tbody>
<tr>
<td><strong>Product with digital elements</strong></td>
<td>Software or hardware product and its remote data processing solutions, including software or hardware components placed on the market separately</td>
<td>Art. 3(1)</td>
</tr>
<tr>
<td><strong>Manufacturer</strong></td>
<td>Natural or legal person who develops or has developed a product and markets it under their own name or trademark</td>
<td>Art. 3(13)</td>
</tr>
<tr>
<td><strong>Software Bill of Materials (SBOM)</strong></td>
<td>Formal, machine-readable record of the components contained in a product and their dependencies</td>
<td>Art. 3(39)</td>
</tr>
<tr>
<td><strong>Actively exploited vulnerability</strong></td>
<td>Vulnerability for which there is reliable evidence that it has been exploited by a malicious actor in a system without the permission of the owner</td>
<td>Art. 3(42)</td>
</tr>
<tr>
<td><strong>Severe incident</strong></td>
<td>Incident that has a significant impact on the security of a product, including compromise of supply chain integrity</td>
<td>Art. 3(43)</td>
</tr>
<tr>
<td><strong>Support period</strong></td>
<td>Period during which the manufacturer is obligated to ensure vulnerability handling, at least 5 years</td>
<td>Art. 13(8)</td>
</tr>
<tr>
<td><strong>Conformity assessment</strong></td>
<td>Procedure for verifying whether the essential requirements have been met</td>
<td>Art. 3(30)</td>
</tr>
<tr>
<td><strong>CE marking</strong></td>
<td>Marking by which the manufacturer declares that the product complies with the applicable EU requirements</td>
<td>Art. 29</td>
</tr>
<tr>
<td><strong>Authorised representative</strong></td>
<td>Natural or legal person established in the EU who has been authorised in writing by the manufacturer to act on their behalf for certain tasks</td>
<td>Art. 3(15), Art. 16</td>
</tr>
</tbody>
</table>
]]></content:encoded>
            <author>BAUER GROUP</author>
        </item>
        <item>
            <title><![CDATA[CRA Scope Checker]]></title>
            <link>https://cra.docs.bauer-group.com/en/overview/scope-checker</link>
            <guid isPermaLink="false">https://cra.docs.bauer-group.com/en/overview/scope-checker</guid>
            <pubDate>Thu, 26 Mar 2026 10:46:49 GMT</pubDate>
            <description><![CDATA[# CRA Scope Checker

Use this decision tree to determine whether the Cyber Resilience Act applies to your product and which conformity path to follow.

::: danger BAUER GROUP Rule
**Every product with digital elements undergoes this assessment before EU market launch.** Classification decisions must be documented using the [Product Classification Record](/en/templates/product-classification-record).
:::

## Decision Tree

### Gate 1: Product with Digital Elements?

```
┌───────────────────────────────────────────────┐
│ Does the product contain digital elements?    │
│ (Software, firmware, or hardware with         │
│ logical data connection — Art. 3(1) CRA)      │
│                                               │
│   NO  → CRA not applicable → STOP            │
│   YES ↓                                      │
└───────────────────────────────────────────────┘
```

**"Product with digital elements"** means any software or hardware product and its remote data processing solutions, including software or hardware components being placed on the market separately (Art. 3(1) CRA).

### Gate 2: Exemptions (Art. 2(2))

```
┌───────────────────────────────────────────────┐
│ Does any of the following exemptions apply?   │
│                                               │
│ ☐ Medical device (Reg. 2017/745, 2017/746)   │
│ ☐ Motor vehicle (Reg. 2019/2144)             │
│ ☐ Aviation (Reg. 2018/1139)                  │
│ ☐ Marine equipment (Dir. 2014/90/EU)         │
│ ☐ National security / military product       │
│ ☐ Pure SaaS without product component        │
│                                               │
│   YES → CRA not applicable (sector-specific  │
│          regulation applies) → STOP           │
│   NO  ↓                                      │
└───────────────────────────────────────────────┘
```

::: tip NIS2 Synergy
Pure SaaS services fall under NIS2, not CRA — unless remote data processing is an integral part of a physical or installable product.
:::

### Gate 3: Open-Source Assessment (Art. 18–19)

```
┌───────────────────────────────────────────────┐
│ Is this open-source software?                 │
│                                               │
│   NO  → Continue to Gate 4 ↓                 │
│   YES → Is there a commercial activity?       │
│         (sale, paid support, monetised         │
│          integration, SaaS offering)           │
│                                               │
│     NO  → CRA not applicable → STOP          │
│     YES → Open-Source Steward obligations     │
│           apply (Art. 18–19) → Continue ↓    │
└───────────────────────────────────────────────┘
```

::: warning Note
"Commercial activity" is broadly defined. Accepting donations alone does **not** constitute commercial activity. However, providing the software as part of a paid product or service **does**.
:::

### Gate 4: Product Classification (Art. 6–7, Annex III & IV)

```
┌───────────────────────────────────────────────┐
│ Is the product listed in Annex IV?            │
│                                               │
│   YES → CRITICAL                              │
│         → EUCC certification required         │
│         → See: Conformity / EUCC              │
│   NO  ↓                                      │
├───────────────────────────────────────────────┤
│ Is the product listed in Annex III?           │
│                                               │
│   YES → Which class?                          │
│     Class II → Module B+C or Module H         │
│                → See: Conformity / Module B+C  │
│     Class I  → Module A (with hEN) or B+C     │
│                → See: Conformity / Module A    │
│   NO  ↓                                      │
├───────────────────────────────────────────────┤
│ STANDARD (Default Category)                   │
│ → Module A (Self-Assessment)                  │
│ → See: Conformity / Self-Assessment           │
└───────────────────────────────────────────────┘
```

## Results Summary

| Result | Product Class | Conformity Path | Effort Level |
|]]></description>
            <content:encoded><![CDATA[<h1 id="cra-scope-checker" tabindex="-1">CRA Scope Checker <a class="header-anchor" href="#cra-scope-checker" aria-label="Permalink to &quot;CRA Scope Checker&quot;"></a></h1>
<p>Use this decision tree to determine whether the Cyber Resilience Act applies to your product and which conformity path to follow.</p>
<div class="danger custom-block"><p class="custom-block-title">BAUER GROUP Rule</p>
<p><strong>Every product with digital elements undergoes this assessment before EU market launch.</strong> Classification decisions must be documented using the <a href="/en/templates/product-classification-record">Product Classification Record</a>.</p>
</div>
<h2 id="decision-tree" tabindex="-1">Decision Tree <a class="header-anchor" href="#decision-tree" aria-label="Permalink to &quot;Decision Tree&quot;"></a></h2>
<h3 id="gate-1-product-with-digital-elements" tabindex="-1">Gate 1: Product with Digital Elements? <a class="header-anchor" href="#gate-1-product-with-digital-elements" aria-label="Permalink to &quot;Gate 1: Product with Digital Elements?&quot;"></a></h3>
<div class="language- vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang"></span><pre class="shiki shiki-themes github-light github-dark vp-code" tabindex="0" v-pre=""><code><span class="line"><span>┌───────────────────────────────────────────────┐</span></span>
<span class="line"><span>│ Does the product contain digital elements?    │</span></span>
<span class="line"><span>│ (Software, firmware, or hardware with         │</span></span>
<span class="line"><span>│ logical data connection — Art. 3(1) CRA)      │</span></span>
<span class="line"><span>│                                               │</span></span>
<span class="line"><span>│   NO  → CRA not applicable → STOP            │</span></span>
<span class="line"><span>│   YES ↓                                      │</span></span>
<span class="line"><span>└───────────────────────────────────────────────┘</span></span></code></pre>
</div><p><strong>&quot;Product with digital elements&quot;</strong> means any software or hardware product and its remote data processing solutions, including software or hardware components being placed on the market separately (Art. 3(1) CRA).</p>
<h3 id="gate-2-exemptions-art-2-2" tabindex="-1">Gate 2: Exemptions (Art. 2(2)) <a class="header-anchor" href="#gate-2-exemptions-art-2-2" aria-label="Permalink to &quot;Gate 2: Exemptions (Art. 2(2))&quot;"></a></h3>
<div class="language- vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang"></span><pre class="shiki shiki-themes github-light github-dark vp-code" tabindex="0" v-pre=""><code><span class="line"><span>┌───────────────────────────────────────────────┐</span></span>
<span class="line"><span>│ Does any of the following exemptions apply?   │</span></span>
<span class="line"><span>│                                               │</span></span>
<span class="line"><span>│ ☐ Medical device (Reg. 2017/745, 2017/746)   │</span></span>
<span class="line"><span>│ ☐ Motor vehicle (Reg. 2019/2144)             │</span></span>
<span class="line"><span>│ ☐ Aviation (Reg. 2018/1139)                  │</span></span>
<span class="line"><span>│ ☐ Marine equipment (Dir. 2014/90/EU)         │</span></span>
<span class="line"><span>│ ☐ National security / military product       │</span></span>
<span class="line"><span>│ ☐ Pure SaaS without product component        │</span></span>
<span class="line"><span>│                                               │</span></span>
<span class="line"><span>│   YES → CRA not applicable (sector-specific  │</span></span>
<span class="line"><span>│          regulation applies) → STOP           │</span></span>
<span class="line"><span>│   NO  ↓                                      │</span></span>
<span class="line"><span>└───────────────────────────────────────────────┘</span></span></code></pre>
</div><div class="tip custom-block"><p class="custom-block-title">NIS2 Synergy</p>
<p>Pure SaaS services fall under NIS2, not CRA — unless remote data processing is an integral part of a physical or installable product.</p>
</div>
<h3 id="gate-3-open-source-assessment-art-18–19" tabindex="-1">Gate 3: Open-Source Assessment (Art. 18–19) <a class="header-anchor" href="#gate-3-open-source-assessment-art-18–19" aria-label="Permalink to &quot;Gate 3: Open-Source Assessment (Art. 18–19)&quot;"></a></h3>
<div class="language- vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang"></span><pre class="shiki shiki-themes github-light github-dark vp-code" tabindex="0" v-pre=""><code><span class="line"><span>┌───────────────────────────────────────────────┐</span></span>
<span class="line"><span>│ Is this open-source software?                 │</span></span>
<span class="line"><span>│                                               │</span></span>
<span class="line"><span>│   NO  → Continue to Gate 4 ↓                 │</span></span>
<span class="line"><span>│   YES → Is there a commercial activity?       │</span></span>
<span class="line"><span>│         (sale, paid support, monetised         │</span></span>
<span class="line"><span>│          integration, SaaS offering)           │</span></span>
<span class="line"><span>│                                               │</span></span>
<span class="line"><span>│     NO  → CRA not applicable → STOP          │</span></span>
<span class="line"><span>│     YES → Open-Source Steward obligations     │</span></span>
<span class="line"><span>│           apply (Art. 18–19) → Continue ↓    │</span></span>
<span class="line"><span>└───────────────────────────────────────────────┘</span></span></code></pre>
</div><div class="warning custom-block"><p class="custom-block-title">Note</p>
<p>&quot;Commercial activity&quot; is broadly defined. Accepting donations alone does <strong>not</strong> constitute commercial activity. However, providing the software as part of a paid product or service <strong>does</strong>.</p>
</div>
<h3 id="gate-4-product-classification-art-6–7-annex-iii-iv" tabindex="-1">Gate 4: Product Classification (Art. 6–7, Annex III &amp; IV) <a class="header-anchor" href="#gate-4-product-classification-art-6–7-annex-iii-iv" aria-label="Permalink to &quot;Gate 4: Product Classification (Art. 6–7, Annex III &amp; IV)&quot;"></a></h3>
<div class="language- vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang"></span><pre class="shiki shiki-themes github-light github-dark vp-code" tabindex="0" v-pre=""><code><span class="line"><span>┌───────────────────────────────────────────────┐</span></span>
<span class="line"><span>│ Is the product listed in Annex IV?            │</span></span>
<span class="line"><span>│                                               │</span></span>
<span class="line"><span>│   YES → CRITICAL                              │</span></span>
<span class="line"><span>│         → EUCC certification required         │</span></span>
<span class="line"><span>│         → See: Conformity / EUCC              │</span></span>
<span class="line"><span>│   NO  ↓                                      │</span></span>
<span class="line"><span>├───────────────────────────────────────────────┤</span></span>
<span class="line"><span>│ Is the product listed in Annex III?           │</span></span>
<span class="line"><span>│                                               │</span></span>
<span class="line"><span>│   YES → Which class?                          │</span></span>
<span class="line"><span>│     Class II → Module B+C or Module H         │</span></span>
<span class="line"><span>│                → See: Conformity / Module B+C  │</span></span>
<span class="line"><span>│     Class I  → Module A (with hEN) or B+C     │</span></span>
<span class="line"><span>│                → See: Conformity / Module A    │</span></span>
<span class="line"><span>│   NO  ↓                                      │</span></span>
<span class="line"><span>├───────────────────────────────────────────────┤</span></span>
<span class="line"><span>│ STANDARD (Default Category)                   │</span></span>
<span class="line"><span>│ → Module A (Self-Assessment)                  │</span></span>
<span class="line"><span>│ → See: Conformity / Self-Assessment           │</span></span>
<span class="line"><span>└───────────────────────────────────────────────┘</span></span></code></pre>
</div><h2 id="results-summary" tabindex="-1">Results Summary <a class="header-anchor" href="#results-summary" aria-label="Permalink to &quot;Results Summary&quot;"></a></h2>
<table tabindex="0">
<thead>
<tr>
<th>Result</th>
<th>Product Class</th>
<th>Conformity Path</th>
<th>Effort Level</th>
</tr>
</thead>
<tbody>
<tr>
<td><span class="badge-default">Standard</span></td>
<td>Default</td>
<td><a href="/en/conformity/self-assessment">Module A (Self-Assessment)</a></td>
<td>Low</td>
</tr>
<tr>
<td><span class="badge-class-i">Class I</span></td>
<td>Important (Class I)</td>
<td><a href="/en/conformity/self-assessment">Module A with hEN</a> or <a href="/en/conformity/module-bc">Module B+C</a></td>
<td>Medium</td>
</tr>
<tr>
<td><span class="badge-class-ii">Class II</span></td>
<td>Important (Class II)</td>
<td><a href="/en/conformity/module-bc">Module B+C</a> or <a href="/en/conformity/module-h">Module H</a></td>
<td>High</td>
</tr>
<tr>
<td><span class="badge-critical">Critical</span></td>
<td>Critical (Annex IV)</td>
<td><a href="/en/conformity/eucc">EUCC Certification</a></td>
<td>Very High</td>
</tr>
</tbody>
</table>
<h2 id="estimated-compliance-effort" tabindex="-1">Estimated Compliance Effort <a class="header-anchor" href="#estimated-compliance-effort" aria-label="Permalink to &quot;Estimated Compliance Effort&quot;"></a></h2>
<table tabindex="0">
<thead>
<tr>
<th>Requirement</th>
<th>One-off</th>
<th>Annual</th>
<th>Applies to</th>
</tr>
</thead>
<tbody>
<tr>
<td>Security risk assessment (Annex I)</td>
<td>20–40h</td>
<td>10–20h</td>
<td>All classes</td>
</tr>
<tr>
<td>SBOM generation &amp; maintenance</td>
<td>8–16h</td>
<td>8–16h</td>
<td>All classes</td>
</tr>
<tr>
<td>Vulnerability handling process</td>
<td>20–40h</td>
<td>20–40h</td>
<td>All classes</td>
</tr>
<tr>
<td>Incident reporting setup (Art. 14)</td>
<td>16–32h</td>
<td>8–16h</td>
<td>All classes</td>
</tr>
<tr>
<td>Technical documentation (Annex VII)</td>
<td>40–80h</td>
<td>10–20h</td>
<td>All classes</td>
</tr>
<tr>
<td>CE marking &amp; EU DoC</td>
<td>8–16h</td>
<td>4–8h</td>
<td>All classes</td>
</tr>
<tr>
<td>Third-party assessment (Module B+C)</td>
<td>40–80h</td>
<td>20–40h</td>
<td>Class I* / II</td>
</tr>
<tr>
<td>QMS establishment (Module H)</td>
<td>60–120h</td>
<td>30–60h</td>
<td>Class II (alt.)</td>
</tr>
<tr>
<td>EUCC certification process</td>
<td>80–160h</td>
<td>40–80h</td>
<td>Critical</td>
</tr>
<tr>
<td><strong>Total Standard</strong></td>
<td><strong>112–224h</strong></td>
<td><strong>60–120h</strong></td>
<td></td>
</tr>
<tr>
<td><strong>Total Class I (with hEN)</strong></td>
<td><strong>112–224h</strong></td>
<td><strong>60–120h</strong></td>
<td></td>
</tr>
<tr>
<td><strong>Total Class I (without hEN)</strong></td>
<td><strong>152–304h</strong></td>
<td><strong>80–160h</strong></td>
<td></td>
</tr>
<tr>
<td><strong>Total Class II</strong></td>
<td><strong>212–424h</strong></td>
<td><strong>110–220h</strong></td>
<td></td>
</tr>
<tr>
<td><strong>Total Critical</strong></td>
<td><strong>252–504h</strong></td>
<td><strong>130–260h</strong></td>
<td></td>
</tr>
</tbody>
</table>
<p>* Class I only requires third-party assessment if harmonised standards are <strong>not</strong> applied in full.</p>
<div class="tip custom-block"><p class="custom-block-title">BAUER GROUP Approach</p>
<p>BAUER GROUP relies on a <strong>fully automated toolchain</strong> (Trivy, Grype, CycloneDX, Cosign, GitHub Actions) to minimise manual effort for Standard and Class I products. See the <a href="/en/compliance-matrix/tooling-map">Tooling Map</a> for details.</p>
</div>
<h2 id="next-steps" tabindex="-1">Next Steps <a class="header-anchor" href="#next-steps" aria-label="Permalink to &quot;Next Steps&quot;"></a></h2>
<p>Based on your classification result:</p>
<ol>
<li><strong>Document the decision</strong> → <a href="/en/templates/product-classification-record">Product Classification Record</a></li>
<li><strong>Start conformity process</strong> → <a href="/en/conformity/">Conformity Assessment Overview</a></li>
<li><strong>Prepare documentation</strong> → <a href="/en/technical-documentation/">Technical Documentation</a></li>
<li><strong>Set up reporting</strong> → <a href="/en/incident-response/enisa-reporting">ENISA Reporting Process</a></li>
</ol>
]]></content:encoded>
            <author>BAUER GROUP</author>
        </item>
        <item>
            <title><![CDATA[Product Classification Record]]></title>
            <link>https://cra.docs.bauer-group.com/en/templates/product-classification-record</link>
            <guid isPermaLink="false">https://cra.docs.bauer-group.com/en/templates/product-classification-record</guid>
            <pubDate>Thu, 26 Mar 2026 10:46:49 GMT</pubDate>
            <description><![CDATA[# Product Classification Record

::: warning LEGAL DOCUMENTATION
This record documents the CRA product classification decision. It must be completed before a product with digital elements is placed on the EU market and shall be retained for at least 10 years (Art. 13(12) CRA).
:::

## 1. Product Identification

| Field | Value |
|]]></description>
            <content:encoded><![CDATA[<h1 id="product-classification-record" tabindex="-1">Product Classification Record <a class="header-anchor" href="#product-classification-record" aria-label="Permalink to &quot;Product Classification Record&quot;"></a></h1>
<div class="warning custom-block"><p class="custom-block-title">LEGAL DOCUMENTATION</p>
<p>This record documents the CRA product classification decision. It must be completed before a product with digital elements is placed on the EU market and shall be retained for at least 10 years (Art. 13(12) CRA).</p>
</div>
<h2 id="_1-product-identification" tabindex="-1">1. Product Identification <a class="header-anchor" href="#_1-product-identification" aria-label="Permalink to &quot;1. Product Identification&quot;"></a></h2>
<table tabindex="0">
<thead>
<tr>
<th>Field</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td><strong>Product Name</strong></td>
<td></td>
</tr>
<tr>
<td><strong>Product Version</strong></td>
<td></td>
</tr>
<tr>
<td><strong>Product Identifier</strong></td>
<td></td>
</tr>
<tr>
<td><strong>Intended Purpose</strong></td>
<td></td>
</tr>
<tr>
<td><strong>Product Owner</strong></td>
<td></td>
</tr>
<tr>
<td><strong>Security Lead</strong></td>
<td></td>
</tr>
<tr>
<td><strong>Assessment Date</strong></td>
<td></td>
</tr>
</tbody>
</table>
<h2 id="_2-scope-assessment" tabindex="-1">2. Scope Assessment <a class="header-anchor" href="#_2-scope-assessment" aria-label="Permalink to &quot;2. Scope Assessment&quot;"></a></h2>
<table tabindex="0">
<thead>
<tr>
<th>Question</th>
<th>Answer</th>
<th>Reference</th>
</tr>
</thead>
<tbody>
<tr>
<td>Does the product contain digital elements (software, firmware, hardware with data connection)?</td>
<td>[ ] Yes / [ ] No</td>
<td>Art. 3(1)</td>
</tr>
<tr>
<td>Is the product made available on the EU market?</td>
<td>[ ] Yes / [ ] No</td>
<td>Art. 2(1)</td>
</tr>
<tr>
<td>Does any sectoral exemption apply (medical, automotive, aviation, marine, military)?</td>
<td>[ ] Yes / [ ] No</td>
<td>Art. 2(2)</td>
</tr>
<tr>
<td>Is this non-commercial open-source software?</td>
<td>[ ] Yes / [ ] No</td>
<td>Art. 18–19</td>
</tr>
</tbody>
</table>
<p><strong>Scope Result:</strong> [ ] CRA applicable / [ ] CRA not applicable</p>
<p>If not applicable, state reason: ___</p>
<h2 id="_3-product-classification" tabindex="-1">3. Product Classification <a class="header-anchor" href="#_3-product-classification" aria-label="Permalink to &quot;3. Product Classification&quot;"></a></h2>
<h3 id="_3-1-annex-iv-check-critical-products" tabindex="-1">3.1 Annex IV Check (Critical Products) <a class="header-anchor" href="#_3-1-annex-iv-check-critical-products" aria-label="Permalink to &quot;3.1 Annex IV Check (Critical Products)&quot;"></a></h3>
<table tabindex="0">
<thead>
<tr>
<th>Annex IV Category</th>
<th>Applicable?</th>
</tr>
</thead>
<tbody>
<tr>
<td>Hardware security modules (HSM)</td>
<td>[ ] Yes / [ ] No</td>
</tr>
<tr>
<td>Smart cards and similar devices (incl. secure elements)</td>
<td>[ ] Yes / [ ] No</td>
</tr>
<tr>
<td>Smart card readers</td>
<td>[ ] Yes / [ ] No</td>
</tr>
<tr>
<td>Sensor and actuator components for robots and robot controllers</td>
<td>[ ] Yes / [ ] No</td>
</tr>
<tr>
<td>Smart meters (as defined in Directive 2019/944)</td>
<td>[ ] Yes / [ ] No</td>
</tr>
</tbody>
</table>
<p><strong>Annex IV Result:</strong> [ ] Listed (→ Critical) / [ ] Not listed (→ continue)</p>
<h3 id="_3-2-annex-iii-check-important-products" tabindex="-1">3.2 Annex III Check (Important Products) <a class="header-anchor" href="#_3-2-annex-iii-check-important-products" aria-label="Permalink to &quot;3.2 Annex III Check (Important Products)&quot;"></a></h3>
<table tabindex="0">
<thead>
<tr>
<th>Annex III Category</th>
<th>Class</th>
<th>Applicable?</th>
</tr>
</thead>
<tbody>
<tr>
<td>Identity management systems and privileged access software</td>
<td>I</td>
<td>[ ] Yes / [ ] No</td>
</tr>
<tr>
<td>Standalone browsers</td>
<td>I</td>
<td>[ ] Yes / [ ] No</td>
</tr>
<tr>
<td>Password managers</td>
<td>I</td>
<td>[ ] Yes / [ ] No</td>
</tr>
<tr>
<td>Malware detection/removal/quarantine software</td>
<td>I</td>
<td>[ ] Yes / [ ] No</td>
</tr>
<tr>
<td>VPN products</td>
<td>I</td>
<td>[ ] Yes / [ ] No</td>
</tr>
<tr>
<td>Network management systems</td>
<td>I</td>
<td>[ ] Yes / [ ] No</td>
</tr>
<tr>
<td>SIEM systems</td>
<td>I</td>
<td>[ ] Yes / [ ] No</td>
</tr>
<tr>
<td>Boot managers</td>
<td>I</td>
<td>[ ] Yes / [ ] No</td>
</tr>
<tr>
<td>Firewalls, IDS/IPS (non-industrial)</td>
<td>I</td>
<td>[ ] Yes / [ ] No</td>
</tr>
<tr>
<td>Routers, modems for internet access</td>
<td>I</td>
<td>[ ] Yes / [ ] No</td>
</tr>
<tr>
<td>Microcontrollers with security functions</td>
<td>I</td>
<td>[ ] Yes / [ ] No</td>
</tr>
<tr>
<td>Operating systems (non-server/desktop)</td>
<td>I</td>
<td>[ ] Yes / [ ] No</td>
</tr>
<tr>
<td>Hypervisors and container runtimes</td>
<td>II</td>
<td>[ ] Yes / [ ] No</td>
</tr>
<tr>
<td>Firewalls, IDS/IPS (industrial)</td>
<td>II</td>
<td>[ ] Yes / [ ] No</td>
</tr>
<tr>
<td>Tamper-resistant microcontrollers/microprocessors</td>
<td>II</td>
<td>[ ] Yes / [ ] No</td>
</tr>
<tr>
<td>OS for servers, desktops, mobile</td>
<td>II</td>
<td>[ ] Yes / [ ] No</td>
</tr>
<tr>
<td>PKI and certificate issuers</td>
<td>II</td>
<td>[ ] Yes / [ ] No</td>
</tr>
<tr>
<td>Industrial automation and control systems (IACS)</td>
<td>II</td>
<td>[ ] Yes / [ ] No</td>
</tr>
<tr>
<td>Industrial IoT (not subject to other sectoral regulation)</td>
<td>II</td>
<td>[ ] Yes / [ ] No</td>
</tr>
</tbody>
</table>
<p><strong>Annex III Result:</strong> [ ] Class II / [ ] Class I / [ ] Not listed (→ Standard)</p>
<h3 id="_3-3-classification-result" tabindex="-1">3.3 Classification Result <a class="header-anchor" href="#_3-3-classification-result" aria-label="Permalink to &quot;3.3 Classification Result&quot;"></a></h3>
<table tabindex="0">
<thead>
<tr>
<th>Field</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td><strong>Product Class</strong></td>
<td>[ ] Standard / [ ] Class I / [ ] Class II / [ ] Critical</td>
</tr>
<tr>
<td><strong>Conformity Path</strong></td>
<td>[ ] Module A / [ ] Module A + hEN / [ ] Module B+C / [ ] Module H / [ ] EUCC</td>
</tr>
<tr>
<td><strong>Justification</strong></td>
<td></td>
</tr>
</tbody>
</table>
<h2 id="_4-conformity-assessment-path" tabindex="-1">4. Conformity Assessment Path <a class="header-anchor" href="#_4-conformity-assessment-path" aria-label="Permalink to &quot;4. Conformity Assessment Path&quot;"></a></h2>
<table tabindex="0">
<thead>
<tr>
<th>Criterion</th>
<th>Decision</th>
</tr>
</thead>
<tbody>
<tr>
<td>Are harmonised standards (hEN) fully applied?</td>
<td>[ ] Yes / [ ] No / [ ] N/A</td>
</tr>
<tr>
<td>Is third-party assessment required?</td>
<td>[ ] Yes / [ ] No</td>
</tr>
<tr>
<td>Selected assessment module</td>
<td>Module ___</td>
</tr>
<tr>
<td>Notified body (if applicable)</td>
<td></td>
</tr>
</tbody>
</table>
<h2 id="_5-approval" tabindex="-1">5. Approval <a class="header-anchor" href="#_5-approval" aria-label="Permalink to &quot;5. Approval&quot;"></a></h2>
<table tabindex="0">
<thead>
<tr>
<th>Role</th>
<th>Name</th>
<th>Signature</th>
<th>Date</th>
</tr>
</thead>
<tbody>
<tr>
<td>Product Owner</td>
<td></td>
<td></td>
<td></td>
</tr>
<tr>
<td>Security Lead</td>
<td></td>
<td></td>
<td></td>
</tr>
<tr>
<td>Quality Manager</td>
<td></td>
<td></td>
<td></td>
</tr>
</tbody>
</table>
<hr>
<div class="tip custom-block"><p class="custom-block-title">TIP</p>
<p>Use the <a href="/en/overview/scope-checker">Scope Checker</a> for interactive guidance through the classification process.</p>
</div>
]]></content:encoded>
            <author>BAUER GROUP</author>
        </item>
        <item>
            <title><![CDATA[Chapter 4: Incident Response & Disclosure]]></title>
            <link>https://cra.docs.bauer-group.com/en/incident-response/</link>
            <guid isPermaLink="false">https://cra.docs.bauer-group.com/en/incident-response/</guid>
            <pubDate>Tue, 24 Mar 2026 00:10:11 GMT</pubDate>
            <description><![CDATA[# Chapter 4: Incident Response & Disclosure

## Overview

The Incident Response Framework covers the complete CRA reporting obligations. From **11 September 2026**, manufacturers are required to report actively exploited vulnerabilities and severe security incidents to ENISA or the competent national authority.

::: danger REPORTING OBLIGATION FROM 11.09.2026
The reporting obligations pursuant to Art. 14 CRA enter into force on 11 September 2026. From that date, actively exploited vulnerabilities must be reported within **24 hours**.
:::

## Reporting Obligations Overview

| Event | Deadline | Recipient | Template |
|]]></description>
            <content:encoded><![CDATA[<h1 id="chapter-4-incident-response-disclosure" tabindex="-1">Chapter 4: Incident Response &amp; Disclosure <a class="header-anchor" href="#chapter-4-incident-response-disclosure" aria-label="Permalink to &quot;Chapter 4: Incident Response &amp; Disclosure&quot;"></a></h1>
<h2 id="overview" tabindex="-1">Overview <a class="header-anchor" href="#overview" aria-label="Permalink to &quot;Overview&quot;"></a></h2>
<p>The Incident Response Framework covers the complete CRA reporting obligations. From <strong>11 September 2026</strong>, manufacturers are required to report actively exploited vulnerabilities and severe security incidents to ENISA or the competent national authority.</p>
<div class="danger custom-block"><p class="custom-block-title">REPORTING OBLIGATION FROM 11.09.2026</p>
<p>The reporting obligations pursuant to Art. 14 CRA enter into force on 11 September 2026. From that date, actively exploited vulnerabilities must be reported within <strong>24 hours</strong>.</p>
</div>
<h2 id="reporting-obligations-overview" tabindex="-1">Reporting Obligations Overview <a class="header-anchor" href="#reporting-obligations-overview" aria-label="Permalink to &quot;Reporting Obligations Overview&quot;"></a></h2>
<table tabindex="0">
<thead>
<tr>
<th>Event</th>
<th>Deadline</th>
<th>Recipient</th>
<th>Template</th>
</tr>
</thead>
<tbody>
<tr>
<td>Actively exploited vulnerability</td>
<td><strong>24h</strong> early warning</td>
<td>ENISA / CSIRT</td>
<td><a href="/en/templates/enisa-early-warning">Early Warning</a></td>
</tr>
<tr>
<td>Vulnerability update</td>
<td><strong>72h</strong> notification</td>
<td>ENISA / CSIRT</td>
<td><a href="/en/templates/enisa-notification">Notification</a></td>
</tr>
<tr>
<td>Final report</td>
<td><strong>14 days</strong></td>
<td>ENISA / CSIRT</td>
<td><a href="/en/templates/enisa-final-report">Final Report</a></td>
</tr>
<tr>
<td>Severe security incident</td>
<td><strong>24h</strong> early warning</td>
<td>ENISA / CSIRT</td>
<td><a href="/en/templates/incident-report">Incident Report</a></td>
</tr>
<tr>
<td>User notification</td>
<td><strong>Without delay</strong></td>
<td>Affected users</td>
<td><a href="/en/templates/vulnerability-report">Vulnerability Report</a></td>
</tr>
</tbody>
</table>
<h2 id="chapter-structure" tabindex="-1">Chapter Structure <a class="header-anchor" href="#chapter-structure" aria-label="Permalink to &quot;Chapter Structure&quot;"></a></h2>
<table tabindex="0">
<thead>
<tr>
<th>Section</th>
<th>Topic</th>
<th>CRA Reference</th>
</tr>
</thead>
<tbody>
<tr>
<td><strong>4.1</strong></td>
<td><a href="/en/incident-response/playbook">Incident Response Playbook</a> – Escalation levels, phases, checklists</td>
<td>Art. 14, Annex I Part II</td>
</tr>
<tr>
<td><strong>4.2</strong></td>
<td><a href="/en/incident-response/disclosure-policy">Vulnerability Disclosure Policy</a> – CVD per ISO 29147</td>
<td>Art. 13(6)</td>
</tr>
<tr>
<td><strong>4.3</strong></td>
<td><a href="/en/incident-response/enisa-reporting">ENISA Reporting Process</a> – Deadlines, procedure, documentation</td>
<td>Art. 14(1)-(3)</td>
</tr>
<tr>
<td><strong>4.4</strong></td>
<td><a href="/en/incident-response/communication">Communication Plan</a> – Internal/external communication channels</td>
<td>Art. 14(8)</td>
</tr>
</tbody>
</table>
<div class="tip custom-block"><p class="custom-block-title">NIS2 Synergy</p>
<p>The operational incident response process and BSI reporting obligations (§32 BSIG) are described in the <a href="https://nis2.docs.bauer-group.com/en/incident-management/" target="_blank" rel="noreferrer">NIS2 Compliance Documentation</a>. Product vulnerabilities are reported via this CRA process, operational incidents via the NIS2 process.</p>
</div>
]]></content:encoded>
            <author>BAUER GROUP</author>
        </item>
        <item>
            <title><![CDATA[1.14 NIS2 Integration]]></title>
            <link>https://cra.docs.bauer-group.com/en/overview/nis2-integration</link>
            <guid isPermaLink="false">https://cra.docs.bauer-group.com/en/overview/nis2-integration</guid>
            <pubDate>Tue, 24 Mar 2026 00:10:11 GMT</pubDate>
            <description><![CDATA[# 1.14 NIS2 Integration

## 1.14.1 Overview

The Cyber Resilience Act (CRA) and the NIS2 Directive (Directive (EU) 2022/2555) are complementary EU cybersecurity regulations. While the CRA regulates **products**, NIS2 concerns **operators** (essential and important entities). Companies such as BAUER GROUP can be subject to both regulations simultaneously.

> The full NIS2 compliance documentation for BAUER GROUP is available at [nis2.docs.bauer-group.com](https://nis2.docs.bauer-group.com).

::: info LEGAL BASIS
**CRA Recital 20:** The CRA complements the NIS2 Directive and is coherent with its requirements. Products that comply with CRA requirements contribute to their operators' compliance with NIS2 requirements.

**NIS2 Art. 21:** Cybersecurity measures for essential and important entities, including supply chain security.
:::

## 1.14.2 Delineation CRA vs. NIS2

| Criterion | CRA | NIS2 |
|]]></description>
            <content:encoded><![CDATA[<h1 id="_1-14-nis2-integration" tabindex="-1">1.14 NIS2 Integration <a class="header-anchor" href="#_1-14-nis2-integration" aria-label="Permalink to &quot;1.14 NIS2 Integration&quot;"></a></h1>
<h2 id="_1-14-1-overview" tabindex="-1">1.14.1 Overview <a class="header-anchor" href="#_1-14-1-overview" aria-label="Permalink to &quot;1.14.1 Overview&quot;"></a></h2>
<p>The Cyber Resilience Act (CRA) and the NIS2 Directive (Directive (EU) 2022/2555) are complementary EU cybersecurity regulations. While the CRA regulates <strong>products</strong>, NIS2 concerns <strong>operators</strong> (essential and important entities). Companies such as BAUER GROUP can be subject to both regulations simultaneously.</p>
<blockquote>
<p>The full NIS2 compliance documentation for BAUER GROUP is available at <a href="https://nis2.docs.bauer-group.com" target="_blank" rel="noreferrer">nis2.docs.bauer-group.com</a>.</p>
</blockquote>
<div class="info custom-block"><p class="custom-block-title">LEGAL BASIS</p>
<p><strong>CRA Recital 20:</strong> The CRA complements the NIS2 Directive and is coherent with its requirements. Products that comply with CRA requirements contribute to their operators' compliance with NIS2 requirements.</p>
<p><strong>NIS2 Art. 21:</strong> Cybersecurity measures for essential and important entities, including supply chain security.</p>
</div>
<h2 id="_1-14-2-delineation-cra-vs-nis2" tabindex="-1">1.14.2 Delineation CRA vs. NIS2 <a class="header-anchor" href="#_1-14-2-delineation-cra-vs-nis2" aria-label="Permalink to &quot;1.14.2 Delineation CRA vs. NIS2&quot;"></a></h2>
<table tabindex="0">
<thead>
<tr>
<th>Criterion</th>
<th>CRA</th>
<th>NIS2</th>
</tr>
</thead>
<tbody>
<tr>
<td><strong>Subject of Regulation</strong></td>
<td>Products with digital elements</td>
<td>Operators (entities)</td>
</tr>
<tr>
<td><strong>Addressee</strong></td>
<td>Manufacturers, importers, distributors</td>
<td>Essential and important entities</td>
</tr>
<tr>
<td><strong>Focus</strong></td>
<td>Product security (Security by Design)</td>
<td>Operational security (risk management)</td>
</tr>
<tr>
<td><strong>Legal form</strong></td>
<td>Regulation (directly applicable)</td>
<td>Directive (national transposition)</td>
</tr>
<tr>
<td><strong>Applicable from</strong></td>
<td>11.12.2027 (fully)</td>
<td>18.10.2024 (transposition deadline)</td>
</tr>
<tr>
<td><strong>Sanctions</strong></td>
<td>Up to EUR 15 million / 2.5%</td>
<td>Up to EUR 10 million / 2%</td>
</tr>
<tr>
<td><strong>Reporting obligation</strong></td>
<td>ENISA (24h/72h/14d)</td>
<td>CSIRT (24h/72h/1 month)</td>
</tr>
</tbody>
</table>
<h2 id="_1-14-3-decision-tree-which-regulation-applies" tabindex="-1">1.14.3 Decision Tree: Which Regulation Applies? <a class="header-anchor" href="#_1-14-3-decision-tree-which-regulation-applies" aria-label="Permalink to &quot;1.14.3 Decision Tree: Which Regulation Applies?&quot;"></a></h2>
<div class="language- vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang"></span><pre class="shiki shiki-themes github-light github-dark vp-code" tabindex="0" v-pre=""><code><span class="line"><span>Does BAUER GROUP manufacture products with digital elements?</span></span>
<span class="line"><span>├── Yes → CRA applies (as manufacturer)</span></span>
<span class="line"><span>│   └── Are the products SaaS (purely cloud-based)?</span></span>
<span class="line"><span>│       ├── Yes → CRA does NOT apply to SaaS</span></span>
<span class="line"><span>│       │   └── Check NIS2 (as operator)</span></span>
<span class="line"><span>│       └── No → CRA applies</span></span>
<span class="line"><span>└── No → CRA does not apply as manufacturer</span></span>
<span class="line"><span></span></span>
<span class="line"><span>Is BAUER GROUP an essential or important entity?</span></span>
<span class="line"><span>├── Yes → NIS2 applies (as operator)</span></span>
<span class="line"><span>│   └── Check sector (Annex I/II of NIS2)</span></span>
<span class="line"><span>└── No → NIS2 does not apply</span></span></code></pre>
</div><h2 id="_1-14-4-overlapping-requirements" tabindex="-1">1.14.4 Overlapping Requirements <a class="header-anchor" href="#_1-14-4-overlapping-requirements" aria-label="Permalink to &quot;1.14.4 Overlapping Requirements&quot;"></a></h2>
<h3 id="vulnerability-management" tabindex="-1">Vulnerability Management <a class="header-anchor" href="#vulnerability-management" aria-label="Permalink to &quot;Vulnerability Management&quot;"></a></h3>
<table tabindex="0">
<thead>
<tr>
<th>Requirement</th>
<th>CRA</th>
<th>NIS2</th>
</tr>
</thead>
<tbody>
<tr>
<td>Identify vulnerabilities</td>
<td>Art. 10 para. 6, Annex I Part II</td>
<td>Art. 21 para. 2 (e)</td>
</tr>
<tr>
<td>Remediate vulnerabilities</td>
<td>Art. 10 para. 6-7</td>
<td>Art. 21 para. 2 (e)</td>
</tr>
<tr>
<td>Coordinated Disclosure</td>
<td>Art. 10 para. 9, Art. 13 para. 6</td>
<td>Art. 12</td>
</tr>
<tr>
<td>Maintain SBOM</td>
<td>Art. 13 para. 23</td>
<td>Not explicit (supply chain)</td>
</tr>
</tbody>
</table>
<blockquote>
<p><strong>Synergy:</strong> CRA-compliant vulnerability handling largely satisfies NIS2 Art. 21 para. 2 (e) as well.</p>
</blockquote>
<h3 id="reporting-obligations" tabindex="-1">Reporting Obligations <a class="header-anchor" href="#reporting-obligations" aria-label="Permalink to &quot;Reporting Obligations&quot;"></a></h3>
<table tabindex="0">
<thead>
<tr>
<th>Aspect</th>
<th>CRA (Art. 14)</th>
<th>NIS2 (Art. 23)</th>
</tr>
</thead>
<tbody>
<tr>
<td><strong>Trigger</strong></td>
<td>Actively exploited vulnerability or severe incident</td>
<td>Significant security incident</td>
</tr>
<tr>
<td><strong>Early warning</strong></td>
<td>24 hours</td>
<td>24 hours</td>
</tr>
<tr>
<td><strong>Notification</strong></td>
<td>72 hours</td>
<td>72 hours</td>
</tr>
<tr>
<td><strong>Final report</strong></td>
<td>14 days</td>
<td>1 month</td>
</tr>
<tr>
<td><strong>Reporting body</strong></td>
<td>ENISA + national CSIRT</td>
<td>National CSIRT/authority</td>
</tr>
<tr>
<td><strong>Platform</strong></td>
<td>ENISA Single Reporting Platform</td>
<td>National reporting platform</td>
</tr>
</tbody>
</table>
<div class="warning custom-block"><p class="custom-block-title">DOUBLE REPORTING</p>
<p>If BAUER GROUP is affected both as a CRA manufacturer and as a NIS2 entity, <strong>two separate reporting obligations</strong> may be triggered. The EU is working on a simplified reporting platform (ENISA SRP) that is intended to consolidate both reports.</p>
</div>
<blockquote>
<p>CRA reporting process: <a href="/en/incident-response/enisa-reporting">ENISA Reporting Process</a></p>
</blockquote>
<h3 id="supply-chain-security" tabindex="-1">Supply Chain Security <a class="header-anchor" href="#supply-chain-security" aria-label="Permalink to &quot;Supply Chain Security&quot;"></a></h3>
<table tabindex="0">
<thead>
<tr>
<th>Requirement</th>
<th>CRA</th>
<th>NIS2</th>
</tr>
</thead>
<tbody>
<tr>
<td>Supply chain security</td>
<td>Art. 10 para. 4, Annex I Part II No. 1</td>
<td>Art. 21 para. 2 (d)</td>
</tr>
<tr>
<td>Supplier due diligence</td>
<td>Annex I Part II No. 1</td>
<td>Art. 21 para. 2 (d)</td>
</tr>
<tr>
<td>Third-party assessment</td>
<td><a href="/en/supply-chain/third-party-assessment">Third-Party Assessment</a></td>
<td>Supplier assessment</td>
</tr>
</tbody>
</table>
<blockquote>
<p><strong>Synergy:</strong> CRA-compliant supply chain processes also satisfy NIS2 Art. 21 para. 2 (d) supply chain requirements.</p>
</blockquote>
<h3 id="incident-response" tabindex="-1">Incident Response <a class="header-anchor" href="#incident-response" aria-label="Permalink to &quot;Incident Response&quot;"></a></h3>
<table tabindex="0">
<thead>
<tr>
<th>Requirement</th>
<th>CRA</th>
<th>NIS2</th>
</tr>
</thead>
<tbody>
<tr>
<td>Incident response plan</td>
<td>Implicit (Art. 10)</td>
<td>Art. 21 para. 2 (b)</td>
</tr>
<tr>
<td>Business continuity</td>
<td>Not explicit</td>
<td>Art. 21 para. 2 (c)</td>
</tr>
<tr>
<td>Crisis management</td>
<td>Not explicit</td>
<td>Art. 21 para. 2 (c)</td>
</tr>
</tbody>
</table>
<blockquote>
<p><strong>Gap:</strong> NIS2 explicitly requires business continuity and crisis management, while the CRA focuses on product security.</p>
</blockquote>
<h2 id="_1-14-5-combined-compliance-strategy" tabindex="-1">1.14.5 Combined Compliance Strategy <a class="header-anchor" href="#_1-14-5-combined-compliance-strategy" aria-label="Permalink to &quot;1.14.5 Combined Compliance Strategy&quot;"></a></h2>
<h3 id="step-1-determine-scope" tabindex="-1">Step 1: Determine Scope <a class="header-anchor" href="#step-1-determine-scope" aria-label="Permalink to &quot;Step 1: Determine Scope&quot;"></a></h3>
<table tabindex="0">
<thead>
<tr>
<th>Question</th>
<th>Result</th>
</tr>
</thead>
<tbody>
<tr>
<td>Do we manufacture products with digital elements?</td>
<td>→ CRA obligations</td>
</tr>
<tr>
<td>Are we an essential/important entity (NIS2 Annex I/II)?</td>
<td>→ NIS2 obligations</td>
</tr>
<tr>
<td>Do we operate SaaS products?</td>
<td>→ NIS2 (not CRA)</td>
</tr>
<tr>
<td>Do we import non-EU products?</td>
<td>→ CRA importer obligations</td>
</tr>
</tbody>
</table>
<h3 id="step-2-leverage-synergies" tabindex="-1">Step 2: Leverage Synergies <a class="header-anchor" href="#step-2-leverage-synergies" aria-label="Permalink to &quot;Step 2: Leverage Synergies&quot;"></a></h3>
<p>The following processes cover <strong>both</strong> regulations:</p>
<ol>
<li><strong>Vulnerability Management</strong> → <a href="/en/vulnerability-management/">Vulnerability Management</a></li>
<li><strong>Incident Response</strong> → <a href="/en/incident-response/">Incident Response</a></li>
<li><strong>Supply Chain Security</strong> → <a href="/en/supply-chain/">Supply Chain</a></li>
<li><strong>SBOM Management</strong> → <a href="/en/sbom-signing/">SBOM &amp; Signing</a></li>
</ol>
<h3 id="step-3-nis2-specific-additions" tabindex="-1">Step 3: NIS2-Specific Additions <a class="header-anchor" href="#step-3-nis2-specific-additions" aria-label="Permalink to &quot;Step 3: NIS2-Specific Additions&quot;"></a></h3>
<p>NIS2 requirements that go beyond the CRA:</p>
<table tabindex="0">
<thead>
<tr>
<th>NIS2 Requirement</th>
<th>Description</th>
<th>CRA Coverage</th>
</tr>
</thead>
<tbody>
<tr>
<td>Art. 21(2)(a)</td>
<td>Risk management policy</td>
<td>Partial (product-related)</td>
</tr>
<tr>
<td>Art. 21(2)(b)</td>
<td>Incident response</td>
<td>✅</td>
</tr>
<tr>
<td>Art. 21(2)(c)</td>
<td>Business continuity</td>
<td>❌ Required separately</td>
</tr>
<tr>
<td>Art. 21(2)(d)</td>
<td>Supply chain security</td>
<td>✅</td>
</tr>
<tr>
<td>Art. 21(2)(e)</td>
<td>Vulnerability handling</td>
<td>✅</td>
</tr>
<tr>
<td>Art. 21(2)(f)</td>
<td>Cyber hygiene &amp; training</td>
<td>❌ Required separately</td>
</tr>
<tr>
<td>Art. 21(2)(g)</td>
<td>Cryptography</td>
<td>Partial</td>
</tr>
<tr>
<td>Art. 21(2)(h)</td>
<td>HR security</td>
<td>❌ Required separately</td>
</tr>
<tr>
<td>Art. 21(2)(i)</td>
<td>MFA, secure communication</td>
<td>Partial</td>
</tr>
<tr>
<td>Art. 21(2)(j)</td>
<td>Asset management</td>
<td>Partial (SBOM)</td>
</tr>
</tbody>
</table>
<h3 id="step-4-unified-reporting-processes" tabindex="-1">Step 4: Unified Reporting Processes <a class="header-anchor" href="#step-4-unified-reporting-processes" aria-label="Permalink to &quot;Step 4: Unified Reporting Processes&quot;"></a></h3>
<p>For companies subject to both regulations:</p>
<ol>
<li><strong>Joint initial assessment process</strong> for incidents</li>
<li><strong>Parallel reporting</strong> to CRA and NIS2 bodies (until a unified platform is available)</li>
<li><strong>Unified templates</strong> (<a href="/en/templates/enisa-early-warning">ENISA Early Warning</a>)</li>
<li><strong>Documented decision logic:</strong> Which incident triggers which reporting obligation</li>
</ol>
<h2 id="_1-14-6-timeline" tabindex="-1">1.14.6 Timeline <a class="header-anchor" href="#_1-14-6-timeline" aria-label="Permalink to &quot;1.14.6 Timeline&quot;"></a></h2>
<table tabindex="0">
<thead>
<tr>
<th>Date</th>
<th>Event</th>
</tr>
</thead>
<tbody>
<tr>
<td><strong>18.10.2024</strong></td>
<td>NIS2 transposition deadline for member states</td>
</tr>
<tr>
<td><strong>11.09.2026</strong></td>
<td>CRA reporting obligations active (Art. 14)</td>
</tr>
<tr>
<td><strong>11.12.2027</strong></td>
<td>CRA fully applicable</td>
</tr>
</tbody>
</table>
<div class="tip custom-block"><p class="custom-block-title">RECOMMENDATION</p>
<p>Start with NIS2 compliance (already applicable) and use the implemented processes as a foundation for CRA compliance (from 2027). This way you avoid duplicate effort and create an integrated compliance framework.</p>
</div>
<div class="tip custom-block"><p class="custom-block-title">AI Act Reference</p>
<p>For AI-powered products, additional requirements from the AI Act (Regulation (EU) 2024/1689) apply. Full documentation available at <a href="https://ai-act.docs.bauer-group.com" target="_blank" rel="noreferrer">ai-act.docs.bauer-group.com</a>.</p>
</div>
]]></content:encoded>
            <author>BAUER GROUP</author>
        </item>
        <item>
            <title><![CDATA[Chapter 5: Supply Chain Security]]></title>
            <link>https://cra.docs.bauer-group.com/en/supply-chain/</link>
            <guid isPermaLink="false">https://cra.docs.bauer-group.com/en/supply-chain/</guid>
            <pubDate>Tue, 24 Mar 2026 00:10:11 GMT</pubDate>
            <description><![CDATA[# Chapter 5: Supply Chain Security

## Overview

Securing the software supply chain is a core CRA requirement. Manufacturers must exercise due diligence when integrating third-party components and ensure the integrity of the entire supply chain.

::: info LEGAL BASIS
**Art. 10(4) CRA:** *"The manufacturer shall exercise due diligence when integrating components sourced from third parties, to ensure that those components do not compromise the security of the product."*

**Annex I, Part II, No. 1:** *"The manufacturer shall identify and document the vulnerabilities and components contained in the product, including by drawing up a software bill of materials."*
:::

## Security Measures

### Implemented Measures

| Measure | Tool | Workflow | Status |
|]]></description>
            <content:encoded><![CDATA[<h1 id="chapter-5-supply-chain-security" tabindex="-1">Chapter 5: Supply Chain Security <a class="header-anchor" href="#chapter-5-supply-chain-security" aria-label="Permalink to &quot;Chapter 5: Supply Chain Security&quot;"></a></h1>
<h2 id="overview" tabindex="-1">Overview <a class="header-anchor" href="#overview" aria-label="Permalink to &quot;Overview&quot;"></a></h2>
<p>Securing the software supply chain is a core CRA requirement. Manufacturers must exercise due diligence when integrating third-party components and ensure the integrity of the entire supply chain.</p>
<div class="info custom-block"><p class="custom-block-title">LEGAL BASIS</p>
<p><strong>Art. 10(4) CRA:</strong> <em>&quot;The manufacturer shall exercise due diligence when integrating components sourced from third parties, to ensure that those components do not compromise the security of the product.&quot;</em></p>
<p><strong>Annex I, Part II, No. 1:</strong> <em>&quot;The manufacturer shall identify and document the vulnerabilities and components contained in the product, including by drawing up a software bill of materials.&quot;</em></p>
</div>
<h2 id="security-measures" tabindex="-1">Security Measures <a class="header-anchor" href="#security-measures" aria-label="Permalink to &quot;Security Measures&quot;"></a></h2>
<h3 id="implemented-measures" tabindex="-1">Implemented Measures <a class="header-anchor" href="#implemented-measures" aria-label="Permalink to &quot;Implemented Measures&quot;"></a></h3>
<table tabindex="0">
<thead>
<tr>
<th>Measure</th>
<th>Tool</th>
<th>Workflow</th>
<th>Status</th>
</tr>
</thead>
<tbody>
<tr>
<td>Dependency Vulnerability Scanning</td>
<td>Trivy, Grype, Snyk</td>
<td><code>modules-security-scan.yml</code></td>
<td>✅</td>
</tr>
<tr>
<td>Automated Dependency Updates</td>
<td>Dependabot</td>
<td><code>docker-maintenance-dependabot.yml</code></td>
<td>✅</td>
</tr>
<tr>
<td>License Compliance</td>
<td>FOSSA / Custom</td>
<td><code>modules-license-compliance.yml</code></td>
<td>✅</td>
</tr>
<tr>
<td>Secret Scanning</td>
<td>Gitleaks, GitGuardian</td>
<td><code>modules-security-scan.yml</code></td>
<td>✅</td>
</tr>
<tr>
<td>Docker Base Image Monitoring</td>
<td>Custom Workflow</td>
<td><code>modules-docker-base-image-monitor.yml</code></td>
<td>✅</td>
</tr>
<tr>
<td>Container Image Signing</td>
<td>Cosign</td>
<td><code>docker-build.yml</code></td>
<td>✅</td>
</tr>
<tr>
<td>SBOM Generation</td>
<td>Trivy / Syft</td>
<td><code>modules-license-compliance.yml</code></td>
<td>✅</td>
</tr>
</tbody>
</table>
<h2 id="chapter-structure" tabindex="-1">Chapter Structure <a class="header-anchor" href="#chapter-structure" aria-label="Permalink to &quot;Chapter Structure&quot;"></a></h2>
<table tabindex="0">
<thead>
<tr>
<th>Section</th>
<th>Topic</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><strong>5.1</strong></td>
<td><a href="/en/supply-chain/dependency-policy">Dependency Policy</a></td>
<td>Policies for dependencies</td>
</tr>
<tr>
<td><strong>5.2</strong></td>
<td><a href="/en/supply-chain/base-image-policy">Base Image Policy</a></td>
<td>Docker base image management</td>
</tr>
<tr>
<td><strong>5.3</strong></td>
<td><a href="/en/supply-chain/third-party-assessment">Third-Party Assessment</a></td>
<td>Assessment of third-party components</td>
</tr>
<tr>
<td><strong>5.4</strong></td>
<td><a href="/en/supply-chain/economic-operator-identification">Economic Operator Identification (Art. 21)</a></td>
<td>Supply chain traceability</td>
</tr>
</tbody>
</table>
<div class="tip custom-block"><p class="custom-block-title">NIS2 Synergy</p>
<p>IT service provider and infrastructure vendor assessment is described in the <a href="https://nis2.docs.bauer-group.com/en/supply-chain/" target="_blank" rel="noreferrer">NIS2 Compliance Documentation</a>. CRA focuses on software supply chain, NIS2 on service provider assessment.</p>
</div>
]]></content:encoded>
            <author>BAUER GROUP</author>
        </item>
        <item>
            <title><![CDATA[Chapter 3: Vulnerability Management]]></title>
            <link>https://cra.docs.bauer-group.com/en/vulnerability-management/</link>
            <guid isPermaLink="false">https://cra.docs.bauer-group.com/en/vulnerability-management/</guid>
            <pubDate>Tue, 24 Mar 2026 00:10:11 GMT</pubDate>
            <description><![CDATA[# Chapter 3: Vulnerability Management

## Overview

Vulnerability management is one of the core obligations under the CRA. Manufacturers must identify, assess, remediate, and report vulnerabilities in their products throughout the entire support period.

::: info LEGAL BASIS
**Art. 10(6) CRA:** The manufacturer shall have effective and regular procedures in place to identify vulnerabilities in the product.

**Annex I, Part II, No. 2:** The manufacturer shall identify and document the vulnerabilities and components of the product and remediate known vulnerabilities without delay.
:::

## Process Architecture

```
                         +]]></description>
            <content:encoded><![CDATA[<h1 id="chapter-3-vulnerability-management" tabindex="-1">Chapter 3: Vulnerability Management <a class="header-anchor" href="#chapter-3-vulnerability-management" aria-label="Permalink to &quot;Chapter 3: Vulnerability Management&quot;"></a></h1>
<h2 id="overview" tabindex="-1">Overview <a class="header-anchor" href="#overview" aria-label="Permalink to &quot;Overview&quot;"></a></h2>
<p>Vulnerability management is one of the core obligations under the CRA. Manufacturers must identify, assess, remediate, and report vulnerabilities in their products throughout the entire support period.</p>
<div class="info custom-block"><p class="custom-block-title">LEGAL BASIS</p>
<p><strong>Art. 10(6) CRA:</strong> The manufacturer shall have effective and regular procedures in place to identify vulnerabilities in the product.</p>
<p><strong>Annex I, Part II, No. 2:</strong> The manufacturer shall identify and document the vulnerabilities and components of the product and remediate known vulnerabilities without delay.</p>
</div>
<h2 id="process-architecture" tabindex="-1">Process Architecture <a class="header-anchor" href="#process-architecture" aria-label="Permalink to &quot;Process Architecture&quot;"></a></h2>
<div class="language- vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang"></span><pre class="shiki shiki-themes github-light github-dark vp-code" tabindex="0" v-pre=""><code><span class="line"><span>                         +---------------------+</span></span>
<span class="line"><span>                         |  SBOM (per release)  |</span></span>
<span class="line"><span>                         +----------+----------+</span></span>
<span class="line"><span>                                    |</span></span>
<span class="line"><span>              +----------+----------+----------+----------+</span></span>
<span class="line"><span>              v          v          v          v          v</span></span>
<span class="line"><span>    +--------------+ +--------+ +--------+ +--------+ +--------+</span></span>
<span class="line"><span>    |CVE Monitoring| |Dependa-| | Trivy  | |  OSV-  | | Grype  |</span></span>
<span class="line"><span>    |(daily SBOM)  | |  bot   | | Scan   | |Scanner | |(option)|</span></span>
<span class="line"><span>    |              | |(PR)    | |(CI/CD) | |(CI/CD) | |        |</span></span>
<span class="line"><span>    +------+-------+ +---+----+ +---+----+ +---+----+ +---+----+</span></span>
<span class="line"><span>           |             |          |          |          |</span></span>
<span class="line"><span>           +-------------+----------+----------+----------+</span></span>
<span class="line"><span>                                    v</span></span>
<span class="line"><span>                         +----------------------+</span></span>
<span class="line"><span>                         |  Triage &#x26; Assessment  |</span></span>
<span class="line"><span>                         |  (CVSS / Severity)    |</span></span>
<span class="line"><span>                         +----------+-----------+</span></span>
<span class="line"><span>                                    |</span></span>
<span class="line"><span>                   +----------------+----------------+</span></span>
<span class="line"><span>                   v                v                 v</span></span>
<span class="line"><span>         +-----------------+ +--------------+ +--------------+</span></span>
<span class="line"><span>         |  CRITICAL/HIGH   | |  MEDIUM/LOW  | |  No CVEs     |</span></span>
<span class="line"><span>         |  -> Immediate    | |  -> Planned  | |  -> Continue  |</span></span>
<span class="line"><span>         |     patch        | |  -> Next     | |    monitoring |</span></span>
<span class="line"><span>         |  -> ENISA report | |    release   | |              |</span></span>
<span class="line"><span>         |     if required  | |              | |              |</span></span>
<span class="line"><span>         +-----------------+ +--------------+ +--------------+</span></span></code></pre>
</div><h2 id="chapter-structure" tabindex="-1">Chapter Structure <a class="header-anchor" href="#chapter-structure" aria-label="Permalink to &quot;Chapter Structure&quot;"></a></h2>
<table tabindex="0">
<thead>
<tr>
<th>Section</th>
<th>Topic</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><strong>3.1</strong></td>
<td><a href="/en/vulnerability-management/cve-monitoring">CVE Monitoring</a></td>
<td>Daily scan of all product SBOMs against CVE databases</td>
</tr>
<tr>
<td><strong>3.2</strong></td>
<td><a href="/en/vulnerability-management/dependency-monitoring">Dependency Monitoring</a></td>
<td>Continuous monitoring via Dependabot + GitHub Security Alerts</td>
</tr>
<tr>
<td><strong>3.3</strong></td>
<td><a href="/en/vulnerability-management/patch-management">Patch Management</a></td>
<td>SLA-based process for vulnerability remediation</td>
</tr>
<tr>
<td><strong>3.4</strong></td>
<td><a href="/en/vulnerability-management/risk-assessment">Risk Assessment</a></td>
<td>Methodology for assessment in the product context</td>
</tr>
<tr>
<td><strong>3.5</strong></td>
<td><a href="/en/vulnerability-management/handling-requirements">Handling Requirements (Annex I Part II)</a></td>
<td>8 vulnerability handling requirements</td>
</tr>
</tbody>
</table>
<h2 id="responsibilities" tabindex="-1">Responsibilities <a class="header-anchor" href="#responsibilities" aria-label="Permalink to &quot;Responsibilities&quot;"></a></h2>
<table tabindex="0">
<thead>
<tr>
<th>Role</th>
<th>Task</th>
</tr>
</thead>
<tbody>
<tr>
<td><strong>Security Lead</strong></td>
<td>Triage, risk assessment, escalation, ENISA reporting</td>
</tr>
<tr>
<td><strong>DevOps Lead</strong></td>
<td>CVE monitor operations, pipeline maintenance</td>
</tr>
<tr>
<td><strong>Development Team</strong></td>
<td>Patch development, testing</td>
</tr>
<tr>
<td><strong>Product Owner</strong></td>
<td>Prioritisation, release planning</td>
</tr>
</tbody>
</table>
<div class="tip custom-block"><p class="custom-block-title">NIS2 Synergy</p>
<p>Infrastructure vulnerability management (servers, network, operating systems) is described in the <a href="https://nis2.docs.bauer-group.com/en/vulnerability-management/" target="_blank" rel="noreferrer">NIS2 Compliance Documentation</a>.</p>
</div>
]]></content:encoded>
            <author>BAUER GROUP</author>
        </item>
        <item>
            <title><![CDATA[9.1 CRA Compliance Statement]]></title>
            <link>https://cra.docs.bauer-group.com/en/product-compliance/cra-statement</link>
            <guid isPermaLink="false">https://cra.docs.bauer-group.com/en/product-compliance/cra-statement</guid>
            <pubDate>Mon, 23 Mar 2026 14:38:37 GMT</pubDate>
            <description><![CDATA[# 9.1 CRA Compliance Statement

## 9.1.1 Purpose

The CRA Compliance Statement is the **public summary** of all CRA compliance artefacts for a product. It serves as a central point of reference for customers, market surveillance authorities, and internal audits.

::: warning IMPORTANT
The CRA Compliance Statement is **not a replacement** for the legally binding EU Declaration of Conformity (Annex V). It is a supplementary, publicly accessible presentation that links to all relevant documents.
:::

## 9.1.2 Generation Principle

::: info PRINCIPLE
**The machine-readable JSON is the single source.** All human-readable formats and compliance artefacts are generated from it — never maintained separately.
:::

```text
                    ┌──────────────────────────┐
                    │  .compliance/             │
                    │  cra-statement.json       │
                    │  (Single Source of Truth)  │
                    └─────────┬────────────────┘
                              │
          ┌───────────────────┼───────────────────┐
          │                   │                   │
          ▼                   ▼                   ▼
┌─────────────────┐ ┌─────────────────┐ ┌─────────────────┐
│ Compliance Page │ │ CE Marking      │ │ Container Labels│
│ (HTML/PDF)      │ │ (About dialog,  │ │ (OCI annotations│
│ on portal       │ │  README, footer)│ │  Dockerfile)    │
└─────────────────┘ └─────────────────┘ └─────────────────┘
          │                   │                   │
          ▼                   ▼                   ▼
┌─────────────────┐ ┌─────────────────┐ ┌─────────────────┐
│ API endpoint    │ │ Simplified DoC  │ │ Release notes   │
│ for authorities │ │ (Annex VI)      │ │ snippet         │
└─────────────────┘ └─────────────────┘ └─────────────────┘
```

### Generated Artefacts

| Artefact | Generated from | Target |
|]]></description>
            <content:encoded><![CDATA[<h1 id="_9-1-cra-compliance-statement" tabindex="-1">9.1 CRA Compliance Statement <a class="header-anchor" href="#_9-1-cra-compliance-statement" aria-label="Permalink to &quot;9.1 CRA Compliance Statement&quot;"></a></h1>
<h2 id="_9-1-1-purpose" tabindex="-1">9.1.1 Purpose <a class="header-anchor" href="#_9-1-1-purpose" aria-label="Permalink to &quot;9.1.1 Purpose&quot;"></a></h2>
<p>The CRA Compliance Statement is the <strong>public summary</strong> of all CRA compliance artefacts for a product. It serves as a central point of reference for customers, market surveillance authorities, and internal audits.</p>
<div class="warning custom-block"><p class="custom-block-title">IMPORTANT</p>
<p>The CRA Compliance Statement is <strong>not a replacement</strong> for the legally binding EU Declaration of Conformity (Annex V). It is a supplementary, publicly accessible presentation that links to all relevant documents.</p>
</div>
<h2 id="_9-1-2-generation-principle" tabindex="-1">9.1.2 Generation Principle <a class="header-anchor" href="#_9-1-2-generation-principle" aria-label="Permalink to &quot;9.1.2 Generation Principle&quot;"></a></h2>
<div class="info custom-block"><p class="custom-block-title">PRINCIPLE</p>
<p><strong>The machine-readable JSON is the single source.</strong> All human-readable formats and compliance artefacts are generated from it — never maintained separately.</p>
</div>
<div class="language-text vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang">text</span><pre class="shiki shiki-themes github-light github-dark vp-code" tabindex="0" v-pre=""><code><span class="line"><span>                    ┌──────────────────────────┐</span></span>
<span class="line"><span>                    │  .compliance/             │</span></span>
<span class="line"><span>                    │  cra-statement.json       │</span></span>
<span class="line"><span>                    │  (Single Source of Truth)  │</span></span>
<span class="line"><span>                    └─────────┬────────────────┘</span></span>
<span class="line"><span>                              │</span></span>
<span class="line"><span>          ┌───────────────────┼───────────────────┐</span></span>
<span class="line"><span>          │                   │                   │</span></span>
<span class="line"><span>          ▼                   ▼                   ▼</span></span>
<span class="line"><span>┌─────────────────┐ ┌─────────────────┐ ┌─────────────────┐</span></span>
<span class="line"><span>│ Compliance Page │ │ CE Marking      │ │ Container Labels│</span></span>
<span class="line"><span>│ (HTML/PDF)      │ │ (About dialog,  │ │ (OCI annotations│</span></span>
<span class="line"><span>│ on portal       │ │  README, footer)│ │  Dockerfile)    │</span></span>
<span class="line"><span>└─────────────────┘ └─────────────────┘ └─────────────────┘</span></span>
<span class="line"><span>          │                   │                   │</span></span>
<span class="line"><span>          ▼                   ▼                   ▼</span></span>
<span class="line"><span>┌─────────────────┐ ┌─────────────────┐ ┌─────────────────┐</span></span>
<span class="line"><span>│ API endpoint    │ │ Simplified DoC  │ │ Release notes   │</span></span>
<span class="line"><span>│ for authorities │ │ (Annex VI)      │ │ snippet         │</span></span>
<span class="line"><span>└─────────────────┘ └─────────────────┘ └─────────────────┘</span></span></code></pre>
</div><h3 id="generated-artefacts" tabindex="-1">Generated Artefacts <a class="header-anchor" href="#generated-artefacts" aria-label="Permalink to &quot;Generated Artefacts&quot;"></a></h3>
<table tabindex="0">
<thead>
<tr>
<th>Artefact</th>
<th>Generated from</th>
<th>Target</th>
</tr>
</thead>
<tbody>
<tr>
<td><strong>Compliance page</strong> (HTML/PDF)</td>
<td>All JSON fields</td>
<td>Compliance portal</td>
</tr>
<tr>
<td><strong>CE marking</strong></td>
<td><code>manufacturer.*</code>, <code>conformity.*</code>, <code>cra_classification.notified_body</code></td>
<td>About dialog, README, footer, documentation</td>
</tr>
<tr>
<td><strong>Container labels</strong></td>
<td><code>conformity.ce_marking</code>, <code>conformity.declaration_url</code>, <code>support_period.end_date</code></td>
<td>Dockerfile / OCI annotations</td>
</tr>
<tr>
<td><strong>Simplified DoC</strong> (Annex VI)</td>
<td><code>manufacturer.name</code>, <code>product.*</code>, <code>conformity.declaration_url</code>, <code>support_period.*</code></td>
<td>README, release notes, packaging</td>
</tr>
<tr>
<td><strong>API response</strong></td>
<td>Full JSON</td>
<td><code>/api/products/{name}.json</code></td>
</tr>
<tr>
<td><strong>Release notes snippet</strong></td>
<td><code>conformity.*</code>, <code>support_period.*</code>, <code>security_documentation.*</code></td>
<td>GitHub Release</td>
</tr>
</tbody>
</table>
<h3 id="ce-marking-from-json" tabindex="-1">CE Marking from JSON <a class="header-anchor" href="#ce-marking-from-json" aria-label="Permalink to &quot;CE Marking from JSON&quot;"></a></h3>
<p>The CE marking is generated from JSON fields and automatically placed at the configured locations (→ <a href="/en/conformity/ce-marking">7.7 CE Marking</a>):</p>
<div class="language-text vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang">text</span><pre class="shiki shiki-themes github-light github-dark vp-code" tabindex="0" v-pre=""><code><span class="line"><span>Generated CE marking:</span></span>
<span class="line"><span></span></span>
<span class="line"><span>  CE [1234]                              ← notified_body (if applicable)</span></span>
<span class="line"><span>  BAUER GROUP                            ← manufacturer.name</span></span>
<span class="line"><span>  Musterstraße 1, 12345 Musterstadt     ← manufacturer.address</span></span>
<span class="line"><span>  MinIO Gateway v2.1.0                   ← product.name + product.version</span></span></code></pre>
</div><p>For container images, OCI labels are additionally generated:</p>
<div class="language-dockerfile vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang">dockerfile</span><pre class="shiki shiki-themes github-light github-dark vp-code" tabindex="0" v-pre=""><code><span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">LABEL</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8"> org.opencontainers.image.ce-marking=</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF">"conformant"</span></span>
<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">LABEL</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8"> eu.cra.doc.url=</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF">"https://go.bauer-group.com/cra-minio-gateway"</span></span>
<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">LABEL</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8"> eu.cra.doc.version=</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF">"1.0"</span></span>
<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">LABEL</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8"> eu.cra.support.end=</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF">"2031-03-01"</span></span></code></pre>
</div><h2 id="_9-1-3-required-content" tabindex="-1">9.1.3 Required Content <a class="header-anchor" href="#_9-1-3-required-content" aria-label="Permalink to &quot;9.1.3 Required Content&quot;"></a></h2>
<p>The following information must be publicly accessible under the CRA and is consolidated in the statement:</p>
<table tabindex="0">
<thead>
<tr>
<th>CRA Reference</th>
<th>Information</th>
<th>Cross-Reference</th>
</tr>
</thead>
<tbody>
<tr>
<td>Art. 13(6)</td>
<td>Coordinated Vulnerability Disclosure Policy</td>
<td>→ <a href="/en/incident-response/disclosure-policy">4.2 Disclosure Policy</a></td>
</tr>
<tr>
<td>Art. 13(8)</td>
<td>Support period</td>
<td>→ <a href="/en/technical-documentation/support-period">6.4 Support &amp; Lifecycle</a></td>
</tr>
<tr>
<td>Art. 13, Annex II</td>
<td>User information (security instructions)</td>
<td>→ <a href="/en/conformity/annex-ii-user-info">7.10 User Information</a></td>
</tr>
<tr>
<td>Art. 28, Annex V</td>
<td>EU Declaration of Conformity (or link thereto)</td>
<td>→ <a href="/en/conformity/eu-declaration">7.8 EU Declaration of Conformity</a></td>
</tr>
<tr>
<td>Art. 29–30</td>
<td>CE marking</td>
<td>→ <a href="/en/conformity/ce-marking">7.7 CE Marking</a></td>
</tr>
<tr>
<td>Annex I, Part II, No. 1</td>
<td>SBOM (machine-readable)</td>
<td>→ <a href="/en/sbom-signing/">Chapter 2: SBOM &amp; Signing</a></td>
</tr>
<tr>
<td>Annex VII</td>
<td>Manufacturer contact information</td>
<td>→ <a href="/en/technical-documentation/product-description">6.1 Product Description</a></td>
</tr>
</tbody>
</table>
<h2 id="_9-1-4-recommended-structure" tabindex="-1">9.1.4 Recommended Structure <a class="header-anchor" href="#_9-1-4-recommended-structure" aria-label="Permalink to &quot;9.1.4 Recommended Structure&quot;"></a></h2>
<p>A CRA Compliance Statement should contain the following sections:</p>
<h3 id="_1-product-identification" tabindex="-1">1. Product Identification <a class="header-anchor" href="#_1-product-identification" aria-label="Permalink to &quot;1. Product Identification&quot;"></a></h3>
<ul>
<li>Product name, version, type (software / container / firmware)</li>
<li>CRA product category (Standard / Class I / Class II / Critical)</li>
<li>Unique identifier (e.g. package URL, container image reference)</li>
</ul>
<h3 id="_2-manufacturer-information" tabindex="-1">2. Manufacturer Information <a class="header-anchor" href="#_2-manufacturer-information" aria-label="Permalink to &quot;2. Manufacturer Information&quot;"></a></h3>
<ul>
<li>Company, address</li>
<li>Security contact (e.g. <code>disclosure@bauer-group.com</code>)</li>
<li>Authorised representative (if applicable)</li>
</ul>
<h3 id="_3-conformity-status" tabindex="-1">3. Conformity Status <a class="header-anchor" href="#_3-conformity-status" aria-label="Permalink to &quot;3. Conformity Status&quot;"></a></h3>
<ul>
<li>Applied conformity assessment procedure (→ <a href="/en/conformity/">Chapter 7</a>)</li>
<li>Link to the EU Declaration of Conformity (Annex V)</li>
<li>CE marking: status and placement</li>
<li>Date of last assessment</li>
</ul>
<h3 id="_4-security-documentation" tabindex="-1">4. Security Documentation <a class="header-anchor" href="#_4-security-documentation" aria-label="Permalink to &quot;4. Security Documentation&quot;"></a></h3>
<p>Links to:</p>
<ul>
<li>SBOM (CycloneDX JSON)</li>
<li>Vulnerability Disclosure Policy / SECURITY.md</li>
<li>User information (Annex II)</li>
<li>Technical documentation (where publicly available)</li>
</ul>
<h3 id="_5-support-period" tabindex="-1">5. Support Period <a class="header-anchor" href="#_5-support-period" aria-label="Permalink to &quot;5. Support Period&quot;"></a></h3>
<ul>
<li>Start and end of the support period</li>
<li>Current phase (Active Support / Security Support)</li>
<li>Reference to update mechanism (→ <a href="/en/technical-documentation/update-mechanism">6.3 Update Mechanism</a>)</li>
</ul>
<h3 id="_6-harmonised-standards" tabindex="-1">6. Harmonised Standards <a class="header-anchor" href="#_6-harmonised-standards" aria-label="Permalink to &quot;6. Harmonised Standards&quot;"></a></h3>
<ul>
<li>Applied harmonised standards and technical specifications</li>
<li>SBOM format standard (e.g. CycloneDX v1.5)</li>
</ul>
<h3 id="_7-vulnerability-management" tabindex="-1">7. Vulnerability Management <a class="header-anchor" href="#_7-vulnerability-management" aria-label="Permalink to &quot;7. Vulnerability Management&quot;"></a></h3>
<ul>
<li>Reference to Vulnerability Disclosure Policy</li>
<li>CVE monitoring status</li>
<li>Patch SLAs (→ <a href="/en/vulnerability-management/patch-management">3.3 Patch Management</a>)</li>
</ul>
<h2 id="_9-1-5-example" tabindex="-1">9.1.5 Example <a class="header-anchor" href="#_9-1-5-example" aria-label="Permalink to &quot;9.1.5 Example&quot;"></a></h2>
<p>A CRA Compliance Statement for a fictional product might look like this:</p>
<hr>
<blockquote>
<p><strong>CRA COMPLIANCE STATEMENT</strong></p>
<p><strong>MinIO Gateway</strong> — Version 2.1.0</p>
<p><strong>Date:</strong> 2026-03-01 | <strong>Manufacturer:</strong> BAUER GROUP</p>
<hr>
<table tabindex="0">
<thead>
<tr>
<th>Field</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>Product type</td>
<td>Container Image</td>
</tr>
<tr>
<td>CRA category</td>
<td>Standard</td>
</tr>
<tr>
<td>Conformity module</td>
<td>Module A (Internal Control)</td>
</tr>
<tr>
<td>CE marking</td>
<td>✅ In About dialog and documentation</td>
</tr>
<tr>
<td>EU Declaration of Conformity</td>
<td>[Link to DoC]</td>
</tr>
<tr>
<td>SBOM</td>
<td>[CycloneDX JSON — GitHub Release]</td>
</tr>
<tr>
<td>SECURITY.md</td>
<td>[Link]</td>
</tr>
<tr>
<td>User information (Annex II)</td>
<td>[Link]</td>
</tr>
<tr>
<td>Support period</td>
<td>2026-03-01 to 2031-03-01</td>
</tr>
<tr>
<td>Vulnerability disclosure</td>
<td><code>disclosure@bauer-group.com</code></td>
</tr>
</tbody>
</table>
</blockquote>
<hr>
<h2 id="_9-1-6-placement" tabindex="-1">9.1.6 Placement <a class="header-anchor" href="#_9-1-6-placement" aria-label="Permalink to &quot;9.1.6 Placement&quot;"></a></h2>
<table tabindex="0">
<thead>
<tr>
<th>Channel</th>
<th>Format</th>
<th>Audience</th>
</tr>
</thead>
<tbody>
<tr>
<td><strong>Compliance portal</strong></td>
<td>HTML (generated from JSON)</td>
<td>Customers, authorities</td>
</tr>
<tr>
<td><strong>Product repository</strong></td>
<td><code>.compliance/cra-statement.json</code></td>
<td>Developers, audits</td>
</tr>
<tr>
<td><strong>README.md</strong></td>
<td>Simplified reference with link</td>
<td>Developers</td>
</tr>
<tr>
<td><strong>Product website</strong></td>
<td>Compliance section</td>
<td>Customers</td>
</tr>
<tr>
<td><strong>Release notes</strong></td>
<td>Reference to current statement</td>
<td>All</td>
</tr>
</tbody>
</table>
<p>→ Publication strategy details: <a href="/en/product-compliance/publication-strategy">9.2 Publication Strategy</a></p>
<h2 id="_9-1-7-cross-references" tabindex="-1">9.1.7 Cross-References <a class="header-anchor" href="#_9-1-7-cross-references" aria-label="Permalink to &quot;9.1.7 Cross-References&quot;"></a></h2>
<table tabindex="0">
<thead>
<tr>
<th>Document</th>
<th>Link</th>
</tr>
</thead>
<tbody>
<tr>
<td>EU Declaration of Conformity (Annex V)</td>
<td><a href="/en/conformity/eu-declaration">7.8 EU Declaration of Conformity</a></td>
</tr>
<tr>
<td>Simplified DoC (Annex VI)</td>
<td><a href="/en/conformity/simplified-declaration">7.9 Simplified DoC</a></td>
</tr>
<tr>
<td>User Information (Annex II)</td>
<td><a href="/en/conformity/annex-ii-user-info">7.10 User Information</a></td>
</tr>
<tr>
<td>CE Marking</td>
<td><a href="/en/conformity/ce-marking">7.7 CE Marking</a></td>
</tr>
<tr>
<td>Template</td>
<td><a href="/en/templates/cra-compliance-statement">A.9 CRA Compliance Statement</a></td>
</tr>
</tbody>
</table>
]]></content:encoded>
            <author>BAUER GROUP</author>
        </item>
        <item>
            <title><![CDATA[9.2 Publication Strategy]]></title>
            <link>https://cra.docs.bauer-group.com/en/product-compliance/publication-strategy</link>
            <guid isPermaLink="false">https://cra.docs.bauer-group.com/en/product-compliance/publication-strategy</guid>
            <pubDate>Mon, 23 Mar 2026 14:38:37 GMT</pubDate>
            <description><![CDATA[# 9.2 Publication Strategy

## 9.2.1 Dual Publication Concept

::: info PRINCIPLE
**Single Source of Truth** = the product's Git repository
**Public Presentation** = central compliance website
:::

Compliance data is maintained in exactly one place — the respective product's repository. From there, it is automatically published to a central compliance website.

```text
┌────────────────────┐                ┌──────────────────────────┐
│  Product Repo      │     CI/CD      │  Generated Artefacts     │
│                    │                │                          │
│  .compliance/      │  Validation    │  ┌── Compliance Portal   │
│    cra-statement.  │──────────────→│  │   (HTML/PDF)           │
│    json            │  + Generation  │  ├── CE Marking          │
│                    │                │  │   (About, README)      │
│  (single source)   │                │  ├── Container Labels    │
│                    │                │  │   (OCI annotations)    │
│                    │                │  ├── Simplified DoC       │
│                    │                │  └── API Endpoint         │
└────────────────────┘                └──────────────────────────┘
        ↑                                       ↑
   Developers maintain                 Customers, authorities,
   only the JSON                       public
```

## 9.2.2 Benefits

| Aspect | Benefit |
|]]></description>
            <content:encoded><![CDATA[<h1 id="_9-2-publication-strategy" tabindex="-1">9.2 Publication Strategy <a class="header-anchor" href="#_9-2-publication-strategy" aria-label="Permalink to &quot;9.2 Publication Strategy&quot;"></a></h1>
<h2 id="_9-2-1-dual-publication-concept" tabindex="-1">9.2.1 Dual Publication Concept <a class="header-anchor" href="#_9-2-1-dual-publication-concept" aria-label="Permalink to &quot;9.2.1 Dual Publication Concept&quot;"></a></h2>
<div class="info custom-block"><p class="custom-block-title">PRINCIPLE</p>
<p><strong>Single Source of Truth</strong> = the product's Git repository
<strong>Public Presentation</strong> = central compliance website</p>
</div>
<p>Compliance data is maintained in exactly one place — the respective product's repository. From there, it is automatically published to a central compliance website.</p>
<div class="language-text vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang">text</span><pre class="shiki shiki-themes github-light github-dark vp-code" tabindex="0" v-pre=""><code><span class="line"><span>┌────────────────────┐                ┌──────────────────────────┐</span></span>
<span class="line"><span>│  Product Repo      │     CI/CD      │  Generated Artefacts     │</span></span>
<span class="line"><span>│                    │                │                          │</span></span>
<span class="line"><span>│  .compliance/      │  Validation    │  ┌── Compliance Portal   │</span></span>
<span class="line"><span>│    cra-statement.  │──────────────→│  │   (HTML/PDF)           │</span></span>
<span class="line"><span>│    json            │  + Generation  │  ├── CE Marking          │</span></span>
<span class="line"><span>│                    │                │  │   (About, README)      │</span></span>
<span class="line"><span>│  (single source)   │                │  ├── Container Labels    │</span></span>
<span class="line"><span>│                    │                │  │   (OCI annotations)    │</span></span>
<span class="line"><span>│                    │                │  ├── Simplified DoC       │</span></span>
<span class="line"><span>│                    │                │  └── API Endpoint         │</span></span>
<span class="line"><span>└────────────────────┘                └──────────────────────────┘</span></span>
<span class="line"><span>        ↑                                       ↑</span></span>
<span class="line"><span>   Developers maintain                 Customers, authorities,</span></span>
<span class="line"><span>   only the JSON                       public</span></span></code></pre>
</div><h2 id="_9-2-2-benefits" tabindex="-1">9.2.2 Benefits <a class="header-anchor" href="#_9-2-2-benefits" aria-label="Permalink to &quot;9.2.2 Benefits&quot;"></a></h2>
<table tabindex="0">
<thead>
<tr>
<th>Aspect</th>
<th>Benefit</th>
</tr>
</thead>
<tbody>
<tr>
<td><strong>Versioning</strong></td>
<td>Statement is versioned alongside the product code</td>
</tr>
<tr>
<td><strong>Review</strong></td>
<td>Changes go through the same review process as code</td>
</tr>
<tr>
<td><strong>Automation</strong></td>
<td>Publication happens automatically on release</td>
</tr>
<tr>
<td><strong>Consistency</strong></td>
<td>JSON schema enforces a uniform format across all products</td>
</tr>
<tr>
<td><strong>Audit trail</strong></td>
<td>Git history documents every change</td>
</tr>
</tbody>
</table>
<h2 id="_9-2-3-repository-structure" tabindex="-1">9.2.3 Repository Structure <a class="header-anchor" href="#_9-2-3-repository-structure" aria-label="Permalink to &quot;9.2.3 Repository Structure&quot;"></a></h2>
<p>Each product repository contains a <code>.compliance/</code> directory:</p>
<div class="language-text vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang">text</span><pre class="shiki shiki-themes github-light github-dark vp-code" tabindex="0" v-pre=""><code><span class="line"><span>product-repo/</span></span>
<span class="line"><span>├── .compliance/</span></span>
<span class="line"><span>│   ├── cra-statement.json          # Machine-readable CRA statement</span></span>
<span class="line"><span>│   └── README.md                   # Brief note on compliance structure</span></span>
<span class="line"><span>├── SECURITY.md                     # Vulnerability Disclosure Policy</span></span>
<span class="line"><span>├── docs/</span></span>
<span class="line"><span>│   └── compliance/</span></span>
<span class="line"><span>│       ├── eu-declaration.pdf      # EU Declaration of Conformity (Annex V)</span></span>
<span class="line"><span>│       └── user-info.md            # User information (Annex II)</span></span>
<span class="line"><span>└── ...</span></span></code></pre>
</div><h3 id="files-in-detail" tabindex="-1">Files in Detail <a class="header-anchor" href="#files-in-detail" aria-label="Permalink to &quot;Files in Detail&quot;"></a></h3>
<table tabindex="0">
<thead>
<tr>
<th>File</th>
<th>Required</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><code>.compliance/cra-statement.json</code></td>
<td>✅ Yes</td>
<td>Machine-readable CRA Compliance Statement (→ <a href="/en/product-compliance/machine-readable">9.3</a>)</td>
</tr>
<tr>
<td><code>.compliance/README.md</code></td>
<td>Recommended</td>
<td>Explains the compliance structure to developers</td>
</tr>
<tr>
<td><code>SECURITY.md</code></td>
<td>✅ Yes</td>
<td>Vulnerability Disclosure Policy (→ <a href="/en/incident-response/disclosure-policy">4.2</a>)</td>
</tr>
<tr>
<td><code>docs/compliance/eu-declaration.pdf</code></td>
<td>✅ Yes</td>
<td>Legally binding EU Declaration of Conformity</td>
</tr>
<tr>
<td><code>docs/compliance/user-info.md</code></td>
<td>✅ Yes</td>
<td>User information per Annex II</td>
</tr>
</tbody>
</table>
<h2 id="_9-2-4-website-url-scheme" tabindex="-1">9.2.4 Website URL Scheme <a class="header-anchor" href="#_9-2-4-website-url-scheme" aria-label="Permalink to &quot;9.2.4 Website URL Scheme&quot;"></a></h2>
<p>The central compliance portal follows a uniform URL structure:</p>
<div class="language-text vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang">text</span><pre class="shiki shiki-themes github-light github-dark vp-code" tabindex="0" v-pre=""><code><span class="line"><span>https://cra.app.bauer-group.com/</span></span>
<span class="line"><span>├── /products/                      # Product directory</span></span>
<span class="line"><span>│   ├── /products/{name}/           # Product compliance page</span></span>
<span class="line"><span>│   │   ├── /cra                    # CRA Compliance Statement</span></span>
<span class="line"><span>│   │   ├── /doc                    # EU Declaration of Conformity</span></span>
<span class="line"><span>│   │   └── /sbom                   # SBOM download</span></span>
<span class="line"><span>│   └── ...</span></span>
<span class="line"><span>└── /api/                           # (Optional) API access for authorities</span></span>
<span class="line"><span>    └── /api/products/{name}.json   # Machine-readable access</span></span></code></pre>
</div><h2 id="_9-2-5-accessibility" tabindex="-1">9.2.5 Accessibility <a class="header-anchor" href="#_9-2-5-accessibility" aria-label="Permalink to &quot;9.2.5 Accessibility&quot;"></a></h2>
<table tabindex="0">
<thead>
<tr>
<th>Information</th>
<th style="text-align:center">Public</th>
<th style="text-align:center">Internal</th>
<th>CRA Reference</th>
</tr>
</thead>
<tbody>
<tr>
<td>CRA Compliance Statement</td>
<td style="text-align:center">✅</td>
<td style="text-align:center">✅</td>
<td>Art. 13</td>
</tr>
<tr>
<td>EU Declaration of Conformity</td>
<td style="text-align:center">✅</td>
<td style="text-align:center">✅</td>
<td>Art. 28</td>
</tr>
<tr>
<td>Simplified DoC</td>
<td style="text-align:center">✅</td>
<td style="text-align:center">✅</td>
<td>Annex VI</td>
</tr>
<tr>
<td>User information (Annex II)</td>
<td style="text-align:center">✅</td>
<td style="text-align:center">✅</td>
<td>Art. 13</td>
</tr>
<tr>
<td>SBOM</td>
<td style="text-align:center">On request</td>
<td style="text-align:center">✅</td>
<td>Annex I, Part II</td>
</tr>
<tr>
<td>Technical documentation (Annex VII)</td>
<td style="text-align:center">❌</td>
<td style="text-align:center">✅</td>
<td>Art. 31</td>
</tr>
<tr>
<td>Conformity assessment records</td>
<td style="text-align:center">❌</td>
<td style="text-align:center">✅</td>
<td>Art. 28</td>
</tr>
</tbody>
</table>
<div class="warning custom-block"><p class="custom-block-title">NOTE</p>
<p>The complete technical documentation (Annex VII) is <strong>not</strong> required to be made public, but must be presented to market surveillance authorities within 10 days upon request (Art. 31 CRA).</p>
</div>
<h2 id="_9-2-6-ci-cd-integration" tabindex="-1">9.2.6 CI/CD Integration <a class="header-anchor" href="#_9-2-6-ci-cd-integration" aria-label="Permalink to &quot;9.2.6 CI/CD Integration&quot;"></a></h2>
<p>Publication is integrated into the existing CI/CD pipeline:</p>
<div class="language-text vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang">text</span><pre class="shiki shiki-themes github-light github-dark vp-code" tabindex="0" v-pre=""><code><span class="line"><span>Release tag created</span></span>
<span class="line"><span>    │</span></span>
<span class="line"><span>    ├── 1. JSON schema validation (.compliance/cra-statement.json)</span></span>
<span class="line"><span>    │       → Failure = release blocked</span></span>
<span class="line"><span>    │</span></span>
<span class="line"><span>    ├── 2. Completeness check</span></span>
<span class="line"><span>    │       → Are all required fields populated?</span></span>
<span class="line"><span>    │       → Do referenced documents (DoC, SBOM) exist?</span></span>
<span class="line"><span>    │</span></span>
<span class="line"><span>    ├── 3. Publication to compliance portal</span></span>
<span class="line"><span>    │       → Generate HTML</span></span>
<span class="line"><span>    │       → Generate PDF (optional)</span></span>
<span class="line"><span>    │</span></span>
<span class="line"><span>    └── 4. Notification</span></span>
<span class="line"><span>            → Slack/Teams: "Compliance statement for {product} v{version} published"</span></span></code></pre>
</div><h2 id="_9-2-7-cross-references" tabindex="-1">9.2.7 Cross-References <a class="header-anchor" href="#_9-2-7-cross-references" aria-label="Permalink to &quot;9.2.7 Cross-References&quot;"></a></h2>
<table tabindex="0">
<thead>
<tr>
<th>Topic</th>
<th>Link</th>
</tr>
</thead>
<tbody>
<tr>
<td>JSON schema definition</td>
<td><a href="/en/product-compliance/machine-readable">9.3 Machine-Readable Format</a></td>
</tr>
<tr>
<td>Update process</td>
<td><a href="/en/product-compliance/maintenance">9.4 Maintenance &amp; Updates</a></td>
</tr>
<tr>
<td>SBOM archival</td>
<td><a href="/en/sbom-signing/storage">2.3 Archival &amp; Retention</a></td>
</tr>
<tr>
<td>Fillable template</td>
<td><a href="/en/templates/cra-compliance-statement">A.9 CRA Compliance Statement</a></td>
</tr>
</tbody>
</table>
]]></content:encoded>
            <author>BAUER GROUP</author>
        </item>
        <item>
            <title><![CDATA[Security Policy]]></title>
            <link>https://cra.docs.bauer-group.com/en/SECURITY</link>
            <guid isPermaLink="false">https://cra.docs.bauer-group.com/en/SECURITY</guid>
            <pubDate>Mon, 23 Mar 2026 14:15:30 GMT</pubDate>
            <description><![CDATA[# Security Policy

## Reporting a Vulnerability

BAUER GROUP takes the security of our products seriously. If you believe you have found a security vulnerability, please report it to us as described below.

### Preferred Method: GitHub Security Advisory

For each affected repository, use **Security → Advisories → New Draft Advisory** to report the vulnerability confidentially.

### Email

**Email:** <disclosure@bauer-group.com>

Please include:

- Description of the vulnerability
- Steps to reproduce
- Affected product(s) and version(s)
- Impact assessment (if possible)
- Your contact information

### What to Expect

| Milestone | Timeline |
|]]></description>
            <content:encoded><![CDATA[<h1 id="security-policy" tabindex="-1">Security Policy <a class="header-anchor" href="#security-policy" aria-label="Permalink to &quot;Security Policy&quot;"></a></h1>
<h2 id="reporting-a-vulnerability" tabindex="-1">Reporting a Vulnerability <a class="header-anchor" href="#reporting-a-vulnerability" aria-label="Permalink to &quot;Reporting a Vulnerability&quot;"></a></h2>
<p>BAUER GROUP takes the security of our products seriously. If you believe you have found a security vulnerability, please report it to us as described below.</p>
<h3 id="preferred-method-github-security-advisory" tabindex="-1">Preferred Method: GitHub Security Advisory <a class="header-anchor" href="#preferred-method-github-security-advisory" aria-label="Permalink to &quot;Preferred Method: GitHub Security Advisory&quot;"></a></h3>
<p>For each affected repository, use <strong>Security → Advisories → New Draft Advisory</strong> to report the vulnerability confidentially.</p>
<h3 id="email" tabindex="-1">Email <a class="header-anchor" href="#email" aria-label="Permalink to &quot;Email&quot;"></a></h3>
<p><strong>Email:</strong> <a href="mailto:disclosure@bauer-group.com" target="_blank" rel="noreferrer">disclosure@bauer-group.com</a></p>
<p>Please include:</p>
<ul>
<li>Description of the vulnerability</li>
<li>Steps to reproduce</li>
<li>Affected product(s) and version(s)</li>
<li>Impact assessment (if possible)</li>
<li>Your contact information</li>
</ul>
<h3 id="what-to-expect" tabindex="-1">What to Expect <a class="header-anchor" href="#what-to-expect" aria-label="Permalink to &quot;What to Expect&quot;"></a></h3>
<table tabindex="0">
<thead>
<tr>
<th>Milestone</th>
<th>Timeline</th>
</tr>
</thead>
<tbody>
<tr>
<td>Acknowledgment</td>
<td>Within <strong>48 hours</strong></td>
</tr>
<tr>
<td>Initial Assessment</td>
<td>Within <strong>7 days</strong></td>
</tr>
<tr>
<td>Status Update</td>
<td>At least every <strong>14 days</strong></td>
</tr>
<tr>
<td>Coordinated Disclosure</td>
<td><strong>90 days</strong> after report (default)</td>
</tr>
</tbody>
</table>
<h3 id="our-commitment" tabindex="-1">Our Commitment <a class="header-anchor" href="#our-commitment" aria-label="Permalink to &quot;Our Commitment&quot;"></a></h3>
<ul>
<li>We will not take legal action against researchers acting in good faith</li>
<li>We will acknowledge your contribution (with your permission)</li>
<li>We will coordinate the disclosure timeline with you</li>
<li>We will provide regular status updates</li>
</ul>
<h3 id="supported-versions" tabindex="-1">Supported Versions <a class="header-anchor" href="#supported-versions" aria-label="Permalink to &quot;Supported Versions&quot;"></a></h3>
<p>Please refer to the individual product documentation for supported versions and support periods.</p>
<h3 id="scope" tabindex="-1">Scope <a class="header-anchor" href="#scope" aria-label="Permalink to &quot;Scope&quot;"></a></h3>
<p>This policy applies to all BAUER GROUP products with digital elements, including:</p>
<ul>
<li>Software products (web applications, APIs, libraries)</li>
<li>Container images</li>
<li>Firmware (ESP32, STM32, Zephyr)</li>
<li>Published packages (NuGet, NPM)</li>
</ul>
<h3 id="out-of-scope" tabindex="-1">Out of Scope <a class="header-anchor" href="#out-of-scope" aria-label="Permalink to &quot;Out of Scope&quot;"></a></h3>
<ul>
<li>Social engineering attacks</li>
<li>Denial of service attacks</li>
<li>Physical attacks against infrastructure</li>
<li>Vulnerabilities in third-party products (report to the respective vendor)</li>
</ul>
<h2 id="regulatory-framework" tabindex="-1">Regulatory Framework <a class="header-anchor" href="#regulatory-framework" aria-label="Permalink to &quot;Regulatory Framework&quot;"></a></h2>
<p>This security policy complies with:</p>
<ul>
<li><strong>Cyber Resilience Act</strong> (EU) 2024/2847 – Art. 13 (6) &amp; (8)</li>
<li><strong>ISO/IEC 29147:2018</strong> – Vulnerability Disclosure</li>
<li><strong>ISO/IEC 30111:2019</strong> – Vulnerability Handling Processes</li>
</ul>
]]></content:encoded>
            <author>BAUER GROUP</author>
        </item>
        <item>
            <title><![CDATA[7.10 User Information (Annex II)]]></title>
            <link>https://cra.docs.bauer-group.com/en/conformity/annex-ii-user-info</link>
            <guid isPermaLink="false">https://cra.docs.bauer-group.com/en/conformity/annex-ii-user-info</guid>
            <pubDate>Mon, 23 Mar 2026 14:15:30 GMT</pubDate>
            <description><![CDATA[# 7.10 User Information (Annex II)

## 7.10.1 Overview

Annex II of the CRA defines the mandatory information that the manufacturer must provide to users of the product. This information must be clear, comprehensible, and made available in a manner that is easily accessible to the user.

::: info LEGAL BASIS
**Annex II CRA:** Information and instructions for the user. The following information shall accompany the product with digital elements.
:::

## 7.10.2 Mandatory Content

### No. 1 – Manufacturer Information

**Requirement:** Name, registered trade name or registered trade mark and postal address of the manufacturer.

**Implementation at BAUER GROUP:**

- In every product repository: README.md with manufacturer details
- On the product website: Legal notice / Imprint
- In the software: About dialog or footer
- In the documentation: Title page

**Template specification:**

```
Manufacturer: BAUER GROUP
Address:      [Company address]
E-Mail:       [Contact e-mail]
Web:          [Product URL]
```

]]></description>
            <content:encoded><![CDATA[<h1 id="_7-10-user-information-annex-ii" tabindex="-1">7.10 User Information (Annex II) <a class="header-anchor" href="#_7-10-user-information-annex-ii" aria-label="Permalink to &quot;7.10 User Information (Annex II)&quot;"></a></h1>
<h2 id="_7-10-1-overview" tabindex="-1">7.10.1 Overview <a class="header-anchor" href="#_7-10-1-overview" aria-label="Permalink to &quot;7.10.1 Overview&quot;"></a></h2>
<p>Annex II of the CRA defines the mandatory information that the manufacturer must provide to users of the product. This information must be clear, comprehensible, and made available in a manner that is easily accessible to the user.</p>
<div class="info custom-block"><p class="custom-block-title">LEGAL BASIS</p>
<p><strong>Annex II CRA:</strong> Information and instructions for the user. The following information shall accompany the product with digital elements.</p>
</div>
<h2 id="_7-10-2-mandatory-content" tabindex="-1">7.10.2 Mandatory Content <a class="header-anchor" href="#_7-10-2-mandatory-content" aria-label="Permalink to &quot;7.10.2 Mandatory Content&quot;"></a></h2>
<h3 id="no-1-–-manufacturer-information" tabindex="-1">No. 1 – Manufacturer Information <a class="header-anchor" href="#no-1-–-manufacturer-information" aria-label="Permalink to &quot;No. 1 – Manufacturer Information&quot;"></a></h3>
<p><strong>Requirement:</strong> Name, registered trade name or registered trade mark and postal address of the manufacturer.</p>
<p><strong>Implementation at BAUER GROUP:</strong></p>
<ul>
<li>In every product repository: README.md with manufacturer details</li>
<li>On the product website: Legal notice / Imprint</li>
<li>In the software: About dialog or footer</li>
<li>In the documentation: Title page</li>
</ul>
<p><strong>Template specification:</strong></p>
<div class="language- vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang"></span><pre class="shiki shiki-themes github-light github-dark vp-code" tabindex="0" v-pre=""><code><span class="line"><span>Manufacturer: BAUER GROUP</span></span>
<span class="line"><span>Address:      [Company address]</span></span>
<span class="line"><span>E-Mail:       [Contact e-mail]</span></span>
<span class="line"><span>Web:          [Product URL]</span></span></code></pre>
</div><hr>
<h3 id="no-2-–-contact-point" tabindex="-1">No. 2 – Contact Point <a class="header-anchor" href="#no-2-–-contact-point" aria-label="Permalink to &quot;No. 2 – Contact Point&quot;"></a></h3>
<p><strong>Requirement:</strong> Single point of contact through which vulnerabilities can be reported, and the manufacturer's vulnerability handling policy.</p>
<p><strong>Implementation at BAUER GROUP:</strong></p>
<ul>
<li>SECURITY.md in every repository (<a href="/en/SECURITY">Template</a>)</li>
<li>Contact: <code>disclosure@bauer-group.com</code></li>
<li>GitHub Security Advisories enabled</li>
<li>Reference to <a href="/en/incident-response/disclosure-policy">Disclosure Policy</a></li>
</ul>
<hr>
<h3 id="no-3-–-product-identification" tabindex="-1">No. 3 – Product Identification <a class="header-anchor" href="#no-3-–-product-identification" aria-label="Permalink to &quot;No. 3 – Product Identification&quot;"></a></h3>
<p><strong>Requirement:</strong> Unique identification of the product: name, type, version, batch/serial number.</p>
<p><strong>Implementation at BAUER GROUP:</strong></p>
<ul>
<li>Semantic Versioning (SemVer) for all software</li>
<li>Container image tags with SHA digest</li>
<li>Release notes with version, date, and changelog</li>
<li>SBOM contains unique product identification (CPE/PURL)</li>
</ul>
<hr>
<h3 id="no-4-–-intended-use" tabindex="-1">No. 4 – Intended Use <a class="header-anchor" href="#no-4-–-intended-use" aria-label="Permalink to &quot;No. 4 – Intended Use&quot;"></a></h3>
<p><strong>Requirement:</strong> Intended use of the product, including the security environment.</p>
<p><strong>Implementation at BAUER GROUP:</strong></p>
<ul>
<li><strong>Product description</strong> (<a href="/en/technical-documentation/product-description">Reference</a>): Purpose, target audience, deployment environment</li>
<li><strong>Operating conditions:</strong> Operating system, network, hardware requirements</li>
<li><strong>Security environment:</strong> Prerequisites (firewall, VPN, network segmentation)</li>
<li><strong>Limitations:</strong> Explicitly document what the product is NOT intended for</li>
</ul>
<p><strong>Example:</strong></p>
<div class="language- vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang"></span><pre class="shiki shiki-themes github-light github-dark vp-code" tabindex="0" v-pre=""><code><span class="line"><span>Intended use: Internal enterprise application for managing</span></span>
<span class="line"><span>[function]. Designed for operation behind a corporate</span></span>
<span class="line"><span>firewall with authenticated access.</span></span>
<span class="line"><span></span></span>
<span class="line"><span>NOT intended: Public-facing operation without network</span></span>
<span class="line"><span>protection, use in critical infrastructure (CRITIS).</span></span></code></pre>
</div><hr>
<h3 id="no-5-–-foreseeable-misuse" tabindex="-1">No. 5 – Foreseeable Misuse <a class="header-anchor" href="#no-5-–-foreseeable-misuse" aria-label="Permalink to &quot;No. 5 – Foreseeable Misuse&quot;"></a></h3>
<p><strong>Requirement:</strong> Description of foreseeable misuse scenarios.</p>
<p><strong>Implementation at BAUER GROUP:</strong></p>
<ul>
<li>Identification of typical misuse scenarios per product type</li>
<li>Warning notices in the documentation</li>
<li>Technical safeguards against misuse</li>
</ul>
<p><strong>Typical misuse scenarios:</strong></p>
<table tabindex="0">
<thead>
<tr>
<th>Scenario</th>
<th>Measure</th>
</tr>
</thead>
<tbody>
<tr>
<td>Default passwords in production</td>
<td>Forced password change on initial setup</td>
</tr>
<tr>
<td>Operation without updates for extended periods</td>
<td>Automatic update notification</td>
</tr>
<tr>
<td>Exposure of internal APIs to the internet</td>
<td>Warning in documentation, network checks</td>
</tr>
<tr>
<td>Use of outdated TLS versions</td>
<td>Support only TLS 1.2+, reject older versions</td>
</tr>
<tr>
<td>Disabling security features</td>
<td>Warning on deactivation, audit log</td>
</tr>
</tbody>
</table>
<hr>
<h3 id="no-6-–-sbom-reference" tabindex="-1">No. 6 – SBOM Reference <a class="header-anchor" href="#no-6-–-sbom-reference" aria-label="Permalink to &quot;No. 6 – SBOM Reference&quot;"></a></h3>
<p><strong>Requirement:</strong> Notice of the availability of the SBOM (or URL for retrieval).</p>
<p><strong>Implementation at BAUER GROUP:</strong></p>
<ul>
<li>SBOM published as a release asset</li>
<li>URL to the SBOM in the product documentation</li>
<li>SBOM in machine-readable format (CycloneDX JSON)</li>
</ul>
<p><strong>Template specification:</strong></p>
<div class="language- vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang"></span><pre class="shiki shiki-themes github-light github-dark vp-code" tabindex="0" v-pre=""><code><span class="line"><span>SBOM: Available at [Release-URL]/sbom.cdx.json</span></span>
<span class="line"><span>Format: CycloneDX JSON v1.6</span></span>
<span class="line"><span>Signed: Yes (Cosign)</span></span></code></pre>
</div><blockquote>
<p>Details: <a href="/en/sbom-signing/">SBOM &amp; Signing</a></p>
</blockquote>
<hr>
<h3 id="no-7-–-support-period" tabindex="-1">No. 7 – Support Period <a class="header-anchor" href="#no-7-–-support-period" aria-label="Permalink to &quot;No. 7 – Support Period&quot;"></a></h3>
<p><strong>Requirement:</strong> Period during which security updates will be provided, at least 5 years or the expected product lifetime.</p>
<p><strong>Implementation at BAUER GROUP:</strong></p>
<ul>
<li>Support period documented in the product documentation</li>
<li>In SECURITY.md per repository</li>
<li>On the product website</li>
<li>In the release notes</li>
</ul>
<blockquote>
<p>Details: <a href="/en/technical-documentation/support-period">Support &amp; Lifecycle</a></p>
</blockquote>
<hr>
<h3 id="no-8-–-installation-guide-and-secure-configuration" tabindex="-1">No. 8 – Installation Guide and Secure Configuration <a class="header-anchor" href="#no-8-–-installation-guide-and-secure-configuration" aria-label="Permalink to &quot;No. 8 – Installation Guide and Secure Configuration&quot;"></a></h3>
<p><strong>Requirement:</strong> Instructions for secure installation, configuration, commissioning, and use of the product.</p>
<p><strong>Implementation at BAUER GROUP:</strong></p>
<ul>
<li><strong>Installation guide:</strong> Step-by-step with security notes</li>
<li><strong>Hardening guide:</strong> Recommended security configuration</li>
<li><strong>Checklist:</strong> Post-installation security checklist</li>
<li><strong>Minimum requirements:</strong> Documented system prerequisites</li>
</ul>
<p><strong>Contents of the installation guide:</strong></p>
<ol>
<li>System prerequisites (including security requirements)</li>
<li>Installation steps with integrity verification</li>
<li>Initial setup (password, MFA, network)</li>
<li>Recommended security configuration (hardening)</li>
<li>Update configuration (automatic/manual)</li>
<li>Backup setup</li>
</ol>
<hr>
<h3 id="no-9-–-eu-declaration-of-conformity" tabindex="-1">No. 9 – EU Declaration of Conformity <a class="header-anchor" href="#no-9-–-eu-declaration-of-conformity" aria-label="Permalink to &quot;No. 9 – EU Declaration of Conformity&quot;"></a></h3>
<p><strong>Requirement:</strong> Reference to the EU Declaration of Conformity or simplified version with URL.</p>
<p><strong>Implementation at BAUER GROUP:</strong></p>
<ul>
<li>URL to the EU Declaration of Conformity in the product documentation</li>
<li>Simplified version according to Annex VI (-&gt; <a href="/en/conformity/simplified-declaration">Simplified DoC</a>)</li>
</ul>
<hr>
<h3 id="no-10-–-update-information" tabindex="-1">No. 10 – Update Information <a class="header-anchor" href="#no-10-–-update-information" aria-label="Permalink to &quot;No. 10 – Update Information&quot;"></a></h3>
<p><strong>Requirement:</strong> Information about the type and location of security updates.</p>
<p><strong>Implementation at BAUER GROUP:</strong></p>
<ul>
<li>Release channel documented (GitHub Releases, Container Registry, OTA)</li>
<li>Notification channel (GitHub Watch, e-mail, RSS)</li>
<li>Update instructions in the documentation</li>
</ul>
<h2 id="_7-10-3-template-user-information" tabindex="-1">7.10.3 Template: User Information <a class="header-anchor" href="#_7-10-3-template-user-information" aria-label="Permalink to &quot;7.10.3 Template: User Information&quot;"></a></h2>
<blockquote>
<p>Fillable template: <a href="/en/templates/product-security-info">User Information / Product Security Info</a></p>
</blockquote>
<h2 id="_7-10-4-checklist-annex-ii" tabindex="-1">7.10.4 Checklist: Annex II <a class="header-anchor" href="#_7-10-4-checklist-annex-ii" aria-label="Permalink to &quot;7.10.4 Checklist: Annex II&quot;"></a></h2>
<ul>
<li>[ ] Manufacturer details in the product and documentation</li>
<li>[ ] SECURITY.md with contact point and CVD policy</li>
<li>[ ] Unique product identification (SemVer, digest)</li>
<li>[ ] Intended use documented</li>
<li>[ ] Foreseeable misuse scenarios identified and addressed</li>
<li>[ ] SBOM reference in the product documentation</li>
<li>[ ] Support period defined and communicated</li>
<li>[ ] Installation guide with security notes</li>
<li>[ ] Reference to EU Declaration of Conformity</li>
<li>[ ] Update information (channel, notification, instructions)</li>
</ul>
]]></content:encoded>
            <author>BAUER GROUP</author>
        </item>
        <item>
            <title><![CDATA[7.9 Simplified DoC (Annex VI)]]></title>
            <link>https://cra.docs.bauer-group.com/en/conformity/simplified-declaration</link>
            <guid isPermaLink="false">https://cra.docs.bauer-group.com/en/conformity/simplified-declaration</guid>
            <pubDate>Mon, 23 Mar 2026 14:15:30 GMT</pubDate>
            <description><![CDATA[# 7.9 Simplified DoC (Annex VI)

## 7.9.1 Overview

In addition to the full EU Declaration of Conformity (Annex V), the CRA permits a **simplified version** in accordance with Annex VI. This may accompany the product, provided the full version is available online.

::: info LEGAL BASIS
**Art. 28(3) CRA:** The manufacturer may accompany the product with a simplified EU Declaration of Conformity in accordance with Annex VI, provided the full version is made available online.

**Annex VI CRA:** Content of the simplified EU Declaration of Conformity.
:::

## 7.9.2 When to Use the Simplified Version?

| Situation | Version |
|]]></description>
            <content:encoded><![CDATA[<h1 id="_7-9-simplified-doc-annex-vi" tabindex="-1">7.9 Simplified DoC (Annex VI) <a class="header-anchor" href="#_7-9-simplified-doc-annex-vi" aria-label="Permalink to &quot;7.9 Simplified DoC (Annex VI)&quot;"></a></h1>
<h2 id="_7-9-1-overview" tabindex="-1">7.9.1 Overview <a class="header-anchor" href="#_7-9-1-overview" aria-label="Permalink to &quot;7.9.1 Overview&quot;"></a></h2>
<p>In addition to the full EU Declaration of Conformity (Annex V), the CRA permits a <strong>simplified version</strong> in accordance with Annex VI. This may accompany the product, provided the full version is available online.</p>
<div class="info custom-block"><p class="custom-block-title">LEGAL BASIS</p>
<p><strong>Art. 28(3) CRA:</strong> The manufacturer may accompany the product with a simplified EU Declaration of Conformity in accordance with Annex VI, provided the full version is made available online.</p>
<p><strong>Annex VI CRA:</strong> Content of the simplified EU Declaration of Conformity.</p>
</div>
<h2 id="_7-9-2-when-to-use-the-simplified-version" tabindex="-1">7.9.2 When to Use the Simplified Version? <a class="header-anchor" href="#_7-9-2-when-to-use-the-simplified-version" aria-label="Permalink to &quot;7.9.2 When to Use the Simplified Version?&quot;"></a></h2>
<table tabindex="0">
<thead>
<tr>
<th>Situation</th>
<th>Version</th>
</tr>
</thead>
<tbody>
<tr>
<td>Product packaging, README, UI</td>
<td>Simplified (Annex VI)</td>
</tr>
<tr>
<td>Official documentation, authority request</td>
<td>Full (Annex V)</td>
</tr>
<tr>
<td>Available online</td>
<td>Full (Annex V)</td>
</tr>
<tr>
<td>Release notes</td>
<td>Simplified (Annex VI) with URL to full version</td>
</tr>
</tbody>
</table>
<h2 id="_7-9-3-mandatory-content-annex-vi" tabindex="-1">7.9.3 Mandatory Content (Annex VI) <a class="header-anchor" href="#_7-9-3-mandatory-content-annex-vi" aria-label="Permalink to &quot;7.9.3 Mandatory Content (Annex VI)&quot;"></a></h2>
<p>The simplified EU Declaration of Conformity must contain at least:</p>
<h3 id="_1-manufacturer-information" tabindex="-1">1. Manufacturer Information <a class="header-anchor" href="#_1-manufacturer-information" aria-label="Permalink to &quot;1. Manufacturer Information&quot;"></a></h3>
<div class="language- vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang"></span><pre class="shiki shiki-themes github-light github-dark vp-code" tabindex="0" v-pre=""><code><span class="line"><span>[Name of the manufacturer]</span></span>
<span class="line"><span>declares that the product with digital elements</span></span></code></pre>
</div><h3 id="_2-product-identification" tabindex="-1">2. Product Identification <a class="header-anchor" href="#_2-product-identification" aria-label="Permalink to &quot;2. Product Identification&quot;"></a></h3>
<div class="language- vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang"></span><pre class="shiki shiki-themes github-light github-dark vp-code" tabindex="0" v-pre=""><code><span class="line"><span>[Product name, type, version]</span></span></code></pre>
</div><h3 id="_3-conformity-statement" tabindex="-1">3. Conformity Statement <a class="header-anchor" href="#_3-conformity-statement" aria-label="Permalink to &quot;3. Conformity Statement&quot;"></a></h3>
<div class="language- vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang"></span><pre class="shiki shiki-themes github-light github-dark vp-code" tabindex="0" v-pre=""><code><span class="line"><span>is in conformity with the provisions of Regulation (EU) 2024/2847</span></span>
<span class="line"><span>(Cyber Resilience Act).</span></span></code></pre>
</div><h3 id="_4-url-to-the-full-declaration" tabindex="-1">4. URL to the Full Declaration <a class="header-anchor" href="#_4-url-to-the-full-declaration" aria-label="Permalink to &quot;4. URL to the Full Declaration&quot;"></a></h3>
<div class="language- vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang"></span><pre class="shiki shiki-themes github-light github-dark vp-code" tabindex="0" v-pre=""><code><span class="line"><span>The full EU Declaration of Conformity is available at:</span></span>
<span class="line"><span>[URL]</span></span></code></pre>
</div><h2 id="_7-9-4-template-simplified-eu-declaration-of-conformity" tabindex="-1">7.9.4 Template: Simplified EU Declaration of Conformity <a class="header-anchor" href="#_7-9-4-template-simplified-eu-declaration-of-conformity" aria-label="Permalink to &quot;7.9.4 Template: Simplified EU Declaration of Conformity&quot;"></a></h2>
<div class="language-markdown vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang">markdown</span><pre class="shiki shiki-themes github-light github-dark vp-code" tabindex="0" v-pre=""><code><span class="line"><span style="--shiki-light:#005CC5;--shiki-light-font-weight:bold;--shiki-dark:#79B8FF;--shiki-dark-font-weight:bold">## EU Declaration of Conformity (simplified)</span></span>
<span class="line"></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-light-font-weight:bold;--shiki-dark:#E1E4E8;--shiki-dark-font-weight:bold">**BAUER GROUP**</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8"> hereby declares that the product</span></span>
<span class="line"></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-light-font-weight:bold;--shiki-dark:#E1E4E8;--shiki-dark-font-weight:bold">**[Product name] v[</span><span style="--shiki-light:#032F62;--shiki-light-text-decoration:underline;--shiki-dark:#DBEDFF;--shiki-dark-text-decoration:underline">Version</span><span style="--shiki-light:#24292E;--shiki-light-font-weight:bold;--shiki-dark:#E1E4E8;--shiki-dark-font-weight:bold">]**</span></span>
<span class="line"></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">is in conformity with the provisions of Regulation (EU) 2024/2847</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">(Cyber Resilience Act).</span></span>
<span class="line"></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">The full EU Declaration of Conformity is available at:</span></span>
<span class="line"><span style="--shiki-light:#22863A;--shiki-dark:#85E89D">> [URL to full DoC]</span></span>
<span class="line"></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">Support period: [</span><span style="--shiki-light:#032F62;--shiki-light-text-decoration:underline;--shiki-dark:#DBEDFF;--shiki-dark-text-decoration:underline">Date</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">] to [</span><span style="--shiki-light:#032F62;--shiki-light-text-decoration:underline;--shiki-dark:#DBEDFF;--shiki-dark-text-decoration:underline">Date</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">]</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">Contact: [</span><span style="--shiki-light:#032F62;--shiki-light-text-decoration:underline;--shiki-dark:#DBEDFF;--shiki-dark-text-decoration:underline">E-mail</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">]</span></span></code></pre>
</div><h2 id="_7-9-5-placement" tabindex="-1">7.9.5 Placement <a class="header-anchor" href="#_7-9-5-placement" aria-label="Permalink to &quot;7.9.5 Placement&quot;"></a></h2>
<h3 id="for-software-products" tabindex="-1">For Software Products <a class="header-anchor" href="#for-software-products" aria-label="Permalink to &quot;For Software Products&quot;"></a></h3>
<ul>
<li><strong>README.md</strong> in the repository</li>
<li><strong>About dialog</strong> or footer in the application</li>
<li><strong>Release notes</strong> per version</li>
<li><strong>Product website</strong></li>
<li><strong>Container image labels</strong> (OCI Annotations)</li>
</ul>
<h3 id="for-firmware-hardware" tabindex="-1">For Firmware / Hardware <a class="header-anchor" href="#for-firmware-hardware" aria-label="Permalink to &quot;For Firmware / Hardware&quot;"></a></h3>
<ul>
<li><strong>Packaging</strong> (print or insert)</li>
<li><strong>Quick Start Guide</strong></li>
<li><strong>Product label</strong> (QR code with URL)</li>
</ul>
<h2 id="_7-9-6-example-for-container-image-label" tabindex="-1">7.9.6 Example for Container Image Label <a class="header-anchor" href="#_7-9-6-example-for-container-image-label" aria-label="Permalink to &quot;7.9.6 Example for Container Image Label&quot;"></a></h2>
<div class="language-dockerfile vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang">dockerfile</span><pre class="shiki shiki-themes github-light github-dark vp-code" tabindex="0" v-pre=""><code><span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">LABEL</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8"> eu.cra.doc.url=</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF">"https://go.bauer-group.com/cra-[product]"</span></span>
<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">LABEL</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8"> eu.cra.doc.version=</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF">"1.0"</span></span>
<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">LABEL</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8"> eu.cra.support.end=</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF">"2031-12-31"</span></span></code></pre>
</div><h2 id="_7-9-7-relationship-to-annex-v" tabindex="-1">7.9.7 Relationship to Annex V <a class="header-anchor" href="#_7-9-7-relationship-to-annex-v" aria-label="Permalink to &quot;7.9.7 Relationship to Annex V&quot;"></a></h2>
<table tabindex="0">
<thead>
<tr>
<th>Aspect</th>
<th>Annex V (full)</th>
<th>Annex VI (simplified)</th>
</tr>
</thead>
<tbody>
<tr>
<td><strong>Mandatory</strong></td>
<td>Yes, always</td>
<td>Optional (with URL to Annex V)</td>
</tr>
<tr>
<td><strong>Scope</strong></td>
<td>10 mandatory items</td>
<td>4 mandatory items</td>
</tr>
<tr>
<td><strong>Retention</strong></td>
<td>10 years</td>
<td>Product lifetime</td>
</tr>
<tr>
<td><strong>Authority request</strong></td>
<td>Must be submitted</td>
<td>Not sufficient</td>
</tr>
<tr>
<td><strong>Language</strong></td>
<td>Language of the authority</td>
<td>Language of the target market</td>
</tr>
</tbody>
</table>
<blockquote>
<p>Full version: <a href="/en/conformity/eu-declaration">EU Declaration of Conformity (Annex V)</a></p>
<p>Fillable template: <a href="/en/templates/eu-declaration-of-conformity">EU Declaration of Conformity Template</a></p>
</blockquote>
]]></content:encoded>
            <author>BAUER GROUP</author>
        </item>
        <item>
            <title><![CDATA[4.4 Communication Plan]]></title>
            <link>https://cra.docs.bauer-group.com/en/incident-response/communication</link>
            <guid isPermaLink="false">https://cra.docs.bauer-group.com/en/incident-response/communication</guid>
            <pubDate>Mon, 23 Mar 2026 14:15:30 GMT</pubDate>
            <description><![CDATA[# 4.4 Communication Plan

## 4.4.1 Overview

The communication plan defines the internal and external communication channels for security incidents. The objective is rapid, consistent and legally compliant information sharing.

## 4.4.2 Communication Matrix

### Internal Communication

| Severity | Recipients | Channel | Timeframe |
|]]></description>
            <content:encoded><![CDATA[<h1 id="_4-4-communication-plan" tabindex="-1">4.4 Communication Plan <a class="header-anchor" href="#_4-4-communication-plan" aria-label="Permalink to &quot;4.4 Communication Plan&quot;"></a></h1>
<h2 id="_4-4-1-overview" tabindex="-1">4.4.1 Overview <a class="header-anchor" href="#_4-4-1-overview" aria-label="Permalink to &quot;4.4.1 Overview&quot;"></a></h2>
<p>The communication plan defines the internal and external communication channels for security incidents. The objective is rapid, consistent and legally compliant information sharing.</p>
<h2 id="_4-4-2-communication-matrix" tabindex="-1">4.4.2 Communication Matrix <a class="header-anchor" href="#_4-4-2-communication-matrix" aria-label="Permalink to &quot;4.4.2 Communication Matrix&quot;"></a></h2>
<h3 id="internal-communication" tabindex="-1">Internal Communication <a class="header-anchor" href="#internal-communication" aria-label="Permalink to &quot;Internal Communication&quot;"></a></h3>
<table tabindex="0">
<thead>
<tr>
<th>Severity</th>
<th>Recipients</th>
<th>Channel</th>
<th>Timeframe</th>
</tr>
</thead>
<tbody>
<tr>
<td><strong>SEV-1</strong></td>
<td>Security Lead, DevOps Lead, Management, Dev Team</td>
<td>Teams (Incident Channel) + Phone</td>
<td>Immediately</td>
</tr>
<tr>
<td><strong>SEV-2</strong></td>
<td>Security Lead, DevOps Lead, affected Dev Team</td>
<td>Teams (Incident Channel)</td>
<td>≤ 1 hour</td>
</tr>
<tr>
<td><strong>SEV-3</strong></td>
<td>Security Lead, affected Dev Team</td>
<td>Teams + GitHub Issue</td>
<td>≤ 4 hours</td>
</tr>
<tr>
<td><strong>SEV-4</strong></td>
<td>Affected Dev Team</td>
<td>GitHub Issue</td>
<td>≤ 24 hours</td>
</tr>
</tbody>
</table>
<h3 id="external-communication" tabindex="-1">External Communication <a class="header-anchor" href="#external-communication" aria-label="Permalink to &quot;External Communication&quot;"></a></h3>
<table tabindex="0">
<thead>
<tr>
<th>Recipient</th>
<th>Channel</th>
<th>Timeframe</th>
<th>Responsible</th>
</tr>
</thead>
<tbody>
<tr>
<td><strong>ENISA / CSIRT</strong></td>
<td>Single Reporting Platform</td>
<td>≤ 24h (early warning)</td>
<td>Security Lead</td>
</tr>
<tr>
<td><strong>Affected users</strong></td>
<td>GitHub Advisory + Email</td>
<td>Without delay (after fix)</td>
<td>Security Lead + Product Owner</td>
</tr>
<tr>
<td><strong>Public</strong></td>
<td>GitHub Security Advisory</td>
<td>After patch availability</td>
<td>Security Lead</td>
</tr>
<tr>
<td><strong>Security researchers</strong> (CVD)</td>
<td>GitHub Advisory / Email</td>
<td>Per Disclosure Policy</td>
<td>Security Lead</td>
</tr>
</tbody>
</table>
<h2 id="_4-4-3-communication-templates" tabindex="-1">4.4.3 Communication Templates <a class="header-anchor" href="#_4-4-3-communication-templates" aria-label="Permalink to &quot;4.4.3 Communication Templates&quot;"></a></h2>
<h3 id="internal-initial-notification-teams" tabindex="-1">Internal Initial Notification (Teams) <a class="header-anchor" href="#internal-initial-notification-teams" aria-label="Permalink to &quot;Internal Initial Notification (Teams)&quot;"></a></h3>
<div class="language- vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang"></span><pre class="shiki shiki-themes github-light github-dark vp-code" tabindex="0" v-pre=""><code><span class="line"><span>🚨 SECURITY INCIDENT – SEV-[1/2/3/4]</span></span>
<span class="line"><span></span></span>
<span class="line"><span>Product: [Product name] v[Version]</span></span>
<span class="line"><span>Vulnerability: [CVE-ID or brief description]</span></span>
<span class="line"><span>Severity: [CRITICAL/HIGH/MEDIUM/LOW]</span></span>
<span class="line"><span>Actively exploited: [Yes/No/Unknown]</span></span>
<span class="line"><span>ENISA reportable: [Yes/No]</span></span>
<span class="line"><span></span></span>
<span class="line"><span>Status: [Triage/Containment/Remediation/Closed]</span></span>
<span class="line"><span>Next steps: [Description]</span></span>
<span class="line"><span>Responsible: [Name]</span></span>
<span class="line"><span></span></span>
<span class="line"><span>Incident ticket: [Link to GitHub Issue]</span></span></code></pre>
</div><h3 id="external-user-notification" tabindex="-1">External User Notification <a class="header-anchor" href="#external-user-notification" aria-label="Permalink to &quot;External User Notification&quot;"></a></h3>
<div class="language- vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang"></span><pre class="shiki shiki-themes github-light github-dark vp-code" tabindex="0" v-pre=""><code><span class="line"><span>Security Notice – [Product name]</span></span>
<span class="line"><span></span></span>
<span class="line"><span>Dear user,</span></span>
<span class="line"><span></span></span>
<span class="line"><span>we have identified and remediated a security vulnerability</span></span>
<span class="line"><span>in [Product name].</span></span>
<span class="line"><span></span></span>
<span class="line"><span>Affected versions: [Versions]</span></span>
<span class="line"><span>Fixed version: [Version]</span></span>
<span class="line"><span>Severity: [CRITICAL/HIGH]</span></span>
<span class="line"><span>CVE: [CVE-ID]</span></span>
<span class="line"><span></span></span>
<span class="line"><span>Recommended action:</span></span>
<span class="line"><span>Please update to version [X.Y.Z].</span></span>
<span class="line"><span></span></span>
<span class="line"><span>Details: [Link to Security Advisory]</span></span>
<span class="line"><span></span></span>
<span class="line"><span>For questions, please contact: disclosure@bauer-group.com</span></span></code></pre>
</div><h2 id="_4-4-4-escalation-paths" tabindex="-1">4.4.4 Escalation Paths <a class="header-anchor" href="#_4-4-4-escalation-paths" aria-label="Permalink to &quot;4.4.4 Escalation Paths&quot;"></a></h2>
<div class="language- vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang"></span><pre class="shiki shiki-themes github-light github-dark vp-code" tabindex="0" v-pre=""><code><span class="line"><span>SEV-1 (Critical):</span></span>
<span class="line"><span>Developer → Security Lead → Management → ENISA (24h)</span></span>
<span class="line"><span>                                       → Users (without delay)</span></span>
<span class="line"><span></span></span>
<span class="line"><span>SEV-2 (High):</span></span>
<span class="line"><span>Developer → Security Lead → Management (info)</span></span>
<span class="line"><span>                          → Users (after fix)</span></span>
<span class="line"><span></span></span>
<span class="line"><span>SEV-3 (Medium):</span></span>
<span class="line"><span>Developer → Security Lead → Patch in next release</span></span>
<span class="line"><span></span></span>
<span class="line"><span>SEV-4 (Low):</span></span>
<span class="line"><span>Developer → Backlog → Regular release</span></span></code></pre>
</div><h2 id="_4-4-5-teams-integration" tabindex="-1">4.4.5 Teams Integration <a class="header-anchor" href="#_4-4-5-teams-integration" aria-label="Permalink to &quot;4.4.5 Teams Integration&quot;"></a></h2>
<p>The existing Teams notification (<code>teams-notifications.yml</code>) is extended for security incidents:</p>
<ul>
<li><strong>Incident Channel:</strong> Dedicated Teams channel for security incidents</li>
<li><strong>Automatic Alerts:</strong> For CRITICAL/HIGH CVE findings from the CVE monitor</li>
<li><strong>Status Updates:</strong> Automatic updates on status changes of the incident ticket</li>
</ul>
<h2 id="_4-4-6-documentation-requirement" tabindex="-1">4.4.6 Documentation Requirement <a class="header-anchor" href="#_4-4-6-documentation-requirement" aria-label="Permalink to &quot;4.4.6 Documentation Requirement&quot;"></a></h2>
<p>All communication in the context of a security incident is documented:</p>
<ul>
<li>Timestamp of each communication</li>
<li>Recipient and channel</li>
<li>Content (summary)</li>
<li>Confirmation of receipt</li>
</ul>
<p>This documentation is part of the incident ticket and serves as evidence vis-a-vis supervisory authorities.</p>
]]></content:encoded>
            <author>BAUER GROUP</author>
        </item>
        <item>
            <title><![CDATA[4.2 Vulnerability Disclosure Policy]]></title>
            <link>https://cra.docs.bauer-group.com/en/incident-response/disclosure-policy</link>
            <guid isPermaLink="false">https://cra.docs.bauer-group.com/en/incident-response/disclosure-policy</guid>
            <pubDate>Mon, 23 Mar 2026 14:15:30 GMT</pubDate>
            <description><![CDATA[# 4.2 Vulnerability Disclosure Policy

## 4.2.1 Coordinated Vulnerability Disclosure (CVD)

This policy defines the process for Coordinated Vulnerability Disclosure pursuant to CRA Art. 13(6) and ISO/IEC 29147:2018.

::: info LEGAL BASIS
**Art. 13(6) CRA:** *"The manufacturer shall facilitate the coordinated disclosure of vulnerabilities by designating a contact point for the reporting of vulnerabilities and setting out its coordinated vulnerability disclosure policy."*
:::

## 4.2.2 Scope

This policy applies to all products with digital elements of BAUER GROUP, including:

- Software products (web applications, APIs, libraries)
- Container images
- Firmware (ESP32, STM32, Zephyr)
- Publicly accessible services

## 4.2.3 Reporting Channels

### 1. GitHub Security Advisories (preferred)

**For each repository:** Security → Advisories → New Draft Advisory

Advantages:

- Confidential communication
- Integrated CVE assignment
- Patch coordination in private fork
- Structured capture

### 2. Email

**Address:** <disclosure@bauer-group.com>

- Encryption: PGP key in the repository (`SECURITY.md`)
- Language: German or English

### 3. SECURITY.md

Each repository contains a `SECURITY.md` with:

- Reporting channels
- PGP key (or link)
- Supported versions
- Response times

## 4.2.4 Process for External Reporters

### What We Expect

Security researchers reporting vulnerabilities are asked to:

- Not disclose the vulnerability publicly before a fix is available
- Not exfiltrate or destroy any data
- Not conduct denial-of-service attacks
- Allow a reasonable timeframe for remediation

### What We Commit To

| Commitment | Details |
|]]></description>
            <content:encoded><![CDATA[<h1 id="_4-2-vulnerability-disclosure-policy" tabindex="-1">4.2 Vulnerability Disclosure Policy <a class="header-anchor" href="#_4-2-vulnerability-disclosure-policy" aria-label="Permalink to &quot;4.2 Vulnerability Disclosure Policy&quot;"></a></h1>
<h2 id="_4-2-1-coordinated-vulnerability-disclosure-cvd" tabindex="-1">4.2.1 Coordinated Vulnerability Disclosure (CVD) <a class="header-anchor" href="#_4-2-1-coordinated-vulnerability-disclosure-cvd" aria-label="Permalink to &quot;4.2.1 Coordinated Vulnerability Disclosure (CVD)&quot;"></a></h2>
<p>This policy defines the process for Coordinated Vulnerability Disclosure pursuant to CRA Art. 13(6) and ISO/IEC 29147:2018.</p>
<div class="info custom-block"><p class="custom-block-title">LEGAL BASIS</p>
<p><strong>Art. 13(6) CRA:</strong> <em>&quot;The manufacturer shall facilitate the coordinated disclosure of vulnerabilities by designating a contact point for the reporting of vulnerabilities and setting out its coordinated vulnerability disclosure policy.&quot;</em></p>
</div>
<h2 id="_4-2-2-scope" tabindex="-1">4.2.2 Scope <a class="header-anchor" href="#_4-2-2-scope" aria-label="Permalink to &quot;4.2.2 Scope&quot;"></a></h2>
<p>This policy applies to all products with digital elements of BAUER GROUP, including:</p>
<ul>
<li>Software products (web applications, APIs, libraries)</li>
<li>Container images</li>
<li>Firmware (ESP32, STM32, Zephyr)</li>
<li>Publicly accessible services</li>
</ul>
<h2 id="_4-2-3-reporting-channels" tabindex="-1">4.2.3 Reporting Channels <a class="header-anchor" href="#_4-2-3-reporting-channels" aria-label="Permalink to &quot;4.2.3 Reporting Channels&quot;"></a></h2>
<h3 id="_1-github-security-advisories-preferred" tabindex="-1">1. GitHub Security Advisories (preferred) <a class="header-anchor" href="#_1-github-security-advisories-preferred" aria-label="Permalink to &quot;1. GitHub Security Advisories (preferred)&quot;"></a></h3>
<p><strong>For each repository:</strong> Security → Advisories → New Draft Advisory</p>
<p>Advantages:</p>
<ul>
<li>Confidential communication</li>
<li>Integrated CVE assignment</li>
<li>Patch coordination in private fork</li>
<li>Structured capture</li>
</ul>
<h3 id="_2-email" tabindex="-1">2. Email <a class="header-anchor" href="#_2-email" aria-label="Permalink to &quot;2. Email&quot;"></a></h3>
<p><strong>Address:</strong> <a href="mailto:disclosure@bauer-group.com" target="_blank" rel="noreferrer">disclosure@bauer-group.com</a></p>
<ul>
<li>Encryption: PGP key in the repository (<code>SECURITY.md</code>)</li>
<li>Language: German or English</li>
</ul>
<h3 id="_3-security-md" tabindex="-1">3. SECURITY.md <a class="header-anchor" href="#_3-security-md" aria-label="Permalink to &quot;3. SECURITY.md&quot;"></a></h3>
<p>Each repository contains a <code>SECURITY.md</code> with:</p>
<ul>
<li>Reporting channels</li>
<li>PGP key (or link)</li>
<li>Supported versions</li>
<li>Response times</li>
</ul>
<h2 id="_4-2-4-process-for-external-reporters" tabindex="-1">4.2.4 Process for External Reporters <a class="header-anchor" href="#_4-2-4-process-for-external-reporters" aria-label="Permalink to &quot;4.2.4 Process for External Reporters&quot;"></a></h2>
<h3 id="what-we-expect" tabindex="-1">What We Expect <a class="header-anchor" href="#what-we-expect" aria-label="Permalink to &quot;What We Expect&quot;"></a></h3>
<p>Security researchers reporting vulnerabilities are asked to:</p>
<ul>
<li>Not disclose the vulnerability publicly before a fix is available</li>
<li>Not exfiltrate or destroy any data</li>
<li>Not conduct denial-of-service attacks</li>
<li>Allow a reasonable timeframe for remediation</li>
</ul>
<h3 id="what-we-commit-to" tabindex="-1">What We Commit To <a class="header-anchor" href="#what-we-commit-to" aria-label="Permalink to &quot;What We Commit To&quot;"></a></h3>
<table tabindex="0">
<thead>
<tr>
<th>Commitment</th>
<th>Details</th>
</tr>
</thead>
<tbody>
<tr>
<td><strong>Acknowledgement of receipt</strong></td>
<td>Within <strong>48 hours</strong></td>
</tr>
<tr>
<td><strong>Initial assessment</strong></td>
<td>Within <strong>7 days</strong></td>
</tr>
<tr>
<td><strong>Status update</strong></td>
<td>At least every <strong>14 days</strong></td>
</tr>
<tr>
<td><strong>Coordinated Vulnerability Disclosure</strong></td>
<td>Jointly agreed date, default <strong>90 days</strong> after report</td>
</tr>
<tr>
<td><strong>Credit</strong></td>
<td>Named acknowledgement in the advisory (upon request)</td>
</tr>
<tr>
<td><strong>No legal action</strong></td>
<td>Against reporters who comply with this policy</td>
</tr>
</tbody>
</table>
<h3 id="disclosure-timeline" tabindex="-1">Disclosure Timeline <a class="header-anchor" href="#disclosure-timeline" aria-label="Permalink to &quot;Disclosure Timeline&quot;"></a></h3>
<div class="language- vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang"></span><pre class="shiki shiki-themes github-light github-dark vp-code" tabindex="0" v-pre=""><code><span class="line"><span>Day 0:   Vulnerability reported</span></span>
<span class="line"><span>Day 2:   Acknowledgement of receipt</span></span>
<span class="line"><span>Day 7:   Initial assessment and severity classification</span></span>
<span class="line"><span>Day 14:  Status update to reporter</span></span>
<span class="line"><span>Day 28:  Status update to reporter</span></span>
<span class="line"><span>Day 60:  Patch should be developed</span></span>
<span class="line"><span>Day 90:  Coordinated Vulnerability Disclosure (default deadline)</span></span>
<span class="line"><span>         ├── Publish security advisory</span></span>
<span class="line"><span>         ├── Assign CVE-ID</span></span>
<span class="line"><span>         ├── Publish patch release</span></span>
<span class="line"><span>         └── Reporter credited in advisory (upon request)</span></span></code></pre>
</div><div class="warning custom-block"><p class="custom-block-title">EXCEPTION</p>
<p>For actively exploited vulnerabilities, the disclosure timeline is shortened. In such cases, a patch is provided without delay and the ENISA reporting obligation is triggered (24h).</p>
</div>
<h2 id="_4-2-5-internal-process-for-incoming-reports" tabindex="-1">4.2.5 Internal Process for Incoming Reports <a class="header-anchor" href="#_4-2-5-internal-process-for-incoming-reports" aria-label="Permalink to &quot;4.2.5 Internal Process for Incoming Reports&quot;"></a></h2>
<div class="language- vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang"></span><pre class="shiki shiki-themes github-light github-dark vp-code" tabindex="0" v-pre=""><code><span class="line"><span>External vulnerability report</span></span>
<span class="line"><span>    │</span></span>
<span class="line"><span>    ├── 1. Confirm receipt (≤ 48h)</span></span>
<span class="line"><span>    │   └── Automatically or by Security Lead</span></span>
<span class="line"><span>    │</span></span>
<span class="line"><span>    ├── 2. Triage (≤ 7 days)</span></span>
<span class="line"><span>    │   ├── Reproduce vulnerability</span></span>
<span class="line"><span>    │   ├── Assess severity (CVSS)</span></span>
<span class="line"><span>    │   ├── Identify affected products</span></span>
<span class="line"><span>    │   └── Check: Actively exploited?</span></span>
<span class="line"><span>    │       └── Yes → ENISA reporting obligation + accelerated fix</span></span>
<span class="line"><span>    │</span></span>
<span class="line"><span>    ├── 3. Patch development</span></span>
<span class="line"><span>    │   ├── Develop fix (if applicable in private fork)</span></span>
<span class="line"><span>    │   ├── Conduct tests</span></span>
<span class="line"><span>    │   └── Security review</span></span>
<span class="line"><span>    │</span></span>
<span class="line"><span>    ├── 4. Coordinated Vulnerability Disclosure</span></span>
<span class="line"><span>    │   ├── Agree on timing with reporter</span></span>
<span class="line"><span>    │   ├── Prepare security advisory</span></span>
<span class="line"><span>    │   ├── Request CVE-ID (via GitHub or MITRE)</span></span>
<span class="line"><span>    │   └── Prepare patch release</span></span>
<span class="line"><span>    │</span></span>
<span class="line"><span>    └── 5. Publication</span></span>
<span class="line"><span>        ├── Publish security advisory</span></span>
<span class="line"><span>        ├── Publish patch release</span></span>
<span class="line"><span>        ├── Update SBOM</span></span>
<span class="line"><span>        ├── Inform users</span></span>
<span class="line"><span>        └── Thank and credit reporter</span></span></code></pre>
</div><h2 id="_4-2-6-safe-harbor" tabindex="-1">4.2.6 Safe Harbor <a class="header-anchor" href="#_4-2-6-safe-harbor" aria-label="Permalink to &quot;4.2.6 Safe Harbor&quot;"></a></h2>
<p>BAUER GROUP will not take legal action against security researchers who:</p>
<ul>
<li>Act in good faith</li>
<li>Comply with this Disclosure Policy</li>
<li>Do not access, copy or destroy data without authorisation</li>
<li>Do not impair services through denial-of-service</li>
<li>Do not endanger affected third parties</li>
</ul>
<h2 id="_4-2-7-compliance-references" tabindex="-1">4.2.7 Compliance References <a class="header-anchor" href="#_4-2-7-compliance-references" aria-label="Permalink to &quot;4.2.7 Compliance References&quot;"></a></h2>
<table tabindex="0">
<thead>
<tr>
<th>Standard</th>
<th>Coverage</th>
</tr>
</thead>
<tbody>
<tr>
<td>CRA Art. 13(6)</td>
<td>Contact point + CVD policy</td>
</tr>
<tr>
<td>ISO/IEC 29147:2018</td>
<td>Vulnerability Disclosure</td>
</tr>
<tr>
<td>ISO/IEC 30111:2019</td>
<td>Vulnerability Handling Processes</td>
</tr>
</tbody>
</table>
]]></content:encoded>
            <author>BAUER GROUP</author>
        </item>
        <item>
            <title><![CDATA[9.3 Machine-Readable Format]]></title>
            <link>https://cra.docs.bauer-group.com/en/product-compliance/machine-readable</link>
            <guid isPermaLink="false">https://cra.docs.bauer-group.com/en/product-compliance/machine-readable</guid>
            <pubDate>Mon, 23 Mar 2026 14:15:30 GMT</pubDate>
            <description><![CDATA[# 9.3 Machine-Readable Format

## 9.3.1 Purpose

Machine-readable compliance data enables:

- **Automated publication** on the compliance portal (→ [9.2](/en/product-compliance/publication-strategy))
- **Programmatic validation** in CI/CD pipelines
- **Aggregation** across all products in a central dashboard
- **Authority access** via API for market surveillance authorities

::: tip FORMAT
**JSON** is the primary format. The filename is `cra-statement.json`, stored in `.compliance/` within the product repository.
:::

## 9.3.2 JSON Schema

The CRA Compliance Statement follows a defined JSON schema:

```json
{
  "$schema": "https://cra.app.bauer-group.com/schemas/cra-statement/v1.json",
  "schema_version": "1.0.0",

  "manufacturer": {
    "name": "BAUER GROUP",
    "address": "[Full postal address]",
    "contact_email": "disclosure@bauer-group.com",
    "website": "[URL]"
  },

  "product": {
    "name": "[Product name]",
    "version": "[X.Y.Z]",
    "type": "[software|container|firmware|embedded]",
    "description": "[Brief description]",
    "identifier": "[Package URL or container image reference]"
  },

  "cra_classification": {
    "category": "[standard|class_i|class_ii|critical]",
    "conformity_module": "[module_a|module_bc|module_h|eucc]",
    "notified_body": "[Name and identification number, or null]"
  },

  "conformity": {
    "declaration_url": "[URL to full DoC (Annex V)]",
    "declaration_date": "[YYYY-MM-DD]",
    "ce_marking": true,
    "ce_marking_placement": "[about_dialog|documentation|website|container_label]",
    "last_assessment_date": "[YYYY-MM-DD]"
  },

  "security_documentation": {
    "sbom_url": "[URL to SBOM (CycloneDX JSON)]",
    "sbom_format": "CycloneDX",
    "sbom_version": "1.5",
    "security_policy_url": "[URL to SECURITY.md]",
    "user_info_url": "[URL to user information (Annex II)]",
    "disclosure_contact": "disclosure@bauer-group.com"
  },

  "support_period": {
    "start_date": "[YYYY-MM-DD]",
    "end_date": "[YYYY-MM-DD]",
    "phase": "[active|security|eol]",
    "update_mechanism": "[auto|manual|notification]"
  },

  "harmonised_standards": [
    {
      "identifier": "[e.g. EN XXXXX:YYYY]",
      "description": "[Description]"
    }
  ],

  "metadata": {
    "generated_at": "[ISO 8601 timestamp]",
    "generator": "[Tool or manual]",
    "statement_version": "[Version of the statement]"
  }
}
```

## 9.3.3 Field Overview

### Required Fields

| Field | Type | Description |
|]]></description>
            <content:encoded><![CDATA[<h1 id="_9-3-machine-readable-format" tabindex="-1">9.3 Machine-Readable Format <a class="header-anchor" href="#_9-3-machine-readable-format" aria-label="Permalink to &quot;9.3 Machine-Readable Format&quot;"></a></h1>
<h2 id="_9-3-1-purpose" tabindex="-1">9.3.1 Purpose <a class="header-anchor" href="#_9-3-1-purpose" aria-label="Permalink to &quot;9.3.1 Purpose&quot;"></a></h2>
<p>Machine-readable compliance data enables:</p>
<ul>
<li><strong>Automated publication</strong> on the compliance portal (→ <a href="/en/product-compliance/publication-strategy">9.2</a>)</li>
<li><strong>Programmatic validation</strong> in CI/CD pipelines</li>
<li><strong>Aggregation</strong> across all products in a central dashboard</li>
<li><strong>Authority access</strong> via API for market surveillance authorities</li>
</ul>
<div class="tip custom-block"><p class="custom-block-title">FORMAT</p>
<p><strong>JSON</strong> is the primary format. The filename is <code>cra-statement.json</code>, stored in <code>.compliance/</code> within the product repository.</p>
</div>
<h2 id="_9-3-2-json-schema" tabindex="-1">9.3.2 JSON Schema <a class="header-anchor" href="#_9-3-2-json-schema" aria-label="Permalink to &quot;9.3.2 JSON Schema&quot;"></a></h2>
<p>The CRA Compliance Statement follows a defined JSON schema:</p>
<div class="language-json vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang">json</span><pre class="shiki shiki-themes github-light github-dark vp-code" tabindex="0" v-pre=""><code><span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">{</span></span>
<span class="line"><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF">  "$schema"</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">: </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF">"https://cra.app.bauer-group.com/schemas/cra-statement/v1.json"</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">,</span></span>
<span class="line"><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF">  "schema_version"</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">: </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF">"1.0.0"</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">,</span></span>
<span class="line"></span>
<span class="line"><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF">  "manufacturer"</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">: {</span></span>
<span class="line"><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF">    "name"</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">: </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF">"BAUER GROUP"</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">,</span></span>
<span class="line"><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF">    "address"</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">: </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF">"[Full postal address]"</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">,</span></span>
<span class="line"><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF">    "contact_email"</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">: </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF">"disclosure@bauer-group.com"</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">,</span></span>
<span class="line"><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF">    "website"</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">: </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF">"[URL]"</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">  },</span></span>
<span class="line"></span>
<span class="line"><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF">  "product"</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">: {</span></span>
<span class="line"><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF">    "name"</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">: </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF">"[Product name]"</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">,</span></span>
<span class="line"><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF">    "version"</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">: </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF">"[X.Y.Z]"</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">,</span></span>
<span class="line"><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF">    "type"</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">: </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF">"[software|container|firmware|embedded]"</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">,</span></span>
<span class="line"><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF">    "description"</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">: </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF">"[Brief description]"</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">,</span></span>
<span class="line"><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF">    "identifier"</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">: </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF">"[Package URL or container image reference]"</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">  },</span></span>
<span class="line"></span>
<span class="line"><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF">  "cra_classification"</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">: {</span></span>
<span class="line"><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF">    "category"</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">: </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF">"[standard|class_i|class_ii|critical]"</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">,</span></span>
<span class="line"><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF">    "conformity_module"</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">: </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF">"[module_a|module_bc|module_h|eucc]"</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">,</span></span>
<span class="line"><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF">    "notified_body"</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">: </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF">"[Name and identification number, or null]"</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">  },</span></span>
<span class="line"></span>
<span class="line"><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF">  "conformity"</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">: {</span></span>
<span class="line"><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF">    "declaration_url"</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">: </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF">"[URL to full DoC (Annex V)]"</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">,</span></span>
<span class="line"><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF">    "declaration_date"</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">: </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF">"[YYYY-MM-DD]"</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">,</span></span>
<span class="line"><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF">    "ce_marking"</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">: </span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF">true</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">,</span></span>
<span class="line"><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF">    "ce_marking_placement"</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">: </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF">"[about_dialog|documentation|website|container_label]"</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">,</span></span>
<span class="line"><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF">    "last_assessment_date"</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">: </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF">"[YYYY-MM-DD]"</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">  },</span></span>
<span class="line"></span>
<span class="line"><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF">  "security_documentation"</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">: {</span></span>
<span class="line"><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF">    "sbom_url"</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">: </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF">"[URL to SBOM (CycloneDX JSON)]"</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">,</span></span>
<span class="line"><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF">    "sbom_format"</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">: </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF">"CycloneDX"</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">,</span></span>
<span class="line"><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF">    "sbom_version"</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">: </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF">"1.5"</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">,</span></span>
<span class="line"><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF">    "security_policy_url"</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">: </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF">"[URL to SECURITY.md]"</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">,</span></span>
<span class="line"><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF">    "user_info_url"</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">: </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF">"[URL to user information (Annex II)]"</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">,</span></span>
<span class="line"><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF">    "disclosure_contact"</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">: </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF">"disclosure@bauer-group.com"</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">  },</span></span>
<span class="line"></span>
<span class="line"><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF">  "support_period"</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">: {</span></span>
<span class="line"><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF">    "start_date"</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">: </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF">"[YYYY-MM-DD]"</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">,</span></span>
<span class="line"><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF">    "end_date"</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">: </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF">"[YYYY-MM-DD]"</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">,</span></span>
<span class="line"><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF">    "phase"</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">: </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF">"[active|security|eol]"</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">,</span></span>
<span class="line"><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF">    "update_mechanism"</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">: </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF">"[auto|manual|notification]"</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">  },</span></span>
<span class="line"></span>
<span class="line"><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF">  "harmonised_standards"</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">: [</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">    {</span></span>
<span class="line"><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF">      "identifier"</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">: </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF">"[e.g. EN XXXXX:YYYY]"</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">,</span></span>
<span class="line"><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF">      "description"</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">: </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF">"[Description]"</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">    }</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">  ],</span></span>
<span class="line"></span>
<span class="line"><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF">  "metadata"</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">: {</span></span>
<span class="line"><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF">    "generated_at"</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">: </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF">"[ISO 8601 timestamp]"</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">,</span></span>
<span class="line"><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF">    "generator"</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">: </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF">"[Tool or manual]"</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">,</span></span>
<span class="line"><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF">    "statement_version"</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">: </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF">"[Version of the statement]"</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">  }</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">}</span></span></code></pre>
</div><h2 id="_9-3-3-field-overview" tabindex="-1">9.3.3 Field Overview <a class="header-anchor" href="#_9-3-3-field-overview" aria-label="Permalink to &quot;9.3.3 Field Overview&quot;"></a></h2>
<h3 id="required-fields" tabindex="-1">Required Fields <a class="header-anchor" href="#required-fields" aria-label="Permalink to &quot;Required Fields&quot;"></a></h3>
<table tabindex="0">
<thead>
<tr>
<th>Field</th>
<th>Type</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><code>schema_version</code></td>
<td>string</td>
<td>Schema version (SemVer)</td>
</tr>
<tr>
<td><code>manufacturer.name</code></td>
<td>string</td>
<td>Company name</td>
</tr>
<tr>
<td><code>manufacturer.contact_email</code></td>
<td>string</td>
<td>Security contact</td>
</tr>
<tr>
<td><code>product.name</code></td>
<td>string</td>
<td>Product name</td>
</tr>
<tr>
<td><code>product.version</code></td>
<td>string</td>
<td>Current version (SemVer)</td>
</tr>
<tr>
<td><code>product.type</code></td>
<td>enum</td>
<td><code>software</code>, <code>container</code>, <code>firmware</code>, <code>embedded</code></td>
</tr>
<tr>
<td><code>cra_classification.category</code></td>
<td>enum</td>
<td><code>standard</code>, <code>class_i</code>, <code>class_ii</code>, <code>critical</code></td>
</tr>
<tr>
<td><code>cra_classification.conformity_module</code></td>
<td>enum</td>
<td><code>module_a</code>, <code>module_bc</code>, <code>module_h</code>, <code>eucc</code></td>
</tr>
<tr>
<td><code>conformity.declaration_url</code></td>
<td>string (URL)</td>
<td>Link to full DoC</td>
</tr>
<tr>
<td><code>conformity.declaration_date</code></td>
<td>string (date)</td>
<td>Date of DoC</td>
</tr>
<tr>
<td><code>conformity.ce_marking</code></td>
<td>boolean</td>
<td>CE marking applied?</td>
</tr>
<tr>
<td><code>security_documentation.sbom_url</code></td>
<td>string (URL)</td>
<td>Link to SBOM</td>
</tr>
<tr>
<td><code>security_documentation.security_policy_url</code></td>
<td>string (URL)</td>
<td>Link to SECURITY.md</td>
</tr>
<tr>
<td><code>security_documentation.disclosure_contact</code></td>
<td>string</td>
<td>CVD contact address</td>
</tr>
<tr>
<td><code>support_period.start_date</code></td>
<td>string (date)</td>
<td>Support start</td>
</tr>
<tr>
<td><code>support_period.end_date</code></td>
<td>string (date)</td>
<td>Support end</td>
</tr>
</tbody>
</table>
<h3 id="optional-fields" tabindex="-1">Optional Fields <a class="header-anchor" href="#optional-fields" aria-label="Permalink to &quot;Optional Fields&quot;"></a></h3>
<table tabindex="0">
<thead>
<tr>
<th>Field</th>
<th>Type</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><code>manufacturer.address</code></td>
<td>string</td>
<td>Postal address</td>
</tr>
<tr>
<td><code>manufacturer.website</code></td>
<td>string (URL)</td>
<td>Company website</td>
</tr>
<tr>
<td><code>product.description</code></td>
<td>string</td>
<td>Brief description</td>
</tr>
<tr>
<td><code>product.identifier</code></td>
<td>string</td>
<td>Package URL / image reference</td>
</tr>
<tr>
<td><code>cra_classification.notified_body</code></td>
<td>string</td>
<td>Notified body (for Module B+C / H)</td>
</tr>
<tr>
<td><code>conformity.ce_marking_placement</code></td>
<td>string</td>
<td>Where CE marking is placed</td>
</tr>
<tr>
<td><code>conformity.last_assessment_date</code></td>
<td>string (date)</td>
<td>Date of last conformity assessment</td>
</tr>
<tr>
<td><code>security_documentation.user_info_url</code></td>
<td>string (URL)</td>
<td>Link to Annex II information</td>
</tr>
<tr>
<td><code>support_period.phase</code></td>
<td>enum</td>
<td><code>active</code>, <code>security</code>, <code>eol</code></td>
</tr>
<tr>
<td><code>support_period.update_mechanism</code></td>
<td>enum</td>
<td><code>auto</code>, <code>manual</code>, <code>notification</code></td>
</tr>
<tr>
<td><code>harmonised_standards[]</code></td>
<td>array</td>
<td>Applied standards</td>
</tr>
<tr>
<td><code>metadata.*</code></td>
<td>object</td>
<td>Generation information</td>
</tr>
</tbody>
</table>
<h2 id="_9-3-4-validation" tabindex="-1">9.3.4 Validation <a class="header-anchor" href="#_9-3-4-validation" aria-label="Permalink to &quot;9.3.4 Validation&quot;"></a></h2>
<h3 id="ci-cd-pipeline" tabindex="-1">CI/CD Pipeline <a class="header-anchor" href="#ci-cd-pipeline" aria-label="Permalink to &quot;CI/CD Pipeline&quot;"></a></h3>
<p>Validation of <code>cra-statement.json</code> should be integrated into the CI/CD pipeline:</p>
<div class="language-yaml vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang">yaml</span><pre class="shiki shiki-themes github-light github-dark vp-code" tabindex="0" v-pre=""><code><span class="line"><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D"># Example: GitHub Actions step</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">- </span><span style="--shiki-light:#22863A;--shiki-dark:#85E89D">name</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">: </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF">Validate CRA Statement</span></span>
<span class="line"><span style="--shiki-light:#22863A;--shiki-dark:#85E89D">  run</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">: </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">|</span></span>
<span class="line"><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF">    npx ajv validate \</span></span>
<span class="line"><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF">      -s schemas/cra-statement-v1.schema.json \</span></span>
<span class="line"><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF">      -d .compliance/cra-statement.json</span></span></code></pre>
</div><h3 id="validation-rules" tabindex="-1">Validation Rules <a class="header-anchor" href="#validation-rules" aria-label="Permalink to &quot;Validation Rules&quot;"></a></h3>
<table tabindex="0">
<thead>
<tr>
<th>Check</th>
<th style="text-align:center">Severity</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td>Schema conformance</td>
<td style="text-align:center">🔴 Blocker</td>
<td>JSON must validate against schema</td>
</tr>
<tr>
<td>Required fields present</td>
<td style="text-align:center">🔴 Blocker</td>
<td>All required fields must be populated</td>
</tr>
<tr>
<td>URLs reachable</td>
<td style="text-align:center">🟡 Warning</td>
<td>Referenced URLs should be reachable</td>
</tr>
<tr>
<td>Date consistency</td>
<td style="text-align:center">🟡 Warning</td>
<td><code>end_date</code> must be after <code>start_date</code></td>
</tr>
<tr>
<td>Version match</td>
<td style="text-align:center">🟡 Warning</td>
<td><code>product.version</code> should match the release tag</td>
</tr>
<tr>
<td>Support not expired</td>
<td style="text-align:center">🟡 Warning</td>
<td><code>end_date</code> should be in the future</td>
</tr>
</tbody>
</table>
<h2 id="_9-3-5-complete-example" tabindex="-1">9.3.5 Complete Example <a class="header-anchor" href="#_9-3-5-complete-example" aria-label="Permalink to &quot;9.3.5 Complete Example&quot;"></a></h2>
<div class="language-json vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang">json</span><pre class="shiki shiki-themes github-light github-dark vp-code" tabindex="0" v-pre=""><code><span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">{</span></span>
<span class="line"><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF">  "$schema"</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">: </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF">"https://cra.app.bauer-group.com/schemas/cra-statement/v1.json"</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">,</span></span>
<span class="line"><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF">  "schema_version"</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">: </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF">"1.0.0"</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">,</span></span>
<span class="line"></span>
<span class="line"><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF">  "manufacturer"</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">: {</span></span>
<span class="line"><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF">    "name"</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">: </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF">"BAUER GROUP"</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">,</span></span>
<span class="line"><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF">    "address"</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">: </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF">"Musterstraße 1, 12345 Musterstadt, Germany"</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">,</span></span>
<span class="line"><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF">    "contact_email"</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">: </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF">"disclosure@bauer-group.com"</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">,</span></span>
<span class="line"><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF">    "website"</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">: </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF">"https://www.bauer-group.com"</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">  },</span></span>
<span class="line"></span>
<span class="line"><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF">  "product"</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">: {</span></span>
<span class="line"><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF">    "name"</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">: </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF">"MinIO Gateway"</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">,</span></span>
<span class="line"><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF">    "version"</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">: </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF">"2.1.0"</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">,</span></span>
<span class="line"><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF">    "type"</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">: </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF">"container"</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">,</span></span>
<span class="line"><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF">    "description"</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">: </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF">"S3-compatible object storage gateway"</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">,</span></span>
<span class="line"><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF">    "identifier"</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">: </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF">"ghcr.io/bauer-group/minio-gateway:2.1.0"</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">  },</span></span>
<span class="line"></span>
<span class="line"><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF">  "cra_classification"</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">: {</span></span>
<span class="line"><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF">    "category"</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">: </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF">"standard"</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">,</span></span>
<span class="line"><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF">    "conformity_module"</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">: </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF">"module_a"</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">,</span></span>
<span class="line"><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF">    "notified_body"</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">: </span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF">null</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">  },</span></span>
<span class="line"></span>
<span class="line"><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF">  "conformity"</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">: {</span></span>
<span class="line"><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF">    "declaration_url"</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">: </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF">"https://cra.app.bauer-group.com/products/minio-gateway/doc"</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">,</span></span>
<span class="line"><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF">    "declaration_date"</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">: </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF">"2026-03-01"</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">,</span></span>
<span class="line"><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF">    "ce_marking"</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">: </span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF">true</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">,</span></span>
<span class="line"><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF">    "ce_marking_placement"</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">: </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF">"about_dialog"</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">,</span></span>
<span class="line"><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF">    "last_assessment_date"</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">: </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF">"2026-03-01"</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">  },</span></span>
<span class="line"></span>
<span class="line"><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF">  "security_documentation"</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">: {</span></span>
<span class="line"><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF">    "sbom_url"</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">: </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF">"https://github.com/bauer-group/minio-gateway/releases/download/v2.1.0/sbom.cdx.json"</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">,</span></span>
<span class="line"><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF">    "sbom_format"</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">: </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF">"CycloneDX"</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">,</span></span>
<span class="line"><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF">    "sbom_version"</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">: </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF">"1.5"</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">,</span></span>
<span class="line"><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF">    "security_policy_url"</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">: </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF">"https://github.com/bauer-group/minio-gateway/blob/main/SECURITY.md"</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">,</span></span>
<span class="line"><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF">    "user_info_url"</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">: </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF">"https://cra.app.bauer-group.com/products/minio-gateway/user-info"</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">,</span></span>
<span class="line"><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF">    "disclosure_contact"</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">: </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF">"disclosure@bauer-group.com"</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">  },</span></span>
<span class="line"></span>
<span class="line"><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF">  "support_period"</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">: {</span></span>
<span class="line"><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF">    "start_date"</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">: </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF">"2026-03-01"</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">,</span></span>
<span class="line"><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF">    "end_date"</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">: </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF">"2031-03-01"</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">,</span></span>
<span class="line"><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF">    "phase"</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">: </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF">"active"</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">,</span></span>
<span class="line"><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF">    "update_mechanism"</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">: </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF">"auto"</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">  },</span></span>
<span class="line"></span>
<span class="line"><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF">  "harmonised_standards"</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">: [</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">    {</span></span>
<span class="line"><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF">      "identifier"</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">: </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF">"CycloneDX v1.5"</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">,</span></span>
<span class="line"><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF">      "description"</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">: </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF">"SBOM format (OWASP)"</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">    },</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">    {</span></span>
<span class="line"><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF">      "identifier"</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">: </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF">"ISO/IEC 29147:2018"</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">,</span></span>
<span class="line"><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF">      "description"</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">: </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF">"Vulnerability Disclosure"</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">    }</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">  ],</span></span>
<span class="line"></span>
<span class="line"><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF">  "metadata"</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">: {</span></span>
<span class="line"><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF">    "generated_at"</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">: </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF">"2026-03-01T10:00:00Z"</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">,</span></span>
<span class="line"><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF">    "generator"</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">: </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF">"manual"</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">,</span></span>
<span class="line"><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF">    "statement_version"</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">: </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF">"1.0.0"</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">  }</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">}</span></span></code></pre>
</div><h2 id="_9-3-6-schema-versioning" tabindex="-1">9.3.6 Schema Versioning <a class="header-anchor" href="#_9-3-6-schema-versioning" aria-label="Permalink to &quot;9.3.6 Schema Versioning&quot;"></a></h2>
<table tabindex="0">
<thead>
<tr>
<th>Field</th>
<th>Rule</th>
</tr>
</thead>
<tbody>
<tr>
<td><code>schema_version</code></td>
<td>Follows SemVer (MAJOR.MINOR.PATCH)</td>
</tr>
<tr>
<td>MAJOR</td>
<td>Incompatible changes (new required fields, structural changes)</td>
</tr>
<tr>
<td>MINOR</td>
<td>Backward-compatible extensions (new optional fields)</td>
</tr>
<tr>
<td>PATCH</td>
<td>Corrections to descriptions or validation rules</td>
</tr>
</tbody>
</table>
<div class="warning custom-block"><p class="custom-block-title">COMPATIBILITY</p>
<p>When the schema undergoes a MAJOR update, all existing <code>cra-statement.json</code> files must be migrated. Migration guides will be documented in this manual.</p>
</div>
<h2 id="_9-3-7-cross-references" tabindex="-1">9.3.7 Cross-References <a class="header-anchor" href="#_9-3-7-cross-references" aria-label="Permalink to &quot;9.3.7 Cross-References&quot;"></a></h2>
<table tabindex="0">
<thead>
<tr>
<th>Topic</th>
<th>Link</th>
</tr>
</thead>
<tbody>
<tr>
<td>Repository structure</td>
<td><a href="/en/product-compliance/publication-strategy">9.2 Publication Strategy</a></td>
</tr>
<tr>
<td>Update process</td>
<td><a href="/en/product-compliance/maintenance">9.4 Maintenance &amp; Updates</a></td>
</tr>
<tr>
<td>SBOM format</td>
<td><a href="/en/sbom-signing/format">2.2 Format Specification</a></td>
</tr>
<tr>
<td>Fillable template</td>
<td><a href="/en/templates/cra-compliance-statement">A.9 CRA Compliance Statement</a></td>
</tr>
</tbody>
</table>
]]></content:encoded>
            <author>BAUER GROUP</author>
        </item>
        <item>
            <title><![CDATA[6.1 Product Description]]></title>
            <link>https://cra.docs.bauer-group.com/en/technical-documentation/product-description</link>
            <guid isPermaLink="false">https://cra.docs.bauer-group.com/en/technical-documentation/product-description</guid>
            <pubDate>Mon, 23 Mar 2026 14:15:30 GMT</pubDate>
            <description><![CDATA[# 6.1 Product Description

## 6.1.1 Template: Product Description pursuant to Annex VII CRA

::: tip USAGE
This template is completed individually for each CRA-relevant product. Copy this template and create a product-specific version.
:::

]]></description>
            <content:encoded><![CDATA[<h1 id="_6-1-product-description" tabindex="-1">6.1 Product Description <a class="header-anchor" href="#_6-1-product-description" aria-label="Permalink to &quot;6.1 Product Description&quot;"></a></h1>
<h2 id="_6-1-1-template-product-description-pursuant-to-annex-vii-cra" tabindex="-1">6.1.1 Template: Product Description pursuant to Annex VII CRA <a class="header-anchor" href="#_6-1-1-template-product-description-pursuant-to-annex-vii-cra" aria-label="Permalink to &quot;6.1.1 Template: Product Description pursuant to Annex VII CRA&quot;"></a></h2>
<div class="tip custom-block"><p class="custom-block-title">USAGE</p>
<p>This template is completed individually for each CRA-relevant product. Copy this template and create a product-specific version.</p>
</div>
<hr>
<h3 id="_1-product-identification" tabindex="-1">1. Product Identification <a class="header-anchor" href="#_1-product-identification" aria-label="Permalink to &quot;1. Product Identification&quot;"></a></h3>
<table tabindex="0">
<thead>
<tr>
<th>Field</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td><strong>Product Name</strong></td>
<td>[Name of the product]</td>
</tr>
<tr>
<td><strong>Product Type</strong></td>
<td>[Software / Firmware / Container Image / Embedded System]</td>
</tr>
<tr>
<td><strong>Current Version</strong></td>
<td>[Version number]</td>
</tr>
<tr>
<td><strong>Manufacturer</strong></td>
<td>BAUER GROUP</td>
</tr>
<tr>
<td><strong>Contact</strong></td>
<td><a href="mailto:disclosure@bauer-group.com" target="_blank" rel="noreferrer">disclosure@bauer-group.com</a></td>
</tr>
<tr>
<td><strong>Created on</strong></td>
<td>[Date]</td>
</tr>
<tr>
<td><strong>Last Updated</strong></td>
<td>[Date]</td>
</tr>
</tbody>
</table>
<h3 id="_2-intended-use" tabindex="-1">2. Intended Use <a class="header-anchor" href="#_2-intended-use" aria-label="Permalink to &quot;2. Intended Use&quot;"></a></h3>
<p><strong>Description:</strong>
[Describe the intended purpose of the product, the target audience, and the intended operating environment.]</p>
<p><strong>Usage Environment:</strong></p>
<ul>
<li>[e.g. Cloud infrastructure, on-premise, embedded device, IoT]</li>
<li>[Operating system / Platform]</li>
<li>[Network connection required: Yes / No]</li>
</ul>
<h3 id="_3-cra-product-classification" tabindex="-1">3. CRA Product Classification <a class="header-anchor" href="#_3-cra-product-classification" aria-label="Permalink to &quot;3. CRA Product Classification&quot;"></a></h3>
<table tabindex="0">
<thead>
<tr>
<th>Criterion</th>
<th>Assessment</th>
</tr>
</thead>
<tbody>
<tr>
<td><strong>CRA Category</strong></td>
<td>[Default / Class I / Class II / Critical]</td>
</tr>
<tr>
<td><strong>Justification</strong></td>
<td>[Why this classification]</td>
</tr>
<tr>
<td><strong>Annex III/IV Reference</strong></td>
<td>[If applicable]</td>
</tr>
<tr>
<td><strong>Conformity Assessment</strong></td>
<td>[Module A / Module B+C / Module H / EUCC]</td>
</tr>
</tbody>
</table>
<h3 id="_4-technical-description" tabindex="-1">4. Technical Description <a class="header-anchor" href="#_4-technical-description" aria-label="Permalink to &quot;4. Technical Description&quot;"></a></h3>
<p><strong>Architecture Overview:</strong>
[Describe the software architecture at a high level]</p>
<p><strong>Technology Stack:</strong></p>
<table tabindex="0">
<thead>
<tr>
<th>Component</th>
<th>Technology</th>
<th>Version</th>
</tr>
</thead>
<tbody>
<tr>
<td>Runtime</td>
<td>[e.g. Node.js 20, .NET 8, Python 3.12]</td>
<td>[Version]</td>
</tr>
<tr>
<td>Framework</td>
<td>[e.g. Express, ASP.NET, Django]</td>
<td>[Version]</td>
</tr>
<tr>
<td>Database</td>
<td>[e.g. PostgreSQL, SQLite]</td>
<td>[Version]</td>
</tr>
<tr>
<td>Container</td>
<td>[e.g. Alpine 3.19, Distroless]</td>
<td>[Version]</td>
</tr>
</tbody>
</table>
<p><strong>Interfaces:</strong></p>
<table tabindex="0">
<thead>
<tr>
<th>Interface</th>
<th>Type</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td>[e.g. REST API]</td>
<td>[HTTP/HTTPS]</td>
<td>[Purpose]</td>
</tr>
<tr>
<td>[e.g. MQTT]</td>
<td>[TCP]</td>
<td>[Purpose]</td>
</tr>
<tr>
<td>[e.g. USB]</td>
<td>[Physical]</td>
<td>[Purpose]</td>
</tr>
</tbody>
</table>
<h3 id="_5-security-features" tabindex="-1">5. Security Features <a class="header-anchor" href="#_5-security-features" aria-label="Permalink to &quot;5. Security Features&quot;"></a></h3>
<table tabindex="0">
<thead>
<tr>
<th>Feature</th>
<th>Implementation</th>
<th>Status</th>
</tr>
</thead>
<tbody>
<tr>
<td>Authentication</td>
<td>[Method]</td>
<td>[Implemented / Planned]</td>
</tr>
<tr>
<td>Authorisation</td>
<td>[Method]</td>
<td>[Implemented / Planned]</td>
</tr>
<tr>
<td>Encryption (Transport)</td>
<td>[TLS 1.3]</td>
<td>[Implemented / Planned]</td>
</tr>
<tr>
<td>Encryption (Data)</td>
<td>[AES-256]</td>
<td>[Implemented / Planned]</td>
</tr>
<tr>
<td>Secure Boot</td>
<td>[Method]</td>
<td>[Implemented / N/A]</td>
</tr>
<tr>
<td>Integrity Protection</td>
<td>[Cosign / Checksums]</td>
<td>[Implemented / Planned]</td>
</tr>
</tbody>
</table>
<h3 id="_6-dependencies" tabindex="-1">6. Dependencies <a class="header-anchor" href="#_6-dependencies" aria-label="Permalink to &quot;6. Dependencies&quot;"></a></h3>
<p><strong>SBOM Reference:</strong> [Link to the current SBOM]</p>
<p><strong>Critical Third-Party Components:</strong></p>
<table tabindex="0">
<thead>
<tr>
<th>Component</th>
<th>Version</th>
<th>Licence</th>
<th>Assessment</th>
</tr>
</thead>
<tbody>
<tr>
<td>[Name]</td>
<td>[Version]</td>
<td>[Licence]</td>
<td>[A/B/C]</td>
</tr>
</tbody>
</table>
<h3 id="_7-support-period" tabindex="-1">7. Support Period <a class="header-anchor" href="#_7-support-period" aria-label="Permalink to &quot;7. Support Period&quot;"></a></h3>
<table tabindex="0">
<thead>
<tr>
<th>Field</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td><strong>Support Start</strong></td>
<td>[Date of placing on the market]</td>
</tr>
<tr>
<td><strong>Support End</strong></td>
<td>[Date — at least 5 years]</td>
</tr>
<tr>
<td><strong>Update Frequency</strong></td>
<td>[e.g. monthly, as needed]</td>
</tr>
<tr>
<td><strong>EOL Notification</strong></td>
<td>[How users will be notified]</td>
</tr>
</tbody>
</table>
<h3 id="_8-conformity" tabindex="-1">8. Conformity <a class="header-anchor" href="#_8-conformity" aria-label="Permalink to &quot;8. Conformity&quot;"></a></h3>
<table tabindex="0">
<thead>
<tr>
<th>Document</th>
<th>Status</th>
<th>Link</th>
</tr>
</thead>
<tbody>
<tr>
<td>Risk Assessment</td>
<td>[Completed / In progress]</td>
<td>[Link]</td>
</tr>
<tr>
<td>EU Declaration of Conformity</td>
<td>[Signed / In progress]</td>
<td>[Link]</td>
</tr>
<tr>
<td>SBOM</td>
<td>[Generated]</td>
<td>[Link]</td>
</tr>
<tr>
<td>Security Testing</td>
<td>[Performed / Planned]</td>
<td>[Link]</td>
</tr>
</tbody>
</table>
]]></content:encoded>
            <author>BAUER GROUP</author>
        </item>
        <item>
            <title><![CDATA[A.9 CRA Compliance Statement]]></title>
            <link>https://cra.docs.bauer-group.com/en/templates/cra-compliance-statement</link>
            <guid isPermaLink="false">https://cra.docs.bauer-group.com/en/templates/cra-compliance-statement</guid>
            <pubDate>Mon, 23 Mar 2026 14:15:30 GMT</pubDate>
            <description><![CDATA[# A.9 CRA Compliance Statement

## A.9.1 Template: Public CRA Compliance Statement

This template serves as the basis for the product-specific public CRA Compliance Statement. It consolidates all CRA-relevant information on a single page and links to the associated detailed documents.

::: warning APPLICATION NOTE
This statement is a **supplementary public presentation**. It does not replace the legally binding EU Declaration of Conformity pursuant to Annex V (→ [A.7 EU Declaration of Conformity](/en/templates/eu-declaration-of-conformity)).

Placeholders in square brackets `[...]` shall be replaced with the actual values.
:::

]]></description>
            <content:encoded><![CDATA[<h1 id="a-9-cra-compliance-statement" tabindex="-1">A.9 CRA Compliance Statement <a class="header-anchor" href="#a-9-cra-compliance-statement" aria-label="Permalink to &quot;A.9 CRA Compliance Statement&quot;"></a></h1>
<h2 id="a-9-1-template-public-cra-compliance-statement" tabindex="-1">A.9.1 Template: Public CRA Compliance Statement <a class="header-anchor" href="#a-9-1-template-public-cra-compliance-statement" aria-label="Permalink to &quot;A.9.1 Template: Public CRA Compliance Statement&quot;"></a></h2>
<p>This template serves as the basis for the product-specific public CRA Compliance Statement. It consolidates all CRA-relevant information on a single page and links to the associated detailed documents.</p>
<div class="warning custom-block"><p class="custom-block-title">APPLICATION NOTE</p>
<p>This statement is a <strong>supplementary public presentation</strong>. It does not replace the legally binding EU Declaration of Conformity pursuant to Annex V (→ <a href="/en/templates/eu-declaration-of-conformity">A.7 EU Declaration of Conformity</a>).</p>
<p>Placeholders in square brackets <code>[...]</code> shall be replaced with the actual values.</p>
</div>
<hr>
<h2 id="a-9-2-cra-compliance-statement" tabindex="-1">A.9.2 CRA COMPLIANCE STATEMENT <a class="header-anchor" href="#a-9-2-cra-compliance-statement" aria-label="Permalink to &quot;A.9.2 CRA COMPLIANCE STATEMENT&quot;"></a></h2>
<h3 id="product-name-—-version-x-y-z" tabindex="-1">[Product Name] — Version [X.Y.Z] <a class="header-anchor" href="#product-name-—-version-x-y-z" aria-label="Permalink to &quot;[Product Name] — Version [X.Y.Z]&quot;"></a></h3>
<p><strong>Date:</strong> [YYYY-MM-DD] | <strong>Manufacturer:</strong> BAUER GROUP</p>
<hr>
<p><strong>1. Product Identification</strong></p>
<table tabindex="0">
<thead>
<tr>
<th>Field</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>Product name</td>
<td>[Full product name]</td>
</tr>
<tr>
<td>Version</td>
<td>[X.Y.Z]</td>
</tr>
<tr>
<td>Product type</td>
<td>[Software / Container Image / Firmware / Embedded System]</td>
</tr>
<tr>
<td>CRA product category</td>
<td>[Standard / Class I / Class II / Critical]</td>
</tr>
<tr>
<td>Unique identifier</td>
<td>[Package URL, container image reference, or other ID]</td>
</tr>
<tr>
<td>Brief description</td>
<td>[One-line description of the product purpose]</td>
</tr>
</tbody>
</table>
<p><strong>2. Manufacturer</strong></p>
<table tabindex="0">
<thead>
<tr>
<th>Field</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>Company</td>
<td>BAUER GROUP</td>
</tr>
<tr>
<td>Address</td>
<td>[Full postal address]</td>
</tr>
<tr>
<td>Security contact</td>
<td><a href="mailto:disclosure@bauer-group.com" target="_blank" rel="noreferrer">disclosure@bauer-group.com</a></td>
</tr>
<tr>
<td>Website</td>
<td>[URL]</td>
</tr>
<tr>
<td>Authorised representative (if applicable)</td>
<td>[Name, address] or &quot;Not applicable&quot;</td>
</tr>
</tbody>
</table>
<p><strong>3. Conformity Status</strong></p>
<table tabindex="0">
<thead>
<tr>
<th>Field</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>Conformity assessment procedure</td>
<td>[Module A / Module B+C / Module H / EUCC]</td>
</tr>
<tr>
<td>EU Declaration of Conformity (Annex V)</td>
<td>[URL to full DoC]</td>
</tr>
<tr>
<td>CE marking</td>
<td>[Yes — applied in: About dialog / documentation / website / container label]</td>
</tr>
<tr>
<td>Notified body (if applicable)</td>
<td>[Name, identification number] or &quot;Not applicable (Module A)&quot;</td>
</tr>
<tr>
<td>Date of last assessment</td>
<td>[YYYY-MM-DD]</td>
</tr>
</tbody>
</table>
<p><strong>4. Security Documentation</strong></p>
<table tabindex="0">
<thead>
<tr>
<th>Document</th>
<th style="text-align:center">Available</th>
<th>Link</th>
</tr>
</thead>
<tbody>
<tr>
<td>SBOM (CycloneDX JSON)</td>
<td style="text-align:center">[Yes / No]</td>
<td>[URL to SBOM in GitHub Release]</td>
</tr>
<tr>
<td>Vulnerability Disclosure Policy</td>
<td style="text-align:center">[Yes]</td>
<td>[URL to SECURITY.md]</td>
</tr>
<tr>
<td>User information (Annex II)</td>
<td style="text-align:center">[Yes]</td>
<td>[URL]</td>
</tr>
<tr>
<td>Technical documentation (Annex VII)</td>
<td style="text-align:center">On request</td>
<td>[Contact email]</td>
</tr>
</tbody>
</table>
<p><strong>5. Support Period</strong></p>
<table tabindex="0">
<thead>
<tr>
<th>Field</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>Support start</td>
<td>[YYYY-MM-DD]</td>
</tr>
<tr>
<td>Support end</td>
<td>[YYYY-MM-DD — at least 5 years]</td>
</tr>
<tr>
<td>Current phase</td>
<td>[Active Support / Security Support / End of Life]</td>
</tr>
<tr>
<td>Update mechanism</td>
<td>[Automatic / Manual / Notification]</td>
</tr>
</tbody>
</table>
<p><strong>6. Harmonised Standards and Technical Specifications</strong></p>
<table tabindex="0">
<thead>
<tr>
<th>Standard / Specification</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td>[e.g. EN XXXXX:YYYY]</td>
<td>[Description]</td>
</tr>
<tr>
<td>CycloneDX v1.5</td>
<td>SBOM format (OWASP)</td>
</tr>
<tr>
<td>ISO/IEC 29147:2018</td>
<td>Vulnerability Disclosure</td>
</tr>
<tr>
<td>[Others]</td>
<td>[Description]</td>
</tr>
</tbody>
</table>
<p><strong>7. Vulnerability Management</strong></p>
<table tabindex="0">
<thead>
<tr>
<th>Field</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>Vulnerability Disclosure Policy</td>
<td>[URL to SECURITY.md]</td>
</tr>
<tr>
<td>Reporting contact</td>
<td><a href="mailto:disclosure@bauer-group.com" target="_blank" rel="noreferrer">disclosure@bauer-group.com</a></td>
</tr>
<tr>
<td>CVE monitoring</td>
<td>[Automated (daily) / Manual]</td>
</tr>
<tr>
<td>Patch SLAs</td>
<td>[Critical: 48h / High: 7d / Medium: 30d / Low: 90d]</td>
</tr>
<tr>
<td>ENISA reporting obligation</td>
<td>[Yes, pursuant to Art. 14 CRA]</td>
</tr>
</tbody>
</table>
<hr>
<div class="info custom-block"><p class="custom-block-title">LEGAL NOTE</p>
<p>This CRA Compliance Statement is a summary presentation for transparency purposes. The legally binding EU Declaration of Conformity pursuant to Annex V of Regulation (EU) 2024/2847 is available at the link stated above.</p>
<p>False statements in the EU Declaration of Conformity may result in penalties (Art. 64 CRA: up to EUR 15 million or 2.5% of global annual turnover).</p>
</div>
<h2 id="a-9-3-machine-readable-format" tabindex="-1">A.9.3 Machine-Readable Format <a class="header-anchor" href="#a-9-3-machine-readable-format" aria-label="Permalink to &quot;A.9.3 Machine-Readable Format&quot;"></a></h2>
<p>In parallel to the human-readable version, this statement is maintained as <code>cra-statement.json</code> in the product repository:</p>
<p>→ <a href="/en/product-compliance/machine-readable">9.3 Machine-Readable Format</a></p>
<p>→ <a href="/en/product-compliance/publication-strategy">9.2 Publication Strategy</a></p>
<h2 id="a-9-4-updates" tabindex="-1">A.9.4 Updates <a class="header-anchor" href="#a-9-4-updates" aria-label="Permalink to &quot;A.9.4 Updates&quot;"></a></h2>
<p>This statement is updated upon:</p>
<ul>
<li>New major/minor release</li>
<li>Change in CRA product category</li>
<li>Change in harmonised standards</li>
<li>Change in support period</li>
</ul>
<p>Detailed maintenance process: → <a href="/en/product-compliance/maintenance">9.4 Maintenance &amp; Updates</a></p>
]]></content:encoded>
            <author>BAUER GROUP</author>
        </item>
        <item>
            <title><![CDATA[A.3 ENISA Early Warning (24h)]]></title>
            <link>https://cra.docs.bauer-group.com/en/templates/enisa-early-warning</link>
            <guid isPermaLink="false">https://cra.docs.bauer-group.com/en/templates/enisa-early-warning</guid>
            <pubDate>Mon, 23 Mar 2026 14:15:30 GMT</pubDate>
            <description><![CDATA[# A.3 ENISA Early Warning (24h)

::: danger TIME-CRITICAL
This notification must be sent to ENISA / the competent national CSIRT within **24 hours** of becoming aware of an actively exploited vulnerability or a severe security incident.
:::

## A.3.1 Template: Early Warning pursuant to Art. 14(2)(a) CRA

]]></description>
            <content:encoded><![CDATA[<h1 id="a-3-enisa-early-warning-24h" tabindex="-1">A.3 ENISA Early Warning (24h) <a class="header-anchor" href="#a-3-enisa-early-warning-24h" aria-label="Permalink to &quot;A.3 ENISA Early Warning (24h)&quot;"></a></h1>
<div class="danger custom-block"><p class="custom-block-title">TIME-CRITICAL</p>
<p>This notification must be sent to ENISA / the competent national CSIRT within <strong>24 hours</strong> of becoming aware of an actively exploited vulnerability or a severe security incident.</p>
</div>
<h2 id="a-3-1-template-early-warning-pursuant-to-art-14-2-a-cra" tabindex="-1">A.3.1 Template: Early Warning pursuant to Art. 14(2)(a) CRA <a class="header-anchor" href="#a-3-1-template-early-warning-pursuant-to-art-14-2-a-cra" aria-label="Permalink to &quot;A.3.1 Template: Early Warning pursuant to Art. 14(2)(a) CRA&quot;"></a></h2>
<hr>
<h3 id="_1-manufacturer-identification" tabindex="-1">1. Manufacturer Identification <a class="header-anchor" href="#_1-manufacturer-identification" aria-label="Permalink to &quot;1. Manufacturer Identification&quot;"></a></h3>
<table tabindex="0">
<thead>
<tr>
<th>Field</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td><strong>Company</strong></td>
<td>BAUER GROUP</td>
</tr>
<tr>
<td><strong>Address</strong></td>
<td>[Full postal address]</td>
</tr>
<tr>
<td><strong>Contact Person</strong></td>
<td>[Name, Role]</td>
</tr>
<tr>
<td><strong>Email</strong></td>
<td><a href="mailto:disclosure@bauer-group.com" target="_blank" rel="noreferrer">disclosure@bauer-group.com</a></td>
</tr>
<tr>
<td><strong>Phone</strong></td>
<td>[Phone number]</td>
</tr>
<tr>
<td><strong>Notification Date</strong></td>
<td>[YYYY-MM-DD HH:MM UTC]</td>
</tr>
<tr>
<td><strong>Notification Reference</strong></td>
<td>[EW-YYYY-NNN]</td>
</tr>
</tbody>
</table>
<h3 id="_2-type-of-notification" tabindex="-1">2. Type of Notification <a class="header-anchor" href="#_2-type-of-notification" aria-label="Permalink to &quot;2. Type of Notification&quot;"></a></h3>
<ul>
<li>[ ] Actively exploited vulnerability (Art. 14(1))</li>
<li>[ ] Severe security incident (Art. 14(3))</li>
</ul>
<h3 id="_3-affected-product" tabindex="-1">3. Affected Product <a class="header-anchor" href="#_3-affected-product" aria-label="Permalink to &quot;3. Affected Product&quot;"></a></h3>
<table tabindex="0">
<thead>
<tr>
<th>Field</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td><strong>Product Name</strong></td>
<td>[Name]</td>
</tr>
<tr>
<td><strong>Product Type</strong></td>
<td>[Software / Firmware / Container Image]</td>
</tr>
<tr>
<td><strong>Affected Versions</strong></td>
<td>[v1.0.0 -- v1.3.2]</td>
</tr>
<tr>
<td><strong>CRA Product Category</strong></td>
<td>[Standard / Class I / Class II / Critical]</td>
</tr>
<tr>
<td><strong>Estimated Number of Users</strong></td>
<td>[Number / Estimate]</td>
</tr>
<tr>
<td><strong>Member States of Availability</strong></td>
<td>[List of EU Member States where the product has been made available]</td>
</tr>
</tbody>
</table>
<h3 id="_4-vulnerability-incident" tabindex="-1">4. Vulnerability / Incident <a class="header-anchor" href="#_4-vulnerability-incident" aria-label="Permalink to &quot;4. Vulnerability / Incident&quot;"></a></h3>
<table tabindex="0">
<thead>
<tr>
<th>Field</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td><strong>CVE ID</strong></td>
<td>[CVE-YYYY-XXXXX or &quot;not yet assigned&quot;]</td>
</tr>
<tr>
<td><strong>CVSS Score</strong></td>
<td>[X.X]</td>
</tr>
<tr>
<td><strong>Severity</strong></td>
<td>[CRITICAL / HIGH]</td>
</tr>
<tr>
<td><strong>Description</strong></td>
<td>[Brief description of the vulnerability/incident]</td>
</tr>
<tr>
<td><strong>Attack Vector</strong></td>
<td>[Network / Local / Physical]</td>
</tr>
<tr>
<td><strong>Active Exploitation Confirmed</strong></td>
<td>[Yes / Suspected / Unknown]</td>
</tr>
<tr>
<td><strong>Source of Detection</strong></td>
<td>[Internal detection / External report / Threat Intelligence / CVE DB]</td>
</tr>
</tbody>
</table>
<h3 id="_5-initial-impact-assessment" tabindex="-1">5. Initial Impact Assessment <a class="header-anchor" href="#_5-initial-impact-assessment" aria-label="Permalink to &quot;5. Initial Impact Assessment&quot;"></a></h3>
<table tabindex="0">
<thead>
<tr>
<th>Field</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td><strong>Confidentiality</strong></td>
<td>[High / Medium / Low / None]</td>
</tr>
<tr>
<td><strong>Integrity</strong></td>
<td>[High / Medium / Low / None]</td>
</tr>
<tr>
<td><strong>Availability</strong></td>
<td>[High / Medium / Low / None]</td>
</tr>
<tr>
<td><strong>Personal Data Affected</strong></td>
<td>[Yes / No / Unclear]</td>
</tr>
</tbody>
</table>
<h3 id="_6-immediate-measures" tabindex="-1">6. Immediate Measures <a class="header-anchor" href="#_6-immediate-measures" aria-label="Permalink to &quot;6. Immediate Measures&quot;"></a></h3>
<table tabindex="0">
<thead>
<tr>
<th>Measure</th>
<th>Status</th>
<th>Timeframe</th>
</tr>
</thead>
<tbody>
<tr>
<td>[e.g. Workaround published]</td>
<td>[Implemented / Planned]</td>
<td>[Timestamp]</td>
</tr>
<tr>
<td>[e.g. Patch in development]</td>
<td>[Implemented / Planned]</td>
<td>[ETA]</td>
</tr>
<tr>
<td>[e.g. User notification]</td>
<td>[Implemented / Planned]</td>
<td>[Timestamp]</td>
</tr>
</tbody>
</table>
<h3 id="_7-next-steps" tabindex="-1">7. Next Steps <a class="header-anchor" href="#_7-next-steps" aria-label="Permalink to &quot;7. Next Steps&quot;"></a></h3>
<ul>
<li>[ ] Detailed analysis (within 72h)</li>
<li>[ ] Patch development (ETA: [Date])</li>
<li>[ ] User notification (ETA: [Date])</li>
<li>[ ] Follow-up notification to ENISA (&lt;=72h)</li>
</ul>
<hr>
<p><strong>Note:</strong> This Early Warning will be supplemented by a detailed vulnerability notification within 72 hours.</p>
]]></content:encoded>
            <author>BAUER GROUP</author>
        </item>
        <item>
            <title><![CDATA[A.5 ENISA Final Report (14 Days)]]></title>
            <link>https://cra.docs.bauer-group.com/en/templates/enisa-final-report</link>
            <guid isPermaLink="false">https://cra.docs.bauer-group.com/en/templates/enisa-final-report</guid>
            <pubDate>Mon, 23 Mar 2026 14:15:30 GMT</pubDate>
            <description><![CDATA[# A.5 ENISA Final Report (14 Days)

## A.5.1 Template: Final Report pursuant to Art. 14(2)(c) CRA

]]></description>
            <content:encoded><![CDATA[<h1 id="a-5-enisa-final-report-14-days" tabindex="-1">A.5 ENISA Final Report (14 Days) <a class="header-anchor" href="#a-5-enisa-final-report-14-days" aria-label="Permalink to &quot;A.5 ENISA Final Report (14 Days)&quot;"></a></h1>
<h2 id="a-5-1-template-final-report-pursuant-to-art-14-2-c-cra" tabindex="-1">A.5.1 Template: Final Report pursuant to Art. 14(2)(c) CRA <a class="header-anchor" href="#a-5-1-template-final-report-pursuant-to-art-14-2-c-cra" aria-label="Permalink to &quot;A.5.1 Template: Final Report pursuant to Art. 14(2)(c) CRA&quot;"></a></h2>
<hr>
<h3 id="_1-reference-to-previous-notifications" tabindex="-1">1. Reference to Previous Notifications <a class="header-anchor" href="#_1-reference-to-previous-notifications" aria-label="Permalink to &quot;1. Reference to Previous Notifications&quot;"></a></h3>
<table tabindex="0">
<thead>
<tr>
<th>Field</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td><strong>Early Warning Reference</strong></td>
<td>[EW-YYYY-NNN] dated [Date]</td>
</tr>
<tr>
<td><strong>Notification Reference</strong></td>
<td>[SM-YYYY-NNN] dated [Date]</td>
</tr>
<tr>
<td><strong>Final Report Reference</strong></td>
<td>[FR-YYYY-NNN]</td>
</tr>
<tr>
<td><strong>Date</strong></td>
<td>[YYYY-MM-DD]</td>
</tr>
</tbody>
</table>
<h3 id="_2-manufacturer-identification" tabindex="-1">2. Manufacturer Identification <a class="header-anchor" href="#_2-manufacturer-identification" aria-label="Permalink to &quot;2. Manufacturer Identification&quot;"></a></h3>
<table tabindex="0">
<thead>
<tr>
<th>Field</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td><strong>Company</strong></td>
<td>BAUER GROUP</td>
</tr>
<tr>
<td><strong>Contact Person</strong></td>
<td>[Name, Role]</td>
</tr>
<tr>
<td><strong>Email</strong></td>
<td><a href="mailto:disclosure@bauer-group.com" target="_blank" rel="noreferrer">disclosure@bauer-group.com</a></td>
</tr>
</tbody>
</table>
<h3 id="_3-summary" tabindex="-1">3. Summary <a class="header-anchor" href="#_3-summary" aria-label="Permalink to &quot;3. Summary&quot;"></a></h3>
<p>[Brief summary of the incident in 3-5 sentences]</p>
<h3 id="_4-complete-timeline" tabindex="-1">4. Complete Timeline <a class="header-anchor" href="#_4-complete-timeline" aria-label="Permalink to &quot;4. Complete Timeline&quot;"></a></h3>
<table tabindex="0">
<thead>
<tr>
<th>Date/Time</th>
<th>Event</th>
</tr>
</thead>
<tbody>
<tr>
<td>[YYYY-MM-DD HH:MM]</td>
<td>Vulnerability/incident first detected</td>
</tr>
<tr>
<td>[YYYY-MM-DD HH:MM]</td>
<td>Triage completed, severity confirmed</td>
</tr>
<tr>
<td>[YYYY-MM-DD HH:MM]</td>
<td>ENISA Early Warning sent</td>
</tr>
<tr>
<td>[YYYY-MM-DD HH:MM]</td>
<td>Immediate measures implemented</td>
</tr>
<tr>
<td>[YYYY-MM-DD HH:MM]</td>
<td>ENISA Notification sent</td>
</tr>
<tr>
<td>[YYYY-MM-DD HH:MM]</td>
<td>Patch developed and tested</td>
</tr>
<tr>
<td>[YYYY-MM-DD HH:MM]</td>
<td>Patch released (Version X.Y.Z)</td>
</tr>
<tr>
<td>[YYYY-MM-DD HH:MM]</td>
<td>Users notified</td>
</tr>
<tr>
<td>[YYYY-MM-DD HH:MM]</td>
<td>Incident assessed as resolved</td>
</tr>
</tbody>
</table>
<h3 id="_5-root-cause-analysis" tabindex="-1">5. Root Cause Analysis <a class="header-anchor" href="#_5-root-cause-analysis" aria-label="Permalink to &quot;5. Root Cause Analysis&quot;"></a></h3>
<p><strong>Root Cause:</strong>
[Detailed technical analysis of the root cause of the vulnerability]</p>
<p><strong>How the vulnerability was introduced:</strong>
[e.g. Coding error, third-party component, configuration error, design weakness]</p>
<p><strong>When the vulnerability was introduced:</strong>
[Version / date of introduction]</p>
<p><strong>Why it was not detected earlier:</strong>
[e.g. Not covered by automated scans, new attack vector]</p>
<h3 id="_6-information-on-malicious-actors-art-14-2-c-ii" tabindex="-1">6. Information on Malicious Actors (Art. 14(2)(c)(ii)) <a class="header-anchor" href="#_6-information-on-malicious-actors-art-14-2-c-ii" aria-label="Permalink to &quot;6. Information on Malicious Actors (Art. 14(2)(c)(ii))&quot;"></a></h3>
<table tabindex="0">
<thead>
<tr>
<th>Field</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td><strong>Malicious Actor Identified</strong></td>
<td>[Yes / No / Suspected]</td>
</tr>
<tr>
<td><strong>Type of Attack</strong></td>
<td>[Targeted Attack / Mass Exploitation / Unknown]</td>
</tr>
<tr>
<td><strong>Known Threat Actors / Groups</strong></td>
<td>[If known, e.g. APT group, campaign name]</td>
</tr>
<tr>
<td><strong>Indicators of Compromise (IoC)</strong></td>
<td>[IP addresses, hashes, domains – if available]</td>
</tr>
<tr>
<td><strong>Cooperation with Authorities</strong></td>
<td>[Yes (which) / No / Not applicable]</td>
</tr>
</tbody>
</table>
<h3 id="_7-affected-products-final" tabindex="-1">7. Affected Products (final) <a class="header-anchor" href="#_7-affected-products-final" aria-label="Permalink to &quot;7. Affected Products (final)&quot;"></a></h3>
<table tabindex="0">
<thead>
<tr>
<th>Product</th>
<th>Affected Versions</th>
<th>Fixed Version</th>
<th>Users/Devices</th>
</tr>
</thead>
<tbody>
<tr>
<td>[Name]</td>
<td>[v1.0.0 -- v1.3.2]</td>
<td>[v1.3.3]</td>
<td>[Number]</td>
</tr>
</tbody>
</table>
<h3 id="_8-actions-taken-complete" tabindex="-1">8. Actions Taken (complete) <a class="header-anchor" href="#_8-actions-taken-complete" aria-label="Permalink to &quot;8. Actions Taken (complete)&quot;"></a></h3>
<table tabindex="0">
<thead>
<tr>
<th>Action</th>
<th>Date</th>
<th>Result</th>
</tr>
</thead>
<tbody>
<tr>
<td>Immediate containment</td>
<td>[Date]</td>
<td>[Description]</td>
</tr>
<tr>
<td>Patch development</td>
<td>[Date]</td>
<td>[Version X.Y.Z]</td>
</tr>
<tr>
<td>Security review</td>
<td>[Date]</td>
<td>[Result]</td>
</tr>
<tr>
<td>Patch release</td>
<td>[Date]</td>
<td>[Available via: Release, Registry]</td>
</tr>
<tr>
<td>SBOM updated</td>
<td>[Date]</td>
<td>[New SBOM including fix]</td>
</tr>
<tr>
<td>User notification</td>
<td>[Date]</td>
<td>[Channel: Advisory, Email]</td>
</tr>
<tr>
<td>Enhanced monitoring</td>
<td>[Date]</td>
<td>[Description]</td>
</tr>
</tbody>
</table>
<h3 id="_9-residual-risks" tabindex="-1">9. Residual Risks <a class="header-anchor" href="#_9-residual-risks" aria-label="Permalink to &quot;9. Residual Risks&quot;"></a></h3>
<table tabindex="0">
<thead>
<tr>
<th>Risk</th>
<th>Assessment</th>
<th>Mitigation</th>
</tr>
</thead>
<tbody>
<tr>
<td>[e.g. Not all users have updated]</td>
<td>[Medium]</td>
<td>[Re-notification planned]</td>
</tr>
<tr>
<td>[e.g. Similar vulnerability in related code]</td>
<td>[Low]</td>
<td>[Proactive review conducted]</td>
</tr>
</tbody>
</table>
<h3 id="_10-lessons-learned" tabindex="-1">10. Lessons Learned <a class="header-anchor" href="#_10-lessons-learned" aria-label="Permalink to &quot;10. Lessons Learned&quot;"></a></h3>
<p><strong>What went well:</strong></p>
<ul>
<li>[e.g. Rapid detection through CVE Monitor]</li>
<li>[e.g. Patch provided within 24 hours]</li>
</ul>
<p><strong>What can be improved:</strong></p>
<ul>
<li>[e.g. Extended test coverage for the affected area]</li>
<li>[e.g. Faster user notification]</li>
</ul>
<h3 id="_11-measures-to-prevent-future-incidents" tabindex="-1">11. Measures to Prevent Future Incidents <a class="header-anchor" href="#_11-measures-to-prevent-future-incidents" aria-label="Permalink to &quot;11. Measures to Prevent Future Incidents&quot;"></a></h3>
<table tabindex="0">
<thead>
<tr>
<th>Measure</th>
<th>Responsible</th>
<th>Deadline</th>
</tr>
</thead>
<tbody>
<tr>
<td>[e.g. Create additional SAST rule]</td>
<td>[Team]</td>
<td>[Date]</td>
</tr>
<tr>
<td>[e.g. Tighten dependency policy]</td>
<td>[Team]</td>
<td>[Date]</td>
</tr>
<tr>
<td>[e.g. Extend monitoring rules]</td>
<td>[Team]</td>
<td>[Date]</td>
</tr>
<tr>
<td>[e.g. Secure coding training]</td>
<td>[Team]</td>
<td>[Date]</td>
</tr>
</tbody>
</table>
<h3 id="_12-declaration" tabindex="-1">12. Declaration <a class="header-anchor" href="#_12-declaration" aria-label="Permalink to &quot;12. Declaration&quot;"></a></h3>
<p>We hereby confirm that the information contained in this Final Report is correct and complete to the best of our knowledge and belief.</p>
<table tabindex="0">
<thead>
<tr>
<th>Field</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td><strong>Name</strong></td>
<td>[Name of the responsible person]</td>
</tr>
<tr>
<td><strong>Role</strong></td>
<td>[Role]</td>
</tr>
<tr>
<td><strong>Date</strong></td>
<td>[YYYY-MM-DD]</td>
</tr>
<tr>
<td><strong>Signature</strong></td>
<td>_________________________</td>
</tr>
</tbody>
</table>
]]></content:encoded>
            <author>BAUER GROUP</author>
        </item>
        <item>
            <title><![CDATA[A.4 ENISA Notification (72h)]]></title>
            <link>https://cra.docs.bauer-group.com/en/templates/enisa-notification</link>
            <guid isPermaLink="false">https://cra.docs.bauer-group.com/en/templates/enisa-notification</guid>
            <pubDate>Mon, 23 Mar 2026 14:15:30 GMT</pubDate>
            <description><![CDATA[# A.4 ENISA Notification (72h)

::: warning DEADLINE
This notification must be sent to ENISA / the competent national CSIRT within **72 hours** of becoming aware. It supplements the Early Warning (24h).
:::

## A.4.1 Template: Vulnerability Notification pursuant to Art. 14(2)(b) CRA

]]></description>
            <content:encoded><![CDATA[<h1 id="a-4-enisa-notification-72h" tabindex="-1">A.4 ENISA Notification (72h) <a class="header-anchor" href="#a-4-enisa-notification-72h" aria-label="Permalink to &quot;A.4 ENISA Notification (72h)&quot;"></a></h1>
<div class="warning custom-block"><p class="custom-block-title">DEADLINE</p>
<p>This notification must be sent to ENISA / the competent national CSIRT within <strong>72 hours</strong> of becoming aware. It supplements the Early Warning (24h).</p>
</div>
<h2 id="a-4-1-template-vulnerability-notification-pursuant-to-art-14-2-b-cra" tabindex="-1">A.4.1 Template: Vulnerability Notification pursuant to Art. 14(2)(b) CRA <a class="header-anchor" href="#a-4-1-template-vulnerability-notification-pursuant-to-art-14-2-b-cra" aria-label="Permalink to &quot;A.4.1 Template: Vulnerability Notification pursuant to Art. 14(2)(b) CRA&quot;"></a></h2>
<hr>
<h3 id="_1-reference-to-early-warning" tabindex="-1">1. Reference to Early Warning <a class="header-anchor" href="#_1-reference-to-early-warning" aria-label="Permalink to &quot;1. Reference to Early Warning&quot;"></a></h3>
<table tabindex="0">
<thead>
<tr>
<th>Field</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td><strong>Early Warning Reference</strong></td>
<td>[EW-YYYY-NNN]</td>
</tr>
<tr>
<td><strong>Date of Early Warning</strong></td>
<td>[YYYY-MM-DD HH:MM UTC]</td>
</tr>
<tr>
<td><strong>Notification Reference</strong></td>
<td>[SM-YYYY-NNN]</td>
</tr>
<tr>
<td><strong>Notification Date</strong></td>
<td>[YYYY-MM-DD HH:MM UTC]</td>
</tr>
</tbody>
</table>
<h3 id="_2-manufacturer-identification" tabindex="-1">2. Manufacturer Identification <a class="header-anchor" href="#_2-manufacturer-identification" aria-label="Permalink to &quot;2. Manufacturer Identification&quot;"></a></h3>
<table tabindex="0">
<thead>
<tr>
<th>Field</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td><strong>Company</strong></td>
<td>BAUER GROUP</td>
</tr>
<tr>
<td><strong>Contact Person</strong></td>
<td>[Name, Role]</td>
</tr>
<tr>
<td><strong>Email</strong></td>
<td><a href="mailto:disclosure@bauer-group.com" target="_blank" rel="noreferrer">disclosure@bauer-group.com</a></td>
</tr>
<tr>
<td><strong>Phone</strong></td>
<td>[Phone number]</td>
</tr>
</tbody>
</table>
<h3 id="_3-affected-product-updated" tabindex="-1">3. Affected Product (updated) <a class="header-anchor" href="#_3-affected-product-updated" aria-label="Permalink to &quot;3. Affected Product (updated)&quot;"></a></h3>
<table tabindex="0">
<thead>
<tr>
<th>Field</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td><strong>Product Name</strong></td>
<td>[Name]</td>
</tr>
<tr>
<td><strong>Product Type</strong></td>
<td>[Software / Firmware / Container Image]</td>
</tr>
<tr>
<td><strong>All Affected Versions</strong></td>
<td>[Complete version list]</td>
</tr>
<tr>
<td><strong>Unaffected Versions</strong></td>
<td>[Versions that are not affected]</td>
</tr>
<tr>
<td><strong>Fixed Version</strong></td>
<td>[Version containing the fix, if already available]</td>
</tr>
<tr>
<td><strong>Estimated Number of Users/Devices</strong></td>
<td>[Updated estimate]</td>
</tr>
<tr>
<td><strong>Affected Platforms</strong></td>
<td>[OS, Architecture, Deployment type]</td>
</tr>
</tbody>
</table>
<h3 id="_4-detailed-vulnerability-description" tabindex="-1">4. Detailed Vulnerability Description <a class="header-anchor" href="#_4-detailed-vulnerability-description" aria-label="Permalink to &quot;4. Detailed Vulnerability Description&quot;"></a></h3>
<table tabindex="0">
<thead>
<tr>
<th>Field</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td><strong>CVE ID</strong></td>
<td>[CVE-YYYY-XXXXX]</td>
</tr>
<tr>
<td><strong>CWE Classification</strong></td>
<td>[CWE-XXX: Description]</td>
</tr>
<tr>
<td><strong>CVSS v3.1 Vector</strong></td>
<td>[e.g. AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H]</td>
</tr>
<tr>
<td><strong>CVSS Score</strong></td>
<td>[X.X]</td>
</tr>
<tr>
<td><strong>Severity</strong></td>
<td>[CRITICAL / HIGH]</td>
</tr>
</tbody>
</table>
<p><strong>Technical Description:</strong></p>
<p>[Detailed technical description of the vulnerability, including:</p>
<ul>
<li>Affected component / function</li>
<li>Type of vulnerability (Buffer Overflow, Injection, etc.)</li>
<li>Attack vector and prerequisites</li>
<li>Impact upon successful exploitation]</li>
</ul>
<p><strong>Exploitation Scenarios:</strong></p>
<p>[Description of known or possible exploitation scenarios]</p>
<h3 id="_5-active-exploitation" tabindex="-1">5. Active Exploitation <a class="header-anchor" href="#_5-active-exploitation" aria-label="Permalink to &quot;5. Active Exploitation&quot;"></a></h3>
<table tabindex="0">
<thead>
<tr>
<th>Field</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td><strong>Active Exploitation Confirmed</strong></td>
<td>[Yes / No / Suspected]</td>
</tr>
<tr>
<td><strong>Type of Exploitation</strong></td>
<td>[e.g. Targeted Attack, Mass Exploitation]</td>
</tr>
<tr>
<td><strong>Source of Information</strong></td>
<td>[Threat Intelligence, Customer report, etc.]</td>
</tr>
<tr>
<td><strong>Listed in KEV Catalog</strong></td>
<td>[Yes / No]</td>
</tr>
<tr>
<td><strong>Known Threat Actors</strong></td>
<td>[If known]</td>
</tr>
</tbody>
</table>
<h3 id="_6-impact-analysis-updated" tabindex="-1">6. Impact Analysis (updated) <a class="header-anchor" href="#_6-impact-analysis-updated" aria-label="Permalink to &quot;6. Impact Analysis (updated)&quot;"></a></h3>
<table tabindex="0">
<thead>
<tr>
<th>Impact</th>
<th>Assessment</th>
<th>Details</th>
</tr>
</thead>
<tbody>
<tr>
<td><strong>Confidentiality</strong></td>
<td>[High / Medium / Low]</td>
<td>[What data is affected]</td>
</tr>
<tr>
<td><strong>Integrity</strong></td>
<td>[High / Medium / Low]</td>
<td>[What manipulation is possible]</td>
</tr>
<tr>
<td><strong>Availability</strong></td>
<td>[High / Medium / Low]</td>
<td>[What outages are possible]</td>
</tr>
<tr>
<td><strong>Personal Data</strong></td>
<td>[Yes / No]</td>
<td>[Type of data]</td>
</tr>
<tr>
<td><strong>Physical Safety</strong></td>
<td>[Yes / No]</td>
<td>[If Firmware/IoT]</td>
</tr>
</tbody>
</table>
<h3 id="_7-actions-taken" tabindex="-1">7. Actions Taken <a class="header-anchor" href="#_7-actions-taken" aria-label="Permalink to &quot;7. Actions Taken&quot;"></a></h3>
<table tabindex="0">
<thead>
<tr>
<th>Action</th>
<th>Status</th>
<th>Date</th>
</tr>
</thead>
<tbody>
<tr>
<td>Vulnerability analysed</td>
<td>Completed</td>
<td>[Date]</td>
</tr>
<tr>
<td>Workaround provided</td>
<td>[Completed/In Progress/Not Started]</td>
<td>[Date]</td>
</tr>
<tr>
<td>Patch developed</td>
<td>[Completed/In Progress/Not Started]</td>
<td>[Date]</td>
</tr>
<tr>
<td>Patch tested</td>
<td>[Completed/In Progress/Not Started]</td>
<td>[Date]</td>
</tr>
<tr>
<td>Patch released</td>
<td>[Completed/In Progress/Not Started]</td>
<td>[Date]</td>
</tr>
<tr>
<td>Users notified</td>
<td>[Completed/In Progress/Not Started]</td>
<td>[Date]</td>
</tr>
<tr>
<td>SBOM updated</td>
<td>[Completed/In Progress/Not Started]</td>
<td>[Date]</td>
</tr>
</tbody>
</table>
<h3 id="_8-recommended-actions-for-users" tabindex="-1">8. Recommended Actions for Users <a class="header-anchor" href="#_8-recommended-actions-for-users" aria-label="Permalink to &quot;8. Recommended Actions for Users&quot;"></a></h3>
<p>[Clear instructions for affected users, e.g.:</p>
<ul>
<li>Update to version X.Y.Z</li>
<li>Workaround until patch is available</li>
<li>Configuration change]</li>
</ul>
<h3 id="_9-next-steps" tabindex="-1">9. Next Steps <a class="header-anchor" href="#_9-next-steps" aria-label="Permalink to &quot;9. Next Steps&quot;"></a></h3>
<ul>
<li>[ ] Final Report (&lt;=14 days, [planned date])</li>
<li>[ ] Further patches (if necessary)</li>
<li>[ ] Monitoring of exploitation activity</li>
</ul>
<hr>
<p><strong>Note:</strong> This notification will be supplemented by a Final Report within 14 days.</p>
]]></content:encoded>
            <author>BAUER GROUP</author>
        </item>
        <item>
            <title><![CDATA[A.7 EU Declaration of Conformity]]></title>
            <link>https://cra.docs.bauer-group.com/en/templates/eu-declaration-of-conformity</link>
            <guid isPermaLink="false">https://cra.docs.bauer-group.com/en/templates/eu-declaration-of-conformity</guid>
            <pubDate>Mon, 23 Mar 2026 14:15:30 GMT</pubDate>
            <description><![CDATA[# A.7 EU Declaration of Conformity

## A.7.1 Template pursuant to Annex V of Regulation (EU) 2024/2847 (Cyber Resilience Act)

]]></description>
            <content:encoded><![CDATA[<h1 id="a-7-eu-declaration-of-conformity" tabindex="-1">A.7 EU Declaration of Conformity <a class="header-anchor" href="#a-7-eu-declaration-of-conformity" aria-label="Permalink to &quot;A.7 EU Declaration of Conformity&quot;"></a></h1>
<h2 id="a-7-1-template-pursuant-to-annex-v-of-regulation-eu-2024-2847-cyber-resilience-act" tabindex="-1">A.7.1 Template pursuant to Annex V of Regulation (EU) 2024/2847 (Cyber Resilience Act) <a class="header-anchor" href="#a-7-1-template-pursuant-to-annex-v-of-regulation-eu-2024-2847-cyber-resilience-act" aria-label="Permalink to &quot;A.7.1 Template pursuant to Annex V of Regulation (EU) 2024/2847 (Cyber Resilience Act)&quot;"></a></h2>
<hr>
<h2 id="a-7-2-eu-declaration-of-conformity" tabindex="-1">A.7.2 EU DECLARATION OF CONFORMITY <a class="header-anchor" href="#a-7-2-eu-declaration-of-conformity" aria-label="Permalink to &quot;A.7.2 EU DECLARATION OF CONFORMITY&quot;"></a></h2>
<h3 id="no-doc-yyyy-nnn" tabindex="-1">No. [DoC-YYYY-NNN] <a class="header-anchor" href="#no-doc-yyyy-nnn" aria-label="Permalink to &quot;No. [DoC-YYYY-NNN]&quot;"></a></h3>
<hr>
<p><strong>1. Product with digital elements:</strong></p>
<table tabindex="0">
<thead>
<tr>
<th>Field</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>Product Name</td>
<td>[Full product name]</td>
</tr>
<tr>
<td>Product Type</td>
<td>[Software / Firmware / Container Image / Embedded System]</td>
</tr>
<tr>
<td>Version</td>
<td>[Version number]</td>
</tr>
<tr>
<td>Model / Variant</td>
<td>[If applicable]</td>
</tr>
<tr>
<td>Batch / Serial Number</td>
<td>[If applicable]</td>
</tr>
</tbody>
</table>
<p><strong>2. Name and address of the manufacturer and, where applicable, their authorised representative:</strong></p>
<table tabindex="0">
<thead>
<tr>
<th>Field</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>Company</td>
<td>BAUER GROUP</td>
</tr>
<tr>
<td>Address</td>
<td>[Full postal address]</td>
</tr>
<tr>
<td>Email</td>
<td><a href="mailto:disclosure@bauer-group.com" target="_blank" rel="noreferrer">disclosure@bauer-group.com</a></td>
</tr>
<tr>
<td>Website</td>
<td>[URL]</td>
</tr>
<tr>
<td><strong>Authorised Representative</strong> (if applicable)</td>
<td>[Name, Address] or &quot;Not applicable&quot;</td>
</tr>
</tbody>
</table>
<p><strong>3. This Declaration of Conformity is issued under the sole responsibility of the manufacturer.</strong></p>
<p><strong>4. Object of the declaration:</strong></p>
<p>[Description of the product that is the object of this declaration, including identification features for traceability]</p>
<p><strong>5. The object of the declaration described above is in conformity with the relevant Union harmonisation legislation:</strong></p>
<table tabindex="0">
<thead>
<tr>
<th>Legislation</th>
<th>Reference</th>
</tr>
</thead>
<tbody>
<tr>
<td>Cyber Resilience Act</td>
<td>Regulation (EU) 2024/2847</td>
</tr>
<tr>
<td>[Additional, if applicable]</td>
<td>[Reference]</td>
</tr>
</tbody>
</table>
<p><strong>6. References to the relevant harmonised standards used or to the other technical specifications in relation to which conformity is declared:</strong></p>
<table tabindex="0">
<thead>
<tr>
<th>Standard / Specification</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td>[e.g. EN XXXXX:YYYY]</td>
<td>[Description, if already published]</td>
</tr>
<tr>
<td>CycloneDX v1.5</td>
<td>SBOM format (OWASP)</td>
</tr>
<tr>
<td>ISO/IEC 29147:2018</td>
<td>Vulnerability Disclosure</td>
</tr>
<tr>
<td>[Additional]</td>
<td>[Description]</td>
</tr>
</tbody>
</table>
<p><strong>7. Where applicable: The notified body [Name, Identification Number] performed [Description of involvement] and issued the certificate [Reference number].</strong></p>
<p>[Not applicable under Module A -- Internal Control]</p>
<p><strong>8. Additional information:</strong></p>
<table tabindex="0">
<thead>
<tr>
<th>Field</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>CRA Product Category</td>
<td>[Standard / Class I / Class II / Critical]</td>
</tr>
<tr>
<td>Conformity Assessment Procedure</td>
<td>[Module A / Module B+C / Module H / EUCC]</td>
</tr>
<tr>
<td>SBOM available</td>
<td>[Yes -- CycloneDX JSON]</td>
</tr>
<tr>
<td>Vulnerability reporting</td>
<td><a href="mailto:disclosure@bauer-group.com" target="_blank" rel="noreferrer">disclosure@bauer-group.com</a> / GitHub Security Advisories</td>
</tr>
</tbody>
</table>
<p><strong>9. Support Period:</strong></p>
<table tabindex="0">
<thead>
<tr>
<th>Field</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>Support Start</td>
<td>[Date of placing on the market]</td>
</tr>
<tr>
<td>Support End</td>
<td>[Date -- at least 5 years from placing on the market]</td>
</tr>
<tr>
<td>Type of Support</td>
<td>[Active Support / Security Support]</td>
</tr>
</tbody>
</table>
<hr>
<p><strong>Signed for and on behalf of:</strong></p>
<p>BAUER GROUP</p>
<table tabindex="0">
<thead>
<tr>
<th>Field</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>Place</td>
<td>[Place]</td>
</tr>
<tr>
<td>Date</td>
<td>[YYYY-MM-DD]</td>
</tr>
<tr>
<td>Name</td>
<td>[First name and surname]</td>
</tr>
<tr>
<td>Role</td>
<td>[Role/Title]</td>
</tr>
<tr>
<td>Signature</td>
<td>_________________________</td>
</tr>
</tbody>
</table>
<hr>
<div class="warning custom-block"><p class="custom-block-title">LEGAL BINDING EFFECT</p>
<p>This Declaration of Conformity is a legally binding document. By signing, the manufacturer confirms the conformity of the product with the requirements of the Cyber Resilience Act. False statements may result in sanctions (Art. 64 CRA: up to EUR 15 million or 2.5% of total worldwide annual turnover).</p>
</div>
]]></content:encoded>
            <author>BAUER GROUP</author>
        </item>
        <item>
            <title><![CDATA[A.8 Product Security Information]]></title>
            <link>https://cra.docs.bauer-group.com/en/templates/product-security-info</link>
            <guid isPermaLink="false">https://cra.docs.bauer-group.com/en/templates/product-security-info</guid>
            <pubDate>Mon, 23 Mar 2026 14:15:30 GMT</pubDate>
            <description><![CDATA[# A.8 Product Security Information

## A.8.1 Template: Security Information for Users pursuant to Annex II CRA

]]></description>
            <content:encoded><![CDATA[<h1 id="a-8-product-security-information" tabindex="-1">A.8 Product Security Information <a class="header-anchor" href="#a-8-product-security-information" aria-label="Permalink to &quot;A.8 Product Security Information&quot;"></a></h1>
<h2 id="a-8-1-template-security-information-for-users-pursuant-to-annex-ii-cra" tabindex="-1">A.8.1 Template: Security Information for Users pursuant to Annex II CRA <a class="header-anchor" href="#a-8-1-template-security-information-for-users-pursuant-to-annex-ii-cra" aria-label="Permalink to &quot;A.8.1 Template: Security Information for Users pursuant to Annex II CRA&quot;"></a></h2>
<hr>
<h2 id="a-8-2-security-information-product-name" tabindex="-1">A.8.2 Security Information: [Product Name] <a class="header-anchor" href="#a-8-2-security-information-product-name" aria-label="Permalink to &quot;A.8.2 Security Information: [Product Name]&quot;"></a></h2>
<p><strong>Version:</strong> [X.Y.Z]
<strong>Date:</strong> [YYYY-MM-DD]
<strong>Manufacturer:</strong> BAUER GROUP</p>
<hr>
<h3 id="_1-manufacturer-contact-information" tabindex="-1">1. Manufacturer Contact Information <a class="header-anchor" href="#_1-manufacturer-contact-information" aria-label="Permalink to &quot;1. Manufacturer Contact Information&quot;"></a></h3>
<table tabindex="0">
<thead>
<tr>
<th>Field</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td><strong>Company</strong></td>
<td>BAUER GROUP</td>
</tr>
<tr>
<td><strong>Address</strong></td>
<td>[Full postal address]</td>
</tr>
<tr>
<td><strong>Email (general)</strong></td>
<td>[Email address]</td>
</tr>
<tr>
<td><strong>Email (security)</strong></td>
<td><a href="mailto:disclosure@bauer-group.com" target="_blank" rel="noreferrer">disclosure@bauer-group.com</a></td>
</tr>
<tr>
<td><strong>Website</strong></td>
<td>[URL]</td>
</tr>
</tbody>
</table>
<h3 id="_2-product-identification" tabindex="-1">2. Product Identification <a class="header-anchor" href="#_2-product-identification" aria-label="Permalink to &quot;2. Product Identification&quot;"></a></h3>
<table tabindex="0">
<thead>
<tr>
<th>Field</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td><strong>Product Name</strong></td>
<td>[Name]</td>
</tr>
<tr>
<td><strong>Version</strong></td>
<td>[X.Y.Z]</td>
</tr>
<tr>
<td><strong>Product Type</strong></td>
<td>[Software / Firmware / Container Image]</td>
</tr>
<tr>
<td><strong>Intended Use</strong></td>
<td>[Brief description]</td>
</tr>
<tr>
<td><strong>Security Environment</strong></td>
<td>[Intended deployment environment, e.g. intranet, cloud, industrial environment]</td>
</tr>
</tbody>
</table>
<h3 id="_3-security-relevant-properties" tabindex="-1">3. Security-Relevant Properties <a class="header-anchor" href="#_3-security-relevant-properties" aria-label="Permalink to &quot;3. Security-Relevant Properties&quot;"></a></h3>
<p><strong>This product provides the following security features:</strong></p>
<ul>
<li>[ ] Encryption of communications (TLS)</li>
<li>[ ] User authentication</li>
<li>[ ] Role-based access control</li>
<li>[ ] Automatic security updates</li>
<li>[ ] Secure Boot (Firmware)</li>
<li>[ ] Integrity protection (digital signature)</li>
</ul>
<h3 id="_4-foreseeable-circumstances-leading-to-cybersecurity-risks-annex-ii-no-5" tabindex="-1">4. Foreseeable Circumstances Leading to Cybersecurity Risks (Annex II No. 5) <a class="header-anchor" href="#_4-foreseeable-circumstances-leading-to-cybersecurity-risks-annex-ii-no-5" aria-label="Permalink to &quot;4. Foreseeable Circumstances Leading to Cybersecurity Risks (Annex II No. 5)&quot;"></a></h3>
<p>[Known or reasonably foreseeable circumstances related to the use of the product that may lead to significant cybersecurity risks:]</p>
<ul>
<li>[e.g. Operation without firewall on public networks]</li>
<li>[e.g. Use of outdated TLS versions by the user]</li>
<li>[e.g. Operation in non-segmented OT networks]</li>
</ul>
<h3 id="_5-eu-declaration-of-conformity-annex-ii-no-6" tabindex="-1">5. EU Declaration of Conformity (Annex II No. 6) <a class="header-anchor" href="#_5-eu-declaration-of-conformity-annex-ii-no-6" aria-label="Permalink to &quot;5. EU Declaration of Conformity (Annex II No. 6)&quot;"></a></h3>
<table tabindex="0">
<thead>
<tr>
<th>Field</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td><strong>Internet address of the EU Declaration of Conformity</strong></td>
<td>[URL to the DoC, if provided electronically]</td>
</tr>
</tbody>
</table>
<h3 id="_6-secure-installation-and-configuration" tabindex="-1">6. Secure Installation and Configuration <a class="header-anchor" href="#_6-secure-installation-and-configuration" aria-label="Permalink to &quot;6. Secure Installation and Configuration&quot;"></a></h3>
<p>[Step-by-step instructions for secure initial setup]</p>
<p><strong>Recommended Security Settings:</strong></p>
<ol>
<li>[e.g. Change default password]</li>
<li>[e.g. Enable TLS]</li>
<li>[e.g. Configure minimum privileges]</li>
<li>[e.g. Enable automatic updates]</li>
</ol>
<h3 id="_7-impact-of-modifications-on-data-security-annex-ii-no-8-b" tabindex="-1">7. Impact of Modifications on Data Security (Annex II No. 8(b)) <a class="header-anchor" href="#_7-impact-of-modifications-on-data-security-annex-ii-no-8-b" aria-label="Permalink to &quot;7. Impact of Modifications on Data Security (Annex II No. 8(b))&quot;"></a></h3>
<p>[Description of how modifications to the product (e.g. configuration changes, extensions, integration of third-party components) may affect the security of stored or processed data]</p>
<h3 id="_8-security-updates" tabindex="-1">8. Security Updates <a class="header-anchor" href="#_8-security-updates" aria-label="Permalink to &quot;8. Security Updates&quot;"></a></h3>
<table tabindex="0">
<thead>
<tr>
<th>Field</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td><strong>Automatic Updates</strong></td>
<td>[Yes / No / Configurable]</td>
</tr>
<tr>
<td><strong>Update Channel</strong></td>
<td>[e.g. GitHub Releases, Container Registry, OTA]</td>
</tr>
<tr>
<td><strong>Update Verification</strong></td>
<td>[e.g. Cosign Signature, SHA256]</td>
</tr>
<tr>
<td><strong>Update Notification</strong></td>
<td>[e.g. GitHub Watch, Email Newsletter]</td>
</tr>
</tbody>
</table>
<p>| <strong>Disabling automatic updates</strong> | [Description of how to disable automatic security updates, including impact on security] |</p>
<p><strong>How to update:</strong>
[Instructions for performing updates]</p>
<h3 id="_9-support-period" tabindex="-1">9. Support Period <a class="header-anchor" href="#_9-support-period" aria-label="Permalink to &quot;9. Support Period&quot;"></a></h3>
<table tabindex="0">
<thead>
<tr>
<th>Field</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td><strong>Support until</strong></td>
<td>[Date -- at least 5 years]</td>
</tr>
<tr>
<td><strong>Security updates until</strong></td>
<td>[Date]</td>
</tr>
<tr>
<td><strong>End of Life planned</strong></td>
<td>[Date or &quot;Not yet determined&quot;]</td>
</tr>
</tbody>
</table>
<p>After the support period expires, no further security updates will be provided. Users will be notified of the End of Life in due time.</p>
<h3 id="_10-reporting-vulnerabilities" tabindex="-1">10. Reporting Vulnerabilities <a class="header-anchor" href="#_10-reporting-vulnerabilities" aria-label="Permalink to &quot;10. Reporting Vulnerabilities&quot;"></a></h3>
<p>If you discover a security vulnerability in this product:</p>
<ol>
<li><strong>Preferred:</strong> GitHub Security Advisory in the corresponding repository</li>
<li><strong>Email:</strong> <a href="mailto:disclosure@bauer-group.com" target="_blank" rel="noreferrer">disclosure@bauer-group.com</a></li>
<li><strong>Details:</strong> See <a href="/en/incident-response/disclosure-policy">Vulnerability Disclosure Policy</a></li>
</ol>
<p><strong>Please do not disclose vulnerabilities publicly</strong> until a fix is available.</p>
<h3 id="_11-secure-decommissioning-annex-ii-no-8-d" tabindex="-1">11. Secure Decommissioning (Annex II No. 8(d)) <a class="header-anchor" href="#_11-secure-decommissioning-annex-ii-no-8-d" aria-label="Permalink to &quot;11. Secure Decommissioning (Annex II No. 8(d))&quot;"></a></h3>
<p><strong>How to securely decommission/uninstall this product:</strong></p>
<ol>
<li>[e.g. Delete all stored data via the &quot;Reset data&quot; function]</li>
<li>[e.g. Revoke / rotate cryptographic keys]</li>
<li>[e.g. Remove registrations with cloud services]</li>
<li>[e.g. Remove container images from private registry]</li>
</ol>
<div class="warning custom-block"><p class="custom-block-title">NOTE</p>
<p>Ensure that all personal and business-critical data is backed up and subsequently permanently deleted before decommissioning.</p>
</div>
<h3 id="_12-data-processed-by-the-product-annex-ii" tabindex="-1">12. Data Processed by the Product (Annex II) <a class="header-anchor" href="#_12-data-processed-by-the-product-annex-ii" aria-label="Permalink to &quot;12. Data Processed by the Product (Annex II)&quot;"></a></h3>
<table tabindex="0">
<thead>
<tr>
<th>Data Category</th>
<th>Description</th>
<th style="text-align:center">Personal Data</th>
</tr>
</thead>
<tbody>
<tr>
<td>[e.g. Telemetry data]</td>
<td>[Description]</td>
<td style="text-align:center">[Yes / No]</td>
</tr>
<tr>
<td>[e.g. Authentication data]</td>
<td>[Description]</td>
<td style="text-align:center">[Yes]</td>
</tr>
<tr>
<td>[e.g. Configuration data]</td>
<td>[Description]</td>
<td style="text-align:center">[No]</td>
</tr>
<tr>
<td>[e.g. Log data]</td>
<td>[Description]</td>
<td style="text-align:center">[Yes / No]</td>
</tr>
</tbody>
</table>
<h3 id="_13-integration-with-other-products-annex-ii-no-8-f" tabindex="-1">13. Integration with Other Products (Annex II No. 8(f)) <a class="header-anchor" href="#_13-integration-with-other-products-annex-ii-no-8-f" aria-label="Permalink to &quot;13. Integration with Other Products (Annex II No. 8(f))&quot;"></a></h3>
<p>[Information on the secure integration of this product with other products with digital elements, including:]</p>
<ul>
<li>[e.g. Supported APIs and interfaces]</li>
<li>[e.g. Recommended network segmentation]</li>
<li>[e.g. Required firewall rules]</li>
<li>[e.g. Dependencies on external services]</li>
</ul>
<h3 id="_14-known-limitations" tabindex="-1">14. Known Limitations <a class="header-anchor" href="#_14-known-limitations" aria-label="Permalink to &quot;14. Known Limitations&quot;"></a></h3>
<p>[List of known security-relevant limitations, e.g.:]</p>
<ul>
<li>[e.g. Product is not intended for use in safety-critical infrastructure]</li>
<li>[e.g. Encryption requires active configuration by the user]</li>
</ul>
<h3 id="_15-further-documentation" tabindex="-1">15. Further Documentation <a class="header-anchor" href="#_15-further-documentation" aria-label="Permalink to &quot;15. Further Documentation&quot;"></a></h3>
<table tabindex="0">
<thead>
<tr>
<th>Document</th>
<th>Link</th>
</tr>
</thead>
<tbody>
<tr>
<td>Product documentation</td>
<td>[Link]</td>
</tr>
<tr>
<td>SBOM (Software Bill of Materials)</td>
<td>[Link to Release Asset]</td>
</tr>
<tr>
<td>Security Advisory Feed</td>
<td>[Link]</td>
</tr>
<tr>
<td>Changelog</td>
<td>[Link]</td>
</tr>
</tbody>
</table>
]]></content:encoded>
            <author>BAUER GROUP</author>
        </item>
        <item>
            <title><![CDATA[A.2 Vulnerability Report (User Notification)]]></title>
            <link>https://cra.docs.bauer-group.com/en/templates/vulnerability-report</link>
            <guid isPermaLink="false">https://cra.docs.bauer-group.com/en/templates/vulnerability-report</guid>
            <pubDate>Mon, 23 Mar 2026 14:15:30 GMT</pubDate>
            <description><![CDATA[# A.2 Vulnerability Report (User Notification)

## A.2.1 Template: Security Advisory for Users

]]></description>
            <content:encoded><![CDATA[<h1 id="a-2-vulnerability-report-user-notification" tabindex="-1">A.2 Vulnerability Report (User Notification) <a class="header-anchor" href="#a-2-vulnerability-report-user-notification" aria-label="Permalink to &quot;A.2 Vulnerability Report (User Notification)&quot;"></a></h1>
<h2 id="a-2-1-template-security-advisory-for-users" tabindex="-1">A.2.1 Template: Security Advisory for Users <a class="header-anchor" href="#a-2-1-template-security-advisory-for-users" aria-label="Permalink to &quot;A.2.1 Template: Security Advisory for Users&quot;"></a></h2>
<hr>
<h3 id="security-advisory-product-name-cve-id" tabindex="-1">Security Advisory: [Product Name] -- [CVE-ID] <a class="header-anchor" href="#security-advisory-product-name-cve-id" aria-label="Permalink to &quot;Security Advisory: [Product Name] -- [CVE-ID]&quot;"></a></h3>
<p><strong>Published:</strong> [YYYY-MM-DD]
<strong>Last Updated:</strong> [YYYY-MM-DD]
<strong>Severity:</strong> [CRITICAL / HIGH / MEDIUM]
<strong>CVE:</strong> [CVE-YYYY-XXXXX]</p>
<hr>
<h3 id="summary" tabindex="-1">Summary <a class="header-anchor" href="#summary" aria-label="Permalink to &quot;Summary&quot;"></a></h3>
<p>[1-2 sentences describing the vulnerability and its impact]</p>
<h3 id="affected-versions" tabindex="-1">Affected Versions <a class="header-anchor" href="#affected-versions" aria-label="Permalink to &quot;Affected Versions&quot;"></a></h3>
<table tabindex="0">
<thead>
<tr>
<th>Product</th>
<th>Affected Versions</th>
<th>Fixed Version</th>
</tr>
</thead>
<tbody>
<tr>
<td>[Name]</td>
<td>[&lt; v1.3.3]</td>
<td>[v1.3.3]</td>
</tr>
</tbody>
</table>
<h3 id="vulnerability" tabindex="-1">Vulnerability <a class="header-anchor" href="#vulnerability" aria-label="Permalink to &quot;Vulnerability&quot;"></a></h3>
<p><strong>Description:</strong>
[Clear description of the vulnerability for end users]</p>
<p><strong>Impact:</strong>
[What could an attacker do? What data/functions are at risk?]</p>
<p><strong>Severity:</strong></p>
<ul>
<li>CVSS Score: [X.X]</li>
<li>Attack Vector: [Network / Local / Physical]</li>
</ul>
<h3 id="recommended-action" tabindex="-1">Recommended Action <a class="header-anchor" href="#recommended-action" aria-label="Permalink to &quot;Recommended Action&quot;"></a></h3>
<p><strong>Immediate:</strong></p>
<ol>
<li>Update to version <strong>[X.Y.Z]</strong></li>
</ol>
<p><strong>For Containers:</strong></p>
<div class="language-bash vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang">bash</span><pre class="shiki shiki-themes github-light github-dark vp-code" tabindex="0" v-pre=""><code><span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0">docker</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF"> pull</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF"> ghcr.io/bauer-group/[image]:[new-tag]</span></span></code></pre>
</div><p><strong>For Firmware:</strong>
[Specific update instructions]</p>
<p><strong>Workaround (if an update is not immediately possible):</strong>
[Description of temporary measures]</p>
<h3 id="timeline" tabindex="-1">Timeline <a class="header-anchor" href="#timeline" aria-label="Permalink to &quot;Timeline&quot;"></a></h3>
<table tabindex="0">
<thead>
<tr>
<th>Date</th>
<th>Event</th>
</tr>
</thead>
<tbody>
<tr>
<td>[Date]</td>
<td>Vulnerability identified</td>
</tr>
<tr>
<td>[Date]</td>
<td>Patch developed and tested</td>
</tr>
<tr>
<td>[Date]</td>
<td>Patch released (v[X.Y.Z])</td>
</tr>
<tr>
<td>[Date]</td>
<td>Security advisory published</td>
</tr>
</tbody>
</table>
<h3 id="further-information" tabindex="-1">Further Information <a class="header-anchor" href="#further-information" aria-label="Permalink to &quot;Further Information&quot;"></a></h3>
<ul>
<li>GitHub Security Advisory: [Link]</li>
<li>Release Notes: [Link]</li>
<li>SBOM: [Link]</li>
</ul>
<h3 id="contact" tabindex="-1">Contact <a class="header-anchor" href="#contact" aria-label="Permalink to &quot;Contact&quot;"></a></h3>
<p>For questions regarding this vulnerability: <a href="mailto:disclosure@bauer-group.com" target="_blank" rel="noreferrer">disclosure@bauer-group.com</a></p>
<h3 id="credit" tabindex="-1">Credit <a class="header-anchor" href="#credit" aria-label="Permalink to &quot;Credit&quot;"></a></h3>
<p>[If the vulnerability was reported by an external researcher and they wish to be credited]</p>
]]></content:encoded>
            <author>BAUER GROUP</author>
        </item>
        <item>
            <title><![CDATA[3.5 Vulnerability Handling Requirements (Annex I Part II)]]></title>
            <link>https://cra.docs.bauer-group.com/en/vulnerability-management/handling-requirements</link>
            <guid isPermaLink="false">https://cra.docs.bauer-group.com/en/vulnerability-management/handling-requirements</guid>
            <pubDate>Mon, 23 Mar 2026 14:15:30 GMT</pubDate>
            <description><![CDATA[# 3.5 Vulnerability Handling Requirements (Annex I Part II)

## 3.5.1 Overview

Annex I Part II of the CRA defines 8 vulnerability handling requirements that manufacturers must fulfill throughout the entire support period of a product with digital elements. While Part I governs the security properties of the product itself ([Essential Security Requirements](/en/technical-documentation/security-requirements)), Part II addresses the organizational and procedural obligations for handling vulnerabilities.

::: info LEGAL BASIS
**Annex I Part II CRA:** Vulnerability handling requirements. Manufacturers of products with digital elements shall comply with the following requirements in order to effectively handle vulnerabilities of the product throughout the support period.
:::

]]></description>
            <content:encoded><![CDATA[<h1 id="_3-5-vulnerability-handling-requirements-annex-i-part-ii" tabindex="-1">3.5 Vulnerability Handling Requirements (Annex I Part II) <a class="header-anchor" href="#_3-5-vulnerability-handling-requirements-annex-i-part-ii" aria-label="Permalink to &quot;3.5 Vulnerability Handling Requirements (Annex I Part II)&quot;"></a></h1>
<h2 id="_3-5-1-overview" tabindex="-1">3.5.1 Overview <a class="header-anchor" href="#_3-5-1-overview" aria-label="Permalink to &quot;3.5.1 Overview&quot;"></a></h2>
<p>Annex I Part II of the CRA defines 8 vulnerability handling requirements that manufacturers must fulfill throughout the entire support period of a product with digital elements. While Part I governs the security properties of the product itself (<a href="/en/technical-documentation/security-requirements">Essential Security Requirements</a>), Part II addresses the organizational and procedural obligations for handling vulnerabilities.</p>
<div class="info custom-block"><p class="custom-block-title">LEGAL BASIS</p>
<p><strong>Annex I Part II CRA:</strong> Vulnerability handling requirements. Manufacturers of products with digital elements shall comply with the following requirements in order to effectively handle vulnerabilities of the product throughout the support period.</p>
</div>
<hr>
<h2 id="_3-5-2-no-1-–-identify-and-document-vulnerabilities-and-components" tabindex="-1">3.5.2 No. 1 – Identify and Document Vulnerabilities and Components <a class="header-anchor" href="#_3-5-2-no-1-–-identify-and-document-vulnerabilities-and-components" aria-label="Permalink to &quot;3.5.2 No. 1 – Identify and Document Vulnerabilities and Components&quot;"></a></h2>
<p><strong>Requirement:</strong> The manufacturer shall identify and document vulnerabilities and components contained in the product, including by drawing up a software bill of materials (SBOM) in a commonly used and machine-readable format covering at least the top-level dependencies of the product.</p>
<p><strong>Implementation at BAUER GROUP:</strong></p>
<ul>
<li>Automated <a href="/en/sbom-signing/">SBOM generation</a> in CycloneDX format with every release</li>
<li>Complete coverage of all direct and transitive dependencies</li>
<li>Daily <a href="/en/vulnerability-management/cve-monitoring">CVE Monitoring</a> of all active product SBOMs against NVD, GitHub Advisory Database, and OSV</li>
<li>Multi-engine security scanning (Trivy, Grype, Snyk) in the CI/CD pipeline</li>
<li>Dependabot for automatic detection of outdated or vulnerable dependencies</li>
<li>Centralized inventory of all products and their component structure</li>
</ul>
<p><strong>Evidence:</strong> SBOM per release (CycloneDX JSON), CVE scan reports, dependency audit logs, component inventory</p>
<hr>
<h2 id="_3-5-3-no-2-–-address-and-remediate-vulnerabilities-without-delay" tabindex="-1">3.5.3 No. 2 – Address and Remediate Vulnerabilities Without Delay <a class="header-anchor" href="#_3-5-3-no-2-–-address-and-remediate-vulnerabilities-without-delay" aria-label="Permalink to &quot;3.5.3 No. 2 – Address and Remediate Vulnerabilities Without Delay&quot;"></a></h2>
<p><strong>Requirement:</strong> The manufacturer shall address and remediate vulnerabilities without delay, including by providing security updates. Where technically feasible, security updates shall be provided separately from functional updates.</p>
<p><strong>Implementation at BAUER GROUP:</strong></p>
<ul>
<li>SLA-based <a href="/en/vulnerability-management/patch-management">Patch Management process</a> with defined response times:
<ul>
<li>P0 (Critical, actively exploited): Hotfix within 24 hours</li>
<li>P1 (Critical): Hotfix within 48 hours</li>
<li>P2 (High): Patch release within 7 days</li>
<li>P3 (Medium): Minor release within 30 days</li>
</ul>
</li>
<li>Separation of security updates and functional updates in the release process</li>
<li>Pre-Release Security Gate: No release with known Critical/High CVEs</li>
<li>Automated dependency updates via Dependabot with automatic pull requests</li>
</ul>
<p><strong>Evidence:</strong> Patch logs with timestamps, release notes with security fix labels, SLA compliance reports</p>
<hr>
<h2 id="_3-5-4-no-3-–-effective-and-regular-tests-and-reviews" tabindex="-1">3.5.4 No. 3 – Effective and Regular Tests and Reviews <a class="header-anchor" href="#_3-5-4-no-3-–-effective-and-regular-tests-and-reviews" aria-label="Permalink to &quot;3.5.4 No. 3 – Effective and Regular Tests and Reviews&quot;"></a></h2>
<p><strong>Requirement:</strong> The manufacturer shall apply effective and regular tests and reviews of the security of the product with digital elements.</p>
<p><strong>Implementation at BAUER GROUP:</strong></p>
<ul>
<li><strong>Automated Testing:</strong> SAST, DAST, and SCA in every CI/CD pipeline</li>
<li><strong>Container Scanning:</strong> Trivy scan of all container images at build time and as scheduled jobs</li>
<li><strong>Dependency Scanning:</strong> Daily SBOM-based <a href="/en/vulnerability-management/cve-monitoring">CVE scan</a></li>
<li><strong>Regular Reviews:</strong> Quarterly security reviews per product</li>
<li><strong>Penetration Testing:</strong> Annually for critical products, supplementary testing on substantial modifications</li>
<li><strong>Risk Assessment:</strong> Context-specific <a href="/en/vulnerability-management/risk-assessment">risk assessment</a> for each new vulnerability</li>
</ul>
<p><strong>Evidence:</strong> CI/CD scan results, security review records, penetration test reports, risk assessment reports</p>
<hr>
<h2 id="_3-5-5-no-4-–-public-disclosure-of-remediated-vulnerabilities" tabindex="-1">3.5.5 No. 4 – Public Disclosure of Remediated Vulnerabilities <a class="header-anchor" href="#_3-5-5-no-4-–-public-disclosure-of-remediated-vulnerabilities" aria-label="Permalink to &quot;3.5.5 No. 4 – Public Disclosure of Remediated Vulnerabilities&quot;"></a></h2>
<p><strong>Requirement:</strong> Once a security update has been made available, the manufacturer shall publicly disclose information about fixed vulnerabilities, including a description of the vulnerability, information allowing users to identify the affected products, the impacts, the severity, and remediation measures. Where available, a CVE identifier shall be assigned.</p>
<p><strong>Implementation at BAUER GROUP:</strong></p>
<ul>
<li>Publication of Security Advisories via GitHub Security Advisories</li>
<li>Each remediated vulnerability includes:
<ul>
<li><strong>CVE ID:</strong> Assigned via GitHub CNA or MITRE</li>
<li><strong>Description:</strong> Clear explanation of the vulnerability and affected versions</li>
<li><strong>Severity:</strong> CVSS v3.1/v4.0 score and rating</li>
<li><strong>Affected Products:</strong> Exact version information</li>
<li><strong>Remediation:</strong> Reference to the security update and recommended actions</li>
</ul>
</li>
<li>Release notes contain a dedicated security section</li>
<li>Coordinated disclosure in accordance with <a href="/en/incident-response/disclosure-policy">Disclosure Policy</a></li>
</ul>
<p><strong>Evidence:</strong> GitHub Security Advisories, release notes, CVE entries in NVD/OSV</p>
<hr>
<h2 id="_3-5-6-no-5-–-coordinated-vulnerability-disclosure-policy" tabindex="-1">3.5.6 No. 5 – Coordinated Vulnerability Disclosure Policy <a class="header-anchor" href="#_3-5-6-no-5-–-coordinated-vulnerability-disclosure-policy" aria-label="Permalink to &quot;3.5.6 No. 5 – Coordinated Vulnerability Disclosure Policy&quot;"></a></h2>
<p><strong>Requirement:</strong> The manufacturer shall put in place and enforce a policy on coordinated vulnerability disclosure.</p>
<p><strong>Implementation at BAUER GROUP:</strong></p>
<ul>
<li>Comprehensive <a href="/en/incident-response/disclosure-policy">Disclosure Policy</a> in accordance with ISO/IEC 29147:2018</li>
<li>Defined reporting channels:
<ul>
<li>GitHub Security Advisories (preferred)</li>
<li>Dedicated email address (<a href="mailto:security@bauer-group.com" target="_blank" rel="noreferrer">security@bauer-group.com</a>)</li>
<li>SECURITY.md in every repository</li>
</ul>
</li>
<li>Binding response times for incoming reports (initial response within 48 hours)</li>
<li>Coordinated disclosure period (default 90 days)</li>
<li>Safe harbor clause for good-faith security researchers</li>
<li>Recognition program (Security Hall of Fame)</li>
</ul>
<p><strong>Evidence:</strong> Disclosure Policy (published), SECURITY.md in repositories, report tracking log</p>
<hr>
<h2 id="_3-5-7-no-6-–-facilitate-sharing-of-vulnerability-information" tabindex="-1">3.5.7 No. 6 – Facilitate Sharing of Vulnerability Information <a class="header-anchor" href="#_3-5-7-no-6-–-facilitate-sharing-of-vulnerability-information" aria-label="Permalink to &quot;3.5.7 No. 6 – Facilitate Sharing of Vulnerability Information&quot;"></a></h2>
<p><strong>Requirement:</strong> The manufacturer shall take measures to facilitate the sharing of information about potential vulnerabilities in its product and in third-party components contained therein, including by providing a contact address for the reporting of vulnerabilities.</p>
<p><strong>Implementation at BAUER GROUP:</strong></p>
<ul>
<li><strong>Contact Point:</strong> Dedicated security contact address in every product and repository</li>
<li><strong>Upstream Communication:</strong> Active reporting of vulnerabilities in utilized open-source components to upstream maintainers</li>
<li><strong>ENISA Reporting Process:</strong> Structured reporting of actively exploited vulnerabilities to ENISA per <a href="/en/incident-response/enisa-reporting">reporting process</a></li>
<li><strong>Internal Communication:</strong> Security-relevant information shared through defined channels (<a href="/en/incident-response/communication">communication plan</a>)</li>
<li><strong>Industry Cooperation:</strong> Participation in relevant information sharing initiatives (ISACs, security communities)</li>
</ul>
<p><strong>Evidence:</strong> Contact point documentation, upstream reporting logs, ENISA reports, communication records</p>
<hr>
<h2 id="_3-5-8-no-7-–-mechanisms-for-secure-distribution-of-updates" tabindex="-1">3.5.8 No. 7 – Mechanisms for Secure Distribution of Updates <a class="header-anchor" href="#_3-5-8-no-7-–-mechanisms-for-secure-distribution-of-updates" aria-label="Permalink to &quot;3.5.8 No. 7 – Mechanisms for Secure Distribution of Updates&quot;"></a></h2>
<p><strong>Requirement:</strong> The manufacturer shall provide mechanisms to securely distribute updates for products with digital elements to ensure timely deployment. Security patches and updates shall be distributed through trusted channels.</p>
<p><strong>Implementation at BAUER GROUP:</strong></p>
<ul>
<li><strong>Signed Artifacts:</strong> All release artifacts are signed with Cosign (<a href="/en/sbom-signing/signing">Signing</a>)</li>
<li><strong>Trusted Channels:</strong>
<ul>
<li>Container images via signed registry (GHCR)</li>
<li>Binaries via signed GitHub Releases</li>
<li>Firmware updates via secured OTA channels</li>
</ul>
</li>
<li><strong>Integrity Verification:</strong> <a href="/en/sbom-signing/verification">Verification process</a> using Cosign verify</li>
<li><strong>Update Mechanism:</strong> Automatic and manual update paths documented (<a href="/en/technical-documentation/update-mechanism">Update Mechanism</a>)</li>
<li><strong>Availability:</strong> Updates delivered through redundant infrastructure</li>
<li><strong>Rollback:</strong> Ability to revert to previous version on failed updates</li>
</ul>
<p><strong>Evidence:</strong> Signature logs, update architecture documentation, verification guide, rollback test records</p>
<hr>
<h2 id="_3-5-9-no-8-–-security-patches-without-delay-and-free-of-charge" tabindex="-1">3.5.9 No. 8 – Security Patches Without Delay and Free of Charge <a class="header-anchor" href="#_3-5-9-no-8-–-security-patches-without-delay-and-free-of-charge" aria-label="Permalink to &quot;3.5.9 No. 8 – Security Patches Without Delay and Free of Charge&quot;"></a></h2>
<p><strong>Requirement:</strong> The manufacturer shall ensure that security patches are disseminated without delay and free of charge, accompanied by advisory messages providing users with relevant information, including on potential actions to be taken.</p>
<p><strong>Implementation at BAUER GROUP:</strong></p>
<ul>
<li><strong>Free of Charge:</strong> All security patches are available free of charge throughout the entire <a href="/en/technical-documentation/support-period">support period</a></li>
<li><strong>Without Delay:</strong> In accordance with SLA requirements of <a href="/en/vulnerability-management/patch-management">Patch Management</a></li>
<li><strong>Advisory Messages:</strong> Every security update is accompanied by:
<ul>
<li>Description of the remediated vulnerabilities</li>
<li>Severity (CVSS score)</li>
<li>Affected versions and upgrade path</li>
<li>Recommended user actions (workarounds, configuration changes)</li>
<li>Timeline for remediation (if delayed)</li>
</ul>
</li>
<li><strong>Notification:</strong> Proactive notification of users about available security updates</li>
<li><strong>No Bundling:</strong> Security updates do not contain mandatory functional changes</li>
</ul>
<div class="warning custom-block"><p class="custom-block-title">IMPORTANT</p>
<p>Pursuant to Art. 10(16) CRA, security patches must be provided free of charge for the entire support period. Tying security patches to paid maintenance contracts is not permissible.</p>
</div>
<p><strong>Evidence:</strong> Release notes with security section, advisory messages, download statistics, user notification logs</p>
<hr>
<h2 id="_3-5-10-compliance-matrix" tabindex="-1">3.5.10 Compliance Matrix <a class="header-anchor" href="#_3-5-10-compliance-matrix" aria-label="Permalink to &quot;3.5.10 Compliance Matrix&quot;"></a></h2>
<table tabindex="0">
<thead>
<tr>
<th>No.</th>
<th>Requirement</th>
<th style="text-align:center">Implementation Status</th>
<th>Evidence Location</th>
<th>Reference</th>
</tr>
</thead>
<tbody>
<tr>
<td>1</td>
<td>Identify vulnerabilities and components (SBOM)</td>
<td style="text-align:center">✅</td>
<td>SBOM archive, CVE reports</td>
<td><a href="/en/sbom-signing/">SBOM</a>, <a href="/en/vulnerability-management/cve-monitoring">CVE Monitoring</a></td>
</tr>
<tr>
<td>2</td>
<td>Remediate vulnerabilities without delay</td>
<td style="text-align:center">✅</td>
<td>Patch logs, release notes</td>
<td><a href="/en/vulnerability-management/patch-management">Patch Management</a></td>
</tr>
<tr>
<td>3</td>
<td>Effective and regular tests</td>
<td style="text-align:center">✅</td>
<td>CI/CD reports, pen test results</td>
<td><a href="/en/vulnerability-management/cve-monitoring">CVE Monitoring</a></td>
</tr>
<tr>
<td>4</td>
<td>Public disclosure (CVE ID, severity)</td>
<td style="text-align:center">✅</td>
<td>GitHub Advisories, NVD</td>
<td><a href="/en/incident-response/disclosure-policy">Disclosure Policy</a></td>
</tr>
<tr>
<td>5</td>
<td>Coordinated vulnerability disclosure policy</td>
<td style="text-align:center">✅</td>
<td>Disclosure Policy, SECURITY.md</td>
<td><a href="/en/incident-response/disclosure-policy">Disclosure Policy</a></td>
</tr>
<tr>
<td>6</td>
<td>Facilitate sharing of vulnerability information</td>
<td style="text-align:center">✅</td>
<td>Contact points, ENISA reports</td>
<td><a href="/en/incident-response/enisa-reporting">ENISA Reporting</a></td>
</tr>
<tr>
<td>7</td>
<td>Secure distribution of updates</td>
<td style="text-align:center">✅</td>
<td>Signature logs, update architecture</td>
<td><a href="/en/technical-documentation/update-mechanism">Update Mechanism</a>, <a href="/en/sbom-signing/signing">Signing</a></td>
</tr>
<tr>
<td>8</td>
<td>Patches without delay and free of charge</td>
<td style="text-align:center">✅</td>
<td>Release notes, advisories</td>
<td><a href="/en/vulnerability-management/patch-management">Patch Management</a></td>
</tr>
</tbody>
</table>
]]></content:encoded>
            <author>BAUER GROUP</author>
        </item>
        <item>
            <title><![CDATA[Chapter 9: Product Compliance Publication]]></title>
            <link>https://cra.docs.bauer-group.com/en/product-compliance/</link>
            <guid isPermaLink="false">https://cra.docs.bauer-group.com/en/product-compliance/</guid>
            <pubDate>Mon, 23 Mar 2026 13:07:11 GMT</pubDate>
            <description><![CDATA[# Chapter 9: Product Compliance Publication

## Overview

The CRA requires manufacturers to make extensive compliance information publicly accessible. The EU Declaration of Conformity, user information, the support period, and the Vulnerability Disclosure Policy must be available to customers, authorities, and the public.

This chapter describes how each software product publishes its CRA compliance artefacts **as a consolidated public compliance statement** — and how this process is standardised and automated across all products.

::: info LEGAL BASIS
**Art. 13 CRA:** *"The manufacturer shall ensure that the product is accompanied by the information set out in Annex II."*

**Art. 28(3) CRA:** *"The manufacturer may include with the product a simplified EU declaration of conformity as set out in Annex VI, provided that the full version is made available online."*

**Art. 29 CRA:** The CE marking shall be affixed to the product or its accompanying documents before the product is placed on the market.
:::

## Why a Public Compliance Page?

| Reason | Explanation |
|]]></description>
            <content:encoded><![CDATA[<h1 id="chapter-9-product-compliance-publication" tabindex="-1">Chapter 9: Product Compliance Publication <a class="header-anchor" href="#chapter-9-product-compliance-publication" aria-label="Permalink to &quot;Chapter 9: Product Compliance Publication&quot;"></a></h1>
<h2 id="overview" tabindex="-1">Overview <a class="header-anchor" href="#overview" aria-label="Permalink to &quot;Overview&quot;"></a></h2>
<p>The CRA requires manufacturers to make extensive compliance information publicly accessible. The EU Declaration of Conformity, user information, the support period, and the Vulnerability Disclosure Policy must be available to customers, authorities, and the public.</p>
<p>This chapter describes how each software product publishes its CRA compliance artefacts <strong>as a consolidated public compliance statement</strong> — and how this process is standardised and automated across all products.</p>
<div class="info custom-block"><p class="custom-block-title">LEGAL BASIS</p>
<p><strong>Art. 13 CRA:</strong> <em>&quot;The manufacturer shall ensure that the product is accompanied by the information set out in Annex II.&quot;</em></p>
<p><strong>Art. 28(3) CRA:</strong> <em>&quot;The manufacturer may include with the product a simplified EU declaration of conformity as set out in Annex VI, provided that the full version is made available online.&quot;</em></p>
<p><strong>Art. 29 CRA:</strong> The CE marking shall be affixed to the product or its accompanying documents before the product is placed on the market.</p>
</div>
<h2 id="why-a-public-compliance-page" tabindex="-1">Why a Public Compliance Page? <a class="header-anchor" href="#why-a-public-compliance-page" aria-label="Permalink to &quot;Why a Public Compliance Page?&quot;"></a></h2>
<table tabindex="0">
<thead>
<tr>
<th>Reason</th>
<th>Explanation</th>
</tr>
</thead>
<tbody>
<tr>
<td><strong>Regulatory obligation</strong></td>
<td>Art. 13 and Art. 28 CRA require public access to the Declaration of Conformity and user information</td>
</tr>
<tr>
<td><strong>Market surveillance</strong></td>
<td>Authorities must be able to inspect compliance information (Art. 52–58 CRA)</td>
</tr>
<tr>
<td><strong>Customer trust</strong></td>
<td>B2B customers expect demonstrable compliance documentation</td>
</tr>
<tr>
<td><strong>Market advantage</strong></td>
<td>Proactive compliance signals maturity and professionalism</td>
</tr>
<tr>
<td><strong>Standardisation</strong></td>
<td>A uniform format across all products simplifies maintenance and auditing</td>
</tr>
</tbody>
</table>
<h2 id="distinction-from-chapter-7" tabindex="-1">Distinction from Chapter 7 <a class="header-anchor" href="#distinction-from-chapter-7" aria-label="Permalink to &quot;Distinction from Chapter 7&quot;"></a></h2>
<table tabindex="0">
<thead>
<tr>
<th>Aspect</th>
<th>Chapter 7: Conformity Assessment</th>
<th>Chapter 9: Compliance Publication</th>
</tr>
</thead>
<tbody>
<tr>
<td><strong>Focus</strong></td>
<td>How is conformity assessed?</td>
<td>How is it publicly presented?</td>
</tr>
<tr>
<td><strong>Output</strong></td>
<td>EU Declaration of Conformity (Annex V)</td>
<td>Public product compliance page</td>
</tr>
<tr>
<td><strong>Audience</strong></td>
<td>Manufacturer, notified bodies</td>
<td>Customers, authorities, public</td>
</tr>
<tr>
<td><strong>Timing</strong></td>
<td>Before placing on the market</td>
<td>Throughout entire product lifecycle</td>
</tr>
</tbody>
</table>
<h2 id="additional-regulatory-notes" tabindex="-1">Additional Regulatory Notes <a class="header-anchor" href="#additional-regulatory-notes" aria-label="Permalink to &quot;Additional Regulatory Notes&quot;"></a></h2>
<div class="tip custom-block"><p class="custom-block-title">NOTE FOR AI PRODUCTS</p>
<p>Products containing AI components are additionally subject to the <strong>EU AI Act</strong> (Regulation (EU) 2024/1689). AI Act compliance is covered in separate documentation. The CRA Compliance Statement (→ <a href="/en/product-compliance/cra-statement">9.1</a>) covers CRA requirements only.</p>
</div>
<h2 id="chapter-structure" tabindex="-1">Chapter Structure <a class="header-anchor" href="#chapter-structure" aria-label="Permalink to &quot;Chapter Structure&quot;"></a></h2>
<table tabindex="0">
<thead>
<tr>
<th>Section</th>
<th>Topic</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><strong>9.1</strong></td>
<td><a href="/en/product-compliance/cra-statement">CRA Compliance Statement</a></td>
<td>Required content, structure, and example of a product-specific compliance statement</td>
</tr>
<tr>
<td><strong>9.2</strong></td>
<td><a href="/en/product-compliance/publication-strategy">Publication Strategy</a></td>
<td>Dual concept: repository as source of truth, website as public presentation</td>
</tr>
<tr>
<td><strong>9.3</strong></td>
<td><a href="/en/product-compliance/machine-readable">Machine-Readable Format</a></td>
<td>JSON schema for <code>cra-statement.json</code> and CI/CD validation</td>
</tr>
<tr>
<td><strong>9.4</strong></td>
<td><a href="/en/product-compliance/maintenance">Maintenance &amp; Updates</a></td>
<td>Update triggers, review cycle, responsibilities</td>
</tr>
</tbody>
</table>
<p>→ Fillable template: <a href="/en/templates/cra-compliance-statement">A.9 CRA Compliance Statement</a></p>
]]></content:encoded>
            <author>BAUER GROUP</author>
        </item>
        <item>
            <title><![CDATA[9.4 Maintenance & Updates]]></title>
            <link>https://cra.docs.bauer-group.com/en/product-compliance/maintenance</link>
            <guid isPermaLink="false">https://cra.docs.bauer-group.com/en/product-compliance/maintenance</guid>
            <pubDate>Mon, 23 Mar 2026 13:07:11 GMT</pubDate>
            <description><![CDATA[# 9.4 Maintenance & Updates

## 9.4.1 Update Triggers

The CRA Compliance Statement must be updated upon the following events:

| Trigger | Affected Fields | Deadline | Priority |
|]]></description>
            <content:encoded><![CDATA[<h1 id="_9-4-maintenance-updates" tabindex="-1">9.4 Maintenance &amp; Updates <a class="header-anchor" href="#_9-4-maintenance-updates" aria-label="Permalink to &quot;9.4 Maintenance &amp; Updates&quot;"></a></h1>
<h2 id="_9-4-1-update-triggers" tabindex="-1">9.4.1 Update Triggers <a class="header-anchor" href="#_9-4-1-update-triggers" aria-label="Permalink to &quot;9.4.1 Update Triggers&quot;"></a></h2>
<p>The CRA Compliance Statement must be updated upon the following events:</p>
<table tabindex="0">
<thead>
<tr>
<th>Trigger</th>
<th>Affected Fields</th>
<th>Deadline</th>
<th style="text-align:center">Priority</th>
</tr>
</thead>
<tbody>
<tr>
<td>New major/minor release</td>
<td><code>product.version</code>, <code>conformity.*</code>, <code>sbom_url</code></td>
<td>Before placing on the market</td>
<td style="text-align:center">🔴 High</td>
</tr>
<tr>
<td>Change in CRA product category</td>
<td><code>cra_classification.*</code></td>
<td>Immediately</td>
<td style="text-align:center">🔴 High</td>
</tr>
<tr>
<td>New/changed harmonised standards</td>
<td><code>harmonised_standards[]</code></td>
<td>Within 30 days</td>
<td style="text-align:center">🟡 Medium</td>
</tr>
<tr>
<td>New CRA delegated/implementing acts</td>
<td>Depends on content</td>
<td>Within 30 days</td>
<td style="text-align:center">🟡 Medium</td>
</tr>
<tr>
<td>Change in support period</td>
<td><code>support_period.*</code></td>
<td>Immediately</td>
<td style="text-align:center">🔴 High</td>
</tr>
<tr>
<td>Change of conformity module</td>
<td><code>cra_classification.conformity_module</code></td>
<td>Before next release</td>
<td style="text-align:center">🟡 Medium</td>
</tr>
<tr>
<td>Change in manufacturer data</td>
<td><code>manufacturer.*</code></td>
<td>Within 14 days</td>
<td style="text-align:center">🟢 Low</td>
</tr>
<tr>
<td>New Vulnerability Disclosure Policy</td>
<td><code>security_documentation.*</code></td>
<td>Within 14 days</td>
<td style="text-align:center">🟡 Medium</td>
</tr>
</tbody>
</table>
<div class="info custom-block"><p class="custom-block-title">LEGAL BASIS</p>
<p><strong>Art. 10(12) CRA:</strong> <em>&quot;The manufacturer shall ensure that the product [...] remains in conformity with the essential requirements throughout the support period.&quot;</em></p>
<p>This implies the obligation to keep the public compliance presentation up to date as well.</p>
</div>
<h2 id="_9-4-2-review-cycle" tabindex="-1">9.4.2 Review Cycle <a class="header-anchor" href="#_9-4-2-review-cycle" aria-label="Permalink to &quot;9.4.2 Review Cycle&quot;"></a></h2>
<h3 id="regular-reviews" tabindex="-1">Regular Reviews <a class="header-anchor" href="#regular-reviews" aria-label="Permalink to &quot;Regular Reviews&quot;"></a></h3>
<table tabindex="0">
<thead>
<tr>
<th>Cycle</th>
<th>Scope</th>
<th>Responsible</th>
</tr>
</thead>
<tbody>
<tr>
<td><strong>Every release</strong></td>
<td>Full review of all fields</td>
<td>Product Owner</td>
</tr>
<tr>
<td><strong>Semi-annually</strong></td>
<td>Proactive review even without release</td>
<td>Security Lead</td>
</tr>
<tr>
<td><strong>Annually</strong></td>
<td>Alignment with current CRA state (delegated acts)</td>
<td>Compliance Officer</td>
</tr>
</tbody>
</table>
<h3 id="review-checklist" tabindex="-1">Review Checklist <a class="header-anchor" href="#review-checklist" aria-label="Permalink to &quot;Review Checklist&quot;"></a></h3>
<ul>
<li>[ ] All required fields populated and current?</li>
<li>[ ] Referenced URLs reachable?</li>
<li>[ ] Support period still valid?</li>
<li>[ ] DoC date current (for new release)?</li>
<li>[ ] SBOM link points to current version?</li>
<li>[ ] Harmonised standards still applicable?</li>
<li>[ ] Product category still correct?</li>
</ul>
<h2 id="_9-4-3-versioning" tabindex="-1">9.4.3 Versioning <a class="header-anchor" href="#_9-4-3-versioning" aria-label="Permalink to &quot;9.4.3 Versioning&quot;"></a></h2>
<p>CRA Compliance Statements are versioned alongside the product code:</p>
<table tabindex="0">
<thead>
<tr>
<th>Aspect</th>
<th>Rule</th>
</tr>
</thead>
<tbody>
<tr>
<td><strong>Storage</strong></td>
<td><code>.compliance/cra-statement.json</code> in the product repository</td>
</tr>
<tr>
<td><strong>Versioning</strong></td>
<td>Git history = audit trail</td>
</tr>
<tr>
<td><strong>Change log</strong></td>
<td><code>metadata.statement_version</code> is incremented with each content change</td>
</tr>
<tr>
<td><strong>Release coupling</strong></td>
<td>Statement is frozen with the release tag</td>
</tr>
</tbody>
</table>
<h3 id="example-workflow" tabindex="-1">Example Workflow <a class="header-anchor" href="#example-workflow" aria-label="Permalink to &quot;Example Workflow&quot;"></a></h3>
<div class="language-text vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang">text</span><pre class="shiki shiki-themes github-light github-dark vp-code" tabindex="0" v-pre=""><code><span class="line"><span>1. Developer updates .compliance/cra-statement.json</span></span>
<span class="line"><span>2. Pull request / code review</span></span>
<span class="line"><span>3. CI validates JSON schema (→ 9.3)</span></span>
<span class="line"><span>4. Merge into main</span></span>
<span class="line"><span>5. Release tag → statement is automatically published (→ 9.2)</span></span></code></pre>
</div><h2 id="_9-4-4-responsibilities" tabindex="-1">9.4.4 Responsibilities <a class="header-anchor" href="#_9-4-4-responsibilities" aria-label="Permalink to &quot;9.4.4 Responsibilities&quot;"></a></h2>
<table tabindex="0">
<thead>
<tr>
<th>Role</th>
<th>Task</th>
<th>When</th>
</tr>
</thead>
<tbody>
<tr>
<td><strong>Product Owner</strong></td>
<td>Content accuracy, recognising triggers</td>
<td>Every release</td>
</tr>
<tr>
<td><strong>Security Lead</strong></td>
<td>Verifying security-relevant fields (SBOM, CVD, standards)</td>
<td>Semi-annually + upon incidents</td>
</tr>
<tr>
<td><strong>DevOps</strong></td>
<td>Maintaining CI/CD pipeline, ensuring schema validation</td>
<td>Upon pipeline changes</td>
</tr>
<tr>
<td><strong>Compliance Officer</strong></td>
<td>Identifying regulatory changes, initiating schema updates</td>
<td>Annually + ad hoc</td>
</tr>
</tbody>
</table>
<h2 id="_9-4-5-automation" tabindex="-1">9.4.5 Automation <a class="header-anchor" href="#_9-4-5-automation" aria-label="Permalink to &quot;9.4.5 Automation&quot;"></a></h2>
<h3 id="ci-cd-checks" tabindex="-1">CI/CD Checks <a class="header-anchor" href="#ci-cd-checks" aria-label="Permalink to &quot;CI/CD Checks&quot;"></a></h3>
<table tabindex="0">
<thead>
<tr>
<th>Check</th>
<th>When</th>
<th>Action on Failure</th>
</tr>
</thead>
<tbody>
<tr>
<td>JSON schema validation</td>
<td>Every PR/push</td>
<td>Block build</td>
</tr>
<tr>
<td>Required field completeness</td>
<td>Every PR/push</td>
<td>Block build</td>
</tr>
<tr>
<td>URL reachability</td>
<td>Weekly (scheduled)</td>
<td>Warning in Slack/Teams</td>
</tr>
<tr>
<td>Support expiry warning</td>
<td>Daily</td>
<td>Alert 90/30/7 days before expiry</td>
</tr>
<tr>
<td>Statement age warning</td>
<td>Monthly</td>
<td>Alert if &gt;6 months without update</td>
</tr>
</tbody>
</table>
<h3 id="automatic-publication" tabindex="-1">Automatic Publication <a class="header-anchor" href="#automatic-publication" aria-label="Permalink to &quot;Automatic Publication&quot;"></a></h3>
<div class="language-text vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang">text</span><pre class="shiki shiki-themes github-light github-dark vp-code" tabindex="0" v-pre=""><code><span class="line"><span>Release tag → CI/CD → compliance portal updated</span></span></code></pre>
</div><p>Details: <a href="/en/product-compliance/publication-strategy#_9-2-6-ci-cd-integration">9.2.6 CI/CD Integration</a></p>
<h3 id="notifications" tabindex="-1">Notifications <a class="header-anchor" href="#notifications" aria-label="Permalink to &quot;Notifications&quot;"></a></h3>
<table tabindex="0">
<thead>
<tr>
<th>Event</th>
<th>Channel</th>
<th>Recipients</th>
</tr>
</thead>
<tbody>
<tr>
<td>Statement published</td>
<td>Slack/Teams</td>
<td>Product Owner, Security Lead</td>
</tr>
<tr>
<td>Validation failed</td>
<td>CI/CD</td>
<td>Developers</td>
</tr>
<tr>
<td>Support expiring</td>
<td>Email + Slack</td>
<td>Product Owner, Management</td>
</tr>
<tr>
<td>Statement stale (&gt;6 months)</td>
<td>Slack</td>
<td>Product Owner</td>
</tr>
</tbody>
</table>
<h2 id="_9-4-6-special-cases" tabindex="-1">9.4.6 Special Cases <a class="header-anchor" href="#_9-4-6-special-cases" aria-label="Permalink to &quot;9.4.6 Special Cases&quot;"></a></h2>
<h3 id="product-end-of-life" tabindex="-1">Product End-of-Life <a class="header-anchor" href="#product-end-of-life" aria-label="Permalink to &quot;Product End-of-Life&quot;"></a></h3>
<p>When a product reaches the end of its support period:</p>
<ol>
<li>Set <code>support_period.phase</code> to <code>eol</code></li>
<li>Compliance statement remains published (10-year retention requirement, Art. 10(13))</li>
<li>Reference to successor product (if available)</li>
<li>No further security updates — communicate clearly</li>
</ol>
<h3 id="substantial-modification-art-20" tabindex="-1">Substantial Modification (Art. 20) <a class="header-anchor" href="#substantial-modification-art-20" aria-label="Permalink to &quot;Substantial Modification (Art. 20)&quot;"></a></h3>
<p>In case of a substantial modification:</p>
<ol>
<li>Conduct a new conformity assessment (→ <a href="/en/overview/substantial-modifications">1.8 Substantial Modifications</a>)</li>
<li>Issue a new EU Declaration of Conformity</li>
<li>Fully update the CRA Compliance Statement</li>
<li>Publish as a new version on the portal</li>
</ol>
<h2 id="_9-4-7-cross-references" tabindex="-1">9.4.7 Cross-References <a class="header-anchor" href="#_9-4-7-cross-references" aria-label="Permalink to &quot;9.4.7 Cross-References&quot;"></a></h2>
<table tabindex="0">
<thead>
<tr>
<th>Topic</th>
<th>Link</th>
</tr>
</thead>
<tbody>
<tr>
<td>JSON schema and validation</td>
<td><a href="/en/product-compliance/machine-readable">9.3 Machine-Readable Format</a></td>
</tr>
<tr>
<td>Publication pipeline</td>
<td><a href="/en/product-compliance/publication-strategy">9.2 Publication Strategy</a></td>
</tr>
<tr>
<td>Support &amp; Lifecycle</td>
<td><a href="/en/technical-documentation/support-period">6.4 Support &amp; Lifecycle</a></td>
</tr>
<tr>
<td>Substantial Modifications</td>
<td><a href="/en/overview/substantial-modifications">1.8 Substantial Modifications</a></td>
</tr>
<tr>
<td>SBOM retention</td>
<td><a href="/en/sbom-signing/storage">2.3 Archival &amp; Retention</a></td>
</tr>
</tbody>
</table>
]]></content:encoded>
            <author>BAUER GROUP</author>
        </item>
        <item>
            <title><![CDATA[Appendix A: Forms & Templates]]></title>
            <link>https://cra.docs.bauer-group.com/en/templates/</link>
            <guid isPermaLink="false">https://cra.docs.bauer-group.com/en/templates/</guid>
            <pubDate>Mon, 23 Mar 2026 13:07:11 GMT</pubDate>
            <description><![CDATA[# Appendix A: Forms & Templates

## Overview

This appendix contains ready-to-use templates for the regulatory obligations under the CRA. The templates cover three areas:

1. **ENISA Reporting Obligations** (Art. 14 CRA) -- Time-bound notifications to ENISA / CSIRT
2. **Incident Documentation** -- Internal and external Incident Reports
3. **Compliance Documentation** -- Risk Assessment, Declaration of Conformity, Product Security Information
4. **Product Compliance Publication** -- Public CRA Compliance Statement per product

::: warning APPLICATION NOTE
All templates must be completed on a **product-specific** basis. Placeholders in square brackets `[...]` shall be replaced with the actual values. Completed templates are archived in the respective incident ticket or in the product directory (`docs/products/<product-name>/`).

The ENISA notification templates are to be used operationally from **11 September 2026** onwards (-> [5.3 ENISA Reporting Process](/en/incident-response/enisa-reporting)).
:::

## ENISA Notification Templates (Art. 14 CRA)

| Template | Deadline | CRA Reference | Usage |
|]]></description>
            <content:encoded><![CDATA[<h1 id="appendix-a-forms-templates" tabindex="-1">Appendix A: Forms &amp; Templates <a class="header-anchor" href="#appendix-a-forms-templates" aria-label="Permalink to &quot;Appendix A: Forms &amp; Templates&quot;"></a></h1>
<h2 id="overview" tabindex="-1">Overview <a class="header-anchor" href="#overview" aria-label="Permalink to &quot;Overview&quot;"></a></h2>
<p>This appendix contains ready-to-use templates for the regulatory obligations under the CRA. The templates cover three areas:</p>
<ol>
<li><strong>ENISA Reporting Obligations</strong> (Art. 14 CRA) -- Time-bound notifications to ENISA / CSIRT</li>
<li><strong>Incident Documentation</strong> -- Internal and external Incident Reports</li>
<li><strong>Compliance Documentation</strong> -- Risk Assessment, Declaration of Conformity, Product Security Information</li>
<li><strong>Product Compliance Publication</strong> -- Public CRA Compliance Statement per product</li>
</ol>
<div class="warning custom-block"><p class="custom-block-title">APPLICATION NOTE</p>
<p>All templates must be completed on a <strong>product-specific</strong> basis. Placeholders in square brackets <code>[...]</code> shall be replaced with the actual values. Completed templates are archived in the respective incident ticket or in the product directory (<code>docs/products/&lt;product-name&gt;/</code>).</p>
<p>The ENISA notification templates are to be used operationally from <strong>11 September 2026</strong> onwards (-&gt; <a href="/en/incident-response/enisa-reporting">5.3 ENISA Reporting Process</a>).</p>
</div>
<h2 id="enisa-notification-templates-art-14-cra" tabindex="-1">ENISA Notification Templates (Art. 14 CRA) <a class="header-anchor" href="#enisa-notification-templates-art-14-cra" aria-label="Permalink to &quot;ENISA Notification Templates (Art. 14 CRA)&quot;"></a></h2>
<table tabindex="0">
<thead>
<tr>
<th>Template</th>
<th>Deadline</th>
<th>CRA Reference</th>
<th>Usage</th>
</tr>
</thead>
<tbody>
<tr>
<td><a href="/en/templates/enisa-early-warning">ENISA Early Warning</a></td>
<td><strong>24 hours</strong></td>
<td>Art. 14(2)(a)</td>
<td>Initial notification in case of an actively exploited vulnerability / severe incident</td>
</tr>
<tr>
<td><a href="/en/templates/enisa-notification">ENISA Notification</a></td>
<td><strong>72 hours</strong></td>
<td>Art. 14(2)(b)</td>
<td>Detailed vulnerability notification with technical details</td>
</tr>
<tr>
<td><a href="/en/templates/enisa-final-report">ENISA Final Report</a></td>
<td><strong>14 days</strong></td>
<td>Art. 14(2)(c)</td>
<td>Final analysis, Root Cause, Lessons Learned</td>
</tr>
</tbody>
</table>
<h2 id="incident-templates" tabindex="-1">Incident Templates <a class="header-anchor" href="#incident-templates" aria-label="Permalink to &quot;Incident Templates&quot;"></a></h2>
<table tabindex="0">
<thead>
<tr>
<th>Template</th>
<th>Usage</th>
<th>Trigger</th>
</tr>
</thead>
<tbody>
<tr>
<td><a href="/en/templates/incident-report">Incident Report (Internal)</a></td>
<td>Internal documentation of a security incident</td>
<td>Every SEV-1 to SEV-4 incident</td>
</tr>
<tr>
<td><a href="/en/templates/vulnerability-report">Vulnerability Report (External)</a></td>
<td>User notification regarding a vulnerability</td>
<td>Art. 14(8): Without undue delay for ENISA-reportable events</td>
</tr>
</tbody>
</table>
<h2 id="compliance-templates" tabindex="-1">Compliance Templates <a class="header-anchor" href="#compliance-templates" aria-label="Permalink to &quot;Compliance Templates&quot;"></a></h2>
<table tabindex="0">
<thead>
<tr>
<th>Template</th>
<th>CRA Reference</th>
<th>Usage</th>
<th>Frequency</th>
</tr>
</thead>
<tbody>
<tr>
<td><a href="/en/templates/risk-assessment">Risk Assessment</a></td>
<td>Art. 10(2), Annex VII No. 2</td>
<td>Cybersecurity Risk Assessment per product</td>
<td>Before placing on the market + upon substantial changes</td>
</tr>
<tr>
<td><a href="/en/templates/eu-declaration-of-conformity">EU Declaration of Conformity</a></td>
<td>Art. 28, Annex V</td>
<td>Formal Declaration of Conformity per product</td>
<td>Before placing on the market + upon new versions</td>
</tr>
<tr>
<td><a href="/en/templates/product-security-info">Product Security Information</a></td>
<td>Annex II</td>
<td>Security information for end users</td>
<td>Per product, updated upon version changes</td>
</tr>
</tbody>
</table>
<h2 id="product-compliance-publication" tabindex="-1">Product Compliance Publication <a class="header-anchor" href="#product-compliance-publication" aria-label="Permalink to &quot;Product Compliance Publication&quot;"></a></h2>
<table tabindex="0">
<thead>
<tr>
<th>Template</th>
<th>CRA Reference</th>
<th>Usage</th>
<th>Frequency</th>
</tr>
</thead>
<tbody>
<tr>
<td><a href="/en/templates/cra-compliance-statement">CRA Compliance Statement</a></td>
<td>Art. 13, Art. 28</td>
<td>Public compliance statement per product</td>
<td>Per product, updated upon version changes</td>
</tr>
</tbody>
</table>
<h2 id="templates-in-the-technical-documentation" tabindex="-1">Templates in the Technical Documentation <a class="header-anchor" href="#templates-in-the-technical-documentation" aria-label="Permalink to &quot;Templates in the Technical Documentation&quot;"></a></h2>
<p>In addition to the templates listed here, the <a href="/en/technical-documentation/product-description">7.1 Product Description (Template)</a> serves as a template for the product-specific technical documentation pursuant to Annex VII CRA.</p>
]]></content:encoded>
            <author>BAUER GROUP</author>
        </item>
        <item>
            <title><![CDATA[7.7 CE Marking (Art. 29-30)]]></title>
            <link>https://cra.docs.bauer-group.com/en/conformity/ce-marking</link>
            <guid isPermaLink="false">https://cra.docs.bauer-group.com/en/conformity/ce-marking</guid>
            <pubDate>Tue, 10 Feb 2026 16:43:47 GMT</pubDate>
            <description><![CDATA[# 7.7 CE Marking (Art. 29-30)

## 7.7.1 Overview

The CE marking is the visible sign that a product with digital elements meets all applicable EU requirements. It is **mandatory** before a product is placed on the EU market. The CE marking does not refer exclusively to the CRA but to all EU harmonisation legislation applicable to the product.

::: info LEGAL BASIS
**Art. 29 CRA:** *"The CE marking shall be affixed visibly, legibly, and indelibly to the product with digital elements before it is placed on the market. Where that is not possible or not warranted on account of the nature of the product, it shall be affixed to the packaging or to the accompanying documents."*

**Art. 30 CRA:** The CE marking is subject to the general principles set out in Art. 30 of Regulation (EC) No 765/2008.

**Regulation (EC) No 765/2008, Art. 30:** General principles of the CE marking (proportions, minimum size, visibility).
:::

## 7.7.2 What the CE Marking Signifies

The CE marking confirms that:

1. The product meets the **essential requirements** of all applicable EU harmonisation legislation
2. The prescribed **conformity assessment** has been properly carried out
3. An **EU declaration of conformity** (DoC) has been issued
4. The manufacturer assumes **full responsibility** for conformity

::: warning NOT A QUALITY MARK
The CE marking is **not a quality seal** and not a certificate issued by an independent body (except where Module B+C or H applies). It is a **manufacturer's declaration** of compliance with EU requirements.
:::

## 7.7.3 When Is the CE Marking Affixed?

The CE marking may **only** be affixed when:

- [ ] The conformity assessment has been **successfully completed** (Module A, B+C, or H)
- [ ] The **EU declaration of conformity** pursuant to Art. 28 / Annex V has been drawn up
- [ ] The **technical documentation** pursuant to Annex VII is complete
- [ ] All **essential requirements** from Annex I (Part I and Part II) are met
- [ ] Where external assessment applies: The **certificate from the notified body** has been obtained

## 7.7.4 Physical Requirements

Pursuant to Regulation (EC) No 765/2008 and Art. 29-30 CRA:

| Requirement | Specification |
|]]></description>
            <content:encoded><![CDATA[<h1 id="_7-7-ce-marking-art-29-30" tabindex="-1">7.7 CE Marking (Art. 29-30) <a class="header-anchor" href="#_7-7-ce-marking-art-29-30" aria-label="Permalink to &quot;7.7 CE Marking (Art. 29-30)&quot;"></a></h1>
<h2 id="_7-7-1-overview" tabindex="-1">7.7.1 Overview <a class="header-anchor" href="#_7-7-1-overview" aria-label="Permalink to &quot;7.7.1 Overview&quot;"></a></h2>
<p>The CE marking is the visible sign that a product with digital elements meets all applicable EU requirements. It is <strong>mandatory</strong> before a product is placed on the EU market. The CE marking does not refer exclusively to the CRA but to all EU harmonisation legislation applicable to the product.</p>
<div class="info custom-block"><p class="custom-block-title">LEGAL BASIS</p>
<p><strong>Art. 29 CRA:</strong> <em>&quot;The CE marking shall be affixed visibly, legibly, and indelibly to the product with digital elements before it is placed on the market. Where that is not possible or not warranted on account of the nature of the product, it shall be affixed to the packaging or to the accompanying documents.&quot;</em></p>
<p><strong>Art. 30 CRA:</strong> The CE marking is subject to the general principles set out in Art. 30 of Regulation (EC) No 765/2008.</p>
<p><strong>Regulation (EC) No 765/2008, Art. 30:</strong> General principles of the CE marking (proportions, minimum size, visibility).</p>
</div>
<h2 id="_7-7-2-what-the-ce-marking-signifies" tabindex="-1">7.7.2 What the CE Marking Signifies <a class="header-anchor" href="#_7-7-2-what-the-ce-marking-signifies" aria-label="Permalink to &quot;7.7.2 What the CE Marking Signifies&quot;"></a></h2>
<p>The CE marking confirms that:</p>
<ol>
<li>The product meets the <strong>essential requirements</strong> of all applicable EU harmonisation legislation</li>
<li>The prescribed <strong>conformity assessment</strong> has been properly carried out</li>
<li>An <strong>EU declaration of conformity</strong> (DoC) has been issued</li>
<li>The manufacturer assumes <strong>full responsibility</strong> for conformity</li>
</ol>
<div class="warning custom-block"><p class="custom-block-title">NOT A QUALITY MARK</p>
<p>The CE marking is <strong>not a quality seal</strong> and not a certificate issued by an independent body (except where Module B+C or H applies). It is a <strong>manufacturer's declaration</strong> of compliance with EU requirements.</p>
</div>
<h2 id="_7-7-3-when-is-the-ce-marking-affixed" tabindex="-1">7.7.3 When Is the CE Marking Affixed? <a class="header-anchor" href="#_7-7-3-when-is-the-ce-marking-affixed" aria-label="Permalink to &quot;7.7.3 When Is the CE Marking Affixed?&quot;"></a></h2>
<p>The CE marking may <strong>only</strong> be affixed when:</p>
<ul>
<li>[ ] The conformity assessment has been <strong>successfully completed</strong> (Module A, B+C, or H)</li>
<li>[ ] The <strong>EU declaration of conformity</strong> pursuant to Art. 28 / Annex V has been drawn up</li>
<li>[ ] The <strong>technical documentation</strong> pursuant to Annex VII is complete</li>
<li>[ ] All <strong>essential requirements</strong> from Annex I (Part I and Part II) are met</li>
<li>[ ] Where external assessment applies: The <strong>certificate from the notified body</strong> has been obtained</li>
</ul>
<h2 id="_7-7-4-physical-requirements" tabindex="-1">7.7.4 Physical Requirements <a class="header-anchor" href="#_7-7-4-physical-requirements" aria-label="Permalink to &quot;7.7.4 Physical Requirements&quot;"></a></h2>
<p>Pursuant to Regulation (EC) No 765/2008 and Art. 29-30 CRA:</p>
<table tabindex="0">
<thead>
<tr>
<th>Requirement</th>
<th>Specification</th>
</tr>
</thead>
<tbody>
<tr>
<td>Minimum size</td>
<td><strong>5 mm</strong> height (for physical affixing)</td>
</tr>
<tr>
<td>Proportions</td>
<td>Uniform enlargement/reduction while maintaining the aspect ratio</td>
</tr>
<tr>
<td>Visibility</td>
<td>Affixed in a visible location</td>
</tr>
<tr>
<td>Legibility</td>
<td>Easily legible</td>
</tr>
<tr>
<td>Indelibility</td>
<td>Not easily removable (indelible)</td>
</tr>
<tr>
<td>Language</td>
<td>No language requirement (universal symbol)</td>
</tr>
</tbody>
</table>
<h2 id="_7-7-5-where-to-place-the-ce-marking" tabindex="-1">7.7.5 Where to Place the CE Marking <a class="header-anchor" href="#_7-7-5-where-to-place-the-ce-marking" aria-label="Permalink to &quot;7.7.5 Where to Place the CE Marking&quot;"></a></h2>
<h3 id="hardware-physical-products" tabindex="-1">Hardware / Physical Products <a class="header-anchor" href="#hardware-physical-products" aria-label="Permalink to &quot;Hardware / Physical Products&quot;"></a></h3>
<ol>
<li><strong>On the product itself</strong> -- preferred</li>
<li><strong>On the packaging</strong> -- where affixing to the product is not possible or not warranted (e.g., too small, unsuitable material)</li>
<li><strong>In the accompanying documents</strong> -- supplementary, not as the sole placement</li>
</ol>
<h3 id="software-products" tabindex="-1">Software Products <a class="header-anchor" href="#software-products" aria-label="Permalink to &quot;Software Products&quot;"></a></h3>
<p>As software has no physical substrate, special provisions apply:</p>
<table tabindex="0">
<thead>
<tr>
<th>Placement</th>
<th>Description</th>
<th>Recommendation</th>
</tr>
</thead>
<tbody>
<tr>
<td>About dialog</td>
<td>In the &quot;About&quot; window or the info page of the application</td>
<td>Recommended</td>
</tr>
<tr>
<td>README</td>
<td>In the README file of the repository or release bundle</td>
<td>Recommended</td>
</tr>
<tr>
<td>Product documentation</td>
<td>In the user or installation documentation</td>
<td>Required</td>
</tr>
<tr>
<td>Digital user interface</td>
<td>In the application interface (footer, settings)</td>
<td>Recommended</td>
</tr>
<tr>
<td>Product website</td>
<td>On the download or product page</td>
<td>Supplementary</td>
</tr>
<tr>
<td>Release notes</td>
<td>In the release notes of each release</td>
<td>Supplementary</td>
</tr>
</tbody>
</table>
<h3 id="container-images" tabindex="-1">Container Images <a class="header-anchor" href="#container-images" aria-label="Permalink to &quot;Container Images&quot;"></a></h3>
<p>For containerised software:</p>
<table tabindex="0">
<thead>
<tr>
<th>Placement</th>
<th>Technical Implementation</th>
</tr>
</thead>
<tbody>
<tr>
<td>OCI annotations</td>
<td><code>org.opencontainers.image.ce-marking: &quot;true&quot;</code></td>
</tr>
<tr>
<td>OCI labels</td>
<td>Label in Dockerfile: <code>LABEL eu.cra.ce-marking=&quot;conformant&quot;</code></td>
</tr>
<tr>
<td>Image documentation</td>
<td>README of the container image repository</td>
</tr>
<tr>
<td>Helm Chart / Manifest</td>
<td>In the metadata of the deployment configuration</td>
</tr>
</tbody>
</table>
<h3 id="firmware" tabindex="-1">Firmware <a class="header-anchor" href="#firmware" aria-label="Permalink to &quot;Firmware&quot;"></a></h3>
<table tabindex="0">
<thead>
<tr>
<th>Placement</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td>Device itself</td>
<td>CE marking on the physical device containing the firmware</td>
</tr>
<tr>
<td>User interface</td>
<td>In the web interface or configuration interface of the device</td>
</tr>
<tr>
<td>Update portal</td>
<td>On the download page for firmware updates</td>
</tr>
</tbody>
</table>
<h2 id="_7-7-6-additional-markings" tabindex="-1">7.7.6 Additional Markings <a class="header-anchor" href="#_7-7-6-additional-markings" aria-label="Permalink to &quot;7.7.6 Additional Markings&quot;"></a></h2>
<h3 id="notified-body-identification-number" tabindex="-1">Notified Body Identification Number <a class="header-anchor" href="#notified-body-identification-number" aria-label="Permalink to &quot;Notified Body Identification Number&quot;"></a></h3>
<p>Where a <strong>notified body</strong> was involved in the conformity assessment (Module B+C or Module H), its <strong>four-digit identification number</strong> must be placed immediately after the CE marking:</p>
<div class="language- vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang"></span><pre class="shiki shiki-themes github-light github-dark vp-code" tabindex="0" v-pre=""><code><span class="line"><span>CE 1234</span></span></code></pre>
</div><ul>
<li>The identification number is affixed by the notified body itself or on its instructions</li>
<li>The number can be verified via the EU Commission's <a href="https://ec.europa.eu/growth/tools-databases/nando/" target="_blank" rel="noreferrer">NANDO database</a></li>
</ul>
<div class="tip custom-block"><p class="custom-block-title">MODULE A</p>
<p>For self-assessment under <strong>Module A</strong>, <strong>no</strong> identification number is affixed. The CE marking stands alone.</p>
</div>
<h3 id="manufacturer-details" tabindex="-1">Manufacturer Details <a class="header-anchor" href="#manufacturer-details" aria-label="Permalink to &quot;Manufacturer Details&quot;"></a></h3>
<p>In addition to the CE marking, the following must be indicated:</p>
<ul>
<li><strong>Name or trademark</strong> of the manufacturer</li>
<li><strong>Postal address</strong> of the manufacturer (or of the Authorised Representative)</li>
<li><strong>Unique product identification</strong> (type, version, serial number)</li>
</ul>
<h2 id="_7-7-7-prohibited-markings" tabindex="-1">7.7.7 Prohibited Markings <a class="header-anchor" href="#_7-7-7-prohibited-markings" aria-label="Permalink to &quot;7.7.7 Prohibited Markings&quot;"></a></h2>
<div class="danger custom-block"><p class="custom-block-title">PROHIBITED</p>
<p>The following markings are <strong>impermissible</strong> and may lead to penalties:</p>
<ul>
<li><strong>Misleading markings</strong> that may be confused with the CE marking (e.g., &quot;China Export&quot; mark)</li>
<li><strong>CE marking without a completed conformity assessment</strong></li>
<li><strong>CE marking that does not cover all applicable directives</strong> (only CRA but not other relevant regulations)</li>
<li><strong>Identification number of a notified body not involved</strong></li>
<li><strong>Manipulated or counterfeit CE markings</strong></li>
</ul>
</div>
<h2 id="_7-7-8-relationship-to-the-eu-declaration-of-conformity" tabindex="-1">7.7.8 Relationship to the EU Declaration of Conformity <a class="header-anchor" href="#_7-7-8-relationship-to-the-eu-declaration-of-conformity" aria-label="Permalink to &quot;7.7.8 Relationship to the EU Declaration of Conformity&quot;"></a></h2>
<p>The CE marking and the EU declaration of conformity (DoC) are inseparably linked:</p>
<table tabindex="0">
<thead>
<tr>
<th>CE Marking</th>
<th>EU Declaration of Conformity</th>
</tr>
</thead>
<tbody>
<tr>
<td>Visible sign on the product</td>
<td>Formal document of the manufacturer</td>
</tr>
<tr>
<td>Implicitly references the DoC</td>
<td>Must contain all conformity details</td>
</tr>
<tr>
<td>No substantive information</td>
<td>Contains product identification, standards, signature</td>
</tr>
<tr>
<td>Mandatory on the product</td>
<td>Mandatory as accompanying document (or URL thereto)</td>
</tr>
</tbody>
</table>
<p>The CE marking may <strong>only</strong> be affixed where a valid EU declaration of conformity exists. Conversely, the DoC without the CE marking is incomplete.</p>
<blockquote>
<p>Template: <a href="/en/templates/eu-declaration-of-conformity">EU Declaration of Conformity Template</a></p>
</blockquote>
<h2 id="_7-7-9-market-surveillance-and-missing-ce-marking" tabindex="-1">7.7.9 Market Surveillance and Missing CE Marking <a class="header-anchor" href="#_7-7-9-market-surveillance-and-missing-ce-marking" aria-label="Permalink to &quot;7.7.9 Market Surveillance and Missing CE Marking&quot;"></a></h2>
<h3 id="art-56-formal-non-conformity" tabindex="-1">Art. 56 -- Formal Non-Conformity <a class="header-anchor" href="#art-56-formal-non-conformity" aria-label="Permalink to &quot;Art. 56 -- Formal Non-Conformity&quot;"></a></h3>
<p>A missing, defective, or misleading CE marking constitutes <strong>formal non-conformity</strong>:</p>
<table tabindex="0">
<thead>
<tr>
<th>Violation</th>
<th>Consequence</th>
</tr>
</thead>
<tbody>
<tr>
<td>CE marking missing</td>
<td>Authority demands affixing; if not complied with: distribution stop</td>
</tr>
<tr>
<td>CE incorrectly affixed (proportions, visibility)</td>
<td>Correction within set deadline</td>
</tr>
<tr>
<td>CE without conformity assessment</td>
<td>Distribution stop + possible penalties</td>
</tr>
<tr>
<td>Misleading marking</td>
<td>Penalties up to EUR 5 million or 1% of annual turnover</td>
</tr>
<tr>
<td>Notified body identification number missing (for Module B+C/H)</td>
<td>Formal non-conformity</td>
</tr>
</tbody>
</table>
<h3 id="procedure-for-formal-non-conformity" tabindex="-1">Procedure for Formal Non-Conformity <a class="header-anchor" href="#procedure-for-formal-non-conformity" aria-label="Permalink to &quot;Procedure for Formal Non-Conformity&quot;"></a></h3>
<div class="language- vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang"></span><pre class="shiki shiki-themes github-light github-dark vp-code" tabindex="0" v-pre=""><code><span class="line"><span>Authority determines formal non-conformity</span></span>
<span class="line"><span>    |</span></span>
<span class="line"><span>    +-- Manufacturer informed (with deadline)</span></span>
<span class="line"><span>    |</span></span>
<span class="line"><span>    +-- Manufacturer establishes formal conformity</span></span>
<span class="line"><span>    |   +-- Conformity established --> Procedure closed</span></span>
<span class="line"><span>    |   +-- Not established --> Measures</span></span>
<span class="line"><span>    |       +-- Distribution stop</span></span>
<span class="line"><span>    |       +-- Withdrawal / recall</span></span>
<span class="line"><span>    |       +-- Penalties</span></span></code></pre>
</div><blockquote>
<p>Details: <a href="/en/overview/market-surveillance">Market Surveillance (Art. 52-58)</a></p>
</blockquote>
<h2 id="_7-7-10-bauer-group-implementation" tabindex="-1">7.7.10 BAUER GROUP Implementation <a class="header-anchor" href="#_7-7-10-bauer-group-implementation" aria-label="Permalink to &quot;7.7.10 BAUER GROUP Implementation&quot;"></a></h2>
<h3 id="software-products-1" tabindex="-1">Software Products <a class="header-anchor" href="#software-products-1" aria-label="Permalink to &quot;Software Products&quot;"></a></h3>
<table tabindex="0">
<thead>
<tr>
<th>Product Type</th>
<th>CE Marking Placement</th>
<th>Implementation</th>
</tr>
</thead>
<tbody>
<tr>
<td>Web applications</td>
<td>About dialog, footer</td>
<td>Display &quot;CE&quot; with link to DoC</td>
</tr>
<tr>
<td>Desktop applications</td>
<td>About dialog, splash screen</td>
<td>CE logo in info section</td>
</tr>
<tr>
<td>CLI tools</td>
<td>README, <code>--version</code> output</td>
<td>CE note in version information</td>
</tr>
<tr>
<td>Libraries/SDKs</td>
<td>README, package metadata</td>
<td>CE reference in <code>package.json</code>, <code>pom.xml</code>, etc.</td>
</tr>
</tbody>
</table>
<h3 id="container-images-1" tabindex="-1">Container Images <a class="header-anchor" href="#container-images-1" aria-label="Permalink to &quot;Container Images&quot;"></a></h3>
<table tabindex="0">
<thead>
<tr>
<th>Measure</th>
<th>Implementation</th>
</tr>
</thead>
<tbody>
<tr>
<td>OCI annotation</td>
<td><code>org.opencontainers.image.ce-marking</code> in image metadata</td>
</tr>
<tr>
<td>Dockerfile label</td>
<td><code>LABEL eu.cra.ce-marking=&quot;conformant&quot;</code></td>
</tr>
<tr>
<td>Image README</td>
<td>CE marking in the repository README</td>
</tr>
<tr>
<td>Helm Chart</td>
<td>CE annotation in <code>Chart.yaml</code> metadata</td>
</tr>
</tbody>
</table>
<h3 id="firmware-1" tabindex="-1">Firmware <a class="header-anchor" href="#firmware-1" aria-label="Permalink to &quot;Firmware&quot;"></a></h3>
<table tabindex="0">
<thead>
<tr>
<th>Measure</th>
<th>Implementation</th>
</tr>
</thead>
<tbody>
<tr>
<td>Device labelling</td>
<td>CE mark on the physical device</td>
</tr>
<tr>
<td>Web interface</td>
<td>CE note in the admin panel / info page</td>
</tr>
<tr>
<td>Update documentation</td>
<td>CE reference in the release notes</td>
</tr>
</tbody>
</table>
<h2 id="_7-7-11-checklist-ce-marking" tabindex="-1">7.7.11 Checklist: CE Marking <a class="header-anchor" href="#_7-7-11-checklist-ce-marking" aria-label="Permalink to &quot;7.7.11 Checklist: CE Marking&quot;"></a></h2>
<h3 id="before-affixing" tabindex="-1">Before Affixing <a class="header-anchor" href="#before-affixing" aria-label="Permalink to &quot;Before Affixing&quot;"></a></h3>
<ul>
<li>[ ] Conformity assessment successfully completed</li>
<li>[ ] EU declaration of conformity drawn up and signed</li>
<li>[ ] Technical documentation complete (Annex VII)</li>
<li>[ ] All applicable EU harmonisation legislation considered (not only CRA)</li>
<li>[ ] For Module B+C/H: Certificate from the notified body obtained</li>
</ul>
<h3 id="correct-affixing" tabindex="-1">Correct Affixing <a class="header-anchor" href="#correct-affixing" aria-label="Permalink to &quot;Correct Affixing&quot;"></a></h3>
<ul>
<li>[ ] CE marking visible, legible, and indelible</li>
<li>[ ] Minimum size of 5 mm maintained (for physical products)</li>
<li>[ ] Proportions correct</li>
<li>[ ] Notified body identification number present (if applicable)</li>
<li>[ ] Manufacturer details next to the CE marking</li>
<li>[ ] Product identification present</li>
</ul>
<h3 id="software-specific" tabindex="-1">Software-Specific <a class="header-anchor" href="#software-specific" aria-label="Permalink to &quot;Software-Specific&quot;"></a></h3>
<ul>
<li>[ ] CE marking in the About dialog / info page</li>
<li>[ ] CE marking in the documentation</li>
<li>[ ] CE reference in README / release notes</li>
<li>[ ] For containers: OCI annotations / labels set</li>
<li>[ ] Link to EU declaration of conformity available</li>
</ul>
<h3 id="ongoing" tabindex="-1">Ongoing <a class="header-anchor" href="#ongoing" aria-label="Permalink to &quot;Ongoing&quot;"></a></h3>
<ul>
<li>[ ] CE marking verified with each release</li>
<li>[ ] For new product versions: conformity reconfirmed</li>
<li>[ ] No misleading markings present</li>
<li>[ ] Documentation up to date</li>
</ul>
<h2 id="_7-7-12-cross-references" tabindex="-1">7.7.12 Cross-References <a class="header-anchor" href="#_7-7-12-cross-references" aria-label="Permalink to &quot;7.7.12 Cross-References&quot;"></a></h2>
<ul>
<li><a href="/en/conformity/eu-declaration">EU Declaration of Conformity</a></li>
<li><a href="/en/conformity/self-assessment">Self-Assessment (Module A)</a></li>
<li><a href="/en/conformity/module-bc">EU Type Examination (Module B+C)</a></li>
<li><a href="/en/conformity/module-h">Full Quality Assurance (Module H)</a></li>
<li><a href="/en/conformity/product-classification">Product Classification</a></li>
<li><a href="/en/overview/market-surveillance">Market Surveillance (Art. 52-58)</a></li>
<li><a href="/en/overview/importer-obligations">Importer Obligations (Art. 15)</a></li>
</ul>
]]></content:encoded>
            <author>BAUER GROUP</author>
        </item>
        <item>
            <title><![CDATA[7.8 EU Declaration of Conformity]]></title>
            <link>https://cra.docs.bauer-group.com/en/conformity/eu-declaration</link>
            <guid isPermaLink="false">https://cra.docs.bauer-group.com/en/conformity/eu-declaration</guid>
            <pubDate>Tue, 10 Feb 2026 16:43:47 GMT</pubDate>
            <description><![CDATA[# 7.8 EU Declaration of Conformity

## 7.8.1 Overview

The EU Declaration of Conformity (DoC) is the formal document by which the manufacturer declares that its product meets the requirements of the CRA. It is a prerequisite for affixing the CE marking.

::: info LEGAL BASIS
**Art. 28 CRA:** *"The manufacturer shall draw up an EU Declaration of Conformity in accordance with Annex V and retain it for at least 10 years."*

**Annex V CRA** defines the minimum content of the EU Declaration of Conformity.
:::

## 7.8.2 Content in accordance with Annex V CRA

The EU Declaration of Conformity must contain at least:

1. **Name and address of the manufacturer** and, where applicable, of the authorised representative
2. **Statement** that the Declaration of Conformity is issued under the sole responsibility of the manufacturer
3. **Product identification** (name, type, version, batch number, serial number, or other identifier)
4. **Statement** that the product complies with the essential requirements of the CRA
5. **References** to the harmonised standards or other technical specifications applied
6. **Name and identification number** of the notified body (if involved)
7. **Additional information** (if applicable)
8. **Place and date** of issue
9. **Signature** of the responsible person, including name and function
10. **Support period** of the product

## 7.8.3 Template

A fillable template is available at:
→ [EU Declaration of Conformity Template](/en/templates/eu-declaration-of-conformity)

## 7.8.4 CE Marking

After issuing the EU Declaration of Conformity, the CE marking shall be affixed:

### For Physical Products

- On the product or its packaging
- Visible, legible, and indelible

### For Software Products

- In the product documentation
- In the user interface (recommended)
- In the README / release notes
- On the product website

### Requirements for the CE Marking

- Minimum height of 5 mm (for physical products)
- Proportions in accordance with EU requirements
- Identification number of the notified body (if involved)
- Next to the CE marking: postal address of the manufacturer

## 7.8.5 Retention

| Document | Retention Period | Storage Location |
|]]></description>
            <content:encoded><![CDATA[<h1 id="_7-8-eu-declaration-of-conformity" tabindex="-1">7.8 EU Declaration of Conformity <a class="header-anchor" href="#_7-8-eu-declaration-of-conformity" aria-label="Permalink to &quot;7.8 EU Declaration of Conformity&quot;"></a></h1>
<h2 id="_7-8-1-overview" tabindex="-1">7.8.1 Overview <a class="header-anchor" href="#_7-8-1-overview" aria-label="Permalink to &quot;7.8.1 Overview&quot;"></a></h2>
<p>The EU Declaration of Conformity (DoC) is the formal document by which the manufacturer declares that its product meets the requirements of the CRA. It is a prerequisite for affixing the CE marking.</p>
<div class="info custom-block"><p class="custom-block-title">LEGAL BASIS</p>
<p><strong>Art. 28 CRA:</strong> <em>&quot;The manufacturer shall draw up an EU Declaration of Conformity in accordance with Annex V and retain it for at least 10 years.&quot;</em></p>
<p><strong>Annex V CRA</strong> defines the minimum content of the EU Declaration of Conformity.</p>
</div>
<h2 id="_7-8-2-content-in-accordance-with-annex-v-cra" tabindex="-1">7.8.2 Content in accordance with Annex V CRA <a class="header-anchor" href="#_7-8-2-content-in-accordance-with-annex-v-cra" aria-label="Permalink to &quot;7.8.2 Content in accordance with Annex V CRA&quot;"></a></h2>
<p>The EU Declaration of Conformity must contain at least:</p>
<ol>
<li><strong>Name and address of the manufacturer</strong> and, where applicable, of the authorised representative</li>
<li><strong>Statement</strong> that the Declaration of Conformity is issued under the sole responsibility of the manufacturer</li>
<li><strong>Product identification</strong> (name, type, version, batch number, serial number, or other identifier)</li>
<li><strong>Statement</strong> that the product complies with the essential requirements of the CRA</li>
<li><strong>References</strong> to the harmonised standards or other technical specifications applied</li>
<li><strong>Name and identification number</strong> of the notified body (if involved)</li>
<li><strong>Additional information</strong> (if applicable)</li>
<li><strong>Place and date</strong> of issue</li>
<li><strong>Signature</strong> of the responsible person, including name and function</li>
<li><strong>Support period</strong> of the product</li>
</ol>
<h2 id="_7-8-3-template" tabindex="-1">7.8.3 Template <a class="header-anchor" href="#_7-8-3-template" aria-label="Permalink to &quot;7.8.3 Template&quot;"></a></h2>
<p>A fillable template is available at:
→ <a href="/en/templates/eu-declaration-of-conformity">EU Declaration of Conformity Template</a></p>
<h2 id="_7-8-4-ce-marking" tabindex="-1">7.8.4 CE Marking <a class="header-anchor" href="#_7-8-4-ce-marking" aria-label="Permalink to &quot;7.8.4 CE Marking&quot;"></a></h2>
<p>After issuing the EU Declaration of Conformity, the CE marking shall be affixed:</p>
<h3 id="for-physical-products" tabindex="-1">For Physical Products <a class="header-anchor" href="#for-physical-products" aria-label="Permalink to &quot;For Physical Products&quot;"></a></h3>
<ul>
<li>On the product or its packaging</li>
<li>Visible, legible, and indelible</li>
</ul>
<h3 id="for-software-products" tabindex="-1">For Software Products <a class="header-anchor" href="#for-software-products" aria-label="Permalink to &quot;For Software Products&quot;"></a></h3>
<ul>
<li>In the product documentation</li>
<li>In the user interface (recommended)</li>
<li>In the README / release notes</li>
<li>On the product website</li>
</ul>
<h3 id="requirements-for-the-ce-marking" tabindex="-1">Requirements for the CE Marking <a class="header-anchor" href="#requirements-for-the-ce-marking" aria-label="Permalink to &quot;Requirements for the CE Marking&quot;"></a></h3>
<ul>
<li>Minimum height of 5 mm (for physical products)</li>
<li>Proportions in accordance with EU requirements</li>
<li>Identification number of the notified body (if involved)</li>
<li>Next to the CE marking: postal address of the manufacturer</li>
</ul>
<h2 id="_7-8-5-retention" tabindex="-1">7.8.5 Retention <a class="header-anchor" href="#_7-8-5-retention" aria-label="Permalink to &quot;7.8.5 Retention&quot;"></a></h2>
<table tabindex="0">
<thead>
<tr>
<th>Document</th>
<th>Retention Period</th>
<th>Storage Location</th>
</tr>
</thead>
<tbody>
<tr>
<td>EU Declaration of Conformity</td>
<td><strong>10 years</strong> after placing on the market</td>
<td>This repository</td>
</tr>
<tr>
<td>Technical documentation</td>
<td><strong>10 years</strong> after placing on the market</td>
<td>This repository</td>
</tr>
<tr>
<td>Conformity Assessment records</td>
<td><strong>10 years</strong> after placing on the market</td>
<td>This repository</td>
</tr>
</tbody>
</table>
<h2 id="_7-8-6-provision-to-authorities" tabindex="-1">7.8.6 Provision to Authorities <a class="header-anchor" href="#_7-8-6-provision-to-authorities" aria-label="Permalink to &quot;7.8.6 Provision to Authorities&quot;"></a></h2>
<p>Pursuant to Art. 28(5) CRA, the EU Declaration of Conformity must be made available to market surveillance authorities upon request:</p>
<ul>
<li>Electronically via this repository</li>
<li>As a PDF upon request</li>
<li>In the language of the requesting authority (at least English)</li>
</ul>
<h2 id="_7-8-7-updates" tabindex="-1">7.8.7 Updates <a class="header-anchor" href="#_7-8-7-updates" aria-label="Permalink to &quot;7.8.7 Updates&quot;"></a></h2>
<p>The EU Declaration of Conformity must be updated in the event of:</p>
<ul>
<li>Substantial changes to the product (new version with modified security functions)</li>
<li>Changes to applied standards</li>
<li>Changes to Regulation (EU) 2024/2847 (Delegated/Implementing Acts)</li>
<li>Expiry of the assessment period (in the case of external assessment)</li>
</ul>
]]></content:encoded>
            <author>BAUER GROUP</author>
        </item>
        <item>
            <title><![CDATA[7.5 EUCC Certification]]></title>
            <link>https://cra.docs.bauer-group.com/en/conformity/eucc</link>
            <guid isPermaLink="false">https://cra.docs.bauer-group.com/en/conformity/eucc</guid>
            <pubDate>Tue, 10 Feb 2026 16:43:47 GMT</pubDate>
            <description><![CDATA[# 7.5 EUCC Certification

## 7.5.1 Overview

For **critical products** (Annex IV CRA), a European Cybersecurity Certificate (EUCC) at least at assurance level "substantial" is required. The EUCC is based on the **EU Cybersecurity Act** (Regulation (EU) 2019/881) and the Common Criteria framework (ISO/IEC 15408).

::: info LEGAL BASIS
**Art. 24(3) CRA:** For critical products listed in Annex IV, a European cybersecurity certificate at assurance level "substantial" or higher must be obtained.

**Regulation (EU) 2019/881 (Cybersecurity Act):** Defines the European framework for cybersecurity certification.

**EUCC Scheme (Implementing Regulation (EU) 2024/482):** Specifies the European Common Criteria-based certification scheme.
:::

## 7.5.2 Applicability

| Category | EUCC required? |
|]]></description>
            <content:encoded><![CDATA[<h1 id="_7-5-eucc-certification" tabindex="-1">7.5 EUCC Certification <a class="header-anchor" href="#_7-5-eucc-certification" aria-label="Permalink to &quot;7.5 EUCC Certification&quot;"></a></h1>
<h2 id="_7-5-1-overview" tabindex="-1">7.5.1 Overview <a class="header-anchor" href="#_7-5-1-overview" aria-label="Permalink to &quot;7.5.1 Overview&quot;"></a></h2>
<p>For <strong>critical products</strong> (Annex IV CRA), a European Cybersecurity Certificate (EUCC) at least at assurance level &quot;substantial&quot; is required. The EUCC is based on the <strong>EU Cybersecurity Act</strong> (Regulation (EU) 2019/881) and the Common Criteria framework (ISO/IEC 15408).</p>
<div class="info custom-block"><p class="custom-block-title">LEGAL BASIS</p>
<p><strong>Art. 24(3) CRA:</strong> For critical products listed in Annex IV, a European cybersecurity certificate at assurance level &quot;substantial&quot; or higher must be obtained.</p>
<p><strong>Regulation (EU) 2019/881 (Cybersecurity Act):</strong> Defines the European framework for cybersecurity certification.</p>
<p><strong>EUCC Scheme (Implementing Regulation (EU) 2024/482):</strong> Specifies the European Common Criteria-based certification scheme.</p>
</div>
<h2 id="_7-5-2-applicability" tabindex="-1">7.5.2 Applicability <a class="header-anchor" href="#_7-5-2-applicability" aria-label="Permalink to &quot;7.5.2 Applicability&quot;"></a></h2>
<table tabindex="0">
<thead>
<tr>
<th>Category</th>
<th>EUCC required?</th>
</tr>
</thead>
<tbody>
<tr>
<td>Default</td>
<td>No</td>
</tr>
<tr>
<td>Class I</td>
<td>No</td>
</tr>
<tr>
<td>Class II</td>
<td>No</td>
</tr>
<tr>
<td><strong>Critical (Annex IV)</strong></td>
<td><strong>Yes</strong></td>
</tr>
</tbody>
</table>
<h3 id="annex-iv-product-categories" tabindex="-1">Annex IV Product Categories <a class="header-anchor" href="#annex-iv-product-categories" aria-label="Permalink to &quot;Annex IV Product Categories&quot;"></a></h3>
<p>The following products are classified as critical:</p>
<ul>
<li>Hardware security modules (HSM)</li>
<li>Smartcards and similar devices (incl. secure elements)</li>
<li>Smartcard readers</li>
<li>Sensors and actuators for robots and machine controls</li>
<li>Smart meter gateways</li>
</ul>
<h2 id="_7-5-3-assurance-levels" tabindex="-1">7.5.3 Assurance Levels <a class="header-anchor" href="#_7-5-3-assurance-levels" aria-label="Permalink to &quot;7.5.3 Assurance Levels&quot;"></a></h2>
<p>The EUCC defines two levels, based on Common Criteria Evaluation Assurance Levels (EAL):</p>
<table tabindex="0">
<thead>
<tr>
<th>EUCC Level</th>
<th>Common Criteria</th>
<th>Examination Depth</th>
<th>Typical Use</th>
</tr>
</thead>
<tbody>
<tr>
<td><strong>Substantial</strong></td>
<td>EAL 3-4</td>
<td>Methodically tested and checked</td>
<td>Minimum for CRA Annex IV</td>
</tr>
<tr>
<td><strong>High</strong></td>
<td>EAL 5-7</td>
<td>Semi-formally/formally verified</td>
<td>High-security products</td>
</tr>
</tbody>
</table>
<p>For the CRA, at least the <strong>&quot;substantial&quot;</strong> level is required.</p>
<h2 id="_7-5-4-procedure" tabindex="-1">7.5.4 Procedure <a class="header-anchor" href="#_7-5-4-procedure" aria-label="Permalink to &quot;7.5.4 Procedure&quot;"></a></h2>
<h3 id="_1-select-an-evaluation-facility-itsef" tabindex="-1">1. Select an Evaluation Facility (ITSEF) <a class="header-anchor" href="#_1-select-an-evaluation-facility-itsef" aria-label="Permalink to &quot;1. Select an Evaluation Facility (ITSEF)&quot;"></a></h3>
<ul>
<li><strong>ITSEF</strong> = IT Security Evaluation Facility</li>
<li>Must be accredited under ISO/IEC 17025</li>
<li>Must be recognised by the national cybersecurity certification authority</li>
<li>In Germany: BSI (Federal Office for Information Security) as the responsible authority</li>
</ul>
<h3 id="_2-create-protection-profile-security-target" tabindex="-1">2. Create Protection Profile / Security Target <a class="header-anchor" href="#_2-create-protection-profile-security-target" aria-label="Permalink to &quot;2. Create Protection Profile / Security Target&quot;"></a></h3>
<h4 id="security-target-st" tabindex="-1">Security Target (ST) <a class="header-anchor" href="#security-target-st" aria-label="Permalink to &quot;Security Target (ST)&quot;"></a></h4>
<p>The Security Target defines:</p>
<ul>
<li><strong>TOE</strong> (Target of Evaluation) – Precise description of the product to be evaluated</li>
<li><strong>Security problem</strong> – Threats, organisational security policies, assumptions</li>
<li><strong>Security objectives</strong> – For the TOE and the operational environment</li>
<li><strong>Security requirements</strong> – Functional (SFR) and assurance (SAR)</li>
<li><strong>TOE summary</strong> – How the requirements are met</li>
</ul>
<h4 id="protection-profile-pp" tabindex="-1">Protection Profile (PP) <a class="header-anchor" href="#protection-profile-pp" aria-label="Permalink to &quot;Protection Profile (PP)&quot;"></a></h4>
<p>If a relevant Protection Profile exists, it should be referenced. This simplifies the evaluation as security requirements are already standardised.</p>
<h3 id="_3-evaluation" tabindex="-1">3. Evaluation <a class="header-anchor" href="#_3-evaluation" aria-label="Permalink to &quot;3. Evaluation&quot;"></a></h3>
<p>The ITSEF conducts the evaluation:</p>
<table tabindex="0">
<thead>
<tr>
<th>EAL</th>
<th>Evaluation Activities</th>
</tr>
</thead>
<tbody>
<tr>
<td>EAL 1</td>
<td>Functionally tested</td>
</tr>
<tr>
<td>EAL 2</td>
<td>Structurally tested</td>
</tr>
<tr>
<td>EAL 3</td>
<td>Methodically tested and checked</td>
</tr>
<tr>
<td><strong>EAL 4</strong></td>
<td><strong>Methodically designed, tested and checked</strong></td>
</tr>
<tr>
<td>EAL 5</td>
<td>Semi-formally designed and tested</td>
</tr>
<tr>
<td>EAL 6</td>
<td>Semi-formally verified</td>
</tr>
<tr>
<td>EAL 7</td>
<td>Formally verified</td>
</tr>
</tbody>
</table>
<p>For CRA Annex IV, typically <strong>EAL 3 or EAL 4</strong> is required (&quot;substantial&quot; level).</p>
<h3 id="_4-certification" tabindex="-1">4. Certification <a class="header-anchor" href="#_4-certification" aria-label="Permalink to &quot;4. Certification&quot;"></a></h3>
<p>Upon successful evaluation:</p>
<ol>
<li>ITSEF produces <strong>Evaluation Technical Report</strong> (ETR)</li>
<li>National certification body (e.g., BSI) reviews the ETR</li>
<li><strong>EUCC certificate</strong> is issued</li>
<li>Certificate is published in the <strong>EU cybersecurity certification database</strong></li>
</ol>
<h3 id="_5-maintenance" tabindex="-1">5. Maintenance <a class="header-anchor" href="#_5-maintenance" aria-label="Permalink to &quot;5. Maintenance&quot;"></a></h3>
<ul>
<li><strong>Certificate validity:</strong> Limited (typically 3-5 years)</li>
<li><strong>Assurance continuity:</strong> For minor changes (maintenance update)</li>
<li><strong>Re-evaluation:</strong> For significant changes</li>
<li><strong>Vulnerability management:</strong> Ongoing obligation for vulnerability handling</li>
</ul>
<h2 id="_7-5-5-timeline" tabindex="-1">7.5.5 Timeline <a class="header-anchor" href="#_7-5-5-timeline" aria-label="Permalink to &quot;7.5.5 Timeline&quot;"></a></h2>
<table tabindex="0">
<thead>
<tr>
<th>Phase</th>
<th>Estimated Duration</th>
</tr>
</thead>
<tbody>
<tr>
<td>Security Target creation</td>
<td>2-4 months</td>
</tr>
<tr>
<td>ITSEF selection and engagement</td>
<td>1-2 months</td>
</tr>
<tr>
<td>Evaluation (EAL 4)</td>
<td>6-12 months</td>
</tr>
<tr>
<td>Certification by national body</td>
<td>2-4 months</td>
</tr>
<tr>
<td><strong>Total</strong></td>
<td><strong>approx. 12-24 months</strong></td>
</tr>
</tbody>
</table>
<div class="warning custom-block"><p class="custom-block-title">LEAD TIME</p>
<p>EUCC evaluations are extensive and time-consuming. Begin planning at least <strong>18-24 months</strong> before the planned market launch.</p>
</div>
<h2 id="_7-5-6-costs" tabindex="-1">7.5.6 Costs <a class="header-anchor" href="#_7-5-6-costs" aria-label="Permalink to &quot;7.5.6 Costs&quot;"></a></h2>
<table tabindex="0">
<thead>
<tr>
<th>Cost Factor</th>
<th>Estimated Range</th>
</tr>
</thead>
<tbody>
<tr>
<td>Security Target creation</td>
<td>EUR 15,000 - 50,000</td>
</tr>
<tr>
<td>Evaluation (EAL 3-4)</td>
<td>EUR 50,000 - 200,000</td>
</tr>
<tr>
<td>Certification fees</td>
<td>EUR 5,000 - 15,000</td>
</tr>
<tr>
<td>Maintenance / Re-evaluation</td>
<td>EUR 20,000 - 100,000</td>
</tr>
<tr>
<td><strong>Total (initial assessment)</strong></td>
<td><strong>approx. EUR 70,000 - 265,000</strong></td>
</tr>
</tbody>
</table>
<p><em>Note: Actual costs depend heavily on product complexity and target EAL.</em></p>
<h2 id="_7-5-7-relevance-for-bauer-group" tabindex="-1">7.5.7 Relevance for BAUER GROUP <a class="header-anchor" href="#_7-5-7-relevance-for-bauer-group" aria-label="Permalink to &quot;7.5.7 Relevance for BAUER GROUP&quot;"></a></h2>
<p>Based on the <a href="/en/conformity/product-classification">Product Classification</a>:</p>
<table tabindex="0">
<thead>
<tr>
<th>Annex IV Category</th>
<th>Affects BAUER GROUP?</th>
<th>Action</th>
</tr>
</thead>
<tbody>
<tr>
<td>Hardware security modules (HSM)</td>
<td>No (usage, not manufacturing)</td>
<td>None</td>
</tr>
<tr>
<td>Smartcards / Secure elements</td>
<td>No (typically)</td>
<td>None</td>
</tr>
<tr>
<td>Smart meter gateways</td>
<td>Check</td>
<td>If energy products are manufactured</td>
</tr>
<tr>
<td>Sensors/actuators for robots</td>
<td>Check</td>
<td>If safety-critical controls are manufactured</td>
</tr>
</tbody>
</table>
<div class="tip custom-block"><p class="custom-block-title">CURRENT STATUS</p>
<p>Based on current assessment, no BAUER GROUP products fall under Annex IV. This assessment is reviewed for each new product and when Delegated Acts are amended.</p>
</div>
<h2 id="_7-5-8-transitional-provisions" tabindex="-1">7.5.8 Transitional Provisions <a class="header-anchor" href="#_7-5-8-transitional-provisions" aria-label="Permalink to &quot;7.5.8 Transitional Provisions&quot;"></a></h2>
<ul>
<li><strong>Art. 24(5) CRA:</strong> As long as no suitable EUCC scheme exists for an Annex IV product category, Module B+C may be applied as an alternative</li>
<li>The EU Commission may add further products to Annex IV via Delegated Act</li>
<li>Manufacturers must actively monitor the development of Implementing Acts</li>
</ul>
<h2 id="_7-5-9-checklist-eucc" tabindex="-1">7.5.9 Checklist: EUCC <a class="header-anchor" href="#_7-5-9-checklist-eucc" aria-label="Permalink to &quot;7.5.9 Checklist: EUCC&quot;"></a></h2>
<ul>
<li>[ ] Product classification completed (Annex IV confirmed)</li>
<li>[ ] Relevant Protection Profile identified (if available)</li>
<li>[ ] Security Target created</li>
<li>[ ] ITSEF identified and contacted</li>
<li>[ ] Evaluation contract concluded</li>
<li>[ ] Evaluation materials provided (source code, documentation, test plans)</li>
<li>[ ] Evaluation passed / remediation implemented</li>
<li>[ ] ETR reviewed by national body</li>
<li>[ ] EUCC certificate received</li>
<li>[ ] Certificate published in EU database</li>
<li>[ ] Maintenance plan established</li>
<li>[ ] EU Declaration of Conformity issued (<a href="/en/templates/eu-declaration-of-conformity">Template</a>)</li>
<li>[ ] CE marking applied</li>
</ul>
]]></content:encoded>
            <author>BAUER GROUP</author>
        </item>
        <item>
            <title><![CDATA[Chapter 7: Conformity Assessment]]></title>
            <link>https://cra.docs.bauer-group.com/en/conformity/</link>
            <guid isPermaLink="false">https://cra.docs.bauer-group.com/en/conformity/</guid>
            <pubDate>Tue, 10 Feb 2026 16:43:47 GMT</pubDate>
            <description><![CDATA[# Chapter 7: Conformity Assessment

## Overview

The Conformity Assessment is the formal demonstration that a product with digital elements meets the essential cybersecurity requirements of the CRA. The type of assessment depends on the Product Classification.

::: info LEGAL BASIS
**Art. 24 CRA:** The manufacturer shall carry out a Conformity Assessment before placing a product on the market. The procedure depends on the product category.

**Art. 28 CRA:** Following a successful Conformity Assessment, the manufacturer shall draw up an EU Declaration of Conformity and affix the CE marking.
:::

## Assessment Procedures by Product Category

| Category | Procedure | Description |
|]]></description>
            <content:encoded><![CDATA[<h1 id="chapter-7-conformity-assessment" tabindex="-1">Chapter 7: Conformity Assessment <a class="header-anchor" href="#chapter-7-conformity-assessment" aria-label="Permalink to &quot;Chapter 7: Conformity Assessment&quot;"></a></h1>
<h2 id="overview" tabindex="-1">Overview <a class="header-anchor" href="#overview" aria-label="Permalink to &quot;Overview&quot;"></a></h2>
<p>The Conformity Assessment is the formal demonstration that a product with digital elements meets the essential cybersecurity requirements of the CRA. The type of assessment depends on the Product Classification.</p>
<div class="info custom-block"><p class="custom-block-title">LEGAL BASIS</p>
<p><strong>Art. 24 CRA:</strong> The manufacturer shall carry out a Conformity Assessment before placing a product on the market. The procedure depends on the product category.</p>
<p><strong>Art. 28 CRA:</strong> Following a successful Conformity Assessment, the manufacturer shall draw up an EU Declaration of Conformity and affix the CE marking.</p>
</div>
<h2 id="assessment-procedures-by-product-category" tabindex="-1">Assessment Procedures by Product Category <a class="header-anchor" href="#assessment-procedures-by-product-category" aria-label="Permalink to &quot;Assessment Procedures by Product Category&quot;"></a></h2>
<table tabindex="0">
<thead>
<tr>
<th>Category</th>
<th>Procedure</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><strong>Standard</strong></td>
<td>Module A (Internal Control)</td>
<td>Manufacturer self-assessment</td>
</tr>
<tr>
<td><strong>Class I</strong></td>
<td>Module A* or Module B+C</td>
<td>Self-assessment (where harmonised standards apply) or type examination</td>
</tr>
<tr>
<td><strong>Class II</strong></td>
<td>Module B+C or Module H</td>
<td>Type examination or comprehensive QA</td>
</tr>
<tr>
<td><strong>Critical</strong></td>
<td>EUCC</td>
<td>European Cybersecurity Certificate</td>
</tr>
</tbody>
</table>
<p><em>* Module A for Class I only where harmonised standards are applied in full</em></p>
<h2 id="chapter-structure" tabindex="-1">Chapter Structure <a class="header-anchor" href="#chapter-structure" aria-label="Permalink to &quot;Chapter Structure&quot;"></a></h2>
<table tabindex="0">
<thead>
<tr>
<th>Section</th>
<th>Topic</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><strong>8.1</strong></td>
<td><a href="/en/conformity/self-assessment">Internal Control (Module A)</a></td>
<td>Self-assessment for Default and Class I*</td>
</tr>
<tr>
<td><strong>8.2</strong></td>
<td><a href="/en/conformity/module-bc">EU Type Examination (Module B+C)</a></td>
<td>External examination for Class I and Class II</td>
</tr>
<tr>
<td><strong>8.3</strong></td>
<td><a href="/en/conformity/module-h">Comprehensive Quality Assurance (Module H)</a></td>
<td>QMS-based for Class II</td>
</tr>
<tr>
<td><strong>8.4</strong></td>
<td><a href="/en/conformity/eucc">European Cybersecurity Certificate (EUCC)</a></td>
<td>Certification for critical products (Annex IV)</td>
</tr>
<tr>
<td><strong>8.5</strong></td>
<td><a href="/en/conformity/product-classification">Product Classification</a></td>
<td>CRA risk classes and classification</td>
</tr>
<tr>
<td><strong>8.5a</strong></td>
<td><a href="/en/conformity/product-lists">Product Lists (Annex III &amp; IV)</a></td>
<td>Complete product category lists</td>
</tr>
<tr>
<td><strong>8.5b</strong></td>
<td><a href="/en/conformity/ce-marking">CE Marking (Art. 29–30)</a></td>
<td>CE marking requirements</td>
</tr>
<tr>
<td><strong>8.6</strong></td>
<td><a href="/en/conformity/eu-declaration">EU Declaration of Conformity</a></td>
<td>Annex V CRA, CE marking</td>
</tr>
<tr>
<td><strong>8.7</strong></td>
<td><a href="/en/conformity/simplified-declaration">Simplified DoC (Annex VI)</a></td>
<td>Annex VI: Abbreviated Declaration of Conformity</td>
</tr>
<tr>
<td><strong>8.8</strong></td>
<td><a href="/en/conformity/annex-ii-user-info">User Information (Annex II)</a></td>
<td>Annex II: Mandatory information for users</td>
</tr>
</tbody>
</table>
]]></content:encoded>
            <author>BAUER GROUP</author>
        </item>
        <item>
            <title><![CDATA[7.3 EU Type Examination (Module B+C)]]></title>
            <link>https://cra.docs.bauer-group.com/en/conformity/module-bc</link>
            <guid isPermaLink="false">https://cra.docs.bauer-group.com/en/conformity/module-bc</guid>
            <pubDate>Tue, 10 Feb 2026 16:43:47 GMT</pubDate>
            <description><![CDATA[# 7.3 EU Type Examination (Module B+C)

## 7.3.1 Overview

The EU type examination under Module B in combination with conformity to type under Module C is the conformity assessment procedure for **Class I** (without harmonised standards) and **Class II** products.

::: info LEGAL BASIS
**Art. 24(2) CRA:** For Class I products not manufactured in full application of harmonised standards, and for Class II products, an EU type examination (Module B) in combination with conformity to type (Module C) must be carried out.

**Annex VIII, Modules B and C** of the CRA describe the procedural requirements.
:::

## 7.3.2 Applicability

| Category | Module B+C required? |
|]]></description>
            <content:encoded><![CDATA[<h1 id="_7-3-eu-type-examination-module-b-c" tabindex="-1">7.3 EU Type Examination (Module B+C) <a class="header-anchor" href="#_7-3-eu-type-examination-module-b-c" aria-label="Permalink to &quot;7.3 EU Type Examination (Module B+C)&quot;"></a></h1>
<h2 id="_7-3-1-overview" tabindex="-1">7.3.1 Overview <a class="header-anchor" href="#_7-3-1-overview" aria-label="Permalink to &quot;7.3.1 Overview&quot;"></a></h2>
<p>The EU type examination under Module B in combination with conformity to type under Module C is the conformity assessment procedure for <strong>Class I</strong> (without harmonised standards) and <strong>Class II</strong> products.</p>
<div class="info custom-block"><p class="custom-block-title">LEGAL BASIS</p>
<p><strong>Art. 24(2) CRA:</strong> For Class I products not manufactured in full application of harmonised standards, and for Class II products, an EU type examination (Module B) in combination with conformity to type (Module C) must be carried out.</p>
<p><strong>Annex VIII, Modules B and C</strong> of the CRA describe the procedural requirements.</p>
</div>
<h2 id="_7-3-2-applicability" tabindex="-1">7.3.2 Applicability <a class="header-anchor" href="#_7-3-2-applicability" aria-label="Permalink to &quot;7.3.2 Applicability&quot;"></a></h2>
<table tabindex="0">
<thead>
<tr>
<th>Category</th>
<th>Module B+C required?</th>
</tr>
</thead>
<tbody>
<tr>
<td>Default</td>
<td>No – Module A sufficient</td>
</tr>
<tr>
<td>Class I (with harm. standards)</td>
<td>No – Module A* sufficient</td>
</tr>
<tr>
<td><strong>Class I (without harm. standards)</strong></td>
<td><strong>Yes</strong></td>
</tr>
<tr>
<td><strong>Class II</strong></td>
<td><strong>Yes</strong> (Alternative: Module H)</td>
</tr>
<tr>
<td>Critical</td>
<td>No – EUCC required</td>
</tr>
</tbody>
</table>
<h2 id="_7-3-3-procedure" tabindex="-1">7.3.3 Procedure <a class="header-anchor" href="#_7-3-3-procedure" aria-label="Permalink to &quot;7.3.3 Procedure&quot;"></a></h2>
<h3 id="module-b-–-eu-type-examination" tabindex="-1">Module B – EU Type Examination <a class="header-anchor" href="#module-b-–-eu-type-examination" aria-label="Permalink to &quot;Module B – EU Type Examination&quot;"></a></h3>
<p>The EU type examination is the part of the conformity assessment procedure in which a <strong>notified body</strong> examines the technical design of a product and confirms that it meets the essential requirements.</p>
<h4 id="_1-select-a-notified-body" tabindex="-1">1. Select a Notified Body <a class="header-anchor" href="#_1-select-a-notified-body" aria-label="Permalink to &quot;1. Select a Notified Body&quot;"></a></h4>
<ul>
<li>Search via the EU Commission's <a href="https://ec.europa.eu/growth/tools-databases/nando/" target="_blank" rel="noreferrer">NANDO database</a></li>
<li>The body must be notified for the CRA (Regulation (EU) 2024/2847)</li>
<li>Check for relevant product categories and testing competences</li>
<li>Conclude a contract covering scope, timeline, and costs</li>
</ul>
<h4 id="_2-submit-technical-documentation" tabindex="-1">2. Submit Technical Documentation <a class="header-anchor" href="#_2-submit-technical-documentation" aria-label="Permalink to &quot;2. Submit Technical Documentation&quot;"></a></h4>
<p>The following documentation per Annex VII must be submitted:</p>
<ul>
<li>[ ] Complete product description (<a href="/en/technical-documentation/product-description">Reference</a>)</li>
<li>[ ] Security architecture (<a href="/en/technical-documentation/security-architecture">Reference</a>)</li>
<li>[ ] Cybersecurity risk assessment (<a href="/en/templates/risk-assessment">Template</a>)</li>
<li>[ ] SBOM (machine-readable, CycloneDX JSON)</li>
<li>[ ] Description of vulnerability handling processes</li>
<li>[ ] Test results (penetration tests, security scans)</li>
<li>[ ] Description of update mechanism (<a href="/en/technical-documentation/update-mechanism">Reference</a>)</li>
<li>[ ] Source code or source code access (if requested)</li>
</ul>
<h4 id="_3-examination-by-the-notified-body" tabindex="-1">3. Examination by the Notified Body <a class="header-anchor" href="#_3-examination-by-the-notified-body" aria-label="Permalink to &quot;3. Examination by the Notified Body&quot;"></a></h4>
<p>The notified body examines:</p>
<ol>
<li><strong>Design review</strong> – Whether the design meets Annex I Part I requirements</li>
<li><strong>Vulnerability handling</strong> – Whether Annex I Part II processes are implemented</li>
<li><strong>Test results</strong> – Whether the tests conducted are sufficient and correct</li>
<li><strong>Documentation</strong> – Whether the technical documentation is complete</li>
</ol>
<h4 id="_4-eu-type-examination-certificate" tabindex="-1">4. EU Type Examination Certificate <a class="header-anchor" href="#_4-eu-type-examination-certificate" aria-label="Permalink to &quot;4. EU Type Examination Certificate&quot;"></a></h4>
<p>Upon successful examination, the notified body issues an <strong>EU type examination certificate</strong> containing:</p>
<ul>
<li>Name and identification number of the notified body</li>
<li>Product identification (name, type, version)</li>
<li>Examination result</li>
<li>Conditions for validity (if applicable)</li>
<li>Certificate identification number</li>
</ul>
<div class="warning custom-block"><p class="custom-block-title">VALIDITY</p>
<p>The EU type examination certificate has a <strong>limited validity period</strong>. A re-examination is required for significant changes to the product or requirements.</p>
</div>
<h3 id="module-c-–-conformity-to-type" tabindex="-1">Module C – Conformity to Type <a class="header-anchor" href="#module-c-–-conformity-to-type" aria-label="Permalink to &quot;Module C – Conformity to Type&quot;"></a></h3>
<p>Module C ensures that the <strong>produced units</strong> correspond to the examined type.</p>
<h4 id="manufacturer-obligations" tabindex="-1">Manufacturer Obligations <a class="header-anchor" href="#manufacturer-obligations" aria-label="Permalink to &quot;Manufacturer Obligations&quot;"></a></h4>
<ol>
<li><strong>Monitor manufacturing process</strong> – Ensure each unit corresponds to the examined type</li>
<li><strong>Configuration management</strong> – Version control and build reproducibility</li>
<li><strong>Release process</strong> – Signed builds, integrity verification</li>
<li><strong>Change management</strong> – For changes, verify whether the type examination certificate remains valid</li>
</ol>
<h4 id="for-software-products-this-means" tabindex="-1">For Software Products, This Means: <a class="header-anchor" href="#for-software-products-this-means" aria-label="Permalink to &quot;For Software Products, This Means:&quot;"></a></h4>
<ul>
<li>Reproducible builds (CI/CD pipeline)</li>
<li>Signed artefacts (<a href="/en/sbom-signing/signing">Cosign signing</a>)</li>
<li>Version control (Git)</li>
<li>Automated tests with each release</li>
<li>SBOM generated and archived per release (<a href="/en/sbom-signing/">SBOM Lifecycle</a>)</li>
</ul>
<h2 id="_7-3-4-timeline" tabindex="-1">7.3.4 Timeline <a class="header-anchor" href="#_7-3-4-timeline" aria-label="Permalink to &quot;7.3.4 Timeline&quot;"></a></h2>
<table tabindex="0">
<thead>
<tr>
<th>Phase</th>
<th>Estimated Duration</th>
</tr>
</thead>
<tbody>
<tr>
<td>Documentation preparation</td>
<td>4-8 weeks</td>
</tr>
<tr>
<td>Selection of notified body</td>
<td>2-4 weeks</td>
</tr>
<tr>
<td>Examination by the body</td>
<td>8-16 weeks</td>
</tr>
<tr>
<td>Remediation (if needed)</td>
<td>2-8 weeks</td>
</tr>
<tr>
<td>Certificate issuance</td>
<td>1-2 weeks</td>
</tr>
<tr>
<td><strong>Total</strong></td>
<td><strong>approx. 4-9 months</strong></td>
</tr>
</tbody>
</table>
<div class="tip custom-block"><p class="custom-block-title">START EARLY</p>
<p>Availability of notified bodies for CRA examinations will be limited initially. Begin identifying and contacting suitable bodies early.</p>
</div>
<h2 id="_7-3-5-costs" tabindex="-1">7.3.5 Costs <a class="header-anchor" href="#_7-3-5-costs" aria-label="Permalink to &quot;7.3.5 Costs&quot;"></a></h2>
<p>Costs vary depending on product complexity and the notified body:</p>
<table tabindex="0">
<thead>
<tr>
<th>Cost Factor</th>
<th>Estimated Range</th>
</tr>
</thead>
<tbody>
<tr>
<td>Initial examination (Module B)</td>
<td>EUR 10,000 - 50,000</td>
</tr>
<tr>
<td>Annual surveillance</td>
<td>EUR 2,000 - 10,000</td>
</tr>
<tr>
<td>Re-examination for changes</td>
<td>EUR 5,000 - 25,000</td>
</tr>
</tbody>
</table>
<p><em>Note: Current market prices for CRA examinations are not yet established. Values serve as guidance based on comparable directives.</em></p>
<h2 id="_7-3-6-checklist-module-b-c" tabindex="-1">7.3.6 Checklist: Module B+C <a class="header-anchor" href="#_7-3-6-checklist-module-b-c" aria-label="Permalink to &quot;7.3.6 Checklist: Module B+C&quot;"></a></h2>
<ul>
<li>[ ] Product classification completed (Class I without harm. standards or Class II)</li>
<li>[ ] Technical documentation complete (Annex VII)</li>
<li>[ ] Cybersecurity risk assessment completed</li>
<li>[ ] Penetration tests conducted and documented</li>
<li>[ ] Notified body identified and contacted (NANDO)</li>
<li>[ ] Contract with notified body concluded</li>
<li>[ ] Documentation submitted</li>
<li>[ ] Examination passed / remediation implemented</li>
<li>[ ] EU type examination certificate received</li>
<li>[ ] Module C measures implemented (reproducible builds, signing)</li>
<li>[ ] EU Declaration of Conformity issued (<a href="/en/templates/eu-declaration-of-conformity">Template</a>)</li>
<li>[ ] CE marking with notified body identification number</li>
</ul>
]]></content:encoded>
            <author>BAUER GROUP</author>
        </item>
        <item>
            <title><![CDATA[7.4 Quality Assurance (Module H)]]></title>
            <link>https://cra.docs.bauer-group.com/en/conformity/module-h</link>
            <guid isPermaLink="false">https://cra.docs.bauer-group.com/en/conformity/module-h</guid>
            <pubDate>Tue, 10 Feb 2026 16:43:47 GMT</pubDate>
            <description><![CDATA[# 7.4 Quality Assurance (Module H)

## 7.4.1 Overview

Comprehensive quality assurance under Module H is an alternative conformity assessment procedure for **Class II** products. Unlike Module B+C, this approach does not examine a single type specimen but rather the manufacturer's **entire quality management system**.

::: info LEGAL BASIS
**Art. 24(2) CRA:** For Class II products, as an alternative to the EU type examination (Module B+C), comprehensive quality assurance (Module H) may be applied.

**Annex VIII, Module H** of the CRA describes the requirements for the quality management system.
:::

## 7.4.2 Applicability

| Category | Module H applicable? |
|]]></description>
            <content:encoded><![CDATA[<h1 id="_7-4-quality-assurance-module-h" tabindex="-1">7.4 Quality Assurance (Module H) <a class="header-anchor" href="#_7-4-quality-assurance-module-h" aria-label="Permalink to &quot;7.4 Quality Assurance (Module H)&quot;"></a></h1>
<h2 id="_7-4-1-overview" tabindex="-1">7.4.1 Overview <a class="header-anchor" href="#_7-4-1-overview" aria-label="Permalink to &quot;7.4.1 Overview&quot;"></a></h2>
<p>Comprehensive quality assurance under Module H is an alternative conformity assessment procedure for <strong>Class II</strong> products. Unlike Module B+C, this approach does not examine a single type specimen but rather the manufacturer's <strong>entire quality management system</strong>.</p>
<div class="info custom-block"><p class="custom-block-title">LEGAL BASIS</p>
<p><strong>Art. 24(2) CRA:</strong> For Class II products, as an alternative to the EU type examination (Module B+C), comprehensive quality assurance (Module H) may be applied.</p>
<p><strong>Annex VIII, Module H</strong> of the CRA describes the requirements for the quality management system.</p>
</div>
<h2 id="_7-4-2-applicability" tabindex="-1">7.4.2 Applicability <a class="header-anchor" href="#_7-4-2-applicability" aria-label="Permalink to &quot;7.4.2 Applicability&quot;"></a></h2>
<table tabindex="0">
<thead>
<tr>
<th>Category</th>
<th>Module H applicable?</th>
</tr>
</thead>
<tbody>
<tr>
<td>Default</td>
<td>No – Module A sufficient</td>
</tr>
<tr>
<td>Class I</td>
<td>No – Module A* or B+C</td>
</tr>
<tr>
<td><strong>Class II</strong></td>
<td><strong>Yes</strong> (Alternative to Module B+C)</td>
</tr>
<tr>
<td>Critical</td>
<td>No – EUCC required</td>
</tr>
</tbody>
</table>
<h2 id="_7-4-3-module-h-vs-module-b-c" tabindex="-1">7.4.3 Module H vs. Module B+C <a class="header-anchor" href="#_7-4-3-module-h-vs-module-b-c" aria-label="Permalink to &quot;7.4.3 Module H vs. Module B+C&quot;"></a></h2>
<table tabindex="0">
<thead>
<tr>
<th>Criterion</th>
<th>Module B+C</th>
<th>Module H</th>
</tr>
</thead>
<tbody>
<tr>
<td><strong>Object of assessment</strong></td>
<td>Individual type specimen</td>
<td>Entire QMS</td>
</tr>
<tr>
<td><strong>Suitable for</strong></td>
<td>Few product variants</td>
<td>Many product variants</td>
</tr>
<tr>
<td><strong>Prerequisite</strong></td>
<td>Technical documentation</td>
<td>Certified QMS</td>
</tr>
<tr>
<td><strong>Advantage</strong></td>
<td>Focused, faster for single products</td>
<td>Covers all products under the QMS</td>
</tr>
<tr>
<td><strong>Disadvantage</strong></td>
<td>Each new product examined individually</td>
<td>Higher initial effort</td>
</tr>
<tr>
<td><strong>Recommended when</strong></td>
<td>1-3 Class II products</td>
<td>4+ Class II products</td>
</tr>
</tbody>
</table>
<h2 id="_7-4-4-procedure" tabindex="-1">7.4.4 Procedure <a class="header-anchor" href="#_7-4-4-procedure" aria-label="Permalink to &quot;7.4.4 Procedure&quot;"></a></h2>
<h3 id="_1-build-a-quality-management-system" tabindex="-1">1. Build a Quality Management System <a class="header-anchor" href="#_1-build-a-quality-management-system" aria-label="Permalink to &quot;1. Build a Quality Management System&quot;"></a></h3>
<p>The QMS must cover the following areas:</p>
<h4 id="design-phase-security-by-design" tabindex="-1">Design Phase (Security by Design) <a class="header-anchor" href="#design-phase-security-by-design" aria-label="Permalink to &quot;Design Phase (Security by Design)&quot;"></a></h4>
<ul>
<li>Cybersecurity requirements in product specifications</li>
<li>Threat modelling and risk assessment</li>
<li>Secure architecture principles</li>
<li>Security reviews in the design process</li>
</ul>
<h4 id="development-phase-secure-development" tabindex="-1">Development Phase (Secure Development) <a class="header-anchor" href="#development-phase-secure-development" aria-label="Permalink to &quot;Development Phase (Secure Development)&quot;"></a></h4>
<ul>
<li>Secure development guidelines (secure coding guidelines)</li>
<li>Code reviews with security focus</li>
<li>Static code analysis (SAST)</li>
<li>Dependency management and vulnerability scanning</li>
</ul>
<h4 id="test-phase-security-testing" tabindex="-1">Test Phase (Security Testing) <a class="header-anchor" href="#test-phase-security-testing" aria-label="Permalink to &quot;Test Phase (Security Testing)&quot;"></a></h4>
<ul>
<li>Dynamic analysis (DAST)</li>
<li>Penetration testing</li>
<li>Fuzzing</li>
<li>Integration testing of security functions</li>
</ul>
<h4 id="production-phase-secure-build-release" tabindex="-1">Production Phase (Secure Build &amp; Release) <a class="header-anchor" href="#production-phase-secure-build-release" aria-label="Permalink to &quot;Production Phase (Secure Build &amp; Release)&quot;"></a></h4>
<ul>
<li>Reproducible builds</li>
<li>Signing of all artefacts (<a href="/en/sbom-signing/signing">Cosign</a>)</li>
<li>SBOM generation per release (<a href="/en/sbom-signing/">SBOM Lifecycle</a>)</li>
<li>Supply chain integrity verification</li>
</ul>
<h4 id="operations-phase-post-market-surveillance" tabindex="-1">Operations Phase (Post-Market Surveillance) <a class="header-anchor" href="#operations-phase-post-market-surveillance" aria-label="Permalink to &quot;Operations Phase (Post-Market Surveillance)&quot;"></a></h4>
<ul>
<li>Vulnerability monitoring (<a href="/en/vulnerability-management/cve-monitoring">CVE Monitoring</a>)</li>
<li>Patch management (<a href="/en/vulnerability-management/patch-management">Reference</a>)</li>
<li>Incident response (<a href="/en/incident-response/playbook">Playbook</a>)</li>
<li>ENISA reporting processes (<a href="/en/incident-response/enisa-reporting">Reference</a>)</li>
</ul>
<h3 id="_2-notified-body-for-qms-assessment" tabindex="-1">2. Notified Body for QMS Assessment <a class="header-anchor" href="#_2-notified-body-for-qms-assessment" aria-label="Permalink to &quot;2. Notified Body for QMS Assessment&quot;"></a></h3>
<ul>
<li>Identify body via <a href="https://ec.europa.eu/growth/tools-databases/nando/" target="_blank" rel="noreferrer">NANDO database</a></li>
<li>Body must be notified for CRA QMS assessments</li>
<li>Contract covering audit scope and surveillance intervals</li>
</ul>
<h3 id="_3-qms-audit" tabindex="-1">3. QMS Audit <a class="header-anchor" href="#_3-qms-audit" aria-label="Permalink to &quot;3. QMS Audit&quot;"></a></h3>
<p>The notified body examines:</p>
<ol>
<li><strong>QMS documentation</strong> – Process descriptions, policies, procedures</li>
<li><strong>Implementation</strong> – Whether documented processes are actually followed</li>
<li><strong>Effectiveness</strong> – Whether processes achieve the required cybersecurity level</li>
<li><strong>Annex I coverage</strong> – Whether all essential requirements are covered by the QMS</li>
</ol>
<h3 id="_4-qms-certificate" tabindex="-1">4. QMS Certificate <a class="header-anchor" href="#_4-qms-certificate" aria-label="Permalink to &quot;4. QMS Certificate&quot;"></a></h3>
<p>Upon successful audit, the notified body issues a <strong>QMS certificate</strong>. All products manufactured under this QMS are considered conformity-assessed.</p>
<h3 id="_5-surveillance" tabindex="-1">5. Surveillance <a class="header-anchor" href="#_5-surveillance" aria-label="Permalink to &quot;5. Surveillance&quot;"></a></h3>
<ul>
<li><strong>Periodic audits</strong> by the notified body (typically annually)</li>
<li><strong>Unannounced inspections</strong> are possible</li>
<li><strong>Re-certification</strong> for significant changes to the QMS</li>
</ul>
<h2 id="_7-4-5-integration-with-existing-standards" tabindex="-1">7.4.5 Integration with Existing Standards <a class="header-anchor" href="#_7-4-5-integration-with-existing-standards" aria-label="Permalink to &quot;7.4.5 Integration with Existing Standards&quot;"></a></h2>
<p>Module H integrates well with existing management systems:</p>
<table tabindex="0">
<thead>
<tr>
<th>Standard</th>
<th>Synergy with Module H</th>
</tr>
</thead>
<tbody>
<tr>
<td><strong>ISO 27001</strong> (ISMS)</td>
<td>High overlap with security controls</td>
</tr>
<tr>
<td><strong>ISO 9001</strong> (QMS)</td>
<td>Base QMS structure reusable</td>
</tr>
<tr>
<td><strong>IEC 62443</strong> (Industrial Security)</td>
<td>Relevant for industrial IoT products</td>
</tr>
<tr>
<td><strong>ISO/SAE 21434</strong> (Automotive)</td>
<td>Relevant for automotive software</td>
</tr>
</tbody>
</table>
<div class="tip custom-block"><p class="custom-block-title">LEVERAGE SYNERGIES</p>
<p>If a certified ISO 27001 or ISO 9001 management system already exists, it can serve as a foundation for the CRA QMS. The cybersecurity-specific requirements from Annex I must be supplemented.</p>
</div>
<h2 id="_7-4-6-timeline" tabindex="-1">7.4.6 Timeline <a class="header-anchor" href="#_7-4-6-timeline" aria-label="Permalink to &quot;7.4.6 Timeline&quot;"></a></h2>
<table tabindex="0">
<thead>
<tr>
<th>Phase</th>
<th>Estimated Duration</th>
</tr>
</thead>
<tbody>
<tr>
<td>QMS build / extension</td>
<td>6-12 months</td>
</tr>
<tr>
<td>Internal audits</td>
<td>2-4 weeks</td>
</tr>
<tr>
<td>Selection of notified body</td>
<td>2-4 weeks</td>
</tr>
<tr>
<td>External audit</td>
<td>4-8 weeks</td>
</tr>
<tr>
<td>Remediation</td>
<td>2-8 weeks</td>
</tr>
<tr>
<td>Certificate issuance</td>
<td>1-2 weeks</td>
</tr>
<tr>
<td><strong>Total</strong></td>
<td><strong>approx. 9-15 months</strong></td>
</tr>
</tbody>
</table>
<h2 id="_7-4-7-costs" tabindex="-1">7.4.7 Costs <a class="header-anchor" href="#_7-4-7-costs" aria-label="Permalink to &quot;7.4.7 Costs&quot;"></a></h2>
<table tabindex="0">
<thead>
<tr>
<th>Cost Factor</th>
<th>Estimated Range</th>
</tr>
</thead>
<tbody>
<tr>
<td>QMS build (internal/external)</td>
<td>EUR 20,000 - 80,000</td>
</tr>
<tr>
<td>Initial audit</td>
<td>EUR 15,000 - 40,000</td>
</tr>
<tr>
<td>Annual surveillance audits</td>
<td>EUR 5,000 - 15,000</td>
</tr>
<tr>
<td>Re-certification (every 3 years)</td>
<td>EUR 10,000 - 30,000</td>
</tr>
</tbody>
</table>
<p><em>Note: Values serve as guidance. With an existing ISO 27001/9001, the effort is significantly reduced.</em></p>
<h2 id="_7-4-8-checklist-module-h" tabindex="-1">7.4.8 Checklist: Module H <a class="header-anchor" href="#_7-4-8-checklist-module-h" aria-label="Permalink to &quot;7.4.8 Checklist: Module H&quot;"></a></h2>
<ul>
<li>[ ] Product classification completed (Class II confirmed)</li>
<li>[ ] Decision Module H vs. Module B+C made and justified</li>
<li>[ ] QMS built or existing QMS extended</li>
<li>[ ] All phases covered (design, development, test, production, operations)</li>
<li>[ ] Annex I requirements embedded in QMS</li>
<li>[ ] Internal audits conducted</li>
<li>[ ] Notified body identified and contacted (NANDO)</li>
<li>[ ] Contract with notified body concluded</li>
<li>[ ] External audit passed / remediation implemented</li>
<li>[ ] QMS certificate received</li>
<li>[ ] Surveillance plan agreed</li>
<li>[ ] EU Declaration of Conformity issued (<a href="/en/templates/eu-declaration-of-conformity">Template</a>)</li>
<li>[ ] CE marking with notified body identification number</li>
</ul>
]]></content:encoded>
            <author>BAUER GROUP</author>
        </item>
        <item>
            <title><![CDATA[7.6 Product Lists (Annex III & IV)]]></title>
            <link>https://cra.docs.bauer-group.com/en/conformity/product-lists</link>
            <guid isPermaLink="false">https://cra.docs.bauer-group.com/en/conformity/product-lists</guid>
            <pubDate>Tue, 10 Feb 2026 16:43:47 GMT</pubDate>
            <description><![CDATA[# 7.6 Product Lists (Annex III & IV)

## 7.6.1 Overview

The Cyber Resilience Act (CRA) defines specific product categories in **Annex III** and **Annex IV** that are subject to special conformity assessment procedures. This page contains the complete lists of all product categories specified therein, including descriptions, required assessment procedures, and a relevance assessment for BAUER GROUP.

The classification logic (decision tree, assessment procedure per category) is described on the [Product Classification](/en/conformity/product-classification) page.

::: info LEGAL BASIS
**Art. 7 CRA** defines the categories "Important products with digital elements" (Annex III) and "Critical products with digital elements" (Annex IV).

**Art. 24(1)-(3) CRA** establishes the conformity assessment procedures per category:

- **Class I (Annex III Part I):** Internal control (Module A) where harmonised standards are applied, otherwise EU type examination (Module B+C)
- **Class II (Annex III Part II):** EU type examination (Module B+C) or Comprehensive quality assurance (Module H)
- **Critical (Annex IV):** European cybersecurity certificate (EUCC) at assurance level "substantial" or higher

**Art. 7(3) CRA** empowers the Commission to adopt delegated acts amending Annexes III and IV.
:::

]]></description>
            <content:encoded><![CDATA[<h1 id="_7-6-product-lists-annex-iii-iv" tabindex="-1">7.6 Product Lists (Annex III &amp; IV) <a class="header-anchor" href="#_7-6-product-lists-annex-iii-iv" aria-label="Permalink to &quot;7.6 Product Lists (Annex III &amp; IV)&quot;"></a></h1>
<h2 id="_7-6-1-overview" tabindex="-1">7.6.1 Overview <a class="header-anchor" href="#_7-6-1-overview" aria-label="Permalink to &quot;7.6.1 Overview&quot;"></a></h2>
<p>The Cyber Resilience Act (CRA) defines specific product categories in <strong>Annex III</strong> and <strong>Annex IV</strong> that are subject to special conformity assessment procedures. This page contains the complete lists of all product categories specified therein, including descriptions, required assessment procedures, and a relevance assessment for BAUER GROUP.</p>
<p>The classification logic (decision tree, assessment procedure per category) is described on the <a href="/en/conformity/product-classification">Product Classification</a> page.</p>
<div class="info custom-block"><p class="custom-block-title">LEGAL BASIS</p>
<p><strong>Art. 7 CRA</strong> defines the categories &quot;Important products with digital elements&quot; (Annex III) and &quot;Critical products with digital elements&quot; (Annex IV).</p>
<p><strong>Art. 24(1)-(3) CRA</strong> establishes the conformity assessment procedures per category:</p>
<ul>
<li><strong>Class I (Annex III Part I):</strong> Internal control (Module A) where harmonised standards are applied, otherwise EU type examination (Module B+C)</li>
<li><strong>Class II (Annex III Part II):</strong> EU type examination (Module B+C) or Comprehensive quality assurance (Module H)</li>
<li><strong>Critical (Annex IV):</strong> European cybersecurity certificate (EUCC) at assurance level &quot;substantial&quot; or higher</li>
</ul>
<p><strong>Art. 7(3) CRA</strong> empowers the Commission to adopt delegated acts amending Annexes III and IV.</p>
</div>
<hr>
<h2 id="_7-6-2-annex-iii-important-products-with-digital-elements" tabindex="-1">7.6.2 Annex III -- Important Products with Digital Elements <a class="header-anchor" href="#_7-6-2-annex-iii-important-products-with-digital-elements" aria-label="Permalink to &quot;7.6.2 Annex III -- Important Products with Digital Elements&quot;"></a></h2>
<h3 id="part-i-class-i" tabindex="-1">Part I -- Class I <a class="header-anchor" href="#part-i-class-i" aria-label="Permalink to &quot;Part I -- Class I&quot;"></a></h3>
<p>Class I products may be assessed via <a href="/en/conformity/self-assessment">Internal control (Module A)</a> where harmonised standards are applied in full. Without harmonised standards, an <a href="/en/conformity/module-bc">EU type examination (Module B+C)</a> is required.</p>
<table tabindex="0">
<thead>
<tr>
<th>No.</th>
<th>Product Category</th>
<th>Description</th>
<th>Conformity Module</th>
</tr>
</thead>
<tbody>
<tr>
<td>1</td>
<td>Identity management systems and privileged access management software</td>
<td>Systems for managing digital identities and controlling privileged access rights (Privileged Access Management, PAM)</td>
<td>Module A* / B+C</td>
</tr>
<tr>
<td>2</td>
<td>Standalone and embedded browsers</td>
<td>Web browsers as standalone applications or as components embedded in other products</td>
<td>Module A* / B+C</td>
</tr>
<tr>
<td>3</td>
<td>Password managers</td>
<td>Software for the secure storage, management, and automatic entry of passwords and credentials</td>
<td>Module A* / B+C</td>
</tr>
<tr>
<td>4</td>
<td>Software that searches for, removes, or quarantines malicious software (antimalware)</td>
<td>Security software that detects, isolates, and removes malware</td>
<td>Module A* / B+C</td>
</tr>
<tr>
<td>5</td>
<td>Products with digital elements with the function of a virtual private network (VPN)</td>
<td>Products that provide virtual private network functionality</td>
<td>Module A* / B+C</td>
</tr>
<tr>
<td>6</td>
<td>Network management systems</td>
<td>Systems for monitoring, configuring, and managing network infrastructure</td>
<td>Module A* / B+C</td>
</tr>
<tr>
<td>7</td>
<td>Security information and event management (SIEM) systems</td>
<td>Systems for collecting, correlating, and analysing security-relevant events in real time</td>
<td>Module A* / B+C</td>
</tr>
<tr>
<td>8</td>
<td>Boot managers</td>
<td>Software that controls the start-up process of a system and enables selection of the operating system to be loaded</td>
<td>Module A* / B+C</td>
</tr>
<tr>
<td>9</td>
<td>Public key infrastructure and digital certificate issuance software</td>
<td>Software for managing cryptographic keys and for issuing, managing, and verifying digital certificates</td>
<td>Module A* / B+C</td>
</tr>
<tr>
<td>10</td>
<td>Physical and virtual network interfaces</td>
<td>Hardware and software network interfaces that enable communication within networks</td>
<td>Module A* / B+C</td>
</tr>
<tr>
<td>11</td>
<td>Operating systems</td>
<td>Software that manages the basic functions of a computer and enables the execution of applications</td>
<td>Module A* / B+C</td>
</tr>
<tr>
<td>12</td>
<td>Routers, modems intended for the connection to the internet, and switches</td>
<td>Network hardware intended for connecting to the internet, including routers, modems, and switches</td>
<td>Module A* / B+C</td>
</tr>
<tr>
<td>13</td>
<td>Microprocessors with security-related functionalities</td>
<td>Microprocessors that implement security-related functionalities</td>
<td>Module A* / B+C</td>
</tr>
<tr>
<td>14</td>
<td>Microcontrollers with security-related functionalities</td>
<td>Microcontrollers that implement security-related functionalities</td>
<td>Module A* / B+C</td>
</tr>
<tr>
<td>15</td>
<td>ASICs and FPGAs with security-related functionalities</td>
<td>Application-specific integrated circuits (ASICs) and field-programmable gate arrays (FPGAs) with security-related functionalities</td>
<td>Module A* / B+C</td>
</tr>
<tr>
<td>16</td>
<td>Smart home virtual assistants with general purpose</td>
<td>Voice-controlled or AI-based assistants for use in the smart home with general-purpose functionality</td>
<td>Module A* / B+C</td>
</tr>
<tr>
<td>17</td>
<td>Smart home products with security functionalities</td>
<td>Smart home products with security functionalities, including door locks, cameras, baby monitoring systems, and alarm systems</td>
<td>Module A* / B+C</td>
</tr>
<tr>
<td>18</td>
<td>Internet-connected toys with social interactive features or location tracking</td>
<td>Internet-connected toys covered by Directive 2009/48/EC with social interactive features or location tracking</td>
<td>Module A* / B+C</td>
</tr>
<tr>
<td>19</td>
<td>Personal wearable products for health monitoring purposes</td>
<td>Products worn on the body for monitoring health-related parameters</td>
<td>Module A* / B+C</td>
</tr>
</tbody>
</table>
<p><em>* Module A only where harmonised standards are applied in full or where conforming with EU cybersecurity certification</em></p>
<h3 id="part-ii-class-ii" tabindex="-1">Part II -- Class II <a class="header-anchor" href="#part-ii-class-ii" aria-label="Permalink to &quot;Part II -- Class II&quot;"></a></h3>
<p>Class II products require mandatory third-party assessment: <a href="/en/conformity/module-bc">EU type examination (Module B+C)</a> or <a href="/en/conformity/module-h">Comprehensive quality assurance (Module H)</a>.</p>
<table tabindex="0">
<thead>
<tr>
<th>No.</th>
<th>Product Category</th>
<th>Description</th>
<th>Conformity Module</th>
</tr>
</thead>
<tbody>
<tr>
<td>1</td>
<td>Hypervisors and container runtime systems supporting virtualised execution of operating systems</td>
<td>Hypervisors and container runtime systems that support the virtualised execution of operating systems</td>
<td>Module B+C / H</td>
</tr>
<tr>
<td>2</td>
<td>Firewalls, intrusion detection and/or prevention systems</td>
<td>Network security systems for monitoring, detecting, and preventing attacks and unauthorised access</td>
<td>Module B+C / H</td>
</tr>
<tr>
<td>3</td>
<td>Tamper-resistant microprocessors</td>
<td>Microprocessors with physical protection against tampering and readout (tamper-resistant)</td>
<td>Module B+C / H</td>
</tr>
<tr>
<td>4</td>
<td>Tamper-resistant microcontrollers</td>
<td>Microcontrollers with physical protection against tampering and readout (tamper-resistant)</td>
<td>Module B+C / H</td>
</tr>
</tbody>
</table>
<hr>
<h2 id="_7-6-3-annex-iv-critical-products-with-digital-elements" tabindex="-1">7.6.3 Annex IV -- Critical Products with Digital Elements <a class="header-anchor" href="#_7-6-3-annex-iv-critical-products-with-digital-elements" aria-label="Permalink to &quot;7.6.3 Annex IV -- Critical Products with Digital Elements&quot;"></a></h2>
<p>Critical products require a <a href="/en/conformity/eucc">European cybersecurity certificate (EUCC)</a> at assurance level &quot;substantial&quot; or higher.</p>
<table tabindex="0">
<thead>
<tr>
<th>No.</th>
<th>Product Category</th>
<th>Description</th>
<th>Conformity Module</th>
</tr>
</thead>
<tbody>
<tr>
<td>1</td>
<td>Hardware devices with security boxes (HSMs, smartcards, etc.)</td>
<td>Hardware security modules (HSMs), smartcards, and comparable devices that perform cryptographic operations in a protected environment</td>
<td>EUCC</td>
</tr>
<tr>
<td>2</td>
<td>Smartcard readers</td>
<td>Devices for reading and processing smartcard data for authentication, signature, or encryption</td>
<td>EUCC</td>
</tr>
<tr>
<td>3</td>
<td>Sensor and actuator components for robots and robot controllers (industrial applications)</td>
<td>Sensors and actuators used in robots and robot controllers for industrial applications</td>
<td>EUCC</td>
</tr>
<tr>
<td>4</td>
<td>Smart meters within the meaning of Article 2(23) of Directive (EU) 2019/944</td>
<td>Electronic metering systems for measuring energy consumption under the Electricity Internal Market Directive</td>
<td>EUCC</td>
</tr>
<tr>
<td>5</td>
<td>All devices and software components belonging to Advanced Metering Infrastructure (AMI)</td>
<td>All devices and software that are part of the advanced metering infrastructure</td>
<td>EUCC</td>
</tr>
</tbody>
</table>
<hr>
<h2 id="_7-6-4-conformity-module-overview" tabindex="-1">7.6.4 Conformity Module Overview <a class="header-anchor" href="#_7-6-4-conformity-module-overview" aria-label="Permalink to &quot;7.6.4 Conformity Module Overview&quot;"></a></h2>
<table tabindex="0">
<thead>
<tr>
<th>Product Category</th>
<th style="text-align:center">Module A (Self)</th>
<th style="text-align:center">Module B+C (Type)</th>
<th style="text-align:center">Module H (Quality)</th>
<th style="text-align:center">EUCC</th>
</tr>
</thead>
<tbody>
<tr>
<td>Standard (not in Annex III/IV)</td>
<td style="text-align:center">✅</td>
<td style="text-align:center">-</td>
<td style="text-align:center">-</td>
<td style="text-align:center">-</td>
</tr>
<tr>
<td>Class I (Annex III Part I)</td>
<td style="text-align:center">✅*</td>
<td style="text-align:center">✅</td>
<td style="text-align:center">-</td>
<td style="text-align:center">-</td>
</tr>
<tr>
<td>Class II (Annex III Part II)</td>
<td style="text-align:center">-</td>
<td style="text-align:center">✅</td>
<td style="text-align:center">✅</td>
<td style="text-align:center">-</td>
</tr>
<tr>
<td>Critical (Annex IV)</td>
<td style="text-align:center">-</td>
<td style="text-align:center">-</td>
<td style="text-align:center">-</td>
<td style="text-align:center">✅</td>
</tr>
</tbody>
</table>
<p><em>* Only where harmonised standards are applied in full</em></p>
<p>Detailed information on the individual modules:</p>
<ul>
<li><a href="/en/conformity/self-assessment">Internal control (Module A) -- Self-assessment</a></li>
<li><a href="/en/conformity/module-bc">EU type examination (Module B+C)</a></li>
<li><a href="/en/conformity/module-h">Comprehensive quality assurance (Module H)</a></li>
<li><a href="/en/conformity/eucc">European cybersecurity certificate (EUCC)</a></li>
</ul>
<hr>
<h2 id="_7-6-5-bauer-group-relevance-assessment" tabindex="-1">7.6.5 BAUER GROUP Relevance Assessment <a class="header-anchor" href="#_7-6-5-bauer-group-relevance-assessment" aria-label="Permalink to &quot;7.6.5 BAUER GROUP Relevance Assessment&quot;"></a></h2>
<p>The following table assesses the relevance of each product category from Annex III and IV for BAUER GROUP.</p>
<h3 id="annex-iii-part-i-class-i" tabindex="-1">Annex III Part I -- Class I <a class="header-anchor" href="#annex-iii-part-i-class-i" aria-label="Permalink to &quot;Annex III Part I -- Class I&quot;"></a></h3>
<table tabindex="0">
<thead>
<tr>
<th>No.</th>
<th>Product Category</th>
<th>Relevance</th>
<th>Rationale</th>
</tr>
</thead>
<tbody>
<tr>
<td>1</td>
<td>Identity management systems / PAM</td>
<td>To be assessed</td>
<td>If IAM solutions or PAM software are offered</td>
</tr>
<tr>
<td>2</td>
<td>Standalone and embedded browsers</td>
<td>Not relevant</td>
<td>BAUER GROUP does not manufacture browsers</td>
</tr>
<tr>
<td>3</td>
<td>Password managers</td>
<td>To be assessed</td>
<td>If credential management solutions are offered</td>
</tr>
<tr>
<td>4</td>
<td>Antimalware software</td>
<td>Not relevant</td>
<td>BAUER GROUP does not manufacture antimalware software</td>
</tr>
<tr>
<td>5</td>
<td>VPN products</td>
<td>To be assessed</td>
<td>If VPN functionality is integrated in products</td>
</tr>
<tr>
<td>6</td>
<td>Network management systems</td>
<td>To be assessed</td>
<td>If network monitoring tools are offered</td>
</tr>
<tr>
<td>7</td>
<td>SIEM systems</td>
<td>Not relevant</td>
<td>BAUER GROUP does not manufacture SIEM systems</td>
</tr>
<tr>
<td>8</td>
<td>Boot managers</td>
<td>Not relevant</td>
<td>BAUER GROUP does not manufacture boot managers</td>
</tr>
<tr>
<td>9</td>
<td>PKI and certificate issuance software</td>
<td>To be assessed</td>
<td>If certificate management solutions are offered</td>
</tr>
<tr>
<td>10</td>
<td>Physical and virtual network interfaces</td>
<td>To be assessed</td>
<td>If network components with firmware are manufactured</td>
</tr>
<tr>
<td>11</td>
<td>Operating systems</td>
<td>To be assessed</td>
<td>If OS-level products or embedded operating systems</td>
</tr>
<tr>
<td>12</td>
<td>Routers, modems, switches</td>
<td>To be assessed</td>
<td>If network hardware with firmware is offered</td>
</tr>
<tr>
<td>13</td>
<td>Microprocessors (security-related)</td>
<td>To be assessed</td>
<td>If microprocessors with security functions are developed</td>
</tr>
<tr>
<td>14</td>
<td>Microcontrollers (security-related)</td>
<td><strong>Relevant</strong></td>
<td>ESP32/STM32 firmware with security-related functions</td>
</tr>
<tr>
<td>15</td>
<td>ASICs / FPGAs (security-related)</td>
<td>To be assessed</td>
<td>If ASICs or FPGAs with security functions are used</td>
</tr>
<tr>
<td>16</td>
<td>Smart home virtual assistants</td>
<td>Not relevant</td>
<td>BAUER GROUP does not manufacture smart home assistants</td>
</tr>
<tr>
<td>17</td>
<td>Smart home products with security functionalities</td>
<td>Not relevant</td>
<td>BAUER GROUP does not manufacture smart home security products</td>
</tr>
<tr>
<td>18</td>
<td>Internet-connected toys</td>
<td>Not relevant</td>
<td>BAUER GROUP does not manufacture toys</td>
</tr>
<tr>
<td>19</td>
<td>Health monitoring wearables</td>
<td>Not relevant</td>
<td>BAUER GROUP does not manufacture health wearables</td>
</tr>
</tbody>
</table>
<h3 id="annex-iii-part-ii-class-ii" tabindex="-1">Annex III Part II -- Class II <a class="header-anchor" href="#annex-iii-part-ii-class-ii" aria-label="Permalink to &quot;Annex III Part II -- Class II&quot;"></a></h3>
<table tabindex="0">
<thead>
<tr>
<th>No.</th>
<th>Product Category</th>
<th>Relevance</th>
<th>Rationale</th>
</tr>
</thead>
<tbody>
<tr>
<td>1</td>
<td>Hypervisors / container runtime</td>
<td>Not relevant</td>
<td>BAUER GROUP uses containers but does not offer a runtime</td>
</tr>
<tr>
<td>2</td>
<td>Firewalls / IDS / IPS</td>
<td>To be assessed</td>
<td>If security products with firewall/IDS functionality</td>
</tr>
<tr>
<td>3</td>
<td>Tamper-resistant microprocessors</td>
<td>Not relevant</td>
<td>BAUER GROUP does not manufacture tamper-resistant processors</td>
</tr>
<tr>
<td>4</td>
<td>Tamper-resistant microcontrollers</td>
<td>Not relevant</td>
<td>BAUER GROUP does not manufacture tamper-resistant controllers</td>
</tr>
</tbody>
</table>
<h3 id="annex-iv-critical" tabindex="-1">Annex IV -- Critical <a class="header-anchor" href="#annex-iv-critical" aria-label="Permalink to &quot;Annex IV -- Critical&quot;"></a></h3>
<table tabindex="0">
<thead>
<tr>
<th>No.</th>
<th>Product Category</th>
<th>Relevance</th>
<th>Rationale</th>
</tr>
</thead>
<tbody>
<tr>
<td>1</td>
<td>HSMs, smartcards, etc.</td>
<td>Not relevant</td>
<td>BAUER GROUP uses HSMs but does not manufacture them</td>
</tr>
<tr>
<td>2</td>
<td>Smartcard readers</td>
<td>Not relevant</td>
<td>BAUER GROUP does not manufacture smartcard readers</td>
</tr>
<tr>
<td>3</td>
<td>Robot sensors and actuators (industrial)</td>
<td>To be assessed</td>
<td>If industrial robotics components are manufactured</td>
</tr>
<tr>
<td>4</td>
<td>Smart meters (Directive (EU) 2019/944)</td>
<td>To be assessed</td>
<td>If energy metering devices are manufactured</td>
</tr>
<tr>
<td>5</td>
<td>Advanced Metering Infrastructure (AMI)</td>
<td>To be assessed</td>
<td>If AMI components are manufactured</td>
</tr>
</tbody>
</table>
<h3 id="relevance-summary" tabindex="-1">Relevance Summary <a class="header-anchor" href="#relevance-summary" aria-label="Permalink to &quot;Relevance Summary&quot;"></a></h3>
<table tabindex="0">
<thead>
<tr>
<th>Relevance Status</th>
<th style="text-align:center">Number of Categories</th>
</tr>
</thead>
<tbody>
<tr>
<td><strong>Relevant</strong></td>
<td style="text-align:center">1</td>
</tr>
<tr>
<td>To be assessed</td>
<td style="text-align:center">14</td>
</tr>
<tr>
<td>Not relevant</td>
<td style="text-align:center">13</td>
</tr>
<tr>
<td><strong>Total</strong></td>
<td style="text-align:center"><strong>28</strong></td>
</tr>
</tbody>
</table>
<div class="tip custom-block"><p class="custom-block-title">RECOMMENDATION</p>
<p>The relevance assessment should be carried out individually for each BAUER GROUP product line and documented in the respective <a href="/en/technical-documentation/product-description">Product Description</a>. The assessment in the table above serves as initial guidance.</p>
</div>
<div class="warning custom-block"><p class="custom-block-title">KEEP THIS LIST UPDATED</p>
<p>The product lists in Annex III and Annex IV may be amended by <strong>delegated acts</strong> of the European Commission pursuant to Art. 7(3) CRA. These lists must therefore be reviewed regularly for updates and compared against the currently applicable version of Regulation (EU) 2024/2847. Amendments may include the addition of new product categories as well as the reclassification of existing categories.</p>
</div>
<h2 id="_7-6-6-next-steps" tabindex="-1">7.6.6 Next Steps <a class="header-anchor" href="#_7-6-6-next-steps" aria-label="Permalink to &quot;7.6.6 Next Steps&quot;"></a></h2>
<ol>
<li><strong>Perform classification</strong> -- Use the decision tree on the <a href="/en/conformity/product-classification">Product Classification</a> page</li>
<li><strong>Review relevance</strong> -- Compare each BAUER GROUP product against the lists above</li>
<li><strong>Determine assessment procedure</strong> -- Select the correct conformity module</li>
<li><strong>Document</strong> -- Record the classification in the <a href="/en/technical-documentation/product-description">Product Description</a></li>
<li><strong>Risk assessment</strong> -- Create a <a href="/en/templates/risk-assessment">Risk Assessment</a> for each classified product</li>
</ol>
]]></content:encoded>
            <author>BAUER GROUP</author>
        </item>
        <item>
            <title><![CDATA[7.2 Internal Control (Module A)]]></title>
            <link>https://cra.docs.bauer-group.com/en/conformity/self-assessment</link>
            <guid isPermaLink="false">https://cra.docs.bauer-group.com/en/conformity/self-assessment</guid>
            <pubDate>Tue, 10 Feb 2026 16:43:47 GMT</pubDate>
            <description><![CDATA[# 7.2 Internal Control (Module A)

## 7.2.1 Procedure

The Internal Control pursuant to Annex VIII, Module A, CRA is the simplest Conformity Assessment procedure. The manufacturer assesses independently whether its product meets the essential requirements.

::: info APPLICABILITY
Module A is applicable for:

- **Standard products** (not listed in Annex III or IV)
- **Class I** -- only where harmonised standards are applied in full

For **Class II** and **Critical**, Module A is **not** sufficient.
:::

## 7.2.2 Internal Control Process

### 1. Prepare Technical Documentation

In accordance with Annex VII CRA, complete technical documentation must be available:

- [ ] Product description ([Template](/en/technical-documentation/product-description))
- [ ] Security architecture ([Reference](/en/technical-documentation/security-architecture))
- [ ] Cybersecurity Risk Assessment ([Template](/en/templates/risk-assessment))
- [ ] SBOM (machine-readable, CycloneDX)
- [ ] Description of vulnerability handling
- [ ] Applied standards and norms
- [ ] Test results

### 2. Requirements Review (Annex I)

Review each requirement from Annex I and document conformity:

**Part I -- Security Requirements:**

| No. | Requirement | Compliant | Evidence |
|]]></description>
            <content:encoded><![CDATA[<h1 id="_7-2-internal-control-module-a" tabindex="-1">7.2 Internal Control (Module A) <a class="header-anchor" href="#_7-2-internal-control-module-a" aria-label="Permalink to &quot;7.2 Internal Control (Module A)&quot;"></a></h1>
<h2 id="_7-2-1-procedure" tabindex="-1">7.2.1 Procedure <a class="header-anchor" href="#_7-2-1-procedure" aria-label="Permalink to &quot;7.2.1 Procedure&quot;"></a></h2>
<p>The Internal Control pursuant to Annex VIII, Module A, CRA is the simplest Conformity Assessment procedure. The manufacturer assesses independently whether its product meets the essential requirements.</p>
<div class="info custom-block"><p class="custom-block-title">APPLICABILITY</p>
<p>Module A is applicable for:</p>
<ul>
<li><strong>Standard products</strong> (not listed in Annex III or IV)</li>
<li><strong>Class I</strong> -- only where harmonised standards are applied in full</li>
</ul>
<p>For <strong>Class II</strong> and <strong>Critical</strong>, Module A is <strong>not</strong> sufficient.</p>
</div>
<h2 id="_7-2-2-internal-control-process" tabindex="-1">7.2.2 Internal Control Process <a class="header-anchor" href="#_7-2-2-internal-control-process" aria-label="Permalink to &quot;7.2.2 Internal Control Process&quot;"></a></h2>
<h3 id="_1-prepare-technical-documentation" tabindex="-1">1. Prepare Technical Documentation <a class="header-anchor" href="#_1-prepare-technical-documentation" aria-label="Permalink to &quot;1. Prepare Technical Documentation&quot;"></a></h3>
<p>In accordance with Annex VII CRA, complete technical documentation must be available:</p>
<ul>
<li>[ ] Product description (<a href="/en/technical-documentation/product-description">Template</a>)</li>
<li>[ ] Security architecture (<a href="/en/technical-documentation/security-architecture">Reference</a>)</li>
<li>[ ] Cybersecurity Risk Assessment (<a href="/en/templates/risk-assessment">Template</a>)</li>
<li>[ ] SBOM (machine-readable, CycloneDX)</li>
<li>[ ] Description of vulnerability handling</li>
<li>[ ] Applied standards and norms</li>
<li>[ ] Test results</li>
</ul>
<h3 id="_2-requirements-review-annex-i" tabindex="-1">2. Requirements Review (Annex I) <a class="header-anchor" href="#_2-requirements-review-annex-i" aria-label="Permalink to &quot;2. Requirements Review (Annex I)&quot;"></a></h3>
<p>Review each requirement from Annex I and document conformity:</p>
<p><strong>Part I -- Security Requirements:</strong></p>
<table tabindex="0">
<thead>
<tr>
<th>No.</th>
<th>Requirement</th>
<th style="text-align:center">Compliant</th>
<th>Evidence</th>
</tr>
</thead>
<tbody>
<tr>
<td>1</td>
<td>Appropriate level of cybersecurity</td>
<td style="text-align:center">☐</td>
<td>[Reference to documentation]</td>
</tr>
<tr>
<td>2</td>
<td>No known exploitable vulnerabilities</td>
<td style="text-align:center">☐</td>
<td>CVE Monitor + Trivy Scan</td>
</tr>
<tr>
<td>3.1</td>
<td>Protection of confidentiality</td>
<td style="text-align:center">☐</td>
<td>[Encryption, access control]</td>
</tr>
<tr>
<td>3.2</td>
<td>Protection of integrity</td>
<td style="text-align:center">☐</td>
<td>[Cosign, checksums]</td>
</tr>
<tr>
<td>3.3</td>
<td>Protection of availability</td>
<td style="text-align:center">☐</td>
<td>[Resilience measures]</td>
</tr>
<tr>
<td>4</td>
<td>Secure default configuration</td>
<td style="text-align:center">☐</td>
<td>[Security-by-Default]</td>
</tr>
<tr>
<td>5</td>
<td>Protection against unauthorised access</td>
<td style="text-align:center">☐</td>
<td>[Authentication, authorisation]</td>
</tr>
<tr>
<td>6</td>
<td>Minimisation of the attack surface</td>
<td style="text-align:center">☐</td>
<td>[Minimal services, ports]</td>
</tr>
<tr>
<td>7</td>
<td>Confidentiality of stored data</td>
<td style="text-align:center">☐</td>
<td>[Encryption]</td>
</tr>
<tr>
<td>8</td>
<td>Integrity of stored data</td>
<td style="text-align:center">☐</td>
<td>[Integrity checks]</td>
</tr>
<tr>
<td>9</td>
<td>Data minimisation</td>
<td style="text-align:center">☐</td>
<td>[Only necessary data]</td>
</tr>
<tr>
<td>10</td>
<td>Availability of essential functions</td>
<td style="text-align:center">☐</td>
<td>[Resilience]</td>
</tr>
<tr>
<td>11</td>
<td>Minimisation of adverse impact</td>
<td style="text-align:center">☐</td>
<td>[Logging, monitoring]</td>
</tr>
<tr>
<td>12</td>
<td>Security-relevant information</td>
<td style="text-align:center">☐</td>
<td>[Logging, audit trail]</td>
</tr>
<tr>
<td>13</td>
<td>Secure update capability</td>
<td style="text-align:center">☐</td>
<td>[Update mechanism]</td>
</tr>
</tbody>
</table>
<p><strong>Part II -- Vulnerability Handling:</strong></p>
<table tabindex="0">
<thead>
<tr>
<th>No.</th>
<th>Requirement</th>
<th style="text-align:center">Compliant</th>
<th>Evidence</th>
</tr>
</thead>
<tbody>
<tr>
<td>1</td>
<td>Identify and document vulnerabilities (SBOM)</td>
<td style="text-align:center">☐</td>
<td>SBOM Lifecycle</td>
</tr>
<tr>
<td>2</td>
<td>Remediate vulnerabilities without delay</td>
<td style="text-align:center">☐</td>
<td>Patch Management</td>
</tr>
<tr>
<td>3</td>
<td>Regular testing and reviews</td>
<td style="text-align:center">☐</td>
<td>CI/CD Security Scans</td>
</tr>
<tr>
<td>4</td>
<td>Public disclosure of remediated vulnerabilities</td>
<td style="text-align:center">☐</td>
<td>Security Advisories</td>
</tr>
<tr>
<td>5</td>
<td>Coordinated vulnerability disclosure</td>
<td style="text-align:center">☐</td>
<td>CVD Policy</td>
</tr>
<tr>
<td>6</td>
<td>Provide security updates</td>
<td style="text-align:center">☐</td>
<td>Update mechanism</td>
</tr>
<tr>
<td>7</td>
<td>Timely provision of updates</td>
<td style="text-align:center">☐</td>
<td>Patch Management SLAs</td>
</tr>
<tr>
<td>8</td>
<td>Point of contact for vulnerability reports</td>
<td style="text-align:center">☐</td>
<td>SECURITY.md</td>
</tr>
</tbody>
</table>
<h3 id="_3-issue-the-eu-declaration-of-conformity" tabindex="-1">3. Issue the EU Declaration of Conformity <a class="header-anchor" href="#_3-issue-the-eu-declaration-of-conformity" aria-label="Permalink to &quot;3. Issue the EU Declaration of Conformity&quot;"></a></h3>
<p>Following a successful review:</p>
<ul>
<li>Prepare the EU Declaration of Conformity in accordance with Annex V (<a href="/en/templates/eu-declaration-of-conformity">Template</a>)</li>
<li>Sign by an authorised person</li>
<li>Archive in the repository</li>
</ul>
<h3 id="_4-ce-marking" tabindex="-1">4. CE Marking <a class="header-anchor" href="#_4-ce-marking" aria-label="Permalink to &quot;4. CE Marking&quot;"></a></h3>
<ul>
<li>Affix the CE marking on the product or its packaging</li>
<li>For software: Display in the documentation and, where applicable, in the UI</li>
<li>Must be visible, legible, and indelible</li>
</ul>
<h3 id="_5-retain-documentation" tabindex="-1">5. Retain Documentation <a class="header-anchor" href="#_5-retain-documentation" aria-label="Permalink to &quot;5. Retain Documentation&quot;"></a></h3>
<ul>
<li>Technical documentation: <strong>10 years</strong> after placing on the market</li>
<li>EU Declaration of Conformity: <strong>10 years</strong> after placing on the market</li>
<li>Storage location: This repository (Git-versioned)</li>
</ul>
<h2 id="_7-2-3-checklist-module-a-internal-control" tabindex="-1">7.2.3 Checklist: Module A -- Internal Control <a class="header-anchor" href="#_7-2-3-checklist-module-a-internal-control" aria-label="Permalink to &quot;7.2.3 Checklist: Module A -- Internal Control&quot;"></a></h2>
<ul>
<li>[ ] Product Classification completed (Standard or Class I with harmonised standards)</li>
<li>[ ] Technical documentation complete (Annex VII)</li>
<li>[ ] Cybersecurity Risk Assessment performed</li>
<li>[ ] Annex I Part I -- all requirements reviewed and documented</li>
<li>[ ] Annex I Part II -- all requirements reviewed and documented</li>
<li>[ ] SBOM generated and archived</li>
<li>[ ] Vulnerability handling process established</li>
<li>[ ] EU Declaration of Conformity prepared and signed</li>
<li>[ ] CE marking affixed</li>
<li>[ ] Documentation archived (10-year retention)</li>
</ul>
]]></content:encoded>
            <author>BAUER GROUP</author>
        </item>
        <item>
            <title><![CDATA[4.1 Incident Response Playbook]]></title>
            <link>https://cra.docs.bauer-group.com/en/incident-response/playbook</link>
            <guid isPermaLink="false">https://cra.docs.bauer-group.com/en/incident-response/playbook</guid>
            <pubDate>Tue, 10 Feb 2026 16:43:47 GMT</pubDate>
            <description><![CDATA[# 4.1 Incident Response Playbook

## 4.1.1 Purpose

This playbook defines the binding process for the detection, assessment, containment, remediation and post-incident review of cybersecurity incidents pursuant to CRA Art. 14 and Annex I, Part II.

## 4.1.2 Escalation Levels

| Level | Designation | Criteria | Examples |
|]]></description>
            <content:encoded><![CDATA[<h1 id="_4-1-incident-response-playbook" tabindex="-1">4.1 Incident Response Playbook <a class="header-anchor" href="#_4-1-incident-response-playbook" aria-label="Permalink to &quot;4.1 Incident Response Playbook&quot;"></a></h1>
<h2 id="_4-1-1-purpose" tabindex="-1">4.1.1 Purpose <a class="header-anchor" href="#_4-1-1-purpose" aria-label="Permalink to &quot;4.1.1 Purpose&quot;"></a></h2>
<p>This playbook defines the binding process for the detection, assessment, containment, remediation and post-incident review of cybersecurity incidents pursuant to CRA Art. 14 and Annex I, Part II.</p>
<h2 id="_4-1-2-escalation-levels" tabindex="-1">4.1.2 Escalation Levels <a class="header-anchor" href="#_4-1-2-escalation-levels" aria-label="Permalink to &quot;4.1.2 Escalation Levels&quot;"></a></h2>
<table tabindex="0">
<thead>
<tr>
<th>Level</th>
<th>Designation</th>
<th>Criteria</th>
<th>Examples</th>
</tr>
</thead>
<tbody>
<tr>
<td><strong>SEV-1</strong></td>
<td>Critical</td>
<td>Actively exploited vulnerability in production, data loss, full compromise</td>
<td>Zero-day exploit, ransomware, data exfiltration</td>
</tr>
<tr>
<td><strong>SEV-2</strong></td>
<td>High</td>
<td>Exploitable vulnerability (PoC available), partial compromise</td>
<td>CVE with public exploit, lateral movement detected</td>
</tr>
<tr>
<td><strong>SEV-3</strong></td>
<td>Medium</td>
<td>Vulnerability without known exploit, limited impact</td>
<td>New CRITICAL CVE without PoC, configuration error</td>
</tr>
<tr>
<td><strong>SEV-4</strong></td>
<td>Low</td>
<td>Informational findings, best-practice deviations</td>
<td>LOW/MEDIUM CVEs, policy violations</td>
</tr>
</tbody>
</table>
<h2 id="_4-1-3-playbook-phase-1-–-detection-triage" tabindex="-1">4.1.3 Playbook: Phase 1 – Detection &amp; Triage <a class="header-anchor" href="#_4-1-3-playbook-phase-1-–-detection-triage" aria-label="Permalink to &quot;4.1.3 Playbook: Phase 1 – Detection &amp; Triage&quot;"></a></h2>
<p><strong>Timeframe:</strong> 0 – 1 hour</p>
<div class="language- vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang"></span><pre class="shiki shiki-themes github-light github-dark vp-code" tabindex="0" v-pre=""><code><span class="line"><span>Security event detected</span></span>
<span class="line"><span>    │</span></span>
<span class="line"><span>    ├── Identify source</span></span>
<span class="line"><span>    │   ├── CVE monitor (automated)</span></span>
<span class="line"><span>    │   ├── Dependabot Alert</span></span>
<span class="line"><span>    │   ├── External report (SECURITY.md)</span></span>
<span class="line"><span>    │   ├── Internal detection</span></span>
<span class="line"><span>    │   └── ENISA / CSIRT notification</span></span>
<span class="line"><span>    │</span></span>
<span class="line"><span>    ├── Initial assessment by Security Lead</span></span>
<span class="line"><span>    │   ├── Determine severity (SEV-1 to SEV-4)</span></span>
<span class="line"><span>    │   ├── Identify affected products</span></span>
<span class="line"><span>    │   ├── Is the vulnerability being actively exploited?</span></span>
<span class="line"><span>    │   └── Is customer data affected?</span></span>
<span class="line"><span>    │</span></span>
<span class="line"><span>    └── Escalation decision</span></span>
<span class="line"><span>        ├── SEV-1/SEV-2 → Immediate escalation to management</span></span>
<span class="line"><span>        │   └── If actively exploited → ENISA 24h deadline starts</span></span>
<span class="line"><span>        ├── SEV-3 → Resolution within 72h</span></span>
<span class="line"><span>        └── SEV-4 → Standard processing</span></span></code></pre>
</div><p><strong>Triage Checklist:</strong></p>
<ul>
<li>[ ] Event source documented</li>
<li>[ ] Severity determined (SEV-1/2/3/4)</li>
<li>[ ] Affected products and versions identified</li>
<li>[ ] Active exploitation verified (KEV catalog, threat intelligence)</li>
<li>[ ] ENISA reporting obligation assessed</li>
<li>[ ] Incident ticket created (GitHub Issue with label <code>incident</code>)</li>
</ul>
<h2 id="_4-1-4-playbook-phase-2-–-containment" tabindex="-1">4.1.4 Playbook: Phase 2 – Containment <a class="header-anchor" href="#_4-1-4-playbook-phase-2-–-containment" aria-label="Permalink to &quot;4.1.4 Playbook: Phase 2 – Containment&quot;"></a></h2>
<p><strong>Timeframe:</strong> 1 – 4 hours (SEV-1), 4 – 24 hours (SEV-2)</p>
<div class="language- vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang"></span><pre class="shiki shiki-themes github-light github-dark vp-code" tabindex="0" v-pre=""><code><span class="line"><span>Immediate measures</span></span>
<span class="line"><span>    │</span></span>
<span class="line"><span>    ├── Short-term containment</span></span>
<span class="line"><span>    │   ├── Isolate affected service (if possible)</span></span>
<span class="line"><span>    │   ├── Implement workaround</span></span>
<span class="line"><span>    │   ├── Restrict access</span></span>
<span class="line"><span>    │   └── Evidence preservation (logs, artefacts)</span></span>
<span class="line"><span>    │</span></span>
<span class="line"><span>    ├── In case of active exploitation</span></span>
<span class="line"><span>    │   ├── Send ENISA early warning (≤ 24h)</span></span>
<span class="line"><span>    │   ├── Warn affected users</span></span>
<span class="line"><span>    │   └── Publish temporary mitigation</span></span>
<span class="line"><span>    │</span></span>
<span class="line"><span>    └── Communication</span></span>
<span class="line"><span>        ├── Inform internal team</span></span>
<span class="line"><span>        ├── Brief management (SEV-1/2)</span></span>
<span class="line"><span>        └── Activate communication plan</span></span></code></pre>
</div><p><strong>Containment Checklist:</strong></p>
<ul>
<li>[ ] Immediate measures implemented</li>
<li>[ ] Evidence secured (logs, screenshots, artefacts)</li>
<li>[ ] ENISA early warning sent (if reportable)</li>
<li>[ ] Affected users informed (if required)</li>
<li>[ ] Containment measures documented</li>
</ul>
<h2 id="_4-1-5-playbook-phase-3-–-remediation" tabindex="-1">4.1.5 Playbook: Phase 3 – Remediation <a class="header-anchor" href="#_4-1-5-playbook-phase-3-–-remediation" aria-label="Permalink to &quot;4.1.5 Playbook: Phase 3 – Remediation&quot;"></a></h2>
<p><strong>Timeframe:</strong> 4 – 48 hours (SEV-1), 1 – 7 days (SEV-2)</p>
<div class="language- vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang"></span><pre class="shiki shiki-themes github-light github-dark vp-code" tabindex="0" v-pre=""><code><span class="line"><span>Patch development</span></span>
<span class="line"><span>    │</span></span>
<span class="line"><span>    ├── Root cause analysis</span></span>
<span class="line"><span>    │   ├── Locate vulnerability in code</span></span>
<span class="line"><span>    │   ├── Trace exploitation path</span></span>
<span class="line"><span>    │   └── Identify affected components</span></span>
<span class="line"><span>    │</span></span>
<span class="line"><span>    ├── Implement fix</span></span>
<span class="line"><span>    │   ├── Dependency update OR code fix</span></span>
<span class="line"><span>    │   ├── Tests (unit, integration, security)</span></span>
<span class="line"><span>    │   └── Security review (four-eyes principle)</span></span>
<span class="line"><span>    │</span></span>
<span class="line"><span>    ├── Hotfix release</span></span>
<span class="line"><span>    │   ├── CI/CD Pipeline</span></span>
<span class="line"><span>    │   ├── Update SBOM</span></span>
<span class="line"><span>    │   ├── Sign release (Cosign)</span></span>
<span class="line"><span>    │   └── Publish release</span></span>
<span class="line"><span>    │</span></span>
<span class="line"><span>    ├── ENISA notification (72h)</span></span>
<span class="line"><span>    │   └── Detailed vulnerability notification</span></span>
<span class="line"><span>    │</span></span>
<span class="line"><span>    └── User update</span></span>
<span class="line"><span>        ├── Publish security advisory</span></span>
<span class="line"><span>        ├── Update instructions</span></span>
<span class="line"><span>        └── Assign CVE-ID (if not yet assigned)</span></span></code></pre>
</div><p><strong>Remediation Checklist:</strong></p>
<ul>
<li>[ ] Root cause identified and documented</li>
<li>[ ] Patch developed and tested</li>
<li>[ ] Security review completed</li>
<li>[ ] Hotfix release published (signed)</li>
<li>[ ] SBOM updated</li>
<li>[ ] ENISA notification (72h) sent</li>
<li>[ ] Security advisory published</li>
<li>[ ] Users informed</li>
</ul>
<h2 id="_4-1-6-playbook-phase-4-–-recovery-validation" tabindex="-1">4.1.6 Playbook: Phase 4 – Recovery &amp; Validation <a class="header-anchor" href="#_4-1-6-playbook-phase-4-–-recovery-validation" aria-label="Permalink to &quot;4.1.6 Playbook: Phase 4 – Recovery &amp; Validation&quot;"></a></h2>
<p><strong>Timeframe:</strong> 1 – 7 days after fix</p>
<div class="language- vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang"></span><pre class="shiki shiki-themes github-light github-dark vp-code" tabindex="0" v-pre=""><code><span class="line"><span>Recovery</span></span>
<span class="line"><span>    │</span></span>
<span class="line"><span>    ├── Patch distribution</span></span>
<span class="line"><span>    │   ├── All users have access to the update</span></span>
<span class="line"><span>    │   ├── Auto-update functioning (where implemented)</span></span>
<span class="line"><span>    │   └── OTA distribution successful (firmware)</span></span>
<span class="line"><span>    │</span></span>
<span class="line"><span>    ├── Validation</span></span>
<span class="line"><span>    │   ├── Vulnerability closed in production</span></span>
<span class="line"><span>    │   ├── No regressions</span></span>
<span class="line"><span>    │   ├── Monitoring shows normal operation</span></span>
<span class="line"><span>    │   └── CVE monitor confirms fix</span></span>
<span class="line"><span>    │</span></span>
<span class="line"><span>    └── Update documentation</span></span>
<span class="line"><span>        ├── Close CVE issue</span></span>
<span class="line"><span>        ├── Update incident ticket</span></span>
<span class="line"><span>        └── Finalise release notes</span></span></code></pre>
</div><h2 id="_4-1-7-playbook-phase-5-–-post-incident-review" tabindex="-1">4.1.7 Playbook: Phase 5 – Post-Incident Review <a class="header-anchor" href="#_4-1-7-playbook-phase-5-–-post-incident-review" aria-label="Permalink to &quot;4.1.7 Playbook: Phase 5 – Post-Incident Review&quot;"></a></h2>
<p><strong>Timeframe:</strong> 7 – 14 days after fix</p>
<div class="language- vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang"></span><pre class="shiki shiki-themes github-light github-dark vp-code" tabindex="0" v-pre=""><code><span class="line"><span>Lessons Learned</span></span>
<span class="line"><span>    │</span></span>
<span class="line"><span>    ├── ENISA final report (≤ 14 days)</span></span>
<span class="line"><span>    │   ├── Root cause analysis</span></span>
<span class="line"><span>    │   ├── Measures taken</span></span>
<span class="line"><span>    │   ├── Affected users/products</span></span>
<span class="line"><span>    │   └── Improvement measures</span></span>
<span class="line"><span>    │</span></span>
<span class="line"><span>    ├── Internal post-mortem</span></span>
<span class="line"><span>    │   ├── What went well?</span></span>
<span class="line"><span>    │   ├── What can be improved?</span></span>
<span class="line"><span>    │   ├── Process adjustments identified?</span></span>
<span class="line"><span>    │   └── Tooling improvements?</span></span>
<span class="line"><span>    │</span></span>
<span class="line"><span>    └── Process improvement</span></span>
<span class="line"><span>        ├── Update playbook</span></span>
<span class="line"><span>        ├── Adjust monitoring</span></span>
<span class="line"><span>        ├── Derive training measures</span></span>
<span class="line"><span>        └── Update documentation</span></span></code></pre>
</div><p><strong>Post-Incident Review Checklist:</strong></p>
<ul>
<li>[ ] ENISA final report sent (≤ 14 days)</li>
<li>[ ] Post-mortem conducted</li>
<li>[ ] Lessons learned documented</li>
<li>[ ] Process improvements implemented</li>
<li>[ ] Playbook updated (if necessary)</li>
<li>[ ] Incident ticket closed</li>
</ul>
<h2 id="_4-1-8-contact-list" tabindex="-1">4.1.8 Contact List <a class="header-anchor" href="#_4-1-8-contact-list" aria-label="Permalink to &quot;4.1.8 Contact List&quot;"></a></h2>
<table tabindex="0">
<thead>
<tr>
<th>Role</th>
<th>Reachability</th>
<th>Escalation Time</th>
</tr>
</thead>
<tbody>
<tr>
<td>Security Lead</td>
<td>Email + Teams</td>
<td>Immediately (SEV-1/2), 4h (SEV-3)</td>
</tr>
<tr>
<td>DevOps Lead</td>
<td>Email + Teams</td>
<td>1h (SEV-1/2), 8h (SEV-3)</td>
</tr>
<tr>
<td>Management</td>
<td>Email + Phone</td>
<td>2h (SEV-1), 4h (SEV-2)</td>
</tr>
<tr>
<td>ENISA / CSIRT</td>
<td>Single Reporting Platform</td>
<td>Per Art. 14 CRA</td>
</tr>
</tbody>
</table>
<div class="warning custom-block"><p class="custom-block-title">CONTACT DETAILS</p>
<p>Specific contact details (email, phone, ENISA credentials) are maintained in a separate, non-public document and are accessible to the Incident Response Team.</p>
</div>
]]></content:encoded>
            <author>BAUER GROUP</author>
        </item>
        <item>
            <title><![CDATA[1.5 Authorised Representative (Art. 16)]]></title>
            <link>https://cra.docs.bauer-group.com/en/overview/authorised-representative</link>
            <guid isPermaLink="false">https://cra.docs.bauer-group.com/en/overview/authorised-representative</guid>
            <pubDate>Tue, 10 Feb 2026 16:43:47 GMT</pubDate>
            <description><![CDATA[# 1.5 Authorised Representative (Art. 16)

## 1.5.1 Overview

Art. 16 CRA allows manufacturers established outside the EU to designate an **Authorised Representative** established in the EU to act on their behalf for certain tasks. The Authorised Representative serves as an interface and documentation point for authorities, but does not replace the manufacturer's substantive responsibility for product design and conformity.

::: info LEGAL BASIS
**Art. 16 CRA:** *"A manufacturer may, by a written mandate, appoint an authorised representative. The obligations laid down in Art. 13(1) (security requirements for product design) and the drawing up of the technical documentation shall not form part of the mandate."*

**Art. 3 No. 22 CRA:** *"Authorised representative" means any natural or legal person established in the Union who has received a written mandate from a manufacturer to act on its behalf in relation to specified tasks.*
:::

## 1.5.2 When Is an Authorised Representative Required?

An Authorised Representative is needed when:

- The **manufacturer is established outside the EU** and places products with digital elements on the EU market
- No importer pursuant to Art. 15 is present to serve as the interface to EU authorities
- The manufacturer wishes to ensure a formal EU presence for communication with Market Surveillance authorities

::: warning NOT A SUBSTITUTE FOR AN IMPORTER
The designation of an Authorised Representative does **not** replace the obligations of the Importer (Art. 15). Where a separate Importer exists, the Importer has its own independent obligations. Where neither an Authorised Representative nor an Importer exists, authorities cannot directly reach the manufacturer in the EU, which may lead to intensified enforcement measures.
:::

## 1.5.3 Delegable Tasks (Art. 16 Para. 2)

The Authorised Representative shall perform the tasks specified in the mandate. At a minimum, these include:

### 1. Holding Documentation

- Hold the **EU declaration of conformity** pursuant to Art. 28 available for at least 10 years
- Keep the **technical documentation** pursuant to Annex VII available for authorities
- Present **conformity assessment records** upon request

### 2. Cooperation with Market Surveillance Authorities

- Upon reasoned request, provide authorities with all **information and documentation** necessary to demonstrate conformity
- Respond in the language of the authority or a language accepted by the authority
- Cooperate with **corrective measures** ordered to eliminate risks

### 3. Information Obligations

- Inform the manufacturer **without delay** about authority requests
- Inform authorities about the **identity of the manufacturer** and their contact details
- In the event of an **actively exploited vulnerability**, notify the competent bodies (ENISA, national CSIRT) if the manufacturer does not respond

## 1.5.4 Non-Delegable Obligations

::: danger NOT TRANSFERABLE
The following manufacturer obligations **cannot** be delegated to the Authorised Representative:

- **Product design and development** -- Compliance with the essential requirements pursuant to Annex I Part I
- **Carrying out the conformity assessment** -- The manufacturer remains responsible for the proper execution (Module A, B+C, or H)
- **Drawing up the technical documentation** -- The documentation must be prepared by the manufacturer; the Authorised Representative merely holds it available
- **Vulnerability handling processes** -- The obligations under Annex I Part II remain with the manufacturer
- **Security updates** -- The provision of patches and updates
:::

## 1.5.5 Formal Requirements for the Mandate

The designation of an Authorised Representative must meet the following requirements:

- [ ] **Written mandate** -- Formal, signed document
- [ ] **Precise product scope** -- Which products/product lines are covered
- [ ] **Scope of tasks** -- Which delegable tasks are assigned to the Authorised Representative
- [ ] **Contact details** of both parties (manufacturer and Authorised Representative)
- [ ] **Language arrangement** -- In which language communication with authorities shall take place
- [ ] **Duration and termination** -- Commencement, duration, and conditions for termination
- [ ] **Liability arrangement** -- Agreement on the distribution of liability

::: tip RETENTION
The written mandate must be available for presentation to Market Surveillance authorities upon request. It should be archived together with the EU declaration of conformity and the technical documentation (retention period: **10 years** after placing the last affected product on the market).
:::

## 1.5.6 BAUER GROUP Context

### Scenario 1: BAUER GROUP as Non-EU Manufacturer

Where a BAUER GROUP subsidiary is established **outside the EU** and places products with digital elements on the EU market:

| Measure | Description |
|]]></description>
            <content:encoded><![CDATA[<h1 id="_1-5-authorised-representative-art-16" tabindex="-1">1.5 Authorised Representative (Art. 16) <a class="header-anchor" href="#_1-5-authorised-representative-art-16" aria-label="Permalink to &quot;1.5 Authorised Representative (Art. 16)&quot;"></a></h1>
<h2 id="_1-5-1-overview" tabindex="-1">1.5.1 Overview <a class="header-anchor" href="#_1-5-1-overview" aria-label="Permalink to &quot;1.5.1 Overview&quot;"></a></h2>
<p>Art. 16 CRA allows manufacturers established outside the EU to designate an <strong>Authorised Representative</strong> established in the EU to act on their behalf for certain tasks. The Authorised Representative serves as an interface and documentation point for authorities, but does not replace the manufacturer's substantive responsibility for product design and conformity.</p>
<div class="info custom-block"><p class="custom-block-title">LEGAL BASIS</p>
<p><strong>Art. 16 CRA:</strong> <em>&quot;A manufacturer may, by a written mandate, appoint an authorised representative. The obligations laid down in Art. 13(1) (security requirements for product design) and the drawing up of the technical documentation shall not form part of the mandate.&quot;</em></p>
<p><strong>Art. 3 No. 22 CRA:</strong> <em>&quot;Authorised representative&quot; means any natural or legal person established in the Union who has received a written mandate from a manufacturer to act on its behalf in relation to specified tasks.</em></p>
</div>
<h2 id="_1-5-2-when-is-an-authorised-representative-required" tabindex="-1">1.5.2 When Is an Authorised Representative Required? <a class="header-anchor" href="#_1-5-2-when-is-an-authorised-representative-required" aria-label="Permalink to &quot;1.5.2 When Is an Authorised Representative Required?&quot;"></a></h2>
<p>An Authorised Representative is needed when:</p>
<ul>
<li>The <strong>manufacturer is established outside the EU</strong> and places products with digital elements on the EU market</li>
<li>No importer pursuant to Art. 15 is present to serve as the interface to EU authorities</li>
<li>The manufacturer wishes to ensure a formal EU presence for communication with Market Surveillance authorities</li>
</ul>
<div class="warning custom-block"><p class="custom-block-title">NOT A SUBSTITUTE FOR AN IMPORTER</p>
<p>The designation of an Authorised Representative does <strong>not</strong> replace the obligations of the Importer (Art. 15). Where a separate Importer exists, the Importer has its own independent obligations. Where neither an Authorised Representative nor an Importer exists, authorities cannot directly reach the manufacturer in the EU, which may lead to intensified enforcement measures.</p>
</div>
<h2 id="_1-5-3-delegable-tasks-art-16-para-2" tabindex="-1">1.5.3 Delegable Tasks (Art. 16 Para. 2) <a class="header-anchor" href="#_1-5-3-delegable-tasks-art-16-para-2" aria-label="Permalink to &quot;1.5.3 Delegable Tasks (Art. 16 Para. 2)&quot;"></a></h2>
<p>The Authorised Representative shall perform the tasks specified in the mandate. At a minimum, these include:</p>
<h3 id="_1-holding-documentation" tabindex="-1">1. Holding Documentation <a class="header-anchor" href="#_1-holding-documentation" aria-label="Permalink to &quot;1. Holding Documentation&quot;"></a></h3>
<ul>
<li>Hold the <strong>EU declaration of conformity</strong> pursuant to Art. 28 available for at least 10 years</li>
<li>Keep the <strong>technical documentation</strong> pursuant to Annex VII available for authorities</li>
<li>Present <strong>conformity assessment records</strong> upon request</li>
</ul>
<h3 id="_2-cooperation-with-market-surveillance-authorities" tabindex="-1">2. Cooperation with Market Surveillance Authorities <a class="header-anchor" href="#_2-cooperation-with-market-surveillance-authorities" aria-label="Permalink to &quot;2. Cooperation with Market Surveillance Authorities&quot;"></a></h3>
<ul>
<li>Upon reasoned request, provide authorities with all <strong>information and documentation</strong> necessary to demonstrate conformity</li>
<li>Respond in the language of the authority or a language accepted by the authority</li>
<li>Cooperate with <strong>corrective measures</strong> ordered to eliminate risks</li>
</ul>
<h3 id="_3-information-obligations" tabindex="-1">3. Information Obligations <a class="header-anchor" href="#_3-information-obligations" aria-label="Permalink to &quot;3. Information Obligations&quot;"></a></h3>
<ul>
<li>Inform the manufacturer <strong>without delay</strong> about authority requests</li>
<li>Inform authorities about the <strong>identity of the manufacturer</strong> and their contact details</li>
<li>In the event of an <strong>actively exploited vulnerability</strong>, notify the competent bodies (ENISA, national CSIRT) if the manufacturer does not respond</li>
</ul>
<h2 id="_1-5-4-non-delegable-obligations" tabindex="-1">1.5.4 Non-Delegable Obligations <a class="header-anchor" href="#_1-5-4-non-delegable-obligations" aria-label="Permalink to &quot;1.5.4 Non-Delegable Obligations&quot;"></a></h2>
<div class="danger custom-block"><p class="custom-block-title">NOT TRANSFERABLE</p>
<p>The following manufacturer obligations <strong>cannot</strong> be delegated to the Authorised Representative:</p>
<ul>
<li><strong>Product design and development</strong> -- Compliance with the essential requirements pursuant to Annex I Part I</li>
<li><strong>Carrying out the conformity assessment</strong> -- The manufacturer remains responsible for the proper execution (Module A, B+C, or H)</li>
<li><strong>Drawing up the technical documentation</strong> -- The documentation must be prepared by the manufacturer; the Authorised Representative merely holds it available</li>
<li><strong>Vulnerability handling processes</strong> -- The obligations under Annex I Part II remain with the manufacturer</li>
<li><strong>Security updates</strong> -- The provision of patches and updates</li>
</ul>
</div>
<h2 id="_1-5-5-formal-requirements-for-the-mandate" tabindex="-1">1.5.5 Formal Requirements for the Mandate <a class="header-anchor" href="#_1-5-5-formal-requirements-for-the-mandate" aria-label="Permalink to &quot;1.5.5 Formal Requirements for the Mandate&quot;"></a></h2>
<p>The designation of an Authorised Representative must meet the following requirements:</p>
<ul>
<li>[ ] <strong>Written mandate</strong> -- Formal, signed document</li>
<li>[ ] <strong>Precise product scope</strong> -- Which products/product lines are covered</li>
<li>[ ] <strong>Scope of tasks</strong> -- Which delegable tasks are assigned to the Authorised Representative</li>
<li>[ ] <strong>Contact details</strong> of both parties (manufacturer and Authorised Representative)</li>
<li>[ ] <strong>Language arrangement</strong> -- In which language communication with authorities shall take place</li>
<li>[ ] <strong>Duration and termination</strong> -- Commencement, duration, and conditions for termination</li>
<li>[ ] <strong>Liability arrangement</strong> -- Agreement on the distribution of liability</li>
</ul>
<div class="tip custom-block"><p class="custom-block-title">RETENTION</p>
<p>The written mandate must be available for presentation to Market Surveillance authorities upon request. It should be archived together with the EU declaration of conformity and the technical documentation (retention period: <strong>10 years</strong> after placing the last affected product on the market).</p>
</div>
<h2 id="_1-5-6-bauer-group-context" tabindex="-1">1.5.6 BAUER GROUP Context <a class="header-anchor" href="#_1-5-6-bauer-group-context" aria-label="Permalink to &quot;1.5.6 BAUER GROUP Context&quot;"></a></h2>
<h3 id="scenario-1-bauer-group-as-non-eu-manufacturer" tabindex="-1">Scenario 1: BAUER GROUP as Non-EU Manufacturer <a class="header-anchor" href="#scenario-1-bauer-group-as-non-eu-manufacturer" aria-label="Permalink to &quot;Scenario 1: BAUER GROUP as Non-EU Manufacturer&quot;"></a></h3>
<p>Where a BAUER GROUP subsidiary is established <strong>outside the EU</strong> and places products with digital elements on the EU market:</p>
<table tabindex="0">
<thead>
<tr>
<th>Measure</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td>Designate Authorised Representative</td>
<td>Appoint BAUER GROUP EU establishment as Authorised Representative</td>
</tr>
<tr>
<td>Written mandate</td>
<td>Prepare mandate for each affected product / product line</td>
</tr>
<tr>
<td>Documentation flow</td>
<td>Transfer technical documentation from non-EU site to the Authorised Representative</td>
</tr>
<tr>
<td>Authority communication</td>
<td>Authorised Representative acts as primary contact for national authorities</td>
</tr>
</tbody>
</table>
<h3 id="scenario-2-bauer-group-as-authorised-representative-for-partners" tabindex="-1">Scenario 2: BAUER GROUP as Authorised Representative for Partners <a class="header-anchor" href="#scenario-2-bauer-group-as-authorised-representative-for-partners" aria-label="Permalink to &quot;Scenario 2: BAUER GROUP as Authorised Representative for Partners&quot;"></a></h3>
<p>Where BAUER GROUP acts as Authorised Representative for a <strong>non-EU partner supplier</strong>:</p>
<ul>
<li>[ ] Obtain written mandate from the partner manufacturer</li>
<li>[ ] Clearly define product scope</li>
<li>[ ] Ensure the partner has properly carried out the conformity assessment</li>
<li>[ ] Obtain and archive EU declaration of conformity and technical documentation</li>
<li>[ ] Establish process for authority requests</li>
<li>[ ] Assess liability risks and regulate them contractually</li>
</ul>
<div class="warning custom-block"><p class="custom-block-title">LIABILITY RISK</p>
<p>As an Authorised Representative, BAUER GROUP is jointly and severally liable with the manufacturer for certain obligations. Careful contractual safeguards and indemnification are essential.</p>
</div>
<h2 id="_1-5-7-relationship-to-importer-art-15" tabindex="-1">1.5.7 Relationship to Importer (Art. 15) <a class="header-anchor" href="#_1-5-7-relationship-to-importer-art-15" aria-label="Permalink to &quot;1.5.7 Relationship to Importer (Art. 15)&quot;"></a></h2>
<p>The roles of the Authorised Representative and the Importer are complementary but distinct:</p>
<table tabindex="0">
<thead>
<tr>
<th>Aspect</th>
<th>Authorised Representative (Art. 16)</th>
<th>Importer (Art. 15)</th>
</tr>
</thead>
<tbody>
<tr>
<td>Appointment</td>
<td>By the manufacturer via mandate</td>
<td>Independent economic operator</td>
</tr>
<tr>
<td>Primary function</td>
<td>Documentation + authority contact</td>
<td>Due diligence + placing on the market</td>
</tr>
<tr>
<td>Own labelling</td>
<td>No</td>
<td>Yes (name, address on the product)</td>
</tr>
<tr>
<td>Conformity verification</td>
<td>Not required</td>
<td>Must verify before placing on the market</td>
</tr>
<tr>
<td>Storage/transport</td>
<td>No influence</td>
<td>Must ensure conformity</td>
</tr>
<tr>
<td>Reporting obligations</td>
<td>On behalf of the manufacturer</td>
<td>Independent obligation</td>
</tr>
</tbody>
</table>
<p>Where <strong>no Authorised Representative</strong> has been designated, the Importer assumes additional documentation and communication duties towards the authorities. Designating an Authorised Representative may relieve the Importer in this area, but does not exempt the Importer from its own verification and due diligence obligations.</p>
<blockquote>
<p>Details: <a href="/en/overview/importer-obligations">Importer Obligations</a></p>
</blockquote>
<h2 id="_1-5-8-checklist-authorised-representative" tabindex="-1">1.5.8 Checklist: Authorised Representative <a class="header-anchor" href="#_1-5-8-checklist-authorised-representative" aria-label="Permalink to &quot;1.5.8 Checklist: Authorised Representative&quot;"></a></h2>
<h3 id="designation" tabindex="-1">Designation <a class="header-anchor" href="#designation" aria-label="Permalink to &quot;Designation&quot;"></a></h3>
<ul>
<li>[ ] Authorised Representative established in the EU</li>
<li>[ ] Written mandate prepared and signed</li>
<li>[ ] Product scope clearly defined in the mandate</li>
<li>[ ] Scope of tasks determined</li>
<li>[ ] Liability arrangement contractually agreed</li>
<li>[ ] Contact details of the Authorised Representative included in the EU declaration of conformity</li>
</ul>
<h3 id="ongoing-operations" tabindex="-1">Ongoing Operations <a class="header-anchor" href="#ongoing-operations" aria-label="Permalink to &quot;Ongoing Operations&quot;"></a></h3>
<ul>
<li>[ ] EU declaration of conformity deposited with the Authorised Representative</li>
<li>[ ] Technical documentation available at the Authorised Representative</li>
<li>[ ] Process for authority requests established and tested</li>
<li>[ ] Information flow between manufacturer and Authorised Representative ensured</li>
<li>[ ] Mandate updated for product changes or new products</li>
<li>[ ] Archiving for 10 years ensured</li>
</ul>
<h2 id="_1-5-9-penalties" tabindex="-1">1.5.9 Penalties <a class="header-anchor" href="#_1-5-9-penalties" aria-label="Permalink to &quot;1.5.9 Penalties&quot;"></a></h2>
<table tabindex="0">
<thead>
<tr>
<th>Violation</th>
<th>Penalty</th>
</tr>
</thead>
<tbody>
<tr>
<td>Authorised Representative fails to fulfil obligations</td>
<td>Up to EUR 10 million or 2% of global annual turnover</td>
</tr>
<tr>
<td>False / incomplete information to authorities</td>
<td>Up to EUR 5 million or 1% of annual turnover</td>
</tr>
<tr>
<td>Mandate not available for presentation</td>
<td>Formal non-conformity (Art. 56)</td>
</tr>
</tbody>
</table>
<h2 id="_1-5-10-cross-references" tabindex="-1">1.5.10 Cross-References <a class="header-anchor" href="#_1-5-10-cross-references" aria-label="Permalink to &quot;1.5.10 Cross-References&quot;"></a></h2>
<ul>
<li><a href="/en/overview/importer-obligations">Importer Obligations (Art. 15)</a></li>
<li><a href="/en/conformity/eu-declaration">EU Declaration of Conformity</a></li>
<li><a href="/en/overview/market-surveillance">Market Surveillance (Art. 52-58)</a></li>
</ul>
]]></content:encoded>
            <author>BAUER GROUP</author>
        </item>
        <item>
            <title><![CDATA[1.6 Distributor Obligations (Art. 17)]]></title>
            <link>https://cra.docs.bauer-group.com/en/overview/distributor-obligations</link>
            <guid isPermaLink="false">https://cra.docs.bauer-group.com/en/overview/distributor-obligations</guid>
            <pubDate>Tue, 10 Feb 2026 16:43:47 GMT</pubDate>
            <description><![CDATA[# 1.6 Distributor Obligations (Art. 17)

## 1.6.1 Overview

Distributors are economic operators in the supply chain that make a product with digital elements available on the market without being a Manufacturer or Importer. The CRA imposes due diligence obligations on them that are primarily focused on verification and cooperation.

::: info LEGAL BASIS
**Art. 17 CRA:** The Distributor shall act with due diligence in relation to the requirements of this Regulation when making a product with digital elements available on the market.

**Art. 3 No. 22 CRA:** *"Distributor" means any natural or legal person in the supply chain that makes a product with digital elements available on the market without being a Manufacturer or Importer.*
:::

## 1.6.2 When Is BAUER GROUP a Distributor?

BAUER GROUP acts as a Distributor when:

- Finished software products from other manufacturers are **redistributed** to customers (without own modification)
- Hardware with embedded software from a third-party manufacturer is supplied to end customers
- Products are offered through an own webshop or marketplace where BAUER GROUP is neither the Manufacturer nor the Importer

::: tip DISTINCTION

- **Distributor** --> Unmodified redistribution
- **Importer** --> First placing on the market of a non-EU product
- **Manufacturer** --> Own product or substantial modification (--> Art. 20)
:::

## 1.6.3 Obligations in Detail

### 1. Due Diligence (Art. 17 Para. 1)

Before a product is made available, the Distributor must verify:

- [ ] Product bears the **CE marking**
- [ ] **EU declaration of conformity** (or simplified version with URL) is enclosed
- [ ] Manufacturer has provided **contact details** on the product
- [ ] For imported products: Importer has provided their **contact details**
- [ ] Product has a **unique identification** (type, batch, serial number)

### 2. Distribution Stop in Case of Non-Conformity (Art. 17 Para. 2)

If the Distributor has reason to believe that a product is **non-compliant**:

- **Do not make** the product available until conformity is established
- **Inform** the Manufacturer or Importer
- **Inform** the Market Surveillance authorities if a serious risk exists

### 3. Storage and Transport Conditions (Art. 17 Para. 3)

Ensure that storage and transport do not compromise conformity:

- Ensure integrity of software distribution media
- Use secure download channels
- No tampering with software during distribution

### 4. Cooperation with Authorities (Art. 17 Para. 4)

Upon request from Market Surveillance authorities:

- Provide all required information and documents
- Assist in eliminating risks
- Be able to identify the Manufacturer and Importer

### 5. Reporting Obligations (Art. 17 Para. 5)

Upon becoming aware of an **actively exploited vulnerability** or a **severe incident**:

- Inform the Manufacturer **without delay**
- If the Manufacturer does not respond: inform the Importer
- If neither responds: Report directly to ENISA and the national CSIRT

### 6. Corrective Measures (Art. 17 Para. 6)

If the Distributor determines that an already distributed product is non-compliant:

- Take corrective measures (recall, warning to customers)
- Inform Market Surveillance authorities
- Document all measures

## 1.6.4 Checklist for Distributors

### Before Making Available

- [ ] CE marking verified
- [ ] EU declaration of conformity is available (or URL to simplified version)
- [ ] Manufacturer's contact details present on the product
- [ ] Importer's contact details (if non-EU product) present
- [ ] Product identification present
- [ ] No knowledge of non-conformity or serious risks

### Ongoing

- [ ] Track customer complaints and security warnings
- [ ] Forward manufacturer security advisories to customers
- [ ] Support manufacturer recall actions
- [ ] Distribution channels integrity-secured

## 1.6.5 Difference Between Distributor and Importer

| Criterion | Distributor | Importer |
|]]></description>
            <content:encoded><![CDATA[<h1 id="_1-6-distributor-obligations-art-17" tabindex="-1">1.6 Distributor Obligations (Art. 17) <a class="header-anchor" href="#_1-6-distributor-obligations-art-17" aria-label="Permalink to &quot;1.6 Distributor Obligations (Art. 17)&quot;"></a></h1>
<h2 id="_1-6-1-overview" tabindex="-1">1.6.1 Overview <a class="header-anchor" href="#_1-6-1-overview" aria-label="Permalink to &quot;1.6.1 Overview&quot;"></a></h2>
<p>Distributors are economic operators in the supply chain that make a product with digital elements available on the market without being a Manufacturer or Importer. The CRA imposes due diligence obligations on them that are primarily focused on verification and cooperation.</p>
<div class="info custom-block"><p class="custom-block-title">LEGAL BASIS</p>
<p><strong>Art. 17 CRA:</strong> The Distributor shall act with due diligence in relation to the requirements of this Regulation when making a product with digital elements available on the market.</p>
<p><strong>Art. 3 No. 22 CRA:</strong> <em>&quot;Distributor&quot; means any natural or legal person in the supply chain that makes a product with digital elements available on the market without being a Manufacturer or Importer.</em></p>
</div>
<h2 id="_1-6-2-when-is-bauer-group-a-distributor" tabindex="-1">1.6.2 When Is BAUER GROUP a Distributor? <a class="header-anchor" href="#_1-6-2-when-is-bauer-group-a-distributor" aria-label="Permalink to &quot;1.6.2 When Is BAUER GROUP a Distributor?&quot;"></a></h2>
<p>BAUER GROUP acts as a Distributor when:</p>
<ul>
<li>Finished software products from other manufacturers are <strong>redistributed</strong> to customers (without own modification)</li>
<li>Hardware with embedded software from a third-party manufacturer is supplied to end customers</li>
<li>Products are offered through an own webshop or marketplace where BAUER GROUP is neither the Manufacturer nor the Importer</li>
</ul>
<div class="tip custom-block"><p class="custom-block-title">DISTINCTION</p>
<ul>
<li><strong>Distributor</strong> --&gt; Unmodified redistribution</li>
<li><strong>Importer</strong> --&gt; First placing on the market of a non-EU product</li>
<li><strong>Manufacturer</strong> --&gt; Own product or substantial modification (--&gt; Art. 20)</li>
</ul>
</div>
<h2 id="_1-6-3-obligations-in-detail" tabindex="-1">1.6.3 Obligations in Detail <a class="header-anchor" href="#_1-6-3-obligations-in-detail" aria-label="Permalink to &quot;1.6.3 Obligations in Detail&quot;"></a></h2>
<h3 id="_1-due-diligence-art-17-para-1" tabindex="-1">1. Due Diligence (Art. 17 Para. 1) <a class="header-anchor" href="#_1-due-diligence-art-17-para-1" aria-label="Permalink to &quot;1. Due Diligence (Art. 17 Para. 1)&quot;"></a></h3>
<p>Before a product is made available, the Distributor must verify:</p>
<ul>
<li>[ ] Product bears the <strong>CE marking</strong></li>
<li>[ ] <strong>EU declaration of conformity</strong> (or simplified version with URL) is enclosed</li>
<li>[ ] Manufacturer has provided <strong>contact details</strong> on the product</li>
<li>[ ] For imported products: Importer has provided their <strong>contact details</strong></li>
<li>[ ] Product has a <strong>unique identification</strong> (type, batch, serial number)</li>
</ul>
<h3 id="_2-distribution-stop-in-case-of-non-conformity-art-17-para-2" tabindex="-1">2. Distribution Stop in Case of Non-Conformity (Art. 17 Para. 2) <a class="header-anchor" href="#_2-distribution-stop-in-case-of-non-conformity-art-17-para-2" aria-label="Permalink to &quot;2. Distribution Stop in Case of Non-Conformity (Art. 17 Para. 2)&quot;"></a></h3>
<p>If the Distributor has reason to believe that a product is <strong>non-compliant</strong>:</p>
<ul>
<li><strong>Do not make</strong> the product available until conformity is established</li>
<li><strong>Inform</strong> the Manufacturer or Importer</li>
<li><strong>Inform</strong> the Market Surveillance authorities if a serious risk exists</li>
</ul>
<h3 id="_3-storage-and-transport-conditions-art-17-para-3" tabindex="-1">3. Storage and Transport Conditions (Art. 17 Para. 3) <a class="header-anchor" href="#_3-storage-and-transport-conditions-art-17-para-3" aria-label="Permalink to &quot;3. Storage and Transport Conditions (Art. 17 Para. 3)&quot;"></a></h3>
<p>Ensure that storage and transport do not compromise conformity:</p>
<ul>
<li>Ensure integrity of software distribution media</li>
<li>Use secure download channels</li>
<li>No tampering with software during distribution</li>
</ul>
<h3 id="_4-cooperation-with-authorities-art-17-para-4" tabindex="-1">4. Cooperation with Authorities (Art. 17 Para. 4) <a class="header-anchor" href="#_4-cooperation-with-authorities-art-17-para-4" aria-label="Permalink to &quot;4. Cooperation with Authorities (Art. 17 Para. 4)&quot;"></a></h3>
<p>Upon request from Market Surveillance authorities:</p>
<ul>
<li>Provide all required information and documents</li>
<li>Assist in eliminating risks</li>
<li>Be able to identify the Manufacturer and Importer</li>
</ul>
<h3 id="_5-reporting-obligations-art-17-para-5" tabindex="-1">5. Reporting Obligations (Art. 17 Para. 5) <a class="header-anchor" href="#_5-reporting-obligations-art-17-para-5" aria-label="Permalink to &quot;5. Reporting Obligations (Art. 17 Para. 5)&quot;"></a></h3>
<p>Upon becoming aware of an <strong>actively exploited vulnerability</strong> or a <strong>severe incident</strong>:</p>
<ul>
<li>Inform the Manufacturer <strong>without delay</strong></li>
<li>If the Manufacturer does not respond: inform the Importer</li>
<li>If neither responds: Report directly to ENISA and the national CSIRT</li>
</ul>
<h3 id="_6-corrective-measures-art-17-para-6" tabindex="-1">6. Corrective Measures (Art. 17 Para. 6) <a class="header-anchor" href="#_6-corrective-measures-art-17-para-6" aria-label="Permalink to &quot;6. Corrective Measures (Art. 17 Para. 6)&quot;"></a></h3>
<p>If the Distributor determines that an already distributed product is non-compliant:</p>
<ul>
<li>Take corrective measures (recall, warning to customers)</li>
<li>Inform Market Surveillance authorities</li>
<li>Document all measures</li>
</ul>
<h2 id="_1-6-4-checklist-for-distributors" tabindex="-1">1.6.4 Checklist for Distributors <a class="header-anchor" href="#_1-6-4-checklist-for-distributors" aria-label="Permalink to &quot;1.6.4 Checklist for Distributors&quot;"></a></h2>
<h3 id="before-making-available" tabindex="-1">Before Making Available <a class="header-anchor" href="#before-making-available" aria-label="Permalink to &quot;Before Making Available&quot;"></a></h3>
<ul>
<li>[ ] CE marking verified</li>
<li>[ ] EU declaration of conformity is available (or URL to simplified version)</li>
<li>[ ] Manufacturer's contact details present on the product</li>
<li>[ ] Importer's contact details (if non-EU product) present</li>
<li>[ ] Product identification present</li>
<li>[ ] No knowledge of non-conformity or serious risks</li>
</ul>
<h3 id="ongoing" tabindex="-1">Ongoing <a class="header-anchor" href="#ongoing" aria-label="Permalink to &quot;Ongoing&quot;"></a></h3>
<ul>
<li>[ ] Track customer complaints and security warnings</li>
<li>[ ] Forward manufacturer security advisories to customers</li>
<li>[ ] Support manufacturer recall actions</li>
<li>[ ] Distribution channels integrity-secured</li>
</ul>
<h2 id="_1-6-5-difference-between-distributor-and-importer" tabindex="-1">1.6.5 Difference Between Distributor and Importer <a class="header-anchor" href="#_1-6-5-difference-between-distributor-and-importer" aria-label="Permalink to &quot;1.6.5 Difference Between Distributor and Importer&quot;"></a></h2>
<table tabindex="0">
<thead>
<tr>
<th>Criterion</th>
<th>Distributor</th>
<th>Importer</th>
</tr>
</thead>
<tbody>
<tr>
<td><strong>Role</strong></td>
<td>Making available on the market</td>
<td>First placing on the market</td>
</tr>
<tr>
<td><strong>Verification depth</strong></td>
<td>Formal verification (CE, DoC)</td>
<td>Substantive verification (conformity assessment)</td>
</tr>
<tr>
<td><strong>Own labelling</strong></td>
<td>Not required</td>
<td>Mandatory (name, address)</td>
</tr>
<tr>
<td><strong>Document retention</strong></td>
<td>Not explicitly required</td>
<td>10-year obligation</td>
</tr>
<tr>
<td><strong>ENISA reporting obligation</strong></td>
<td>Subsidiary (if Manufacturer does not respond)</td>
<td>Subsidiary (if Manufacturer does not respond)</td>
</tr>
</tbody>
</table>
<h2 id="_1-6-6-liability-and-penalties" tabindex="-1">1.6.6 Liability and Penalties <a class="header-anchor" href="#_1-6-6-liability-and-penalties" aria-label="Permalink to &quot;1.6.6 Liability and Penalties&quot;"></a></h2>
<table tabindex="0">
<thead>
<tr>
<th>Violation</th>
<th>Penalty</th>
</tr>
</thead>
<tbody>
<tr>
<td>Making non-compliant products available (despite knowledge)</td>
<td>Up to EUR 15 million or 2.5% of annual turnover</td>
</tr>
<tr>
<td>Failure to exercise due diligence</td>
<td>Up to EUR 10 million or 2% of annual turnover</td>
</tr>
<tr>
<td>False information to authorities</td>
<td>Up to EUR 5 million or 1% of annual turnover</td>
</tr>
</tbody>
</table>
<blockquote>
<p>Details: <a href="/en/overview/penalties">Penalties</a></p>
</blockquote>
]]></content:encoded>
            <author>BAUER GROUP</author>
        </item>
        <item>
            <title><![CDATA[1.12 Harmonised Standards (Art. 5–6)]]></title>
            <link>https://cra.docs.bauer-group.com/en/overview/harmonised-standards</link>
            <guid isPermaLink="false">https://cra.docs.bauer-group.com/en/overview/harmonised-standards</guid>
            <pubDate>Tue, 10 Feb 2026 16:43:47 GMT</pubDate>
            <description><![CDATA[# 1.12 Harmonised Standards (Art. 5–6)

## 1.12.1 Overview

Art. 5 and 6 CRA govern the free movement of products with digital elements within the EU single market and the role of harmonised standards in establishing a presumption of conformity. For BAUER GROUP, these provisions are pivotal as they determine the conditions under which products may be made available on the EU market and which conformity assessment procedure applies.

::: info LEGAL BASIS
**Art. 5 CRA:** Free movement of goods -- Products with digital elements that meet the CRA requirements shall not be prohibited or restricted from being made available on the market by national provisions.

**Art. 6 CRA:** Harmonised standards -- Products conforming to harmonised standards (or parts thereof) whose references have been published in the Official Journal of the EU (OJEU) are presumed to comply with the corresponding essential requirements of Annex I.
:::

## 1.12.2 Art. 5 -- Free Movement of Products

### Principle

Products with digital elements that comply with the requirements of the CRA shall be made available on the EU market. Member States shall **not prohibit, restrict, or impede** the making available of such products.

### Prohibition of Additional National Requirements

No Member State may impose additional national cybersecurity requirements for making products with digital elements available on the market. The CRA requirements apply uniformly across the EU.

### Exception: Trade Fairs and Exhibitions

Products may be presented at trade fairs, exhibitions, and demonstrations **without full CRA compliance**, provided that:

- a **visible notice** is displayed indicating that the product does not yet conform to the CRA requirements
- the product is **not actually made available on the market** at the event
- appropriate safety measures are taken

::: tip PRACTICAL NOTE
When BAUER GROUP exhibits at trade fairs, prototypes and pre-production products must carry a corresponding notice, e.g.: *"This product does not yet meet the requirements of Regulation (EU) 2024/2847 (Cyber Resilience Act) and is not intended to be made available on the market."*
:::

## 1.12.3 Art. 6 -- Harmonised Standards & Presumption of Conformity

### Presumption of Conformity Mechanism

| Element | Description |
|]]></description>
            <content:encoded><![CDATA[<h1 id="_1-12-harmonised-standards-art-5–6" tabindex="-1">1.12 Harmonised Standards (Art. 5–6) <a class="header-anchor" href="#_1-12-harmonised-standards-art-5–6" aria-label="Permalink to &quot;1.12 Harmonised Standards (Art. 5–6)&quot;"></a></h1>
<h2 id="_1-12-1-overview" tabindex="-1">1.12.1 Overview <a class="header-anchor" href="#_1-12-1-overview" aria-label="Permalink to &quot;1.12.1 Overview&quot;"></a></h2>
<p>Art. 5 and 6 CRA govern the free movement of products with digital elements within the EU single market and the role of harmonised standards in establishing a presumption of conformity. For BAUER GROUP, these provisions are pivotal as they determine the conditions under which products may be made available on the EU market and which conformity assessment procedure applies.</p>
<div class="info custom-block"><p class="custom-block-title">LEGAL BASIS</p>
<p><strong>Art. 5 CRA:</strong> Free movement of goods -- Products with digital elements that meet the CRA requirements shall not be prohibited or restricted from being made available on the market by national provisions.</p>
<p><strong>Art. 6 CRA:</strong> Harmonised standards -- Products conforming to harmonised standards (or parts thereof) whose references have been published in the Official Journal of the EU (OJEU) are presumed to comply with the corresponding essential requirements of Annex I.</p>
</div>
<h2 id="_1-12-2-art-5-free-movement-of-products" tabindex="-1">1.12.2 Art. 5 -- Free Movement of Products <a class="header-anchor" href="#_1-12-2-art-5-free-movement-of-products" aria-label="Permalink to &quot;1.12.2 Art. 5 -- Free Movement of Products&quot;"></a></h2>
<h3 id="principle" tabindex="-1">Principle <a class="header-anchor" href="#principle" aria-label="Permalink to &quot;Principle&quot;"></a></h3>
<p>Products with digital elements that comply with the requirements of the CRA shall be made available on the EU market. Member States shall <strong>not prohibit, restrict, or impede</strong> the making available of such products.</p>
<h3 id="prohibition-of-additional-national-requirements" tabindex="-1">Prohibition of Additional National Requirements <a class="header-anchor" href="#prohibition-of-additional-national-requirements" aria-label="Permalink to &quot;Prohibition of Additional National Requirements&quot;"></a></h3>
<p>No Member State may impose additional national cybersecurity requirements for making products with digital elements available on the market. The CRA requirements apply uniformly across the EU.</p>
<h3 id="exception-trade-fairs-and-exhibitions" tabindex="-1">Exception: Trade Fairs and Exhibitions <a class="header-anchor" href="#exception-trade-fairs-and-exhibitions" aria-label="Permalink to &quot;Exception: Trade Fairs and Exhibitions&quot;"></a></h3>
<p>Products may be presented at trade fairs, exhibitions, and demonstrations <strong>without full CRA compliance</strong>, provided that:</p>
<ul>
<li>a <strong>visible notice</strong> is displayed indicating that the product does not yet conform to the CRA requirements</li>
<li>the product is <strong>not actually made available on the market</strong> at the event</li>
<li>appropriate safety measures are taken</li>
</ul>
<div class="tip custom-block"><p class="custom-block-title">PRACTICAL NOTE</p>
<p>When BAUER GROUP exhibits at trade fairs, prototypes and pre-production products must carry a corresponding notice, e.g.: <em>&quot;This product does not yet meet the requirements of Regulation (EU) 2024/2847 (Cyber Resilience Act) and is not intended to be made available on the market.&quot;</em></p>
</div>
<h2 id="_1-12-3-art-6-harmonised-standards-presumption-of-conformity" tabindex="-1">1.12.3 Art. 6 -- Harmonised Standards &amp; Presumption of Conformity <a class="header-anchor" href="#_1-12-3-art-6-harmonised-standards-presumption-of-conformity" aria-label="Permalink to &quot;1.12.3 Art. 6 -- Harmonised Standards &amp; Presumption of Conformity&quot;"></a></h2>
<h3 id="presumption-of-conformity-mechanism" tabindex="-1">Presumption of Conformity Mechanism <a class="header-anchor" href="#presumption-of-conformity-mechanism" aria-label="Permalink to &quot;Presumption of Conformity Mechanism&quot;"></a></h3>
<table tabindex="0">
<thead>
<tr>
<th>Element</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><strong>Basis</strong></td>
<td>Harmonised standards whose references have been published in the OJEU</td>
</tr>
<tr>
<td><strong>Effect</strong></td>
<td>Presumption of conformity with the covered essential requirements of Annex I</td>
</tr>
<tr>
<td><strong>Scope</strong></td>
<td>Full presumption when applied in full; partial presumption when applied in part</td>
</tr>
<tr>
<td><strong>Standardisation organisations</strong></td>
<td>CEN, CENELEC, ETSI (mandated by the EU Commission)</td>
</tr>
<tr>
<td><strong>Legal consequence</strong></td>
<td>Reversal of the burden of proof -- the authority would need to demonstrate non-conformity</td>
</tr>
</tbody>
</table>
<h3 id="development-status-of-harmonised-standards" tabindex="-1">Development Status of Harmonised Standards <a class="header-anchor" href="#development-status-of-harmonised-standards" aria-label="Permalink to &quot;Development Status of Harmonised Standards&quot;"></a></h3>
<div class="warning custom-block"><p class="custom-block-title">CURRENT STATUS</p>
<p>As of February 2026, the harmonised standards for the CRA are still <strong>under development</strong>. The European standardisation organisations CEN, CENELEC, and ETSI are working on the relevant standards. Publication of the references in the OJEU is expected in <strong>2026/2027</strong>.</p>
</div>
<h3 id="common-specifications-fallback" tabindex="-1">Common Specifications (Fallback) <a class="header-anchor" href="#common-specifications-fallback" aria-label="Permalink to &quot;Common Specifications (Fallback)&quot;"></a></h3>
<p>Where harmonised standards do not exist or cover the essential requirements only incompletely, the EU Commission may adopt <strong>common specifications</strong> via implementing acts. These provide the same presumption of conformity.</p>
<h3 id="significance-for-conformity-assessment" tabindex="-1">Significance for Conformity Assessment <a class="header-anchor" href="#significance-for-conformity-assessment" aria-label="Permalink to &quot;Significance for Conformity Assessment&quot;"></a></h3>
<p>The availability of harmonised standards has a <strong>direct impact</strong> on the applicable conformity assessment procedure:</p>
<table tabindex="0">
<thead>
<tr>
<th>Product class</th>
<th>With harmonised standards</th>
<th>Without harmonised standards</th>
</tr>
</thead>
<tbody>
<tr>
<td><strong>Standard</strong></td>
<td>Module A (self-assessment)</td>
<td>Module A (self-assessment)</td>
</tr>
<tr>
<td><strong>Class I</strong></td>
<td>Module A (self-assessment) -- when applied in full</td>
<td>Module B+C (EU type examination) required</td>
</tr>
<tr>
<td><strong>Class II</strong></td>
<td>Module B+C or Module H</td>
<td>Module B+C or Module H</td>
</tr>
<tr>
<td><strong>Critical</strong></td>
<td>EUCC certification</td>
<td>EUCC certification</td>
</tr>
</tbody>
</table>
<div class="warning custom-block"><p class="custom-block-title">ACTION REQUIRED FOR CLASS I PRODUCTS</p>
<p>For Class I products manufactured by BAUER GROUP (e.g. microcontrollers with security-relevant functions), the availability of harmonised standards is decisive: without fully applied harmonised standards, Module A is <strong>not sufficient</strong> -- instead, the more demanding <a href="/en/conformity/module-bc">Module B+C</a> procedure is required.</p>
</div>
<h2 id="_1-12-4-practical-implications-for-bauer-group" tabindex="-1">1.12.4 Practical Implications for BAUER GROUP <a class="header-anchor" href="#_1-12-4-practical-implications-for-bauer-group" aria-label="Permalink to &quot;1.12.4 Practical Implications for BAUER GROUP&quot;"></a></h2>
<h3 id="monitoring-process-for-harmonised-standards" tabindex="-1">Monitoring Process for Harmonised Standards <a class="header-anchor" href="#monitoring-process-for-harmonised-standards" aria-label="Permalink to &quot;Monitoring Process for Harmonised Standards&quot;"></a></h3>
<p>BAUER GROUP establishes the following monitoring process:</p>
<ol>
<li><strong>OJEU monitoring</strong> -- Regular review of the Official Journal of the EU for publication of references to harmonised CRA standards</li>
<li><strong>CEN/CENELEC/ETSI tracking</strong> -- Following draft standards and public consultations</li>
<li><strong>Applicability assessment</strong> -- Evaluating which published standards are relevant to own products</li>
<li><strong>Implementation planning</strong> -- Planning the adoption of relevant standards in own processes and products</li>
</ol>
<h3 id="transition-planning-when-new-standards-are-published" tabindex="-1">Transition Planning When New Standards Are Published <a class="header-anchor" href="#transition-planning-when-new-standards-are-published" aria-label="Permalink to &quot;Transition Planning When New Standards Are Published&quot;"></a></h3>
<table tabindex="0">
<thead>
<tr>
<th>Phase</th>
<th>Action</th>
<th>Responsible</th>
</tr>
</thead>
<tbody>
<tr>
<td>Publication</td>
<td>Assess relevance for BAUER GROUP products</td>
<td>CISO / Product Owner</td>
</tr>
<tr>
<td>Analysis (1-3 months)</td>
<td>Gap analysis against existing product documentation</td>
<td>Security Lead</td>
</tr>
<tr>
<td>Implementation (3-6 months)</td>
<td>Adapt processes, documentation, and products</td>
<td>Development teams</td>
</tr>
<tr>
<td>Validation</td>
<td>Verify full compliance with the standard</td>
<td>CISO</td>
</tr>
<tr>
<td>Documentation</td>
<td>Update declarations of conformity</td>
<td>Product Owner</td>
</tr>
</tbody>
</table>
<h3 id="impact-on-module-selection" tabindex="-1">Impact on Module Selection <a class="header-anchor" href="#impact-on-module-selection" aria-label="Permalink to &quot;Impact on Module Selection&quot;"></a></h3>
<p>Until harmonised standards become available:</p>
<ul>
<li><strong>Standard products:</strong> Module A remains applicable (no restriction)</li>
<li><strong>Class I products:</strong> Module B+C required -- see <a href="/en/conformity/module-bc">Module B+C</a></li>
<li>After publication of harmonised standards: Class I products can transition to Module A (<a href="/en/conformity/self-assessment">Self-Assessment</a>), provided the standards are applied in full</li>
</ul>
<blockquote>
<p>See also: <a href="/en/conformity/product-classification">Product Classification</a> | <a href="/en/conformity/self-assessment">Self-Assessment (Module A)</a></p>
</blockquote>
]]></content:encoded>
            <author>BAUER GROUP</author>
        </item>
        <item>
            <title><![CDATA[1.4 Importer Obligations (Art. 15)]]></title>
            <link>https://cra.docs.bauer-group.com/en/overview/importer-obligations</link>
            <guid isPermaLink="false">https://cra.docs.bauer-group.com/en/overview/importer-obligations</guid>
            <pubDate>Tue, 10 Feb 2026 16:43:47 GMT</pubDate>
            <description><![CDATA[# 1.4 Importer Obligations (Art. 15)

## 1.4.1 Overview

Importers are economic operators that place a product with digital elements from a third-country manufacturer (outside the EU) on the Union market. The CRA imposes specific due diligence obligations on them to ensure that only compliant products reach the EU market.

::: info LEGAL BASIS
**Art. 15 CRA:** The importer shall only place products on the market that meet the essential requirements of Annex I and whose manufacturer has properly carried out the conformity assessment.

**Art. 3 No. 21 CRA:** *"Importer" means any natural or legal person established in the Union who places a product with digital elements bearing the name or trademark of a person established outside the Union on the market.*
:::

## 1.4.2 When Is BAUER GROUP an Importer?

BAUER GROUP acts as an Importer when:

- Software or hardware is purchased from a **non-EU manufacturer** and distributed under their brand in the EU
- Firmware components are sourced from outside the EU and integrated into own products, where the component qualifies as a standalone product
- A SaaS product from a third country is distributed as on-premise software in the EU

::: warning DISTINCTION
If BAUER GROUP places a third-country product on the market under its **own name or brand**, BAUER GROUP is considered a **Manufacturer** (not an Importer) and is subject to the full manufacturer obligations under Art. 10.
:::

## 1.4.3 Obligations in Detail

### 1. Conformity Verification Before Placing on the Market (Art. 15 Para. 1)

Before placing on the market, the Importer must ensure:

- [ ] Manufacturer has properly carried out the **conformity assessment**
- [ ] Manufacturer has prepared the **technical documentation** in accordance with Annex VII
- [ ] Product bears the **CE marking**
- [ ] Product is accompanied by the **EU declaration of conformity** (or simplified version with URL)
- [ ] Manufacturer has provided contact details on the product / in the documentation
- [ ] Product has a **unique identification** (type, batch, serial number)

### 2. Own Labelling (Art. 15 Para. 2)

The Importer must indicate on the product or its packaging:

- Their **name / trade name / registered trademark**
- Their **postal address and email**

For software: In the documentation, the user interface, or the repository.

### 3. Storage and Transport Conditions (Art. 15 Para. 3)

Ensure that storage and transport do not compromise conformity:

- Integrity protection of software packages (checksums, signed artefacts)
- Secure distribution channels (HTTPS, signed repositories)
- No tampering with firmware/software during the logistics chain

### 4. Market Monitoring (Art. 15 Para. 4)

The Importer must:

- **Monitor** whether the product continues to be compliant
- In case of suspected non-conformity: take corrective measures or cease distribution
- In case of serious risk: inform the manufacturer and Market Surveillance authorities

### 5. Documentation (Art. 15 Para. 5)

- **EU declaration of conformity** must be available to the Importer (copy)
- **Technical documentation** must be available to the authorities upon request
- Retention period: **10 years** after placing on the market

### 6. Cooperation with Authorities (Art. 15 Para. 6)

Upon request from Market Surveillance authorities, the Importer must:

- Provide all required information and documents
- In the language of the authority (or a language accepted by the authority)
- Cooperate in eliminating risks

### 7. Reporting Obligations (Art. 15 Para. 7)

Upon becoming aware of an **actively exploited vulnerability** or a **severe security incident**:

- Inform the manufacturer **without delay**
- If the manufacturer does not respond: Report directly to ENISA and the national CSIRT

## 1.4.4 Checklist for Importers

### Before Placing on the Market

- [ ] Manufacturer identified and verified (non-EU)
- [ ] CE marking present
- [ ] EU declaration of conformity received and reviewed
- [ ] Manufacturer's conformity assessment plausible (module according to category)
- [ ] Technical documentation available or retrievable
- [ ] Product identification present (type, version, serial number)
- [ ] Own contact details affixed to the product / in the documentation
- [ ] SBOM received from manufacturer (Art. 13 Para. 23)
- [ ] Support period defined and communicated

### Ongoing

- [ ] Market monitoring active (tracking manufacturer vulnerability notifications)
- [ ] Distribution channels integrity-secured
- [ ] Readiness to cooperate with authorities ensured
- [ ] Documentation archived (10 years)

## 1.4.5 Liability and Penalties

| Violation | Penalty |
|]]></description>
            <content:encoded><![CDATA[<h1 id="_1-4-importer-obligations-art-15" tabindex="-1">1.4 Importer Obligations (Art. 15) <a class="header-anchor" href="#_1-4-importer-obligations-art-15" aria-label="Permalink to &quot;1.4 Importer Obligations (Art. 15)&quot;"></a></h1>
<h2 id="_1-4-1-overview" tabindex="-1">1.4.1 Overview <a class="header-anchor" href="#_1-4-1-overview" aria-label="Permalink to &quot;1.4.1 Overview&quot;"></a></h2>
<p>Importers are economic operators that place a product with digital elements from a third-country manufacturer (outside the EU) on the Union market. The CRA imposes specific due diligence obligations on them to ensure that only compliant products reach the EU market.</p>
<div class="info custom-block"><p class="custom-block-title">LEGAL BASIS</p>
<p><strong>Art. 15 CRA:</strong> The importer shall only place products on the market that meet the essential requirements of Annex I and whose manufacturer has properly carried out the conformity assessment.</p>
<p><strong>Art. 3 No. 21 CRA:</strong> <em>&quot;Importer&quot; means any natural or legal person established in the Union who places a product with digital elements bearing the name or trademark of a person established outside the Union on the market.</em></p>
</div>
<h2 id="_1-4-2-when-is-bauer-group-an-importer" tabindex="-1">1.4.2 When Is BAUER GROUP an Importer? <a class="header-anchor" href="#_1-4-2-when-is-bauer-group-an-importer" aria-label="Permalink to &quot;1.4.2 When Is BAUER GROUP an Importer?&quot;"></a></h2>
<p>BAUER GROUP acts as an Importer when:</p>
<ul>
<li>Software or hardware is purchased from a <strong>non-EU manufacturer</strong> and distributed under their brand in the EU</li>
<li>Firmware components are sourced from outside the EU and integrated into own products, where the component qualifies as a standalone product</li>
<li>A SaaS product from a third country is distributed as on-premise software in the EU</li>
</ul>
<div class="warning custom-block"><p class="custom-block-title">DISTINCTION</p>
<p>If BAUER GROUP places a third-country product on the market under its <strong>own name or brand</strong>, BAUER GROUP is considered a <strong>Manufacturer</strong> (not an Importer) and is subject to the full manufacturer obligations under Art. 10.</p>
</div>
<h2 id="_1-4-3-obligations-in-detail" tabindex="-1">1.4.3 Obligations in Detail <a class="header-anchor" href="#_1-4-3-obligations-in-detail" aria-label="Permalink to &quot;1.4.3 Obligations in Detail&quot;"></a></h2>
<h3 id="_1-conformity-verification-before-placing-on-the-market-art-15-para-1" tabindex="-1">1. Conformity Verification Before Placing on the Market (Art. 15 Para. 1) <a class="header-anchor" href="#_1-conformity-verification-before-placing-on-the-market-art-15-para-1" aria-label="Permalink to &quot;1. Conformity Verification Before Placing on the Market (Art. 15 Para. 1)&quot;"></a></h3>
<p>Before placing on the market, the Importer must ensure:</p>
<ul>
<li>[ ] Manufacturer has properly carried out the <strong>conformity assessment</strong></li>
<li>[ ] Manufacturer has prepared the <strong>technical documentation</strong> in accordance with Annex VII</li>
<li>[ ] Product bears the <strong>CE marking</strong></li>
<li>[ ] Product is accompanied by the <strong>EU declaration of conformity</strong> (or simplified version with URL)</li>
<li>[ ] Manufacturer has provided contact details on the product / in the documentation</li>
<li>[ ] Product has a <strong>unique identification</strong> (type, batch, serial number)</li>
</ul>
<h3 id="_2-own-labelling-art-15-para-2" tabindex="-1">2. Own Labelling (Art. 15 Para. 2) <a class="header-anchor" href="#_2-own-labelling-art-15-para-2" aria-label="Permalink to &quot;2. Own Labelling (Art. 15 Para. 2)&quot;"></a></h3>
<p>The Importer must indicate on the product or its packaging:</p>
<ul>
<li>Their <strong>name / trade name / registered trademark</strong></li>
<li>Their <strong>postal address and email</strong></li>
</ul>
<p>For software: In the documentation, the user interface, or the repository.</p>
<h3 id="_3-storage-and-transport-conditions-art-15-para-3" tabindex="-1">3. Storage and Transport Conditions (Art. 15 Para. 3) <a class="header-anchor" href="#_3-storage-and-transport-conditions-art-15-para-3" aria-label="Permalink to &quot;3. Storage and Transport Conditions (Art. 15 Para. 3)&quot;"></a></h3>
<p>Ensure that storage and transport do not compromise conformity:</p>
<ul>
<li>Integrity protection of software packages (checksums, signed artefacts)</li>
<li>Secure distribution channels (HTTPS, signed repositories)</li>
<li>No tampering with firmware/software during the logistics chain</li>
</ul>
<h3 id="_4-market-monitoring-art-15-para-4" tabindex="-1">4. Market Monitoring (Art. 15 Para. 4) <a class="header-anchor" href="#_4-market-monitoring-art-15-para-4" aria-label="Permalink to &quot;4. Market Monitoring (Art. 15 Para. 4)&quot;"></a></h3>
<p>The Importer must:</p>
<ul>
<li><strong>Monitor</strong> whether the product continues to be compliant</li>
<li>In case of suspected non-conformity: take corrective measures or cease distribution</li>
<li>In case of serious risk: inform the manufacturer and Market Surveillance authorities</li>
</ul>
<h3 id="_5-documentation-art-15-para-5" tabindex="-1">5. Documentation (Art. 15 Para. 5) <a class="header-anchor" href="#_5-documentation-art-15-para-5" aria-label="Permalink to &quot;5. Documentation (Art. 15 Para. 5)&quot;"></a></h3>
<ul>
<li><strong>EU declaration of conformity</strong> must be available to the Importer (copy)</li>
<li><strong>Technical documentation</strong> must be available to the authorities upon request</li>
<li>Retention period: <strong>10 years</strong> after placing on the market</li>
</ul>
<h3 id="_6-cooperation-with-authorities-art-15-para-6" tabindex="-1">6. Cooperation with Authorities (Art. 15 Para. 6) <a class="header-anchor" href="#_6-cooperation-with-authorities-art-15-para-6" aria-label="Permalink to &quot;6. Cooperation with Authorities (Art. 15 Para. 6)&quot;"></a></h3>
<p>Upon request from Market Surveillance authorities, the Importer must:</p>
<ul>
<li>Provide all required information and documents</li>
<li>In the language of the authority (or a language accepted by the authority)</li>
<li>Cooperate in eliminating risks</li>
</ul>
<h3 id="_7-reporting-obligations-art-15-para-7" tabindex="-1">7. Reporting Obligations (Art. 15 Para. 7) <a class="header-anchor" href="#_7-reporting-obligations-art-15-para-7" aria-label="Permalink to &quot;7. Reporting Obligations (Art. 15 Para. 7)&quot;"></a></h3>
<p>Upon becoming aware of an <strong>actively exploited vulnerability</strong> or a <strong>severe security incident</strong>:</p>
<ul>
<li>Inform the manufacturer <strong>without delay</strong></li>
<li>If the manufacturer does not respond: Report directly to ENISA and the national CSIRT</li>
</ul>
<h2 id="_1-4-4-checklist-for-importers" tabindex="-1">1.4.4 Checklist for Importers <a class="header-anchor" href="#_1-4-4-checklist-for-importers" aria-label="Permalink to &quot;1.4.4 Checklist for Importers&quot;"></a></h2>
<h3 id="before-placing-on-the-market" tabindex="-1">Before Placing on the Market <a class="header-anchor" href="#before-placing-on-the-market" aria-label="Permalink to &quot;Before Placing on the Market&quot;"></a></h3>
<ul>
<li>[ ] Manufacturer identified and verified (non-EU)</li>
<li>[ ] CE marking present</li>
<li>[ ] EU declaration of conformity received and reviewed</li>
<li>[ ] Manufacturer's conformity assessment plausible (module according to category)</li>
<li>[ ] Technical documentation available or retrievable</li>
<li>[ ] Product identification present (type, version, serial number)</li>
<li>[ ] Own contact details affixed to the product / in the documentation</li>
<li>[ ] SBOM received from manufacturer (Art. 13 Para. 23)</li>
<li>[ ] Support period defined and communicated</li>
</ul>
<h3 id="ongoing" tabindex="-1">Ongoing <a class="header-anchor" href="#ongoing" aria-label="Permalink to &quot;Ongoing&quot;"></a></h3>
<ul>
<li>[ ] Market monitoring active (tracking manufacturer vulnerability notifications)</li>
<li>[ ] Distribution channels integrity-secured</li>
<li>[ ] Readiness to cooperate with authorities ensured</li>
<li>[ ] Documentation archived (10 years)</li>
</ul>
<h2 id="_1-4-5-liability-and-penalties" tabindex="-1">1.4.5 Liability and Penalties <a class="header-anchor" href="#_1-4-5-liability-and-penalties" aria-label="Permalink to &quot;1.4.5 Liability and Penalties&quot;"></a></h2>
<table tabindex="0">
<thead>
<tr>
<th>Violation</th>
<th>Penalty</th>
</tr>
</thead>
<tbody>
<tr>
<td>Placing non-compliant products on the market</td>
<td>Up to EUR 15 million or 2.5% of global annual turnover</td>
</tr>
<tr>
<td>Missing documentation / labelling</td>
<td>Up to EUR 10 million or 2% of annual turnover</td>
</tr>
<tr>
<td>False / incomplete information to authorities</td>
<td>Up to EUR 5 million or 1% of annual turnover</td>
</tr>
</tbody>
</table>
<blockquote>
<p>Details: <a href="/en/overview/penalties">Penalties</a></p>
</blockquote>
]]></content:encoded>
            <author>BAUER GROUP</author>
        </item>
        <item>
            <title><![CDATA[1.10 Market Surveillance (Art. 52–58)]]></title>
            <link>https://cra.docs.bauer-group.com/en/overview/market-surveillance</link>
            <guid isPermaLink="false">https://cra.docs.bauer-group.com/en/overview/market-surveillance</guid>
            <pubDate>Tue, 10 Feb 2026 16:43:47 GMT</pubDate>
            <description><![CDATA[# 1.10 Market Surveillance (Art. 52–58)

## 1.10.1 Overview

Market Surveillance ensures that products on the EU market meet the CRA requirements. Regulation (EU) 2019/1020 (Market Surveillance Regulation) applies. Manufacturers must respond to requests from Market Surveillance authorities and cooperate with corrective measures.

::: info LEGAL BASIS
**Art. 52 CRA:** Regulation (EU) 2019/1020 applies to products with digital elements falling under the CRA.

**Art. 53-58 CRA:** Specific procedures for corrective measures, safeguard clause, formal non-conformity, and Union safeguard clause.
:::

## 1.10.2 Competent Authorities

| Country | Competent Market Surveillance Authority |
|]]></description>
            <content:encoded><![CDATA[<h1 id="_1-10-market-surveillance-art-52–58" tabindex="-1">1.10 Market Surveillance (Art. 52–58) <a class="header-anchor" href="#_1-10-market-surveillance-art-52–58" aria-label="Permalink to &quot;1.10 Market Surveillance (Art. 52–58)&quot;"></a></h1>
<h2 id="_1-10-1-overview" tabindex="-1">1.10.1 Overview <a class="header-anchor" href="#_1-10-1-overview" aria-label="Permalink to &quot;1.10.1 Overview&quot;"></a></h2>
<p>Market Surveillance ensures that products on the EU market meet the CRA requirements. Regulation (EU) 2019/1020 (Market Surveillance Regulation) applies. Manufacturers must respond to requests from Market Surveillance authorities and cooperate with corrective measures.</p>
<div class="info custom-block"><p class="custom-block-title">LEGAL BASIS</p>
<p><strong>Art. 52 CRA:</strong> Regulation (EU) 2019/1020 applies to products with digital elements falling under the CRA.</p>
<p><strong>Art. 53-58 CRA:</strong> Specific procedures for corrective measures, safeguard clause, formal non-conformity, and Union safeguard clause.</p>
</div>
<h2 id="_1-10-2-competent-authorities" tabindex="-1">1.10.2 Competent Authorities <a class="header-anchor" href="#_1-10-2-competent-authorities" aria-label="Permalink to &quot;1.10.2 Competent Authorities&quot;"></a></h2>
<table tabindex="0">
<thead>
<tr>
<th>Country</th>
<th>Competent Market Surveillance Authority</th>
</tr>
</thead>
<tbody>
<tr>
<td>Germany</td>
<td>Federal Network Agency (BNetzA) / BSI</td>
</tr>
<tr>
<td>Austria</td>
<td>Telecommunications Office / RTR</td>
</tr>
<tr>
<td>EU-wide</td>
<td>Coordination by the EU Commission</td>
</tr>
</tbody>
</table>
<p><em>The exact distribution of competences will be determined by the Member States by 11.06.2026.</em></p>
<h2 id="_1-10-3-powers-of-market-surveillance-authorities" tabindex="-1">1.10.3 Powers of Market Surveillance Authorities <a class="header-anchor" href="#_1-10-3-powers-of-market-surveillance-authorities" aria-label="Permalink to &quot;1.10.3 Powers of Market Surveillance Authorities&quot;"></a></h2>
<h3 id="information-requests-art-52" tabindex="-1">Information Requests (Art. 52) <a class="header-anchor" href="#information-requests-art-52" aria-label="Permalink to &quot;Information Requests (Art. 52)&quot;"></a></h3>
<p>Authorities may require from the Manufacturer:</p>
<ul>
<li>Technical documentation (Annex VII) -- typical deadline: <strong>10 working days</strong></li>
<li>EU declaration of conformity</li>
<li>SBOM</li>
<li>Results of the conformity assessment</li>
<li>Source code or access to source code (in justified cases)</li>
</ul>
<h3 id="product-testing" tabindex="-1">Product Testing <a class="header-anchor" href="#product-testing" aria-label="Permalink to &quot;Product Testing&quot;"></a></h3>
<p>Authorities may:</p>
<ul>
<li>Purchase products from the market and test them</li>
<li>Order laboratory tests and security assessments</li>
<li>Commission penetration tests</li>
<li>Check SBOM against known vulnerabilities</li>
</ul>
<h3 id="order-corrective-measures" tabindex="-1">Order Corrective Measures <a class="header-anchor" href="#order-corrective-measures" aria-label="Permalink to &quot;Order Corrective Measures&quot;"></a></h3>
<ul>
<li>Warning to users</li>
<li>Recall of the product from the market</li>
<li>Distribution stop</li>
<li>Destruction of the product (in severe cases)</li>
</ul>
<h2 id="_1-10-4-procedures" tabindex="-1">1.10.4 Procedures <a class="header-anchor" href="#_1-10-4-procedures" aria-label="Permalink to &quot;1.10.4 Procedures&quot;"></a></h2>
<h3 id="art-53-corrective-measures-at-national-level" tabindex="-1">Art. 53 -- Corrective Measures at National Level <a class="header-anchor" href="#art-53-corrective-measures-at-national-level" aria-label="Permalink to &quot;Art. 53 -- Corrective Measures at National Level&quot;"></a></h3>
<div class="language- vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang"></span><pre class="shiki shiki-themes github-light github-dark vp-code" tabindex="0" v-pre=""><code><span class="line"><span>Authority determines non-conformity</span></span>
<span class="line"><span>    |</span></span>
<span class="line"><span>    +-- Manufacturer informed (with deadline)</span></span>
<span class="line"><span>    |</span></span>
<span class="line"><span>    +-- Manufacturer has [reasonable deadline] for correction</span></span>
<span class="line"><span>    |   +-- Correction made --> Procedure closed</span></span>
<span class="line"><span>    |   +-- Correction not made --> Measure ordered</span></span>
<span class="line"><span>    |       +-- Distribution stop</span></span>
<span class="line"><span>    |       +-- Recall</span></span>
<span class="line"><span>    |       +-- EU Commission + other Member States informed</span></span>
<span class="line"><span>    |</span></span>
<span class="line"><span>    +-- In case of serious danger --> Immediate measures (without deadline)</span></span></code></pre>
</div><h3 id="art-54-safeguard-clause-procedure-eu-wide" tabindex="-1">Art. 54 -- Safeguard Clause Procedure (EU-wide) <a class="header-anchor" href="#art-54-safeguard-clause-procedure-eu-wide" aria-label="Permalink to &quot;Art. 54 -- Safeguard Clause Procedure (EU-wide)&quot;"></a></h3>
<p>When a Member State takes measures and other Member States are affected:</p>
<ol>
<li>Member State informs the EU Commission</li>
<li>Commission examines whether the measure is justified</li>
<li>If confirmed: All Member States take the same measures</li>
<li>If rejected: Member State must lift the measure</li>
</ol>
<h3 id="art-55-compliant-products-posing-a-risk" tabindex="-1">Art. 55 -- Compliant Products Posing a Risk <a class="header-anchor" href="#art-55-compliant-products-posing-a-risk" aria-label="Permalink to &quot;Art. 55 -- Compliant Products Posing a Risk&quot;"></a></h3>
<p>Even a <strong>compliant</strong> product can pose a risk (e.g., new threat landscape). In this case:</p>
<ul>
<li>Authority may order provisional measures</li>
<li>Manufacturer must provide a remedy (patch, warning, recall)</li>
<li>Commission may adopt implementing acts</li>
</ul>
<h3 id="art-56-formal-non-conformity" tabindex="-1">Art. 56 -- Formal Non-Conformity <a class="header-anchor" href="#art-56-formal-non-conformity" aria-label="Permalink to &quot;Art. 56 -- Formal Non-Conformity&quot;"></a></h3>
<p>Formal violations (without substantive risk):</p>
<ul>
<li>Missing CE marking</li>
<li>CE incorrectly affixed</li>
<li>EU declaration of conformity not prepared or defective</li>
<li>Technical documentation not available</li>
</ul>
<blockquote>
<p>Manufacturer must establish <strong>formal conformity</strong>
In case of non-compliance: distribution stop or recall</p>
</blockquote>
<h2 id="_1-10-5-bauer-group-obligations" tabindex="-1">1.10.5 BAUER GROUP Obligations <a class="header-anchor" href="#_1-10-5-bauer-group-obligations" aria-label="Permalink to &quot;1.10.5 BAUER GROUP Obligations&quot;"></a></h2>
<h3 id="preparation-for-market-surveillance" tabindex="-1">Preparation for Market Surveillance <a class="header-anchor" href="#preparation-for-market-surveillance" aria-label="Permalink to &quot;Preparation for Market Surveillance&quot;"></a></h3>
<table tabindex="0">
<thead>
<tr>
<th>Measure</th>
<th>Description</th>
<th>Status</th>
</tr>
</thead>
<tbody>
<tr>
<td>Documentation archive</td>
<td>All technical documentation retrievable (10 years)</td>
<td>This repository</td>
</tr>
<tr>
<td>SBOM archive</td>
<td>SBOMs archived and signed per release</td>
<td><a href="/en/sbom-signing/">SBOM &amp; Signing</a></td>
</tr>
<tr>
<td>Contact person</td>
<td>Designated person for authority requests</td>
<td>To be designated</td>
</tr>
<tr>
<td>EU declarations of conformity</td>
<td>Available for all products</td>
<td>Product-specific</td>
</tr>
<tr>
<td>Recall process</td>
<td>Documented process for product recalls</td>
<td>To be created</td>
</tr>
</tbody>
</table>
<h3 id="response-process-for-authority-requests" tabindex="-1">Response Process for Authority Requests <a class="header-anchor" href="#response-process-for-authority-requests" aria-label="Permalink to &quot;Response Process for Authority Requests&quot;"></a></h3>
<table tabindex="0">
<thead>
<tr>
<th>Step</th>
<th>Deadline</th>
<th>Action</th>
</tr>
</thead>
<tbody>
<tr>
<td>1</td>
<td>Immediately</td>
<td>Forward request to CISO and management</td>
</tr>
<tr>
<td>2</td>
<td>2 working days</td>
<td>Assess request content, identify responsible team</td>
</tr>
<tr>
<td>3</td>
<td>5 working days</td>
<td>Compile requested documentation</td>
</tr>
<tr>
<td>4</td>
<td>10 working days</td>
<td>Submit documentation to authority</td>
</tr>
<tr>
<td>5</td>
<td>As per deadline</td>
<td>Implement corrective measures (if required)</td>
</tr>
<tr>
<td>6</td>
<td>Ongoing</td>
<td>Document measures and inform authority</td>
</tr>
</tbody>
</table>
<h3 id="recall-process" tabindex="-1">Recall Process <a class="header-anchor" href="#recall-process" aria-label="Permalink to &quot;Recall Process&quot;"></a></h3>
<p>If a recall is ordered or carried out voluntarily:</p>
<ol>
<li><strong>Risk assessment</strong> -- Severity and scope of the problem</li>
<li><strong>Customer notification</strong> -- Through all known channels</li>
<li><strong>Provide patch</strong> -- Publish security update</li>
<li><strong>Inform authority</strong> -- Communicate measures and timeline</li>
<li><strong>Documentation</strong> -- Record all steps without gaps</li>
<li><strong>Follow-up</strong> -- Monitor patch adoption</li>
</ol>
<blockquote>
<p>See also: <a href="/en/incident-response/communication">Communication Plan</a></p>
</blockquote>
<h2 id="_1-10-6-checklist-readiness-for-market-surveillance" tabindex="-1">1.10.6 Checklist: Readiness for Market Surveillance <a class="header-anchor" href="#_1-10-6-checklist-readiness-for-market-surveillance" aria-label="Permalink to &quot;1.10.6 Checklist: Readiness for Market Surveillance&quot;"></a></h2>
<ul>
<li>[ ] Technical documentation of all products up to date and retrievable</li>
<li>[ ] EU declarations of conformity available for all products</li>
<li>[ ] SBOMs archived for all active product versions</li>
<li>[ ] Contact person for authority requests designated</li>
<li>[ ] Response process documented and known</li>
<li>[ ] Recall process documented</li>
<li>[ ] All documents available in English (authority language)</li>
<li>[ ] Source code access technically possible (for justified requests)</li>
</ul>
]]></content:encoded>
            <author>BAUER GROUP</author>
        </item>
        <item>
            <title><![CDATA[1.9 Non-Conformity (Art. 22–23)]]></title>
            <link>https://cra.docs.bauer-group.com/en/overview/non-conformity</link>
            <guid isPermaLink="false">https://cra.docs.bauer-group.com/en/overview/non-conformity</guid>
            <pubDate>Tue, 10 Feb 2026 16:43:47 GMT</pubDate>
            <description><![CDATA[# 1.9 Non-Conformity (Art. 22–23)

## 1.9.1 Overview

The CRA distinguishes between **formal non-conformity** (Art. 22) and **products presenting a significant cybersecurity risk** (Art. 23). This distinction is critical: Art. 22 addresses administrative deficiencies (missing documents, incorrect marking), while Art. 23 covers substantive security issues. Both articles empower Market Surveillance authorities to order corrective measures up to and including withdrawal or recall.

::: info LEGAL BASIS
**Art. 22 CRA (EU) 2024/2847:** Procedure for formal non-conformity -- the Market Surveillance authority requires the economic operator to bring the product into conformity within a specified timeframe.

**Art. 23 CRA (EU) 2024/2847:** Procedure for products presenting a significant cybersecurity risk -- the authority orders corrective measures where the essential requirements (Annex I) are not substantively met.
:::

## 1.9.2 Art. 22 -- Formal Non-Conformity

The Market Surveillance authority shall require corrective action when it identifies any of the following formal deficiencies:

| Formal Deficiency | Legal Basis | Example |
|]]></description>
            <content:encoded><![CDATA[<h1 id="_1-9-non-conformity-art-22–23" tabindex="-1">1.9 Non-Conformity (Art. 22–23) <a class="header-anchor" href="#_1-9-non-conformity-art-22–23" aria-label="Permalink to &quot;1.9 Non-Conformity (Art. 22–23)&quot;"></a></h1>
<h2 id="_1-9-1-overview" tabindex="-1">1.9.1 Overview <a class="header-anchor" href="#_1-9-1-overview" aria-label="Permalink to &quot;1.9.1 Overview&quot;"></a></h2>
<p>The CRA distinguishes between <strong>formal non-conformity</strong> (Art. 22) and <strong>products presenting a significant cybersecurity risk</strong> (Art. 23). This distinction is critical: Art. 22 addresses administrative deficiencies (missing documents, incorrect marking), while Art. 23 covers substantive security issues. Both articles empower Market Surveillance authorities to order corrective measures up to and including withdrawal or recall.</p>
<div class="info custom-block"><p class="custom-block-title">LEGAL BASIS</p>
<p><strong>Art. 22 CRA (EU) 2024/2847:</strong> Procedure for formal non-conformity -- the Market Surveillance authority requires the economic operator to bring the product into conformity within a specified timeframe.</p>
<p><strong>Art. 23 CRA (EU) 2024/2847:</strong> Procedure for products presenting a significant cybersecurity risk -- the authority orders corrective measures where the essential requirements (Annex I) are not substantively met.</p>
</div>
<h2 id="_1-9-2-art-22-formal-non-conformity" tabindex="-1">1.9.2 Art. 22 -- Formal Non-Conformity <a class="header-anchor" href="#_1-9-2-art-22-formal-non-conformity" aria-label="Permalink to &quot;1.9.2 Art. 22 -- Formal Non-Conformity&quot;"></a></h2>
<p>The Market Surveillance authority shall require corrective action when it identifies any of the following formal deficiencies:</p>
<table tabindex="0">
<thead>
<tr>
<th>Formal Deficiency</th>
<th>Legal Basis</th>
<th>Example</th>
</tr>
</thead>
<tbody>
<tr>
<td>CE marking not affixed or affixed incorrectly</td>
<td>Art. 29-30</td>
<td>CE mark missing from product or packaging</td>
</tr>
<tr>
<td>EU Declaration of Conformity not drawn up or drawn up incorrectly</td>
<td>Art. 28, Annex V</td>
<td>DoC missing or does not contain all mandatory information</td>
</tr>
<tr>
<td>Technical documentation not available or incomplete</td>
<td>Art. 31, Annex VII</td>
<td>Documentation cannot be produced within the required timeframe</td>
</tr>
<tr>
<td>Manufacturer/importer contact information missing</td>
<td>Art. 10(15), Art. 13(19)</td>
<td>No name, address, or contact details on the product</td>
</tr>
<tr>
<td>Any other administrative requirement not met</td>
<td>Various</td>
<td>Support period not indicated</td>
</tr>
</tbody>
</table>
<h3 id="procedure" tabindex="-1">Procedure <a class="header-anchor" href="#procedure" aria-label="Permalink to &quot;Procedure&quot;"></a></h3>
<ol>
<li>Authority identifies formal non-conformity</li>
<li>Economic operator is informed and given a <strong>reasonable timeframe</strong> to bring the product into conformity</li>
<li>Operator remedies the deficiency within the timeframe</li>
<li><strong>If non-conformity persists:</strong> Authority orders restriction, withdrawal, or recall</li>
</ol>
<div class="warning custom-block"><p class="custom-block-title">CAUTION</p>
<p>Formal deficiencies may appear trivial but can result in an immediate distribution stop. Complete documentation must be available at all times.</p>
</div>
<h2 id="_1-9-3-art-23-product-presenting-a-significant-cybersecurity-risk" tabindex="-1">1.9.3 Art. 23 -- Product Presenting a Significant Cybersecurity Risk <a class="header-anchor" href="#_1-9-3-art-23-product-presenting-a-significant-cybersecurity-risk" aria-label="Permalink to &quot;1.9.3 Art. 23 -- Product Presenting a Significant Cybersecurity Risk&quot;"></a></h2>
<p>Where a product with digital elements presents a <strong>significant cybersecurity risk</strong>, an escalated procedure applies:</p>
<ol>
<li>The Market Surveillance authority conducts a <strong>risk-based assessment</strong></li>
<li>Upon finding a significant risk: corrective measures are ordered with a specified deadline</li>
<li>The manufacturer must take corrective action within the deadline</li>
<li><strong>If no action is taken:</strong> restriction, withdrawal, or recall of the product</li>
</ol>
<p>Art. 23 applies in particular where the <strong>essential requirements under Annex I</strong> are not substantively met -- for example missing encryption, unpatched known vulnerabilities, or an inadequate update mechanism.</p>
<div class="danger custom-block"><p class="custom-block-title">SIGNIFICANT RISK</p>
<p>A significant cybersecurity risk can trigger immediate measures. Unlike formal non-conformity, the focus here is on actual user safety. Penalties under <a href="/en/overview/penalties">Art. 64</a> (up to EUR 15 million / 2.5% of turnover) may be imposed in addition.</p>
</div>
<h2 id="_1-9-4-comparison-art-22-vs-art-23" tabindex="-1">1.9.4 Comparison: Art. 22 vs. Art. 23 <a class="header-anchor" href="#_1-9-4-comparison-art-22-vs-art-23" aria-label="Permalink to &quot;1.9.4 Comparison: Art. 22 vs. Art. 23&quot;"></a></h2>
<table tabindex="0">
<thead>
<tr>
<th>Criterion</th>
<th>Art. 22 -- Formal Non-Conformity</th>
<th>Art. 23 -- Significant Cybersecurity Risk</th>
</tr>
</thead>
<tbody>
<tr>
<td><strong>Subject</strong></td>
<td>Administrative deficiencies (documentation, marking)</td>
<td>Substantive security deficiencies (Annex I)</td>
</tr>
<tr>
<td><strong>Typical triggers</strong></td>
<td>Missing CE marking, incomplete DoC</td>
<td>Unpatched vulnerabilities, missing encryption</td>
</tr>
<tr>
<td><strong>Risk assessment</strong></td>
<td>Not required</td>
<td>Risk-based assessment by the authority</td>
</tr>
<tr>
<td><strong>Correction deadline</strong></td>
<td>Reasonable timeframe</td>
<td>Deadline with urgency depending on risk</td>
</tr>
<tr>
<td><strong>Escalation</strong></td>
<td>Distribution stop, withdrawal</td>
<td>Distribution stop, withdrawal, recall</td>
</tr>
<tr>
<td><strong>Fine exposure</strong></td>
<td>Tier 2 (up to EUR 10 million / 2%)</td>
<td>Tier 1 (up to EUR 15 million / 2.5%)</td>
</tr>
</tbody>
</table>
<h2 id="_1-9-5-practical-measures-for-bauer-group" tabindex="-1">1.9.5 Practical Measures for BAUER GROUP <a class="header-anchor" href="#_1-9-5-practical-measures-for-bauer-group" aria-label="Permalink to &quot;1.9.5 Practical Measures for BAUER GROUP&quot;"></a></h2>
<h3 id="checklist-ensuring-formal-conformity" tabindex="-1">Checklist: Ensuring Formal Conformity <a class="header-anchor" href="#checklist-ensuring-formal-conformity" aria-label="Permalink to &quot;Checklist: Ensuring Formal Conformity&quot;"></a></h3>
<ul>
<li>[ ] CE marking correctly affixed on all products (<a href="/en/conformity/ce-marking">CE Marking</a>)</li>
<li>[ ] EU Declaration of Conformity drawn up and current for each product (<a href="/en/conformity/eu-declaration">EU Declaration</a>)</li>
<li>[ ] Technical documentation complete and producible within 10 working days</li>
<li>[ ] Contact details (name, address, email/URL) on the product or packaging</li>
<li>[ ] Support period indicated and publicly accessible</li>
</ul>
<h3 id="response-procedure-for-authority-contact" tabindex="-1">Response Procedure for Authority Contact <a class="header-anchor" href="#response-procedure-for-authority-contact" aria-label="Permalink to &quot;Response Procedure for Authority Contact&quot;"></a></h3>
<table tabindex="0">
<thead>
<tr>
<th>Step</th>
<th>Deadline</th>
<th>Responsible</th>
<th>Action</th>
</tr>
</thead>
<tbody>
<tr>
<td>1</td>
<td>Immediately</td>
<td>Recipient</td>
<td>Forward request to CISO and legal department</td>
</tr>
<tr>
<td>2</td>
<td>1 working day</td>
<td>CISO</td>
<td>Determine type of non-conformity (formal vs. substantive)</td>
</tr>
<tr>
<td>3</td>
<td>3 working days</td>
<td>Specialist team</td>
<td>Identify corrective measures and establish timeline</td>
</tr>
<tr>
<td>4</td>
<td>As per deadline</td>
<td>Specialist team</td>
<td>Implement corrective measures</td>
</tr>
<tr>
<td>5</td>
<td>After implementation</td>
<td>CISO</td>
<td>Submit evidence to authority</td>
</tr>
<tr>
<td>6</td>
<td>Ongoing</td>
<td>CISO</td>
<td>Ensure documentation of all measures</td>
</tr>
</tbody>
</table>
<h3 id="escalation-path" tabindex="-1">Escalation Path <a class="header-anchor" href="#escalation-path" aria-label="Permalink to &quot;Escalation Path&quot;"></a></h3>
<div class="language- vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang"></span><pre class="shiki shiki-themes github-light github-dark vp-code" tabindex="0" v-pre=""><code><span class="line"><span>Authority request received</span></span>
<span class="line"><span>    |</span></span>
<span class="line"><span>    +-- CISO + Legal department (initial assessment, 1 WD)</span></span>
<span class="line"><span>    |</span></span>
<span class="line"><span>    +-- Formal non-conformity (Art. 22)?</span></span>
<span class="line"><span>    |   +-- Yes --> Specialist team corrects (documents, marking)</span></span>
<span class="line"><span>    |   +-- Evidence submitted to authority within deadline</span></span>
<span class="line"><span>    |</span></span>
<span class="line"><span>    +-- Significant risk (Art. 23)?</span></span>
<span class="line"><span>        +-- Yes --> Escalation to senior management</span></span>
<span class="line"><span>        +-- Immediate risk assessment</span></span>
<span class="line"><span>        +-- Security update / recall initiated if necessary</span></span>
<span class="line"><span>        +-- Parallel notification to ENISA (if Art. 14 is triggered)</span></span></code></pre>
</div><h2 id="_1-9-6-related-pages" tabindex="-1">1.9.6 Related Pages <a class="header-anchor" href="#_1-9-6-related-pages" aria-label="Permalink to &quot;1.9.6 Related Pages&quot;"></a></h2>
<ul>
<li><a href="/en/conformity/ce-marking">CE Marking</a> -- Requirements for correct affixation</li>
<li><a href="/en/conformity/eu-declaration">EU Declaration of Conformity</a> -- Content and form of the DoC</li>
<li><a href="/en/overview/market-surveillance">Market Surveillance</a> -- Authority procedures and preparation</li>
<li><a href="/en/overview/penalties">Penalties and Fines</a> -- Fine framework for violations</li>
</ul>
]]></content:encoded>
            <author>BAUER GROUP</author>
        </item>
        <item>
            <title><![CDATA[1.7 Open-Source Steward (Art. 18–19)]]></title>
            <link>https://cra.docs.bauer-group.com/en/overview/open-source-steward</link>
            <guid isPermaLink="false">https://cra.docs.bauer-group.com/en/overview/open-source-steward</guid>
            <pubDate>Tue, 10 Feb 2026 16:43:47 GMT</pubDate>
            <description><![CDATA[# 1.7 Open-Source Steward (Art. 18–19)

## 1.7.1 Overview

The CRA introduces the new role of the **Open Source Software Steward**. This concerns legal persons (e.g., foundations, companies) that systematically support the development of open-source software intended for commercial activities.

::: info LEGAL BASIS
**Art. 3 No. 16 CRA:** *"Open-source software steward" means any legal person, other than a manufacturer, who has the purpose of systematically providing support on a sustained basis for the development of specific products with digital elements qualifying as free and open-source software that are intended for commercial activities, and ensures the viability of those products.*

**Art. 18 CRA:** Obligations of the open-source software steward.

**Art. 19 CRA:** Security attestation for free and open-source software.
:::

## 1.7.2 When Does the OSS Steward Role Apply?

### Requirements (cumulative)

1. **Legal person** (not a natural person)
2. **Not a Manufacturer** of the product in question
3. **Systematic and sustained support** of the development
4. The OSS product is **intended for commercial activities**
5. **Decisive role** in ensuring market viability

### Typical OSS Stewards

- Open-source foundations (Apache, Linux Foundation, Eclipse)
- Companies that sponsor and maintain OSS projects without being the Manufacturer themselves
- Organisations that host OSS projects and provide their release infrastructure

### When Is BAUER GROUP NOT an OSS Steward?

- When using open-source libraries as **dependencies** --> Only manufacturer obligations for the own product
- When contributing to OSS projects as a **contributor** --> No steward role
- When publishing own code as open source --> BAUER GROUP is then a **Manufacturer**, not a steward

### When COULD BAUER GROUP Be an OSS Steward?

- If BAUER GROUP **systematically promotes and maintains** an OSS project from an external community (e.g., own employees as maintainers, infrastructure sponsoring)
- If BAUER GROUP establishes its **own foundation** that manages OSS projects

::: tip CURRENT ASSESSMENT
Based on current knowledge, BAUER GROUP primarily acts as a **Manufacturer** (own code) and **user** (OSS dependencies). The OSS steward role is currently **not applicable**, but must be reviewed for new OSS engagements.
:::

## 1.7.3 Obligations of the OSS Steward (Art. 18)

Even though the steward role is less comprehensive than that of the Manufacturer, the following obligations apply:

### 1. Cybersecurity Policy (Art. 18 Para. 1)

- Establish and implement a documented cybersecurity policy
- Promote cooperation with Market Surveillance authorities
- Support secure development of the software

### 2. Vulnerability Handling (Art. 18 Para. 1)

- Voluntary reporting of actively exploited vulnerabilities to ENISA and national CSIRTs
- Facilitate coordinated vulnerability disclosure (CVD)
- Provide a contact point for vulnerability reports (SECURITY.md or similar)

### 3. Cooperation with Authorities (Art. 18 Para. 2)

- Upon request: provide documentation
- Assist in eliminating security risks
- Share information about vulnerabilities

### 4. Security Attestation (Art. 19)

Open-source software stewards may initiate a **voluntary security attestation**:

- Documentation of applied cybersecurity practices
- Evidence of vulnerability handling processes
- Third-party attestation (optional)

## 1.7.4 Role Distinction for Open Source

| Role | CRA Status | Obligations |
|]]></description>
            <content:encoded><![CDATA[<h1 id="_1-7-open-source-steward-art-18–19" tabindex="-1">1.7 Open-Source Steward (Art. 18–19) <a class="header-anchor" href="#_1-7-open-source-steward-art-18–19" aria-label="Permalink to &quot;1.7 Open-Source Steward (Art. 18–19)&quot;"></a></h1>
<h2 id="_1-7-1-overview" tabindex="-1">1.7.1 Overview <a class="header-anchor" href="#_1-7-1-overview" aria-label="Permalink to &quot;1.7.1 Overview&quot;"></a></h2>
<p>The CRA introduces the new role of the <strong>Open Source Software Steward</strong>. This concerns legal persons (e.g., foundations, companies) that systematically support the development of open-source software intended for commercial activities.</p>
<div class="info custom-block"><p class="custom-block-title">LEGAL BASIS</p>
<p><strong>Art. 3 No. 16 CRA:</strong> <em>&quot;Open-source software steward&quot; means any legal person, other than a manufacturer, who has the purpose of systematically providing support on a sustained basis for the development of specific products with digital elements qualifying as free and open-source software that are intended for commercial activities, and ensures the viability of those products.</em></p>
<p><strong>Art. 18 CRA:</strong> Obligations of the open-source software steward.</p>
<p><strong>Art. 19 CRA:</strong> Security attestation for free and open-source software.</p>
</div>
<h2 id="_1-7-2-when-does-the-oss-steward-role-apply" tabindex="-1">1.7.2 When Does the OSS Steward Role Apply? <a class="header-anchor" href="#_1-7-2-when-does-the-oss-steward-role-apply" aria-label="Permalink to &quot;1.7.2 When Does the OSS Steward Role Apply?&quot;"></a></h2>
<h3 id="requirements-cumulative" tabindex="-1">Requirements (cumulative) <a class="header-anchor" href="#requirements-cumulative" aria-label="Permalink to &quot;Requirements (cumulative)&quot;"></a></h3>
<ol>
<li><strong>Legal person</strong> (not a natural person)</li>
<li><strong>Not a Manufacturer</strong> of the product in question</li>
<li><strong>Systematic and sustained support</strong> of the development</li>
<li>The OSS product is <strong>intended for commercial activities</strong></li>
<li><strong>Decisive role</strong> in ensuring market viability</li>
</ol>
<h3 id="typical-oss-stewards" tabindex="-1">Typical OSS Stewards <a class="header-anchor" href="#typical-oss-stewards" aria-label="Permalink to &quot;Typical OSS Stewards&quot;"></a></h3>
<ul>
<li>Open-source foundations (Apache, Linux Foundation, Eclipse)</li>
<li>Companies that sponsor and maintain OSS projects without being the Manufacturer themselves</li>
<li>Organisations that host OSS projects and provide their release infrastructure</li>
</ul>
<h3 id="when-is-bauer-group-not-an-oss-steward" tabindex="-1">When Is BAUER GROUP NOT an OSS Steward? <a class="header-anchor" href="#when-is-bauer-group-not-an-oss-steward" aria-label="Permalink to &quot;When Is BAUER GROUP NOT an OSS Steward?&quot;"></a></h3>
<ul>
<li>When using open-source libraries as <strong>dependencies</strong> --&gt; Only manufacturer obligations for the own product</li>
<li>When contributing to OSS projects as a <strong>contributor</strong> --&gt; No steward role</li>
<li>When publishing own code as open source --&gt; BAUER GROUP is then a <strong>Manufacturer</strong>, not a steward</li>
</ul>
<h3 id="when-could-bauer-group-be-an-oss-steward" tabindex="-1">When COULD BAUER GROUP Be an OSS Steward? <a class="header-anchor" href="#when-could-bauer-group-be-an-oss-steward" aria-label="Permalink to &quot;When COULD BAUER GROUP Be an OSS Steward?&quot;"></a></h3>
<ul>
<li>If BAUER GROUP <strong>systematically promotes and maintains</strong> an OSS project from an external community (e.g., own employees as maintainers, infrastructure sponsoring)</li>
<li>If BAUER GROUP establishes its <strong>own foundation</strong> that manages OSS projects</li>
</ul>
<div class="tip custom-block"><p class="custom-block-title">CURRENT ASSESSMENT</p>
<p>Based on current knowledge, BAUER GROUP primarily acts as a <strong>Manufacturer</strong> (own code) and <strong>user</strong> (OSS dependencies). The OSS steward role is currently <strong>not applicable</strong>, but must be reviewed for new OSS engagements.</p>
</div>
<h2 id="_1-7-3-obligations-of-the-oss-steward-art-18" tabindex="-1">1.7.3 Obligations of the OSS Steward (Art. 18) <a class="header-anchor" href="#_1-7-3-obligations-of-the-oss-steward-art-18" aria-label="Permalink to &quot;1.7.3 Obligations of the OSS Steward (Art. 18)&quot;"></a></h2>
<p>Even though the steward role is less comprehensive than that of the Manufacturer, the following obligations apply:</p>
<h3 id="_1-cybersecurity-policy-art-18-para-1" tabindex="-1">1. Cybersecurity Policy (Art. 18 Para. 1) <a class="header-anchor" href="#_1-cybersecurity-policy-art-18-para-1" aria-label="Permalink to &quot;1. Cybersecurity Policy (Art. 18 Para. 1)&quot;"></a></h3>
<ul>
<li>Establish and implement a documented cybersecurity policy</li>
<li>Promote cooperation with Market Surveillance authorities</li>
<li>Support secure development of the software</li>
</ul>
<h3 id="_2-vulnerability-handling-art-18-para-1" tabindex="-1">2. Vulnerability Handling (Art. 18 Para. 1) <a class="header-anchor" href="#_2-vulnerability-handling-art-18-para-1" aria-label="Permalink to &quot;2. Vulnerability Handling (Art. 18 Para. 1)&quot;"></a></h3>
<ul>
<li>Voluntary reporting of actively exploited vulnerabilities to ENISA and national CSIRTs</li>
<li>Facilitate coordinated vulnerability disclosure (CVD)</li>
<li>Provide a contact point for vulnerability reports (SECURITY.md or similar)</li>
</ul>
<h3 id="_3-cooperation-with-authorities-art-18-para-2" tabindex="-1">3. Cooperation with Authorities (Art. 18 Para. 2) <a class="header-anchor" href="#_3-cooperation-with-authorities-art-18-para-2" aria-label="Permalink to &quot;3. Cooperation with Authorities (Art. 18 Para. 2)&quot;"></a></h3>
<ul>
<li>Upon request: provide documentation</li>
<li>Assist in eliminating security risks</li>
<li>Share information about vulnerabilities</li>
</ul>
<h3 id="_4-security-attestation-art-19" tabindex="-1">4. Security Attestation (Art. 19) <a class="header-anchor" href="#_4-security-attestation-art-19" aria-label="Permalink to &quot;4. Security Attestation (Art. 19)&quot;"></a></h3>
<p>Open-source software stewards may initiate a <strong>voluntary security attestation</strong>:</p>
<ul>
<li>Documentation of applied cybersecurity practices</li>
<li>Evidence of vulnerability handling processes</li>
<li>Third-party attestation (optional)</li>
</ul>
<h2 id="_1-7-4-role-distinction-for-open-source" tabindex="-1">1.7.4 Role Distinction for Open Source <a class="header-anchor" href="#_1-7-4-role-distinction-for-open-source" aria-label="Permalink to &quot;1.7.4 Role Distinction for Open Source&quot;"></a></h2>
<table tabindex="0">
<thead>
<tr>
<th>Role</th>
<th>CRA Status</th>
<th>Obligations</th>
</tr>
</thead>
<tbody>
<tr>
<td><strong>OSS user</strong> (as dependency)</td>
<td>Manufacturer of own product</td>
<td>Full manufacturer obligations for the overall product</td>
</tr>
<tr>
<td><strong>OSS contributor</strong></td>
<td>No CRA role</td>
<td>No direct CRA obligations</td>
</tr>
<tr>
<td><strong>OSS maintainer</strong> (natural person)</td>
<td>Not a steward (legal person required)</td>
<td>No direct CRA obligations</td>
</tr>
<tr>
<td><strong>OSS steward</strong> (organisation)</td>
<td>Art. 18-19 obligations</td>
<td>Limited obligations (see above)</td>
</tr>
<tr>
<td><strong>Manufacturer of OSS</strong> (commercial)</td>
<td>Full Manufacturer (Art. 10)</td>
<td>Full manufacturer obligations</td>
</tr>
</tbody>
</table>
<h2 id="_1-7-5-impact-on-the-supply-chain" tabindex="-1">1.7.5 Impact on the Supply Chain <a class="header-anchor" href="#_1-7-5-impact-on-the-supply-chain" aria-label="Permalink to &quot;1.7.5 Impact on the Supply Chain&quot;"></a></h2>
<h3 id="for-bauer-group-as-a-manufacturer" tabindex="-1">For BAUER GROUP as a Manufacturer <a class="header-anchor" href="#for-bauer-group-as-a-manufacturer" aria-label="Permalink to &quot;For BAUER GROUP as a Manufacturer&quot;"></a></h3>
<p>Even if BAUER GROUP is not an OSS steward, the OSS steward provisions have implications:</p>
<ol>
<li><strong>Review OSS dependencies:</strong> Is there an OSS steward for critical dependencies?</li>
<li><strong>Vulnerability reports:</strong> OSS stewards report vulnerabilities voluntarily -- actively track these reports</li>
<li><strong>Security attestations:</strong> When evaluating OSS components, prefer attested software</li>
<li><strong>Risk assessment:</strong> OSS without a steward or active community = higher risk</li>
</ol>
<blockquote>
<p>See: <a href="/en/supply-chain/">Supply Chain Security</a> and <a href="/en/supply-chain/third-party-assessment">Third-Party Assessment</a></p>
</blockquote>
<h2 id="_1-7-6-penalties" tabindex="-1">1.7.6 Penalties <a class="header-anchor" href="#_1-7-6-penalties" aria-label="Permalink to &quot;1.7.6 Penalties&quot;"></a></h2>
<p>OSS stewards are subject to <strong>reduced penalties</strong> compared to manufacturers:</p>
<table tabindex="0">
<thead>
<tr>
<th>Violation</th>
<th>Maximum Penalty</th>
</tr>
</thead>
<tbody>
<tr>
<td>Non-fulfilment of Art. 18 obligations</td>
<td>Up to EUR 5 million or 1% of annual turnover</td>
</tr>
</tbody>
</table>
<p><em>The Commission takes into account the special role and non-commercial character of the steward activity when determining penalties.</em></p>
<h2 id="_1-7-7-relevant-developments" tabindex="-1">1.7.7 Relevant Developments <a class="header-anchor" href="#_1-7-7-relevant-developments" aria-label="Permalink to &quot;1.7.7 Relevant Developments&quot;"></a></h2>
<ul>
<li>The EU Commission will adopt <strong>implementing acts</strong> that further specify the security attestation (Art. 19)</li>
<li>Harmonised standards for OSS stewards are under development</li>
<li>The precise delineation will be further clarified through practice and case law</li>
</ul>
]]></content:encoded>
            <author>BAUER GROUP</author>
        </item>
        <item>
            <title><![CDATA[1.11 Penalties (Art. 64)]]></title>
            <link>https://cra.docs.bauer-group.com/en/overview/penalties</link>
            <guid isPermaLink="false">https://cra.docs.bauer-group.com/en/overview/penalties</guid>
            <pubDate>Tue, 10 Feb 2026 16:43:47 GMT</pubDate>
            <description><![CDATA[# 1.11 Penalties (Art. 64)

## 1.11.1 Overview

The CRA provides for significant penalties for violations. The fines follow the GDPR framework and are tiered according to the severity of the violation. The determination and imposition is the responsibility of the national Market Surveillance authorities of the Member States.

::: info LEGAL BASIS
**Art. 64 CRA:** The Member States shall lay down rules on penalties and take all necessary measures to ensure their enforcement. The penalties shall be effective, proportionate, and dissuasive.
:::

## 1.11.2 Fine Framework

### Tier 1 -- Serious Violations (Art. 64 Para. 2)

**Up to EUR 15,000,000 or 2.5% of global annual turnover** (whichever is higher)

Violations of:

- **Art. 10** -- Manufacturer obligations (essential requirements, conformity assessment, technical documentation)
- **Art. 13** -- Information obligations (SBOM, support period, contact details)
- **Art. 14** -- Reporting Obligations (ENISA 24h/72h/14d)
- **Annex I** -- Essential cybersecurity requirements
- **Annex VII** -- Technical documentation

### Tier 2 -- Other Violations (Art. 64 Para. 3)

**Up to EUR 10,000,000 or 2% of global annual turnover**

Violations of:

- **Art. 15** -- [Importer Obligations](/en/overview/importer-obligations)
- **Art. 17** -- [Distributor Obligations](/en/overview/distributor-obligations)
- **Art. 20** -- [Substantial Modifications](/en/overview/substantial-modifications) (without assuming manufacturer obligations)
- **Art. 24-28** -- Conformity Assessment (formally not carried out)

### Tier 3 -- False Information (Art. 64 Para. 4)

**Up to EUR 5,000,000 or 1% of global annual turnover**

- False, incomplete, or misleading information to authorities
- Refusal to cooperate with Market Surveillance authorities
- Obstruction of inspections

### Special Provision: OSS Stewards (Art. 64 Para. 5)

**Up to EUR 5,000,000 or 1% of global annual turnover**

- Reduced penalties for [Open Source Software Stewards](/en/overview/open-source-steward)
- Consideration of the non-commercial character

## 1.11.3 Overview Table

| Violation Category | Maximum | Typical Triggers |
|]]></description>
            <content:encoded><![CDATA[<h1 id="_1-11-penalties-art-64" tabindex="-1">1.11 Penalties (Art. 64) <a class="header-anchor" href="#_1-11-penalties-art-64" aria-label="Permalink to &quot;1.11 Penalties (Art. 64)&quot;"></a></h1>
<h2 id="_1-11-1-overview" tabindex="-1">1.11.1 Overview <a class="header-anchor" href="#_1-11-1-overview" aria-label="Permalink to &quot;1.11.1 Overview&quot;"></a></h2>
<p>The CRA provides for significant penalties for violations. The fines follow the GDPR framework and are tiered according to the severity of the violation. The determination and imposition is the responsibility of the national Market Surveillance authorities of the Member States.</p>
<div class="info custom-block"><p class="custom-block-title">LEGAL BASIS</p>
<p><strong>Art. 64 CRA:</strong> The Member States shall lay down rules on penalties and take all necessary measures to ensure their enforcement. The penalties shall be effective, proportionate, and dissuasive.</p>
</div>
<h2 id="_1-11-2-fine-framework" tabindex="-1">1.11.2 Fine Framework <a class="header-anchor" href="#_1-11-2-fine-framework" aria-label="Permalink to &quot;1.11.2 Fine Framework&quot;"></a></h2>
<h3 id="tier-1-serious-violations-art-64-para-2" tabindex="-1">Tier 1 -- Serious Violations (Art. 64 Para. 2) <a class="header-anchor" href="#tier-1-serious-violations-art-64-para-2" aria-label="Permalink to &quot;Tier 1 -- Serious Violations (Art. 64 Para. 2)&quot;"></a></h3>
<p><strong>Up to EUR 15,000,000 or 2.5% of global annual turnover</strong> (whichever is higher)</p>
<p>Violations of:</p>
<ul>
<li><strong>Art. 10</strong> -- Manufacturer obligations (essential requirements, conformity assessment, technical documentation)</li>
<li><strong>Art. 13</strong> -- Information obligations (SBOM, support period, contact details)</li>
<li><strong>Art. 14</strong> -- Reporting Obligations (ENISA 24h/72h/14d)</li>
<li><strong>Annex I</strong> -- Essential cybersecurity requirements</li>
<li><strong>Annex VII</strong> -- Technical documentation</li>
</ul>
<h3 id="tier-2-other-violations-art-64-para-3" tabindex="-1">Tier 2 -- Other Violations (Art. 64 Para. 3) <a class="header-anchor" href="#tier-2-other-violations-art-64-para-3" aria-label="Permalink to &quot;Tier 2 -- Other Violations (Art. 64 Para. 3)&quot;"></a></h3>
<p><strong>Up to EUR 10,000,000 or 2% of global annual turnover</strong></p>
<p>Violations of:</p>
<ul>
<li><strong>Art. 15</strong> -- <a href="/en/overview/importer-obligations">Importer Obligations</a></li>
<li><strong>Art. 17</strong> -- <a href="/en/overview/distributor-obligations">Distributor Obligations</a></li>
<li><strong>Art. 20</strong> -- <a href="/en/overview/substantial-modifications">Substantial Modifications</a> (without assuming manufacturer obligations)</li>
<li><strong>Art. 24-28</strong> -- Conformity Assessment (formally not carried out)</li>
</ul>
<h3 id="tier-3-false-information-art-64-para-4" tabindex="-1">Tier 3 -- False Information (Art. 64 Para. 4) <a class="header-anchor" href="#tier-3-false-information-art-64-para-4" aria-label="Permalink to &quot;Tier 3 -- False Information (Art. 64 Para. 4)&quot;"></a></h3>
<p><strong>Up to EUR 5,000,000 or 1% of global annual turnover</strong></p>
<ul>
<li>False, incomplete, or misleading information to authorities</li>
<li>Refusal to cooperate with Market Surveillance authorities</li>
<li>Obstruction of inspections</li>
</ul>
<h3 id="special-provision-oss-stewards-art-64-para-5" tabindex="-1">Special Provision: OSS Stewards (Art. 64 Para. 5) <a class="header-anchor" href="#special-provision-oss-stewards-art-64-para-5" aria-label="Permalink to &quot;Special Provision: OSS Stewards (Art. 64 Para. 5)&quot;"></a></h3>
<p><strong>Up to EUR 5,000,000 or 1% of global annual turnover</strong></p>
<ul>
<li>Reduced penalties for <a href="/en/overview/open-source-steward">Open Source Software Stewards</a></li>
<li>Consideration of the non-commercial character</li>
</ul>
<h2 id="_1-11-3-overview-table" tabindex="-1">1.11.3 Overview Table <a class="header-anchor" href="#_1-11-3-overview-table" aria-label="Permalink to &quot;1.11.3 Overview Table&quot;"></a></h2>
<table tabindex="0">
<thead>
<tr>
<th>Violation Category</th>
<th>Maximum</th>
<th>Typical Triggers</th>
</tr>
</thead>
<tbody>
<tr>
<td><strong>Tier 1</strong></td>
<td>EUR 15 million / 2.5%</td>
<td>No SBOM, no conformity assessment, no ENISA reporting, known vulnerabilities not remediated</td>
</tr>
<tr>
<td><strong>Tier 2</strong></td>
<td>EUR 10 million / 2%</td>
<td>Missing CE marking, Importer without verification, no DoC</td>
</tr>
<tr>
<td><strong>Tier 3</strong></td>
<td>EUR 5 million / 1%</td>
<td>False information to authorities, refusal to cooperate</td>
</tr>
</tbody>
</table>
<h2 id="_1-11-4-assessment-criteria" tabindex="-1">1.11.4 Assessment Criteria <a class="header-anchor" href="#_1-11-4-assessment-criteria" aria-label="Permalink to &quot;1.11.4 Assessment Criteria&quot;"></a></h2>
<p>When determining the amount of the fine, the authorities take into account:</p>
<h3 id="aggravating-factors" tabindex="-1">Aggravating Factors <a class="header-anchor" href="#aggravating-factors" aria-label="Permalink to &quot;Aggravating Factors&quot;"></a></h3>
<ul>
<li><strong>Severity of the violation</strong> -- How serious were the consequences?</li>
<li><strong>Duration</strong> -- How long did the violation persist?</li>
<li><strong>Intent</strong> -- Was the violation intentional?</li>
<li><strong>Repetition</strong> -- Were there previous violations?</li>
<li><strong>Affected users</strong> -- How many users were affected?</li>
<li><strong>Damage</strong> -- What actual damage occurred?</li>
</ul>
<h3 id="mitigating-factors" tabindex="-1">Mitigating Factors <a class="header-anchor" href="#mitigating-factors" aria-label="Permalink to &quot;Mitigating Factors&quot;"></a></h3>
<ul>
<li><strong>Cooperation</strong> -- Active collaboration with authorities</li>
<li><strong>Self-reporting</strong> -- Voluntary disclosure of the violation</li>
<li><strong>Corrective measures</strong> -- Rapid remediation of the problem</li>
<li><strong>Compliance programme</strong> -- Demonstrable compliance management</li>
<li><strong>First violation</strong> -- No previous violations</li>
<li><strong>Company size</strong> -- Proportionality for SMEs</li>
</ul>
<h2 id="_1-11-5-comparison-with-other-regulations" tabindex="-1">1.11.5 Comparison with Other Regulations <a class="header-anchor" href="#_1-11-5-comparison-with-other-regulations" aria-label="Permalink to &quot;1.11.5 Comparison with Other Regulations&quot;"></a></h2>
<table tabindex="0">
<thead>
<tr>
<th>Regulation</th>
<th>Maximum Fine</th>
<th>Calculation</th>
</tr>
</thead>
<tbody>
<tr>
<td><strong>CRA</strong></td>
<td>EUR 15 million / 2.5%</td>
<td>Per violation</td>
</tr>
<tr>
<td><strong>GDPR</strong></td>
<td>EUR 20 million / 4%</td>
<td>Per violation</td>
</tr>
<tr>
<td><strong>NIS2</strong></td>
<td>EUR 10 million / 2%</td>
<td>Per violation</td>
</tr>
<tr>
<td><strong>AI Act</strong></td>
<td>EUR 35 million / 7%</td>
<td>Per violation</td>
</tr>
</tbody>
</table>
<h2 id="_1-11-6-risk-minimisation" tabindex="-1">1.11.6 Risk Minimisation <a class="header-anchor" href="#_1-11-6-risk-minimisation" aria-label="Permalink to &quot;1.11.6 Risk Minimisation&quot;"></a></h2>
<h3 id="compliance-as-protection" tabindex="-1">Compliance as Protection <a class="header-anchor" href="#compliance-as-protection" aria-label="Permalink to &quot;Compliance as Protection&quot;"></a></h3>
<p>A documented and actively practised compliance programme significantly reduces the risk of fines. The following measures serve as mitigating factors:</p>
<ol>
<li><strong>Complete documentation</strong> -- This handbook and all referenced processes</li>
<li><strong>Proactive reporting</strong> -- Comply with ENISA deadlines (<a href="/en/incident-response/enisa-reporting">Reporting Process</a>)</li>
<li><strong>Active vulnerability management</strong> -- CVE monitoring, rapid patches (<a href="/en/vulnerability-management/">Vulnerability Management</a>)</li>
<li><strong>Regular audits</strong> -- Internal review of compliance</li>
<li><strong>Training</strong> -- Employees are aware of the CRA requirements</li>
<li><strong>Readiness to cooperate</strong> -- Documented process for authority requests (<a href="/en/overview/market-surveillance">Market Surveillance</a>)</li>
</ol>
<h3 id="priority-compliance-areas" tabindex="-1">Priority Compliance Areas <a class="header-anchor" href="#priority-compliance-areas" aria-label="Permalink to &quot;Priority Compliance Areas&quot;"></a></h3>
<p>The highest fine risks exist for:</p>
<table tabindex="0">
<thead>
<tr>
<th>Priority</th>
<th>Area</th>
<th>Risk</th>
</tr>
</thead>
<tbody>
<tr>
<td><strong>1</strong></td>
<td>No ENISA reporting for actively exploited vulnerability</td>
<td>Tier 1</td>
</tr>
<tr>
<td><strong>2</strong></td>
<td>Known exploitable vulnerabilities not remediated</td>
<td>Tier 1</td>
</tr>
<tr>
<td><strong>3</strong></td>
<td>No SBOM created (Art. 13 Para. 23)</td>
<td>Tier 1</td>
</tr>
<tr>
<td><strong>4</strong></td>
<td>No conformity assessment carried out</td>
<td>Tier 1</td>
</tr>
<tr>
<td><strong>5</strong></td>
<td>No technical documentation (Annex VII)</td>
<td>Tier 1</td>
</tr>
<tr>
<td><strong>6</strong></td>
<td>No cooperation with authorities</td>
<td>Tier 3</td>
</tr>
</tbody>
</table>
<div class="warning custom-block"><p class="custom-block-title">TIMELINE</p>
<p>The penalty provisions apply from <strong>11.12.2027</strong> (full applicability). The Reporting Obligations under Art. 14 apply from <strong>11.09.2026</strong>.</p>
</div>
]]></content:encoded>
            <author>BAUER GROUP</author>
        </item>
        <item>
            <title><![CDATA[1.13 General Product Safety (Art. 9)]]></title>
            <link>https://cra.docs.bauer-group.com/en/overview/product-safety</link>
            <guid isPermaLink="false">https://cra.docs.bauer-group.com/en/overview/product-safety</guid>
            <pubDate>Tue, 10 Feb 2026 16:43:47 GMT</pubDate>
            <description><![CDATA[# 1.13 General Product Safety (Art. 9)

## 1.13.1 Relationship to the General Product Safety Regulation (GPSR)

The Cyber Resilience Act (CRA) is **lex specialis** for cybersecurity requirements of products with digital elements. Products that comply with the CRA essential cybersecurity requirements (Annex I) are deemed to comply with the cybersecurity aspects of the General Product Safety Regulation (EU) 2023/988 (GPSR).

::: info LEGAL BASIS
**Art. 9 CRA:** Products with digital elements that comply with the essential requirements laid down in Annex I shall be deemed to comply with the cybersecurity requirements of Regulation (EU) 2023/988 (GPSR).

**Recital 28:** The CRA complements existing Union product safety legislation and is coherent with the GPSR, the Machinery Regulation, the Radio Equipment Directive, and sector-specific legislation.
:::

The GPSR continues to apply in full for all **non-cybersecurity** safety aspects. The CRA does not replace existing EU product legislation but complements it with specific cybersecurity requirements.

## 1.13.2 Delineation Table: CRA and Other EU Product Legislation

| Legislation | Subject Matter | Relationship to CRA |
|]]></description>
            <content:encoded><![CDATA[<h1 id="_1-13-general-product-safety-art-9" tabindex="-1">1.13 General Product Safety (Art. 9) <a class="header-anchor" href="#_1-13-general-product-safety-art-9" aria-label="Permalink to &quot;1.13 General Product Safety (Art. 9)&quot;"></a></h1>
<h2 id="_1-13-1-relationship-to-the-general-product-safety-regulation-gpsr" tabindex="-1">1.13.1 Relationship to the General Product Safety Regulation (GPSR) <a class="header-anchor" href="#_1-13-1-relationship-to-the-general-product-safety-regulation-gpsr" aria-label="Permalink to &quot;1.13.1 Relationship to the General Product Safety Regulation (GPSR)&quot;"></a></h2>
<p>The Cyber Resilience Act (CRA) is <strong>lex specialis</strong> for cybersecurity requirements of products with digital elements. Products that comply with the CRA essential cybersecurity requirements (Annex I) are deemed to comply with the cybersecurity aspects of the General Product Safety Regulation (EU) 2023/988 (GPSR).</p>
<div class="info custom-block"><p class="custom-block-title">LEGAL BASIS</p>
<p><strong>Art. 9 CRA:</strong> Products with digital elements that comply with the essential requirements laid down in Annex I shall be deemed to comply with the cybersecurity requirements of Regulation (EU) 2023/988 (GPSR).</p>
<p><strong>Recital 28:</strong> The CRA complements existing Union product safety legislation and is coherent with the GPSR, the Machinery Regulation, the Radio Equipment Directive, and sector-specific legislation.</p>
</div>
<p>The GPSR continues to apply in full for all <strong>non-cybersecurity</strong> safety aspects. The CRA does not replace existing EU product legislation but complements it with specific cybersecurity requirements.</p>
<h2 id="_1-13-2-delineation-table-cra-and-other-eu-product-legislation" tabindex="-1">1.13.2 Delineation Table: CRA and Other EU Product Legislation <a class="header-anchor" href="#_1-13-2-delineation-table-cra-and-other-eu-product-legislation" aria-label="Permalink to &quot;1.13.2 Delineation Table: CRA and Other EU Product Legislation&quot;"></a></h2>
<table tabindex="0">
<thead>
<tr>
<th>Legislation</th>
<th>Subject Matter</th>
<th>Relationship to CRA</th>
</tr>
</thead>
<tbody>
<tr>
<td><strong>CRA (EU) 2024/2847</strong></td>
<td>Cybersecurity requirements for products with digital elements</td>
<td>Lex specialis for cybersecurity</td>
</tr>
<tr>
<td><strong>GPSR (EU) 2023/988</strong></td>
<td>General product safety for consumer products</td>
<td>CRA compliance (Annex I) covers cybersecurity aspects</td>
</tr>
<tr>
<td><strong>RED 2014/53/EU</strong></td>
<td>Radio equipment (Art. 3(3)(d)(e)(f))</td>
<td>Delegated acts to be aligned with CRA requirements</td>
</tr>
<tr>
<td><strong>Machinery Regulation (EU) 2023/1230</strong></td>
<td>Machinery safety</td>
<td>CRA complements; machinery safety remains separate</td>
</tr>
<tr>
<td><strong>Medical Devices (EU) 2017/745</strong></td>
<td>Medical devices</td>
<td>Exempt from CRA (Art. 2(2))</td>
</tr>
<tr>
<td><strong>Motor Vehicles (EU) 2019/2144</strong></td>
<td>Vehicle type-approval</td>
<td>Exempt from CRA (Art. 2(2))</td>
</tr>
<tr>
<td><strong>Aviation (EU) 2018/1139</strong></td>
<td>Aviation safety</td>
<td>Exempt from CRA (Art. 2(2))</td>
</tr>
</tbody>
</table>
<div class="warning custom-block"><p class="custom-block-title">NO DOUBLE REGULATION</p>
<p>The CRA is designed not to duplicate existing sector-specific EU legislation. Products already subject to sector-specific cybersecurity requirements (medical devices, motor vehicles, aviation) are <strong>exempt</strong> from the CRA. For all other products, the CRA complements existing safety legislation with the cybersecurity dimension.</p>
</div>
<h2 id="_1-13-3-practical-implications-for-bauer-group" tabindex="-1">1.13.3 Practical Implications for BAUER GROUP <a class="header-anchor" href="#_1-13-3-practical-implications-for-bauer-group" aria-label="Permalink to &quot;1.13.3 Practical Implications for BAUER GROUP&quot;"></a></h2>
<h3 id="principle" tabindex="-1">Principle <a class="header-anchor" href="#principle" aria-label="Permalink to &quot;Principle&quot;"></a></h3>
<p>CRA compliance covers <strong>cybersecurity requirements</strong> exclusively. All other product safety requirements (mechanical safety, electrical safety, EMC, etc.) remain governed by the respective sector-specific legislation.</p>
<h3 id="product-specific-scenarios" tabindex="-1">Product-Specific Scenarios <a class="header-anchor" href="#product-specific-scenarios" aria-label="Permalink to &quot;Product-Specific Scenarios&quot;"></a></h3>
<table tabindex="0">
<thead>
<tr>
<th>Product Type</th>
<th>Applicable Legislation</th>
<th>Note</th>
</tr>
</thead>
<tbody>
<tr>
<td>IoT devices (e.g. sensors with radio)</td>
<td>CRA + potentially RED</td>
<td>Art. 3(3) RED delegated acts to be aligned with CRA</td>
</tr>
<tr>
<td>Industrial controllers (PLC, HMI)</td>
<td>CRA + potentially Machinery Regulation</td>
<td>Cybersecurity via CRA, functional safety via Machinery Regulation</td>
</tr>
<tr>
<td>Software products</td>
<td>CRA + potentially GPSR</td>
<td>CRA compliance satisfies GPSR cybersecurity aspects</td>
</tr>
<tr>
<td>Medical devices</td>
<td><strong>Only</strong> MDR – CRA not applicable</td>
<td>Fully exempt per Art. 2(2)</td>
</tr>
</tbody>
</table>
<h3 id="next-steps" tabindex="-1">Next Steps <a class="header-anchor" href="#next-steps" aria-label="Permalink to &quot;Next Steps&quot;"></a></h3>
<ol>
<li><strong>Classify products</strong> under both CRA and applicable sector-specific legislation</li>
<li><strong>Identify compliance gaps</strong> between CRA and existing product conformity</li>
<li><strong>Develop an integrated conformity strategy</strong> covering all applicable regulations</li>
</ol>
<blockquote>
<p>Full overview of CRA exemptions and scope: <a href="/en/overview/scope">Scope</a></p>
</blockquote>
]]></content:encoded>
            <author>BAUER GROUP</author>
        </item>
        <item>
            <title><![CDATA[1.2 Roles & Responsibilities]]></title>
            <link>https://cra.docs.bauer-group.com/en/overview/responsibilities</link>
            <guid isPermaLink="false">https://cra.docs.bauer-group.com/en/overview/responsibilities</guid>
            <pubDate>Tue, 10 Feb 2026 16:43:47 GMT</pubDate>
            <description><![CDATA[# 1.2 Roles & Responsibilities

## 1.2.1 CRA Roles under the Regulation

The CRA defines three economic operators, each with their own obligations:

### Manufacturer (Art. 10 CRA)

The manufacturer bears primary responsibility for CRA conformity. A manufacturer is any person who develops or has developed a product with digital elements and markets it under their own name or trademark.

**Obligations:**

- Ensure conformity with Annex I
- Carry out a cybersecurity risk assessment
- Prepare technical documentation (Annex VII)
- Carry out a conformity assessment
- Issue an EU declaration of conformity (Annex V)
- Affix the CE marking
- Handle vulnerabilities during the support period
- Fulfil reporting obligations (Art. 14)
- Prepare and maintain an SBOM

### Importer (Art. 13 CRA)

Importers place products from manufacturers outside the EU on the EU market.

**Obligations:**

- Ensure that the manufacturer has fulfilled their obligations
- Verify the declaration of conformity and technical documentation
- Verify the CE marking and manufacturer contact details

### Distributor (Art. 14 CRA)

Distributors make products available on the market without manufacturing or importing them.

**Obligations:**

- Due diligence: verify CE marking and declaration of conformity
- If non-conformity is identified: cease making the product available

### Authorised Representative / EU Authorized Representative (Art. 16 CRA)

::: warning OBLIGATION FOR NON-EU MANUFACTURERS
Manufacturers established **outside the EU** that make products with digital elements available on the EU market **must** designate an authorised representative in the EU. Without an authorised representative, the product may not be made available on the EU market.
:::

**Legal Basis:**

> *"The manufacturer may, by a written mandate, appoint an authorised representative. The authorised representative shall perform the tasks specified in the mandate agreed with the manufacturer."*
> — Art. 16(1) CRA

**When is an authorised representative required?**

| Scenario | Authorised representative required? |
|]]></description>
            <content:encoded><![CDATA[<h1 id="_1-2-roles-responsibilities" tabindex="-1">1.2 Roles &amp; Responsibilities <a class="header-anchor" href="#_1-2-roles-responsibilities" aria-label="Permalink to &quot;1.2 Roles &amp; Responsibilities&quot;"></a></h1>
<h2 id="_1-2-1-cra-roles-under-the-regulation" tabindex="-1">1.2.1 CRA Roles under the Regulation <a class="header-anchor" href="#_1-2-1-cra-roles-under-the-regulation" aria-label="Permalink to &quot;1.2.1 CRA Roles under the Regulation&quot;"></a></h2>
<p>The CRA defines three economic operators, each with their own obligations:</p>
<h3 id="manufacturer-art-10-cra" tabindex="-1">Manufacturer (Art. 10 CRA) <a class="header-anchor" href="#manufacturer-art-10-cra" aria-label="Permalink to &quot;Manufacturer (Art. 10 CRA)&quot;"></a></h3>
<p>The manufacturer bears primary responsibility for CRA conformity. A manufacturer is any person who develops or has developed a product with digital elements and markets it under their own name or trademark.</p>
<p><strong>Obligations:</strong></p>
<ul>
<li>Ensure conformity with Annex I</li>
<li>Carry out a cybersecurity risk assessment</li>
<li>Prepare technical documentation (Annex VII)</li>
<li>Carry out a conformity assessment</li>
<li>Issue an EU declaration of conformity (Annex V)</li>
<li>Affix the CE marking</li>
<li>Handle vulnerabilities during the support period</li>
<li>Fulfil reporting obligations (Art. 14)</li>
<li>Prepare and maintain an SBOM</li>
</ul>
<h3 id="importer-art-13-cra" tabindex="-1">Importer (Art. 13 CRA) <a class="header-anchor" href="#importer-art-13-cra" aria-label="Permalink to &quot;Importer (Art. 13 CRA)&quot;"></a></h3>
<p>Importers place products from manufacturers outside the EU on the EU market.</p>
<p><strong>Obligations:</strong></p>
<ul>
<li>Ensure that the manufacturer has fulfilled their obligations</li>
<li>Verify the declaration of conformity and technical documentation</li>
<li>Verify the CE marking and manufacturer contact details</li>
</ul>
<h3 id="distributor-art-14-cra" tabindex="-1">Distributor (Art. 14 CRA) <a class="header-anchor" href="#distributor-art-14-cra" aria-label="Permalink to &quot;Distributor (Art. 14 CRA)&quot;"></a></h3>
<p>Distributors make products available on the market without manufacturing or importing them.</p>
<p><strong>Obligations:</strong></p>
<ul>
<li>Due diligence: verify CE marking and declaration of conformity</li>
<li>If non-conformity is identified: cease making the product available</li>
</ul>
<h3 id="authorised-representative-eu-authorized-representative-art-16-cra" tabindex="-1">Authorised Representative / EU Authorized Representative (Art. 16 CRA) <a class="header-anchor" href="#authorised-representative-eu-authorized-representative-art-16-cra" aria-label="Permalink to &quot;Authorised Representative / EU Authorized Representative (Art. 16 CRA)&quot;"></a></h3>
<div class="warning custom-block"><p class="custom-block-title">OBLIGATION FOR NON-EU MANUFACTURERS</p>
<p>Manufacturers established <strong>outside the EU</strong> that make products with digital elements available on the EU market <strong>must</strong> designate an authorised representative in the EU. Without an authorised representative, the product may not be made available on the EU market.</p>
</div>
<p><strong>Legal Basis:</strong></p>
<blockquote>
<p><em>&quot;The manufacturer may, by a written mandate, appoint an authorised representative. The authorised representative shall perform the tasks specified in the mandate agreed with the manufacturer.&quot;</em>
— Art. 16(1) CRA</p>
</blockquote>
<p><strong>When is an authorised representative required?</strong></p>
<table tabindex="0">
<thead>
<tr>
<th>Scenario</th>
<th style="text-align:center">Authorised representative required?</th>
</tr>
</thead>
<tbody>
<tr>
<td>Manufacturer established in the EU</td>
<td style="text-align:center">No</td>
</tr>
<tr>
<td>Manufacturer established outside the EU, selling in EU</td>
<td style="text-align:center"><strong>Yes</strong></td>
</tr>
<tr>
<td>Non-EU manufacturer with EU subsidiary acting as importer</td>
<td style="text-align:center">Yes (or importer assumes obligations)</td>
</tr>
<tr>
<td>Open-source steward (Art. 24)</td>
<td style="text-align:center">Special provision</td>
</tr>
</tbody>
</table>
<p><strong>Obligations of the authorised representative (Art. 16(2)):</strong></p>
<ol>
<li><strong>Maintain conformity documentation</strong> – Keep the EU declaration of conformity and technical documentation available for market surveillance authorities for at least 10 years</li>
<li><strong>Duty to inform</strong> – Upon reasoned request, provide the competent authorities with all information and documentation necessary to demonstrate conformity</li>
<li><strong>Duty to cooperate</strong> – Cooperate with market surveillance authorities on measures to eliminate risks</li>
<li><strong>Reporting obligation in case of non-conformity</strong> – Inform the manufacturer without delay if the authorised representative has reason to believe that the product is not conformant</li>
<li><strong>Termination of the mandate</strong> – Upon termination of the mandate, obligations remain in effect for products already placed on the market</li>
</ol>
<p><strong>Requirements for the written mandate:</strong></p>
<p>The mandate must cover at least the following tasks:</p>
<table tabindex="0">
<thead>
<tr>
<th>Task</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td>Document retention</td>
<td>Retain technical documentation and EU declaration of conformity for 10 years</td>
</tr>
<tr>
<td>Authority contact</td>
<td>Serve as the point of contact for market surveillance authorities</td>
</tr>
<tr>
<td>Provision of information</td>
<td>Present a copy of the mandate upon request</td>
</tr>
<tr>
<td>Cooperation</td>
<td>Participate in corrective measures and recalls</td>
</tr>
</tbody>
</table>
<p><strong>Relevance for BAUER GROUP:</strong></p>
<table tabindex="0">
<thead>
<tr>
<th>Scenario</th>
<th>Action Required</th>
</tr>
</thead>
<tbody>
<tr>
<td>BAUER GROUP as EU manufacturer</td>
<td>No authorised representative needed – manufacturer obligations apply directly</td>
</tr>
<tr>
<td>BAUER GROUP procures from non-EU manufacturers</td>
<td>Verification duty: Does the supplier have an authorised representative? --&gt; <a href="/en/supply-chain/third-party-assessment">6.3 Third-Party Assessment</a></td>
</tr>
<tr>
<td>Non-EU subsidiary selling in EU</td>
<td>An authorised representative in the EU <strong>must</strong> be designated</td>
</tr>
<tr>
<td>BAUER GROUP acts as importer</td>
<td>Importer obligations under Art. 13 apply (verify CE + documentation)</td>
</tr>
</tbody>
</table>
<div class="tip custom-block"><p class="custom-block-title">PRACTICAL NOTE</p>
<p>When procuring products with digital elements from non-EU manufacturers, it must be verified as part of the Third-Party Assessment (--&gt; <a href="/en/supply-chain/third-party-assessment">6.3</a>) whether the supplier has designated an EU authorised representative. This is a <strong>prerequisite</strong> for the lawful placing on the market within the EU.</p>
</div>
<h2 id="_1-2-2-internal-role-assignments" tabindex="-1">1.2.2 Internal Role Assignments <a class="header-anchor" href="#_1-2-2-internal-role-assignments" aria-label="Permalink to &quot;1.2.2 Internal Role Assignments&quot;"></a></h2>
<table tabindex="0">
<thead>
<tr>
<th>Role</th>
<th>Responsibility</th>
<th>CRA Reference</th>
</tr>
</thead>
<tbody>
<tr>
<td><strong>Security Lead</strong></td>
<td>Overall responsibility for CRA compliance, ENISA notifications, incident response</td>
<td>Art. 10, Art. 14</td>
</tr>
<tr>
<td><strong>Product Owner</strong></td>
<td>Product classification, support period, user information</td>
<td>Art. 10(16), Annex II</td>
</tr>
<tr>
<td><strong>DevOps Lead</strong></td>
<td>SBOM generation, signing, CI/CD pipeline maintenance</td>
<td>Art. 10(12), Art. 13(23)</td>
</tr>
<tr>
<td><strong>Development Team</strong></td>
<td>Security-by-design, vulnerability remediation, code reviews</td>
<td>Art. 10(1)</td>
</tr>
<tr>
<td><strong>QA / Release Manager</strong></td>
<td>Conformity assessment, release approval</td>
<td>Annex VII</td>
</tr>
<tr>
<td><strong>Management</strong></td>
<td>Resource allocation, escalation decisions</td>
<td>Art. 10(2)</td>
</tr>
</tbody>
</table>
<h2 id="_1-2-3-raci-matrix" tabindex="-1">1.2.3 RACI Matrix <a class="header-anchor" href="#_1-2-3-raci-matrix" aria-label="Permalink to &quot;1.2.3 RACI Matrix&quot;"></a></h2>
<table tabindex="0">
<thead>
<tr>
<th>Activity</th>
<th style="text-align:center">Security Lead</th>
<th style="text-align:center">Product Owner</th>
<th style="text-align:center">DevOps</th>
<th style="text-align:center">Dev Team</th>
<th style="text-align:center">Management</th>
</tr>
</thead>
<tbody>
<tr>
<td>CRA Risk Assessment</td>
<td style="text-align:center"><strong>R</strong></td>
<td style="text-align:center">C</td>
<td style="text-align:center">I</td>
<td style="text-align:center">C</td>
<td style="text-align:center"><strong>A</strong></td>
</tr>
<tr>
<td>SBOM Generation</td>
<td style="text-align:center">I</td>
<td style="text-align:center">I</td>
<td style="text-align:center"><strong>R</strong></td>
<td style="text-align:center">C</td>
<td style="text-align:center"><strong>A</strong></td>
</tr>
<tr>
<td>CVE Monitoring</td>
<td style="text-align:center"><strong>R</strong></td>
<td style="text-align:center">I</td>
<td style="text-align:center">C</td>
<td style="text-align:center">I</td>
<td style="text-align:center"><strong>A</strong></td>
</tr>
<tr>
<td>Patch Management</td>
<td style="text-align:center">C</td>
<td style="text-align:center">I</td>
<td style="text-align:center">C</td>
<td style="text-align:center"><strong>R</strong></td>
<td style="text-align:center"><strong>A</strong></td>
</tr>
<tr>
<td>Incident Response</td>
<td style="text-align:center"><strong>R</strong></td>
<td style="text-align:center">C</td>
<td style="text-align:center">C</td>
<td style="text-align:center">C</td>
<td style="text-align:center"><strong>A</strong></td>
</tr>
<tr>
<td>ENISA Notification</td>
<td style="text-align:center"><strong>R</strong></td>
<td style="text-align:center">I</td>
<td style="text-align:center">I</td>
<td style="text-align:center">I</td>
<td style="text-align:center"><strong>A</strong></td>
</tr>
<tr>
<td>Technical Documentation</td>
<td style="text-align:center">C</td>
<td style="text-align:center"><strong>R</strong></td>
<td style="text-align:center">C</td>
<td style="text-align:center">C</td>
<td style="text-align:center"><strong>A</strong></td>
</tr>
<tr>
<td>EU Declaration of Conformity</td>
<td style="text-align:center">C</td>
<td style="text-align:center"><strong>R</strong></td>
<td style="text-align:center">I</td>
<td style="text-align:center">I</td>
<td style="text-align:center"><strong>A</strong></td>
</tr>
<tr>
<td>Support Period Definition</td>
<td style="text-align:center">C</td>
<td style="text-align:center"><strong>R</strong></td>
<td style="text-align:center">I</td>
<td style="text-align:center">I</td>
<td style="text-align:center"><strong>A</strong></td>
</tr>
</tbody>
</table>
<p><em>R = Responsible, A = Accountable, C = Consulted, I = Informed</em></p>
]]></content:encoded>
            <author>BAUER GROUP</author>
        </item>
        <item>
            <title><![CDATA[1.1 Scope]]></title>
            <link>https://cra.docs.bauer-group.com/en/overview/scope</link>
            <guid isPermaLink="false">https://cra.docs.bauer-group.com/en/overview/scope</guid>
            <pubDate>Tue, 10 Feb 2026 16:43:47 GMT</pubDate>
            <description><![CDATA[# 1.1 Scope

## 1.1.1 Scope of Application

Pursuant to Art. 2 CRA, this regulation applies to products with digital elements that are made available on the EU market and whose intended or reasonably foreseeable use includes a direct or indirect data connection.

## 1.1.2 Affected Product Categories

### Software Products

| Category | Examples | CRA-relevant |
|]]></description>
            <content:encoded><![CDATA[<h1 id="_1-1-scope" tabindex="-1">1.1 Scope <a class="header-anchor" href="#_1-1-scope" aria-label="Permalink to &quot;1.1 Scope&quot;"></a></h1>
<h2 id="_1-1-1-scope-of-application" tabindex="-1">1.1.1 Scope of Application <a class="header-anchor" href="#_1-1-1-scope-of-application" aria-label="Permalink to &quot;1.1.1 Scope of Application&quot;"></a></h2>
<p>Pursuant to Art. 2 CRA, this regulation applies to products with digital elements that are made available on the EU market and whose intended or reasonably foreseeable use includes a direct or indirect data connection.</p>
<h2 id="_1-1-2-affected-product-categories" tabindex="-1">1.1.2 Affected Product Categories <a class="header-anchor" href="#_1-1-2-affected-product-categories" aria-label="Permalink to &quot;1.1.2 Affected Product Categories&quot;"></a></h2>
<h3 id="software-products" tabindex="-1">Software Products <a class="header-anchor" href="#software-products" aria-label="Permalink to &quot;Software Products&quot;"></a></h3>
<table tabindex="0">
<thead>
<tr>
<th>Category</th>
<th>Examples</th>
<th>CRA-relevant</th>
</tr>
</thead>
<tbody>
<tr>
<td>Web Applications</td>
<td>APIs, Frontends, Microservices</td>
<td>Yes</td>
</tr>
<tr>
<td>Container Images</td>
<td>Docker-based services</td>
<td>Yes</td>
</tr>
<tr>
<td>Desktop Applications</td>
<td>.NET WPF/WinForms, MAUI</td>
<td>Yes</td>
</tr>
<tr>
<td>NPM Packages</td>
<td>Publicly published libraries</td>
<td>Yes</td>
</tr>
<tr>
<td>NuGet Packages</td>
<td>.NET Libraries</td>
<td>Yes</td>
</tr>
</tbody>
</table>
<h3 id="firmware-embedded" tabindex="-1">Firmware / Embedded <a class="header-anchor" href="#firmware-embedded" aria-label="Permalink to &quot;Firmware / Embedded&quot;"></a></h3>
<table tabindex="0">
<thead>
<tr>
<th>Category</th>
<th>Platform</th>
<th>CRA-relevant</th>
</tr>
</thead>
<tbody>
<tr>
<td>ESP32 Firmware</td>
<td>ESP-IDF, Arduino</td>
<td>Yes</td>
</tr>
<tr>
<td>STM32 Firmware</td>
<td>HAL, CMSIS</td>
<td>Yes</td>
</tr>
<tr>
<td>Zephyr RTOS</td>
<td>Zephyr OS</td>
<td>Yes</td>
</tr>
<tr>
<td>PlatformIO Builds</td>
<td>Cross-Platform</td>
<td>Yes</td>
</tr>
</tbody>
</table>
<h3 id="infrastructure" tabindex="-1">Infrastructure <a class="header-anchor" href="#infrastructure" aria-label="Permalink to &quot;Infrastructure&quot;"></a></h3>
<table tabindex="0">
<thead>
<tr>
<th>Category</th>
<th>Examples</th>
<th>CRA-relevant</th>
</tr>
</thead>
<tbody>
<tr>
<td>Docker Compose Stacks</td>
<td>Multi-container deployments</td>
<td>Yes (as part of the product)</td>
</tr>
<tr>
<td>CI/CD Pipelines</td>
<td>GitHub Actions Workflows</td>
<td>No (internal tooling)</td>
</tr>
</tbody>
</table>
<h2 id="_1-1-3-exemptions-art-2-2-cra" tabindex="-1">1.1.3 Exemptions (Art. 2(2) CRA) <a class="header-anchor" href="#_1-1-3-exemptions-art-2-2-cra" aria-label="Permalink to &quot;1.1.3 Exemptions (Art. 2(2) CRA)&quot;"></a></h2>
<p>The following are not subject to the CRA:</p>
<ul>
<li>Open-source software that is not made available in the course of a commercial activity</li>
<li>SaaS services (fall under NIS2, not CRA) – unless remote data processing is an integral part of the product</li>
<li>Products subject to sector-specific EU legislation (e.g. medical devices, motor vehicles, aviation)</li>
</ul>
<h2 id="_1-1-4-product-catalogue" tabindex="-1">1.1.4 Product Catalogue <a class="header-anchor" href="#_1-1-4-product-catalogue" aria-label="Permalink to &quot;1.1.4 Product Catalogue&quot;"></a></h2>
<div class="warning custom-block"><p class="custom-block-title">ACTION REQUIRED</p>
<p>For each CRA-relevant product, an individual classification and documentation must be carried out. Use the template at <a href="/en/technical-documentation/product-description">Product Description</a> as a basis.</p>
</div>
<p>The product catalogue is maintained on a product-specific basis. Each product receives:</p>
<ol>
<li><strong>Unique Identifier</strong> (Product name + Version)</li>
<li><strong>CRA Product Class</strong> (Standard / Class I / Class II / Critical)</li>
<li><strong>Support Period</strong> (at least 5 years or expected lifetime)</li>
<li><strong>Responsible Person</strong> (Product Owner / Security Lead)</li>
<li><strong>SBOM Reference</strong> (Link to current SBOM)</li>
<li><strong>Declaration of Conformity</strong> (Link to EU DoC)</li>
</ol>
]]></content:encoded>
            <author>BAUER GROUP</author>
        </item>
        <item>
            <title><![CDATA[1.8 Substantial Modifications (Art. 20)]]></title>
            <link>https://cra.docs.bauer-group.com/en/overview/substantial-modifications</link>
            <guid isPermaLink="false">https://cra.docs.bauer-group.com/en/overview/substantial-modifications</guid>
            <pubDate>Tue, 10 Feb 2026 16:43:47 GMT</pubDate>
            <description><![CDATA[# 1.8 Substantial Modifications (Art. 20)

## 1.8.1 Overview

A **substantial modification** to a product with digital elements may result in the person making the modification being considered a new **Manufacturer** and thus having to assume the full manufacturer obligations under Art. 10. Art. 20 CRA defines when a modification is considered "substantial" and what consequences follow.

::: info LEGAL BASIS
**Art. 20 CRA:** *Any natural or legal person who makes a substantial modification to a product with digital elements that has already been placed on the market shall be considered a Manufacturer within the meaning of this Regulation.*

**Art. 3 No. 31 CRA:** Definition of substantial modification.
:::

## 1.8.2 Definition: Substantial Modification

A modification is considered **substantial** if all of the following conditions are met:

1. The modification affects the **cybersecurity** of the product
2. The modification goes beyond the maintenance and security updates **intended by the original manufacturer**
3. The modification renders the existing **conformity assessment** no longer valid

## 1.8.3 Decision Tree

```
Was the product modified after placing on the market?
+-- No --> No impact
+-- Yes --> Does the modification affect cybersecurity?
    +-- No --> Not a substantial modification
    +-- Yes --> Does the modification go beyond intended updates?
        +-- No --> Not a substantial modification (regular update)
        +-- Yes --> Is the existing conformity assessment invalidated?
            +-- No --> Not a substantial modification
            +-- Yes --> SUBSTANTIAL MODIFICATION
                --> Person making the modification becomes the Manufacturer
```

## 1.8.4 Examples

### Not a Substantial Modification

- Security patches and bugfixes from the manufacturer
- Configuration changes within the intended settings
- Updating a dependency to a patch version (e.g., 1.2.3 --> 1.2.4)
- Adjustment of deployment parameters
- Language packs or localisation

### Substantial Modification (potential)

- **Change of the authentication mechanism** (e.g., password --> OAuth --> custom implementation)
- **Removal of security features** (e.g., disabling encryption)
- **Change of the network architecture** that opens new attack vectors
- **Integration of new security-relevant components** (e.g., custom crypto stack)
- **Porting to a new platform** with a different security model
- **Major version upgrade of a core dependency** with changed security properties

## 1.8.5 Consequences of a Substantial Modification

Whoever makes a substantial modification must:

### 1. Assume Manufacturer Obligations (Art. 10)

- Carry out a cybersecurity risk assessment (for the modified part)
- Create/update technical documentation (Annex VII)
- Ensure vulnerability handling (Annex I Part II)
- Define support period

### 2. Carry Out a New Conformity Assessment

- Carry out [product classification](/en/conformity/product-classification) (also for the modified part)
- Select the appropriate conformity assessment procedure
  - [Module A](/en/conformity/self-assessment) for Standard
  - [Module B+C](/en/conformity/module-bc) for Class I/II
  - [Module H](/en/conformity/module-h) for Class II
  - [EUCC](/en/conformity/eucc) for Critical

### 3. New EU Declaration of Conformity

- Issue an [EU declaration of conformity](/en/conformity/eu-declaration) for the modified product
- Affix CE marking (under own name)

### 4. ENISA Reporting Obligations

- Report vulnerabilities in the modified product (Art. 14)
- Comply with 24h/72h/14d deadlines

## 1.8.6 Process at BAUER GROUP

### Review Before Any Modification to a Third-Party Product

| Step | Action | Responsible |
|]]></description>
            <content:encoded><![CDATA[<h1 id="_1-8-substantial-modifications-art-20" tabindex="-1">1.8 Substantial Modifications (Art. 20) <a class="header-anchor" href="#_1-8-substantial-modifications-art-20" aria-label="Permalink to &quot;1.8 Substantial Modifications (Art. 20)&quot;"></a></h1>
<h2 id="_1-8-1-overview" tabindex="-1">1.8.1 Overview <a class="header-anchor" href="#_1-8-1-overview" aria-label="Permalink to &quot;1.8.1 Overview&quot;"></a></h2>
<p>A <strong>substantial modification</strong> to a product with digital elements may result in the person making the modification being considered a new <strong>Manufacturer</strong> and thus having to assume the full manufacturer obligations under Art. 10. Art. 20 CRA defines when a modification is considered &quot;substantial&quot; and what consequences follow.</p>
<div class="info custom-block"><p class="custom-block-title">LEGAL BASIS</p>
<p><strong>Art. 20 CRA:</strong> <em>Any natural or legal person who makes a substantial modification to a product with digital elements that has already been placed on the market shall be considered a Manufacturer within the meaning of this Regulation.</em></p>
<p><strong>Art. 3 No. 31 CRA:</strong> Definition of substantial modification.</p>
</div>
<h2 id="_1-8-2-definition-substantial-modification" tabindex="-1">1.8.2 Definition: Substantial Modification <a class="header-anchor" href="#_1-8-2-definition-substantial-modification" aria-label="Permalink to &quot;1.8.2 Definition: Substantial Modification&quot;"></a></h2>
<p>A modification is considered <strong>substantial</strong> if all of the following conditions are met:</p>
<ol>
<li>The modification affects the <strong>cybersecurity</strong> of the product</li>
<li>The modification goes beyond the maintenance and security updates <strong>intended by the original manufacturer</strong></li>
<li>The modification renders the existing <strong>conformity assessment</strong> no longer valid</li>
</ol>
<h2 id="_1-8-3-decision-tree" tabindex="-1">1.8.3 Decision Tree <a class="header-anchor" href="#_1-8-3-decision-tree" aria-label="Permalink to &quot;1.8.3 Decision Tree&quot;"></a></h2>
<div class="language- vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang"></span><pre class="shiki shiki-themes github-light github-dark vp-code" tabindex="0" v-pre=""><code><span class="line"><span>Was the product modified after placing on the market?</span></span>
<span class="line"><span>+-- No --> No impact</span></span>
<span class="line"><span>+-- Yes --> Does the modification affect cybersecurity?</span></span>
<span class="line"><span>    +-- No --> Not a substantial modification</span></span>
<span class="line"><span>    +-- Yes --> Does the modification go beyond intended updates?</span></span>
<span class="line"><span>        +-- No --> Not a substantial modification (regular update)</span></span>
<span class="line"><span>        +-- Yes --> Is the existing conformity assessment invalidated?</span></span>
<span class="line"><span>            +-- No --> Not a substantial modification</span></span>
<span class="line"><span>            +-- Yes --> SUBSTANTIAL MODIFICATION</span></span>
<span class="line"><span>                --> Person making the modification becomes the Manufacturer</span></span></code></pre>
</div><h2 id="_1-8-4-examples" tabindex="-1">1.8.4 Examples <a class="header-anchor" href="#_1-8-4-examples" aria-label="Permalink to &quot;1.8.4 Examples&quot;"></a></h2>
<h3 id="not-a-substantial-modification" tabindex="-1">Not a Substantial Modification <a class="header-anchor" href="#not-a-substantial-modification" aria-label="Permalink to &quot;Not a Substantial Modification&quot;"></a></h3>
<ul>
<li>Security patches and bugfixes from the manufacturer</li>
<li>Configuration changes within the intended settings</li>
<li>Updating a dependency to a patch version (e.g., 1.2.3 --&gt; 1.2.4)</li>
<li>Adjustment of deployment parameters</li>
<li>Language packs or localisation</li>
</ul>
<h3 id="substantial-modification-potential" tabindex="-1">Substantial Modification (potential) <a class="header-anchor" href="#substantial-modification-potential" aria-label="Permalink to &quot;Substantial Modification (potential)&quot;"></a></h3>
<ul>
<li><strong>Change of the authentication mechanism</strong> (e.g., password --&gt; OAuth --&gt; custom implementation)</li>
<li><strong>Removal of security features</strong> (e.g., disabling encryption)</li>
<li><strong>Change of the network architecture</strong> that opens new attack vectors</li>
<li><strong>Integration of new security-relevant components</strong> (e.g., custom crypto stack)</li>
<li><strong>Porting to a new platform</strong> with a different security model</li>
<li><strong>Major version upgrade of a core dependency</strong> with changed security properties</li>
</ul>
<h2 id="_1-8-5-consequences-of-a-substantial-modification" tabindex="-1">1.8.5 Consequences of a Substantial Modification <a class="header-anchor" href="#_1-8-5-consequences-of-a-substantial-modification" aria-label="Permalink to &quot;1.8.5 Consequences of a Substantial Modification&quot;"></a></h2>
<p>Whoever makes a substantial modification must:</p>
<h3 id="_1-assume-manufacturer-obligations-art-10" tabindex="-1">1. Assume Manufacturer Obligations (Art. 10) <a class="header-anchor" href="#_1-assume-manufacturer-obligations-art-10" aria-label="Permalink to &quot;1. Assume Manufacturer Obligations (Art. 10)&quot;"></a></h3>
<ul>
<li>Carry out a cybersecurity risk assessment (for the modified part)</li>
<li>Create/update technical documentation (Annex VII)</li>
<li>Ensure vulnerability handling (Annex I Part II)</li>
<li>Define support period</li>
</ul>
<h3 id="_2-carry-out-a-new-conformity-assessment" tabindex="-1">2. Carry Out a New Conformity Assessment <a class="header-anchor" href="#_2-carry-out-a-new-conformity-assessment" aria-label="Permalink to &quot;2. Carry Out a New Conformity Assessment&quot;"></a></h3>
<ul>
<li>Carry out <a href="/en/conformity/product-classification">product classification</a> (also for the modified part)</li>
<li>Select the appropriate conformity assessment procedure
<ul>
<li><a href="/en/conformity/self-assessment">Module A</a> for Standard</li>
<li><a href="/en/conformity/module-bc">Module B+C</a> for Class I/II</li>
<li><a href="/en/conformity/module-h">Module H</a> for Class II</li>
<li><a href="/en/conformity/eucc">EUCC</a> for Critical</li>
</ul>
</li>
</ul>
<h3 id="_3-new-eu-declaration-of-conformity" tabindex="-1">3. New EU Declaration of Conformity <a class="header-anchor" href="#_3-new-eu-declaration-of-conformity" aria-label="Permalink to &quot;3. New EU Declaration of Conformity&quot;"></a></h3>
<ul>
<li>Issue an <a href="/en/conformity/eu-declaration">EU declaration of conformity</a> for the modified product</li>
<li>Affix CE marking (under own name)</li>
</ul>
<h3 id="_4-enisa-reporting-obligations" tabindex="-1">4. ENISA Reporting Obligations <a class="header-anchor" href="#_4-enisa-reporting-obligations" aria-label="Permalink to &quot;4. ENISA Reporting Obligations&quot;"></a></h3>
<ul>
<li>Report vulnerabilities in the modified product (Art. 14)</li>
<li>Comply with 24h/72h/14d deadlines</li>
</ul>
<h2 id="_1-8-6-process-at-bauer-group" tabindex="-1">1.8.6 Process at BAUER GROUP <a class="header-anchor" href="#_1-8-6-process-at-bauer-group" aria-label="Permalink to &quot;1.8.6 Process at BAUER GROUP&quot;"></a></h2>
<h3 id="review-before-any-modification-to-a-third-party-product" tabindex="-1">Review Before Any Modification to a Third-Party Product <a class="header-anchor" href="#review-before-any-modification-to-a-third-party-product" aria-label="Permalink to &quot;Review Before Any Modification to a Third-Party Product&quot;"></a></h3>
<table tabindex="0">
<thead>
<tr>
<th>Step</th>
<th>Action</th>
<th>Responsible</th>
</tr>
</thead>
<tbody>
<tr>
<td>1</td>
<td>Document the modification (What is being changed?)</td>
<td>Development team</td>
</tr>
<tr>
<td>2</td>
<td>Assess cybersecurity relevance</td>
<td>CISO</td>
</tr>
<tr>
<td>3</td>
<td>Check whether the modification was intended by the manufacturer</td>
<td>Product management</td>
</tr>
<tr>
<td>4</td>
<td>Check whether the conformity assessment is still valid</td>
<td>CISO</td>
</tr>
<tr>
<td>5</td>
<td>Decision: Substantial modification yes/no</td>
<td>CISO + Management</td>
</tr>
<tr>
<td>6</td>
<td>Document the decision (with rationale)</td>
<td>CISO</td>
</tr>
</tbody>
</table>
<h3 id="if-yes-substantial-modification" tabindex="-1">If &quot;Yes -- Substantial Modification&quot; <a class="header-anchor" href="#if-yes-substantial-modification" aria-label="Permalink to &quot;If &quot;Yes -- Substantial Modification&quot;&quot;"></a></h3>
<table tabindex="0">
<thead>
<tr>
<th>Step</th>
<th>Action</th>
</tr>
</thead>
<tbody>
<tr>
<td>7</td>
<td>Carry out risk assessment (<a href="/en/templates/risk-assessment">Template</a>)</td>
</tr>
<tr>
<td>8</td>
<td>Carry out product classification</td>
</tr>
<tr>
<td>9</td>
<td>Carry out conformity assessment</td>
</tr>
<tr>
<td>10</td>
<td>Create technical documentation</td>
</tr>
<tr>
<td>11</td>
<td>Issue EU declaration of conformity</td>
</tr>
<tr>
<td>12</td>
<td>Define support period</td>
</tr>
</tbody>
</table>
<h2 id="_1-8-7-documentation" tabindex="-1">1.8.7 Documentation <a class="header-anchor" href="#_1-8-7-documentation" aria-label="Permalink to &quot;1.8.7 Documentation&quot;"></a></h2>
<p>Every modification decision is documented:</p>
<ol>
<li><strong>Description of the modification</strong> -- What was changed, why</li>
<li><strong>Cybersecurity analysis</strong> -- What impact on security</li>
<li><strong>Substantiality assessment</strong> -- Decision with rationale</li>
<li><strong>Measures</strong> -- What steps were initiated (or why none were necessary)</li>
<li><strong>Responsible person and date</strong></li>
</ol>
<div class="warning custom-block"><p class="custom-block-title">DOCUMENTATION OBLIGATION</p>
<p>The decision that a modification is <strong>not</strong> substantial must also be documented. In case of dispute, BAUER GROUP must be able to demonstrate that the review has taken place.</p>
</div>
]]></content:encoded>
            <author>BAUER GROUP</author>
        </item>
        <item>
            <title><![CDATA[1.3 Timelines & Deadlines]]></title>
            <link>https://cra.docs.bauer-group.com/en/overview/timeline</link>
            <guid isPermaLink="false">https://cra.docs.bauer-group.com/en/overview/timeline</guid>
            <pubDate>Tue, 10 Feb 2026 16:43:47 GMT</pubDate>
            <description><![CDATA[# 1.3 Timelines & Deadlines

## 1.3.1 CRA Timeline

The Cyber Resilience Act (Regulation (EU) 2024/2847) was published in the Official Journal of the EU on 20 November 2024 and entered into force on 10 December 2024.

### Critical Deadlines

| Date | Requirement | Status |
|]]></description>
            <content:encoded><![CDATA[<h1 id="_1-3-timelines-deadlines" tabindex="-1">1.3 Timelines &amp; Deadlines <a class="header-anchor" href="#_1-3-timelines-deadlines" aria-label="Permalink to &quot;1.3 Timelines &amp; Deadlines&quot;"></a></h1>
<h2 id="_1-3-1-cra-timeline" tabindex="-1">1.3.1 CRA Timeline <a class="header-anchor" href="#_1-3-1-cra-timeline" aria-label="Permalink to &quot;1.3.1 CRA Timeline&quot;"></a></h2>
<p>The Cyber Resilience Act (Regulation (EU) 2024/2847) was published in the Official Journal of the EU on 20 November 2024 and entered into force on 10 December 2024.</p>
<h3 id="critical-deadlines" tabindex="-1">Critical Deadlines <a class="header-anchor" href="#critical-deadlines" aria-label="Permalink to &quot;Critical Deadlines&quot;"></a></h3>
<table tabindex="0">
<thead>
<tr>
<th>Date</th>
<th>Requirement</th>
<th>Status</th>
</tr>
</thead>
<tbody>
<tr>
<td>10.12.2024</td>
<td><strong>Entry into force</strong> of the CRA</td>
<td>Completed</td>
</tr>
<tr>
<td>11.06.2026</td>
<td>Conformity assessment bodies must be designated</td>
<td>Preparation</td>
</tr>
<tr>
<td><strong>11.09.2026</strong></td>
<td><strong>Reporting obligations take effect</strong> – Art. 14 CRA (actively exploited vulnerabilities, severe incidents)</td>
<td><strong>ACTION REQUIRED</strong></td>
</tr>
<tr>
<td><strong>11.12.2027</strong></td>
<td><strong>Full applicability</strong> – all requirements incl. conformity assessment, CE marking, technical documentation</td>
<td><strong>ACTION REQUIRED</strong></td>
</tr>
</tbody>
</table>
<div class="danger custom-block"><p class="custom-block-title">REPORTING OBLIGATION FROM 11.09.2026</p>
<p>From 11 September 2026, actively exploited vulnerabilities must be reported to ENISA / the competent national authority within <strong>24 hours</strong>. The incident response process must be fully operational by this date.</p>
</div>
<h3 id="detailed-timeline" tabindex="-1">Detailed Timeline <a class="header-anchor" href="#detailed-timeline" aria-label="Permalink to &quot;Detailed Timeline&quot;"></a></h3>
<p><strong>Phase 1: Preparation (until 11.06.2026)</strong></p>
<ul>
<li>Create product catalogue and carry out CRA classification</li>
<li>Establish and validate SBOM processes</li>
<li>Create and test incident response playbook</li>
<li>Prepare ENISA notification templates</li>
<li>Implement CVE monitoring workflows</li>
</ul>
<p><strong>Phase 2: Reporting Obligations (from 11.09.2026)</strong></p>
<ul>
<li>Reporting processes must be operational</li>
<li>Utilise ENISA Single Reporting Platform (SRP)</li>
<li>24h early warning for actively exploited vulnerabilities</li>
<li>72h notification with detailed assessment</li>
<li>14d final report</li>
</ul>
<p><strong>Phase 3: Full Conformity (from 11.12.2027)</strong></p>
<ul>
<li>Technical documentation in accordance with Annex VII complete</li>
<li>EU declaration of conformity (Annex V) per product</li>
<li>CE marking</li>
<li>Conformity assessment carried out</li>
<li>Support period declared and published</li>
<li>SBOM available for every shipped product</li>
<li>User information provided in accordance with Annex II</li>
</ul>
<h2 id="_1-3-2-nis2-timeline" tabindex="-1">1.3.2 NIS2 Timeline <a class="header-anchor" href="#_1-3-2-nis2-timeline" aria-label="Permalink to &quot;1.3.2 NIS2 Timeline&quot;"></a></h2>
<table tabindex="0">
<thead>
<tr>
<th>Date</th>
<th>Requirement</th>
</tr>
</thead>
<tbody>
<tr>
<td>17.10.2024</td>
<td>NIS2 transposition deadline for Member States</td>
</tr>
<tr>
<td>Ongoing</td>
<td>Reporting obligations pursuant to Art. 23 NIS2 for significant security incidents</td>
</tr>
</tbody>
</table>
<h2 id="_1-3-3-internal-implementation-timeline" tabindex="-1">1.3.3 Internal Implementation Timeline <a class="header-anchor" href="#_1-3-3-internal-implementation-timeline" aria-label="Permalink to &quot;1.3.3 Internal Implementation Timeline&quot;"></a></h2>
<table tabindex="0">
<thead>
<tr>
<th>Quarter</th>
<th>Measures</th>
</tr>
</thead>
<tbody>
<tr>
<td><strong>Q1 2026</strong></td>
<td>Build compliance documentation, validate SBOM processes</td>
</tr>
<tr>
<td><strong>Q2 2026</strong></td>
<td>Test incident response playbook, finalise ENISA notification templates</td>
</tr>
<tr>
<td><strong>Q3 2026</strong></td>
<td>Reporting obligations operational (Deadline: 11.09.2026)</td>
</tr>
<tr>
<td><strong>Q4 2026</strong></td>
<td>Begin technical documentation per product</td>
</tr>
<tr>
<td><strong>Q1-Q2 2027</strong></td>
<td>Prepare conformity assessment, create EU DoC</td>
</tr>
<tr>
<td><strong>Q3 2027</strong></td>
<td>Trial run conformity assessment, prepare CE marking</td>
</tr>
<tr>
<td><strong>Q4 2027</strong></td>
<td>Full conformity (Deadline: 11.12.2027)</td>
</tr>
</tbody>
</table>
]]></content:encoded>
            <author>BAUER GROUP</author>
        </item>
        <item>
            <title><![CDATA[2.2 Format Specification]]></title>
            <link>https://cra.docs.bauer-group.com/en/sbom-signing/format</link>
            <guid isPermaLink="false">https://cra.docs.bauer-group.com/en/sbom-signing/format</guid>
            <pubDate>Tue, 10 Feb 2026 16:43:47 GMT</pubDate>
            <description><![CDATA[# 2.2 Format Specification

## 2.2.1 CycloneDX JSON

We use **CycloneDX** as the primary SBOM format. CycloneDX is an OWASP standard and fulfils the CRA requirement for a "commonly used and machine-readable format" (Art. 13(23)).

### Why CycloneDX

| Criterion | CycloneDX | SPDX |
|]]></description>
            <content:encoded><![CDATA[<h1 id="_2-2-format-specification" tabindex="-1">2.2 Format Specification <a class="header-anchor" href="#_2-2-format-specification" aria-label="Permalink to &quot;2.2 Format Specification&quot;"></a></h1>
<h2 id="_2-2-1-cyclonedx-json" tabindex="-1">2.2.1 CycloneDX JSON <a class="header-anchor" href="#_2-2-1-cyclonedx-json" aria-label="Permalink to &quot;2.2.1 CycloneDX JSON&quot;"></a></h2>
<p>We use <strong>CycloneDX</strong> as the primary SBOM format. CycloneDX is an OWASP standard and fulfils the CRA requirement for a &quot;commonly used and machine-readable format&quot; (Art. 13(23)).</p>
<h3 id="why-cyclonedx" tabindex="-1">Why CycloneDX <a class="header-anchor" href="#why-cyclonedx" aria-label="Permalink to &quot;Why CycloneDX&quot;"></a></h3>
<table tabindex="0">
<thead>
<tr>
<th>Criterion</th>
<th>CycloneDX</th>
<th>SPDX</th>
</tr>
</thead>
<tbody>
<tr>
<td>Primary focus</td>
<td>Security &amp; compliance</td>
<td>Licences &amp; IP</td>
</tr>
<tr>
<td>Vulnerability tracking</td>
<td>Native (VEX)</td>
<td>Via extensions</td>
</tr>
<tr>
<td>Tool support</td>
<td>Trivy, Syft, Grype</td>
<td>Trivy, Syft</td>
</tr>
<tr>
<td>OWASP standard</td>
<td>Yes</td>
<td>No (Linux Foundation)</td>
</tr>
<tr>
<td>CRA-compliant</td>
<td>Yes</td>
<td>Yes</td>
</tr>
<tr>
<td>Complexity</td>
<td>Lower</td>
<td>Higher</td>
</tr>
</tbody>
</table>
<h3 id="structure" tabindex="-1">Structure <a class="header-anchor" href="#structure" aria-label="Permalink to &quot;Structure&quot;"></a></h3>
<p>A CycloneDX SBOM contains the following main elements:</p>
<div class="language-json vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang">json</span><pre class="shiki shiki-themes github-light github-dark vp-code" tabindex="0" v-pre=""><code><span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">{</span></span>
<span class="line"><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF">  "bomFormat"</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">: </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF">"CycloneDX"</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">,</span></span>
<span class="line"><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF">  "specVersion"</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">: </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF">"1.5"</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">,</span></span>
<span class="line"><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF">  "serialNumber"</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">: </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF">"urn:uuid:&#x3C;unique-id>"</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">,</span></span>
<span class="line"><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF">  "version"</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">: </span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF">1</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">,</span></span>
<span class="line"><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF">  "metadata"</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">: {</span></span>
<span class="line"><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF">    "timestamp"</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">: </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF">"2026-02-08T12:00:00Z"</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">,</span></span>
<span class="line"><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF">    "tools"</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">: {</span></span>
<span class="line"><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF">      "components"</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">: [</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">        {</span></span>
<span class="line"><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF">          "type"</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">: </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF">"application"</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">,</span></span>
<span class="line"><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF">          "name"</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">: </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF">"trivy"</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">,</span></span>
<span class="line"><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF">          "version"</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">: </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF">"0.58.0"</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">        }</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">      ]</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">    },</span></span>
<span class="line"><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF">    "component"</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">: {</span></span>
<span class="line"><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF">      "type"</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">: </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF">"application"</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">,</span></span>
<span class="line"><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF">      "name"</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">: </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF">"product-name"</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">,</span></span>
<span class="line"><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF">      "version"</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">: </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF">"1.2.3"</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">,</span></span>
<span class="line"><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF">      "supplier"</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">: {</span></span>
<span class="line"><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF">        "name"</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">: </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF">"BAUER GROUP"</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">      }</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">    }</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">  },</span></span>
<span class="line"><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF">  "components"</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">: [</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">    {</span></span>
<span class="line"><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF">      "type"</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">: </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF">"library"</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">,</span></span>
<span class="line"><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF">      "name"</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">: </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF">"example-package"</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">,</span></span>
<span class="line"><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF">      "version"</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">: </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF">"4.1.0"</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">,</span></span>
<span class="line"><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF">      "purl"</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">: </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF">"pkg:npm/example-package@4.1.0"</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">,</span></span>
<span class="line"><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF">      "licenses"</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">: [</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">        {</span></span>
<span class="line"><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF">          "license"</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">: {</span></span>
<span class="line"><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF">            "id"</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">: </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF">"MIT"</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">          }</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">        }</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">      ],</span></span>
<span class="line"><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF">      "hashes"</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">: [</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">        {</span></span>
<span class="line"><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF">          "alg"</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">: </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF">"SHA-256"</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">,</span></span>
<span class="line"><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF">          "content"</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">: </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF">"abc123..."</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">        }</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">      ]</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">    }</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">  ],</span></span>
<span class="line"><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF">  "dependencies"</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">: [</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">    {</span></span>
<span class="line"><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF">      "ref"</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">: </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF">"product-name"</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">,</span></span>
<span class="line"><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF">      "dependsOn"</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">: [</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF">"example-package"</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">]</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">    }</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">  ]</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">}</span></span></code></pre>
</div><h3 id="required-fields" tabindex="-1">Required Fields <a class="header-anchor" href="#required-fields" aria-label="Permalink to &quot;Required Fields&quot;"></a></h3>
<table tabindex="0">
<thead>
<tr>
<th>Field</th>
<th>CRA Relevance</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><code>bomFormat</code></td>
<td>Format identification</td>
<td>Must be <code>CycloneDX</code></td>
</tr>
<tr>
<td><code>specVersion</code></td>
<td>Standard conformity</td>
<td>At least <code>1.5</code></td>
</tr>
<tr>
<td><code>serialNumber</code></td>
<td>Uniqueness</td>
<td>UUID for each SBOM instance</td>
</tr>
<tr>
<td><code>metadata.timestamp</code></td>
<td>Traceability</td>
<td>Generation timestamp</td>
</tr>
<tr>
<td><code>metadata.component</code></td>
<td>Product identification</td>
<td>Product name and version</td>
</tr>
<tr>
<td><code>metadata.component.supplier</code></td>
<td>Manufacturer identification</td>
<td>BAUER GROUP</td>
</tr>
<tr>
<td><code>components[].name</code></td>
<td>Component identification</td>
<td>Package/library name</td>
</tr>
<tr>
<td><code>components[].version</code></td>
<td>Version tracking</td>
<td>Exact version</td>
</tr>
<tr>
<td><code>components[].purl</code></td>
<td>Unique reference</td>
<td>Package URL (recommended)</td>
</tr>
</tbody>
</table>
<h3 id="file-naming-convention" tabindex="-1">File Naming Convention <a class="header-anchor" href="#file-naming-convention" aria-label="Permalink to &quot;File Naming Convention&quot;"></a></h3>
<div class="language- vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang"></span><pre class="shiki shiki-themes github-light github-dark vp-code" tabindex="0" v-pre=""><code><span class="line"><span>sbom-&#x3C;product>-&#x3C;version>.cdx.json</span></span>
<span class="line"><span></span></span>
<span class="line"><span>Examples:</span></span>
<span class="line"><span>sbom-api-gateway-v2.1.0.cdx.json</span></span>
<span class="line"><span>sbom-firmware-esp32-v1.3.2.cdx.json</span></span>
<span class="line"><span>sbom-web-frontend-v4.0.1.cdx.json</span></span></code></pre>
</div><h3 id="sbom-versioning" tabindex="-1">SBOM Versioning <a class="header-anchor" href="#sbom-versioning" aria-label="Permalink to &quot;SBOM Versioning&quot;"></a></h3>
<p>Each new version of a product receives its own SBOM. The SBOM version (<code>version</code> field) is incremented with each regeneration for the same product version (e.g., when correcting the SBOM itself).</p>
<h2 id="_2-2-2-spdx-secondary-format" tabindex="-1">2.2.2 SPDX (Secondary Format) <a class="header-anchor" href="#_2-2-2-spdx-secondary-format" aria-label="Permalink to &quot;2.2.2 SPDX (Secondary Format)&quot;"></a></h2>
<p>SPDX is supported as a secondary format, primarily for scenarios in which business partners or regulators explicitly request SPDX.</p>
<div class="language-bash vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang">bash</span><pre class="shiki shiki-themes github-light github-dark vp-code" tabindex="0" v-pre=""><code><span class="line"><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D"># SPDX generation</span></span>
<span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0">trivy</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF"> image</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF"> --format</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF"> spdx-json</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF"> --output</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF"> sbom.spdx.json</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583"> &#x3C;</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF">imag</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">e</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">></span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF">:</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">&#x3C;</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF">ta</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">g</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">></span></span></code></pre>
</div>]]></content:encoded>
            <author>BAUER GROUP</author>
        </item>
        <item>
            <title><![CDATA[2.1 SBOM Generation]]></title>
            <link>https://cra.docs.bauer-group.com/en/sbom-signing/generation</link>
            <guid isPermaLink="false">https://cra.docs.bauer-group.com/en/sbom-signing/generation</guid>
            <pubDate>Tue, 10 Feb 2026 16:43:47 GMT</pubDate>
            <description><![CDATA[# 2.1 SBOM Generation

## 2.1.1 Generation Process

The SBOM is generated automatically with each release. The process is integrated into the existing CI/CD pipeline.

### Trigger

SBOM generation is triggered by:

- Push of a release tag (`v*.*.*`)
- Manual workflow dispatch
- PR merge into the main branch (as a pre-release)

### Generation Steps

**1. Create build artifact**

The release artifact (container image, binary, package) is built as usual.

**2. Generate SBOM**

```bash
# Container image SBOM
trivy image --format cyclonedx --output sbom.cdx.json <image>:<tag>

# Filesystem/source code SBOM
syft packages dir:. --output cyclonedx-json=sbom.cdx.json

# Alternative: Trivy filesystem
trivy fs --format cyclonedx --output sbom.cdx.json .
```

**3. Validate SBOM**

```bash
# Structural validation
trivy sbom sbom.cdx.json --exit-code 0

# Check completeness (components > 0)
jq '.components | length' sbom.cdx.json
```

**4. Enrich metadata**

The SBOM is enriched with the following metadata:

- Product name and version
- Build timestamp
- Build environment (GitHub Actions runner)
- Commit SHA
- Manufacturer information (BAUER GROUP)

## 2.1.2 Type-Specific Generation

### Docker/Container Images

```yaml
# In docker-build.yml
inputs:
  generate-sbom:
    default: true
  sbom-format:
    default: 'cyclonedx-json'
```

Trivy scans the finished container image and captures:

- OS packages (apt, apk, yum)
- Language-specific packages (npm, pip, go modules, etc.)
- Binary dependencies

### .NET Projects

```bash
# NuGet dependencies
syft packages dir:. --output cyclonedx-json=sbom.cdx.json
# Or: CycloneDX .NET Tool
dotnet tool install --global CycloneDX
dotnet CycloneDX <project>.csproj --output sbom.cdx.json --json
```

### Node.js Projects

```bash
# NPM dependencies
syft packages dir:. --output cyclonedx-json=sbom.cdx.json
# Or: CycloneDX Node Module
npx @cyclonedx/cyclonedx-npm --output-file sbom.cdx.json
```

### Python Projects

```bash
# pip/poetry dependencies
syft packages dir:. --output cyclonedx-json=sbom.cdx.json
# Or: CycloneDX Python
pip install cyclonedx-bom
cyclonedx-py environment --output-format json > sbom.cdx.json
```

### Firmware / Embedded (ESP32, STM32, Zephyr)

```bash
# PlatformIO project
syft packages dir:. --output cyclonedx-json=sbom.cdx.json

# Zephyr (west manifest)
# Custom script for extracting west.yml dependencies
```

::: warning NOTE ON EMBEDDED
For firmware projects, automatic SBOM generation is often incomplete. A manual review and, where necessary, supplementation of the SBOM is required, particularly for:

- Vendor SDKs (ESP-IDF, STM32 HAL)
- Statically linked libraries
- Bootloader components
:::

## 2.1.3 Quality Criteria

The generated SBOM must meet the following minimum requirements:

| Criterion | Requirement |
|]]></description>
            <content:encoded><![CDATA[<h1 id="_2-1-sbom-generation" tabindex="-1">2.1 SBOM Generation <a class="header-anchor" href="#_2-1-sbom-generation" aria-label="Permalink to &quot;2.1 SBOM Generation&quot;"></a></h1>
<h2 id="_2-1-1-generation-process" tabindex="-1">2.1.1 Generation Process <a class="header-anchor" href="#_2-1-1-generation-process" aria-label="Permalink to &quot;2.1.1 Generation Process&quot;"></a></h2>
<p>The SBOM is generated automatically with each release. The process is integrated into the existing CI/CD pipeline.</p>
<h3 id="trigger" tabindex="-1">Trigger <a class="header-anchor" href="#trigger" aria-label="Permalink to &quot;Trigger&quot;"></a></h3>
<p>SBOM generation is triggered by:</p>
<ul>
<li>Push of a release tag (<code>v*.*.*</code>)</li>
<li>Manual workflow dispatch</li>
<li>PR merge into the main branch (as a pre-release)</li>
</ul>
<h3 id="generation-steps" tabindex="-1">Generation Steps <a class="header-anchor" href="#generation-steps" aria-label="Permalink to &quot;Generation Steps&quot;"></a></h3>
<p><strong>1. Create build artifact</strong></p>
<p>The release artifact (container image, binary, package) is built as usual.</p>
<p><strong>2. Generate SBOM</strong></p>
<div class="language-bash vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang">bash</span><pre class="shiki shiki-themes github-light github-dark vp-code" tabindex="0" v-pre=""><code><span class="line"><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D"># Container image SBOM</span></span>
<span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0">trivy</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF"> image</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF"> --format</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF"> cyclonedx</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF"> --output</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF"> sbom.cdx.json</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583"> &#x3C;</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF">imag</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">e</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">></span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF">:</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">&#x3C;</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF">ta</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">g</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">></span></span>
<span class="line"></span>
<span class="line"><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D"># Filesystem/source code SBOM</span></span>
<span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0">syft</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF"> packages</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF"> dir:.</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF"> --output</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF"> cyclonedx-json=sbom.cdx.json</span></span>
<span class="line"></span>
<span class="line"><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D"># Alternative: Trivy filesystem</span></span>
<span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0">trivy</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF"> fs</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF"> --format</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF"> cyclonedx</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF"> --output</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF"> sbom.cdx.json</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF"> .</span></span></code></pre>
</div><p><strong>3. Validate SBOM</strong></p>
<div class="language-bash vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang">bash</span><pre class="shiki shiki-themes github-light github-dark vp-code" tabindex="0" v-pre=""><code><span class="line"><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D"># Structural validation</span></span>
<span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0">trivy</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF"> sbom</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF"> sbom.cdx.json</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF"> --exit-code</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF"> 0</span></span>
<span class="line"></span>
<span class="line"><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D"># Check completeness (components > 0)</span></span>
<span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0">jq</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF"> '.components | length'</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF"> sbom.cdx.json</span></span></code></pre>
</div><p><strong>4. Enrich metadata</strong></p>
<p>The SBOM is enriched with the following metadata:</p>
<ul>
<li>Product name and version</li>
<li>Build timestamp</li>
<li>Build environment (GitHub Actions runner)</li>
<li>Commit SHA</li>
<li>Manufacturer information (BAUER GROUP)</li>
</ul>
<h2 id="_2-1-2-type-specific-generation" tabindex="-1">2.1.2 Type-Specific Generation <a class="header-anchor" href="#_2-1-2-type-specific-generation" aria-label="Permalink to &quot;2.1.2 Type-Specific Generation&quot;"></a></h2>
<h3 id="docker-container-images" tabindex="-1">Docker/Container Images <a class="header-anchor" href="#docker-container-images" aria-label="Permalink to &quot;Docker/Container Images&quot;"></a></h3>
<div class="language-yaml vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang">yaml</span><pre class="shiki shiki-themes github-light github-dark vp-code" tabindex="0" v-pre=""><code><span class="line"><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D"># In docker-build.yml</span></span>
<span class="line"><span style="--shiki-light:#22863A;--shiki-dark:#85E89D">inputs</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">:</span></span>
<span class="line"><span style="--shiki-light:#22863A;--shiki-dark:#85E89D">  generate-sbom</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">:</span></span>
<span class="line"><span style="--shiki-light:#22863A;--shiki-dark:#85E89D">    default</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">: </span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF">true</span></span>
<span class="line"><span style="--shiki-light:#22863A;--shiki-dark:#85E89D">  sbom-format</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">:</span></span>
<span class="line"><span style="--shiki-light:#22863A;--shiki-dark:#85E89D">    default</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">: </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF">'cyclonedx-json'</span></span></code></pre>
</div><p>Trivy scans the finished container image and captures:</p>
<ul>
<li>OS packages (apt, apk, yum)</li>
<li>Language-specific packages (npm, pip, go modules, etc.)</li>
<li>Binary dependencies</li>
</ul>
<h3 id="net-projects" tabindex="-1">.NET Projects <a class="header-anchor" href="#net-projects" aria-label="Permalink to &quot;.NET Projects&quot;"></a></h3>
<div class="language-bash vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang">bash</span><pre class="shiki shiki-themes github-light github-dark vp-code" tabindex="0" v-pre=""><code><span class="line"><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D"># NuGet dependencies</span></span>
<span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0">syft</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF"> packages</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF"> dir:.</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF"> --output</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF"> cyclonedx-json=sbom.cdx.json</span></span>
<span class="line"><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D"># Or: CycloneDX .NET Tool</span></span>
<span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0">dotnet</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF"> tool</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF"> install</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF"> --global</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF"> CycloneDX</span></span>
<span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0">dotnet</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF"> CycloneDX</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583"> &#x3C;</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF">projec</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">t</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">></span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF">.csproj</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF"> --output</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF"> sbom.cdx.json</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF"> --json</span></span></code></pre>
</div><h3 id="node-js-projects" tabindex="-1">Node.js Projects <a class="header-anchor" href="#node-js-projects" aria-label="Permalink to &quot;Node.js Projects&quot;"></a></h3>
<div class="language-bash vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang">bash</span><pre class="shiki shiki-themes github-light github-dark vp-code" tabindex="0" v-pre=""><code><span class="line"><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D"># NPM dependencies</span></span>
<span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0">syft</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF"> packages</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF"> dir:.</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF"> --output</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF"> cyclonedx-json=sbom.cdx.json</span></span>
<span class="line"><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D"># Or: CycloneDX Node Module</span></span>
<span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0">npx</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF"> @cyclonedx/cyclonedx-npm</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF"> --output-file</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF"> sbom.cdx.json</span></span></code></pre>
</div><h3 id="python-projects" tabindex="-1">Python Projects <a class="header-anchor" href="#python-projects" aria-label="Permalink to &quot;Python Projects&quot;"></a></h3>
<div class="language-bash vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang">bash</span><pre class="shiki shiki-themes github-light github-dark vp-code" tabindex="0" v-pre=""><code><span class="line"><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D"># pip/poetry dependencies</span></span>
<span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0">syft</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF"> packages</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF"> dir:.</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF"> --output</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF"> cyclonedx-json=sbom.cdx.json</span></span>
<span class="line"><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D"># Or: CycloneDX Python</span></span>
<span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0">pip</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF"> install</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF"> cyclonedx-bom</span></span>
<span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0">cyclonedx-py</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF"> environment</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF"> --output-format</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF"> json</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583"> ></span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF"> sbom.cdx.json</span></span></code></pre>
</div><h3 id="firmware-embedded-esp32-stm32-zephyr" tabindex="-1">Firmware / Embedded (ESP32, STM32, Zephyr) <a class="header-anchor" href="#firmware-embedded-esp32-stm32-zephyr" aria-label="Permalink to &quot;Firmware / Embedded (ESP32, STM32, Zephyr)&quot;"></a></h3>
<div class="language-bash vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang">bash</span><pre class="shiki shiki-themes github-light github-dark vp-code" tabindex="0" v-pre=""><code><span class="line"><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D"># PlatformIO project</span></span>
<span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0">syft</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF"> packages</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF"> dir:.</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF"> --output</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF"> cyclonedx-json=sbom.cdx.json</span></span>
<span class="line"></span>
<span class="line"><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D"># Zephyr (west manifest)</span></span>
<span class="line"><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D"># Custom script for extracting west.yml dependencies</span></span></code></pre>
</div><div class="warning custom-block"><p class="custom-block-title">NOTE ON EMBEDDED</p>
<p>For firmware projects, automatic SBOM generation is often incomplete. A manual review and, where necessary, supplementation of the SBOM is required, particularly for:</p>
<ul>
<li>Vendor SDKs (ESP-IDF, STM32 HAL)</li>
<li>Statically linked libraries</li>
<li>Bootloader components</li>
</ul>
</div>
<h2 id="_2-1-3-quality-criteria" tabindex="-1">2.1.3 Quality Criteria <a class="header-anchor" href="#_2-1-3-quality-criteria" aria-label="Permalink to &quot;2.1.3 Quality Criteria&quot;"></a></h2>
<p>The generated SBOM must meet the following minimum requirements:</p>
<table tabindex="0">
<thead>
<tr>
<th>Criterion</th>
<th>Requirement</th>
</tr>
</thead>
<tbody>
<tr>
<td>Format</td>
<td>CycloneDX JSON (version 1.5+)</td>
</tr>
<tr>
<td>Spec version</td>
<td><code>1.5</code> or higher</td>
</tr>
<tr>
<td>Metadata</td>
<td>Product name, version, timestamp, manufacturer</td>
</tr>
<tr>
<td>Components</td>
<td>At least top-level dependencies</td>
</tr>
<tr>
<td>Licences</td>
<td>Licence ID per component (where available)</td>
</tr>
<tr>
<td>Hashes</td>
<td>SHA256 hash per component (where available)</td>
</tr>
<tr>
<td>Validation</td>
<td>Schema-compliant, parseable, non-empty</td>
</tr>
</tbody>
</table>
]]></content:encoded>
            <author>BAUER GROUP</author>
        </item>
        <item>
            <title><![CDATA[Chapter 2: SBOM & Signing]]></title>
            <link>https://cra.docs.bauer-group.com/en/sbom-signing/</link>
            <guid isPermaLink="false">https://cra.docs.bauer-group.com/en/sbom-signing/</guid>
            <pubDate>Tue, 10 Feb 2026 16:43:47 GMT</pubDate>
            <description><![CDATA[# Chapter 2: SBOM & Signing

## Overview

The Software Bill of Materials (SBOM) and the signing of software artifacts are central pillars of CRA compliance. The SBOM provides a transparent inventory of all components contained in a product, while signing ensures the integrity and authenticity of both the SBOM itself and all delivered artifacts.

::: info LEGAL BASIS
**Art. 13(23) CRA:** *"The manufacturer shall identify and document vulnerabilities and components contained in the product with digital elements, including by drawing up a software bill of materials in a commonly used and machine-readable format covering at least the top-level dependencies of the product."*

**Art. 10(12) CRA:** *"The manufacturer shall ensure that security updates distributed to users are provided in a secure manner and that the integrity of the product is ensured when such security updates are installed automatically."*

**Annex I, Part I, No. 3:** *"Products with digital elements [...] shall ensure the protection of the integrity of stored, transmitted or otherwise processed data [...] against manipulation or alteration."*
:::

## SBOM Lifecycle

Pursuant to Art. 13(23) CRA, the manufacturer must create an SBOM that covers at least the top-level dependencies of the product. The SBOM is generated automatically with each release and undergoes the following lifecycle:

```
Release Trigger (Git Tag)
    |
    v
Build Artifact
    |
    v
Generate SBOM (Trivy/Syft -> CycloneDX JSON)
    |
    |-->  Attach SBOM as release asset
    |-->  Sign SBOM (Cosign)
    |-->  Generate SHA256 hash
    |-->  Attach hash + signature as release asset
    +-->  Archive SBOM (compliance repo)
```

## Signing Architecture

All artifacts produced during the release process are signed to guarantee integrity and authenticity. The signing architecture covers every deliverable:

```
Build Pipeline
    |
    +-- Build Artifact (Binary, Image, Firmware)
    |   +-- Generate SHA256 hash
    |   +-- Sign with Cosign
    |
    +-- SBOM (CycloneDX JSON)
    |   +-- Generate SHA256 hash
    |   +-- Sign with Cosign
    |
    +-- Release
        +-- Artifact + Signature + Hash
        +-- SBOM + Signature + Hash
        +-- Public Key (cosign.pub)
        +-- SHA256SUMS.txt
```

## Requirements

| Requirement | Implementation | CRA Article |
|]]></description>
            <content:encoded><![CDATA[<h1 id="chapter-2-sbom-signing" tabindex="-1">Chapter 2: SBOM &amp; Signing <a class="header-anchor" href="#chapter-2-sbom-signing" aria-label="Permalink to &quot;Chapter 2: SBOM &amp; Signing&quot;"></a></h1>
<h2 id="overview" tabindex="-1">Overview <a class="header-anchor" href="#overview" aria-label="Permalink to &quot;Overview&quot;"></a></h2>
<p>The Software Bill of Materials (SBOM) and the signing of software artifacts are central pillars of CRA compliance. The SBOM provides a transparent inventory of all components contained in a product, while signing ensures the integrity and authenticity of both the SBOM itself and all delivered artifacts.</p>
<div class="info custom-block"><p class="custom-block-title">LEGAL BASIS</p>
<p><strong>Art. 13(23) CRA:</strong> <em>&quot;The manufacturer shall identify and document vulnerabilities and components contained in the product with digital elements, including by drawing up a software bill of materials in a commonly used and machine-readable format covering at least the top-level dependencies of the product.&quot;</em></p>
<p><strong>Art. 10(12) CRA:</strong> <em>&quot;The manufacturer shall ensure that security updates distributed to users are provided in a secure manner and that the integrity of the product is ensured when such security updates are installed automatically.&quot;</em></p>
<p><strong>Annex I, Part I, No. 3:</strong> <em>&quot;Products with digital elements [...] shall ensure the protection of the integrity of stored, transmitted or otherwise processed data [...] against manipulation or alteration.&quot;</em></p>
</div>
<h2 id="sbom-lifecycle" tabindex="-1">SBOM Lifecycle <a class="header-anchor" href="#sbom-lifecycle" aria-label="Permalink to &quot;SBOM Lifecycle&quot;"></a></h2>
<p>Pursuant to Art. 13(23) CRA, the manufacturer must create an SBOM that covers at least the top-level dependencies of the product. The SBOM is generated automatically with each release and undergoes the following lifecycle:</p>
<div class="language- vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang"></span><pre class="shiki shiki-themes github-light github-dark vp-code" tabindex="0" v-pre=""><code><span class="line"><span>Release Trigger (Git Tag)</span></span>
<span class="line"><span>    |</span></span>
<span class="line"><span>    v</span></span>
<span class="line"><span>Build Artifact</span></span>
<span class="line"><span>    |</span></span>
<span class="line"><span>    v</span></span>
<span class="line"><span>Generate SBOM (Trivy/Syft -> CycloneDX JSON)</span></span>
<span class="line"><span>    |</span></span>
<span class="line"><span>    |-->  Attach SBOM as release asset</span></span>
<span class="line"><span>    |-->  Sign SBOM (Cosign)</span></span>
<span class="line"><span>    |-->  Generate SHA256 hash</span></span>
<span class="line"><span>    |-->  Attach hash + signature as release asset</span></span>
<span class="line"><span>    +-->  Archive SBOM (compliance repo)</span></span></code></pre>
</div><h2 id="signing-architecture" tabindex="-1">Signing Architecture <a class="header-anchor" href="#signing-architecture" aria-label="Permalink to &quot;Signing Architecture&quot;"></a></h2>
<p>All artifacts produced during the release process are signed to guarantee integrity and authenticity. The signing architecture covers every deliverable:</p>
<div class="language- vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang"></span><pre class="shiki shiki-themes github-light github-dark vp-code" tabindex="0" v-pre=""><code><span class="line"><span>Build Pipeline</span></span>
<span class="line"><span>    |</span></span>
<span class="line"><span>    +-- Build Artifact (Binary, Image, Firmware)</span></span>
<span class="line"><span>    |   +-- Generate SHA256 hash</span></span>
<span class="line"><span>    |   +-- Sign with Cosign</span></span>
<span class="line"><span>    |</span></span>
<span class="line"><span>    +-- SBOM (CycloneDX JSON)</span></span>
<span class="line"><span>    |   +-- Generate SHA256 hash</span></span>
<span class="line"><span>    |   +-- Sign with Cosign</span></span>
<span class="line"><span>    |</span></span>
<span class="line"><span>    +-- Release</span></span>
<span class="line"><span>        +-- Artifact + Signature + Hash</span></span>
<span class="line"><span>        +-- SBOM + Signature + Hash</span></span>
<span class="line"><span>        +-- Public Key (cosign.pub)</span></span>
<span class="line"><span>        +-- SHA256SUMS.txt</span></span></code></pre>
</div><h2 id="requirements" tabindex="-1">Requirements <a class="header-anchor" href="#requirements" aria-label="Permalink to &quot;Requirements&quot;"></a></h2>
<table tabindex="0">
<thead>
<tr>
<th>Requirement</th>
<th>Implementation</th>
<th>CRA Article</th>
</tr>
</thead>
<tbody>
<tr>
<td>Machine-readable SBOM format</td>
<td>CycloneDX JSON</td>
<td>Art. 13(23)</td>
</tr>
<tr>
<td>Top-level dependencies</td>
<td>Automatic detection via Syft/Trivy</td>
<td>Art. 13(23)</td>
</tr>
<tr>
<td>Per-release SBOM</td>
<td>SBOM is generated for each release tag</td>
<td>Best Practice</td>
</tr>
<tr>
<td>Integrity protection</td>
<td>Signing with Cosign (all artifacts and SBOMs)</td>
<td>Art. 10(12)</td>
</tr>
<tr>
<td>Traceability</td>
<td>Git history + release assets</td>
<td>Annex VII</td>
</tr>
<tr>
<td>Availability</td>
<td>Archiving in compliance repo + release assets</td>
<td>Art. 13(23)</td>
</tr>
</tbody>
</table>
<h2 id="signed-artifact-types" tabindex="-1">Signed Artifact Types <a class="header-anchor" href="#signed-artifact-types" aria-label="Permalink to &quot;Signed Artifact Types&quot;"></a></h2>
<table tabindex="0">
<thead>
<tr>
<th>Artifact</th>
<th>Signing Method</th>
<th>Tool</th>
<th>Status</th>
</tr>
</thead>
<tbody>
<tr>
<td>Docker/Container Images</td>
<td>Cosign (Image Signing)</td>
<td><code>docker-build.yml</code></td>
<td>Implemented</td>
</tr>
<tr>
<td>Release Binaries</td>
<td>Cosign (Blob Signing)</td>
<td><code>cra-release.yml</code></td>
<td>Implemented</td>
</tr>
<tr>
<td>SBOMs</td>
<td>Cosign (Blob Signing, keyless OIDC)</td>
<td><code>cra-release.yml</code> / <code>cra-sbom-sign</code></td>
<td>Implemented</td>
</tr>
<tr>
<td>Firmware Binaries</td>
<td>Cosign (Blob Signing)</td>
<td>Build Workflows</td>
<td>Planned</td>
</tr>
</tbody>
</table>
<h2 id="tooling" tabindex="-1">Tooling <a class="header-anchor" href="#tooling" aria-label="Permalink to &quot;Tooling&quot;"></a></h2>
<table tabindex="0">
<thead>
<tr>
<th>Tool</th>
<th>Function</th>
<th>Format</th>
</tr>
</thead>
<tbody>
<tr>
<td><strong>Trivy</strong></td>
<td>SBOM generation from container images and filesystems</td>
<td>CycloneDX, SPDX</td>
</tr>
<tr>
<td><strong>Syft</strong></td>
<td>SBOM generation from source code and binaries</td>
<td>CycloneDX, SPDX</td>
</tr>
<tr>
<td><strong>Cosign</strong></td>
<td>Signing and verification of artifacts and SBOMs</td>
<td>Sigstore</td>
</tr>
<tr>
<td><strong>GitHub Actions</strong></td>
<td>Automation of generation, signing, and archiving</td>
<td>-</td>
</tr>
</tbody>
</table>
<h2 id="workflow-integration" tabindex="-1">Workflow Integration <a class="header-anchor" href="#workflow-integration" aria-label="Permalink to &quot;Workflow Integration&quot;"></a></h2>
<p>SBOM generation and signing are performed via two paths:</p>
<p><strong>1. Automation Templates (existing):</strong>
SBOM generation is integrated into the existing release workflow (<code>automatic-release.yml</code>) via the <code>modules-license-compliance.yml</code> module.</p>
<div class="language-yaml vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang">yaml</span><pre class="shiki shiki-themes github-light github-dark vp-code" tabindex="0" v-pre=""><code><span class="line"><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D"># Activation in workflow call</span></span>
<span class="line"><span style="--shiki-light:#22863A;--shiki-dark:#85E89D">license-compliance</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">:</span></span>
<span class="line"><span style="--shiki-light:#22863A;--shiki-dark:#85E89D">  generate-sbom</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">: </span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF">true</span></span>
<span class="line"><span style="--shiki-light:#22863A;--shiki-dark:#85E89D">  sbom-format</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">: </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF">cyclonedx-json</span></span></code></pre>
</div><p><strong>2. CRA Compliance Workflows (new):</strong>
The dedicated CRA release workflow handles SBOM generation, signing, and archiving as release assets -- independently of the existing release workflows.</p>
<div class="language-yaml vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang">yaml</span><pre class="shiki shiki-themes github-light github-dark vp-code" tabindex="0" v-pre=""><code><span class="line"><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D"># Usage in any repository (zero-config)</span></span>
<span class="line"><span style="--shiki-light:#22863A;--shiki-dark:#85E89D">jobs</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">:</span></span>
<span class="line"><span style="--shiki-light:#22863A;--shiki-dark:#85E89D">  cra-release</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">:</span></span>
<span class="line"><span style="--shiki-light:#22863A;--shiki-dark:#85E89D">    uses</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">: </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF">bauer-group/SEC-CRACompliance/.github/workflows/cra-release.yml@main</span></span>
<span class="line"><span style="--shiki-light:#22863A;--shiki-dark:#85E89D">    permissions</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">:</span></span>
<span class="line"><span style="--shiki-light:#22863A;--shiki-dark:#85E89D">      contents</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">: </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF">write</span></span>
<span class="line"><span style="--shiki-light:#22863A;--shiki-dark:#85E89D">      id-token</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">: </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF">write</span></span>
<span class="line"><span style="--shiki-light:#22863A;--shiki-dark:#85E89D">      security-events</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">: </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF">write</span></span></code></pre>
</div><p>The workflow uses the composite actions <code>cra-sbom-generate</code> (Trivy, auto-detect) and <code>cra-sbom-sign</code> (Cosign, keyless OIDC).</p>
<h2 id="chapter-structure" tabindex="-1">Chapter Structure <a class="header-anchor" href="#chapter-structure" aria-label="Permalink to &quot;Chapter Structure&quot;"></a></h2>
<table tabindex="0">
<thead>
<tr>
<th>Section</th>
<th>Topic</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><strong>1</strong></td>
<td><a href="/en/sbom-signing/generation">SBOM Generation</a></td>
<td>Generation process, triggers, and type-specific tooling</td>
</tr>
<tr>
<td><strong>2</strong></td>
<td><a href="/en/sbom-signing/format">Format Specification</a></td>
<td>CycloneDX JSON format, required fields, and naming conventions</td>
</tr>
<tr>
<td><strong>3</strong></td>
<td><a href="/en/sbom-signing/storage">Archiving &amp; Retention</a></td>
<td>Storage locations, retention policy, and access</td>
</tr>
<tr>
<td><strong>4</strong></td>
<td><a href="/en/sbom-signing/signing">Signing</a></td>
<td>SBOM signing, artifact signing, and Cosign procedures</td>
</tr>
<tr>
<td><strong>5</strong></td>
<td><a href="/en/sbom-signing/key-management">Key Management</a></td>
<td>Key generation, storage, rotation, and emergency procedures</td>
</tr>
<tr>
<td><strong>6</strong></td>
<td><a href="/en/sbom-signing/verification">Verification</a></td>
<td>Verification procedures for end users, systems, and regulators</td>
</tr>
</tbody>
</table>
]]></content:encoded>
            <author>BAUER GROUP</author>
        </item>
        <item>
            <title><![CDATA[2.5 Key Management]]></title>
            <link>https://cra.docs.bauer-group.com/en/sbom-signing/key-management</link>
            <guid isPermaLink="false">https://cra.docs.bauer-group.com/en/sbom-signing/key-management</guid>
            <pubDate>Tue, 10 Feb 2026 16:43:47 GMT</pubDate>
            <description><![CDATA[# 2.5 Key Management

## 2.5.1 Key Management

The secure management of cryptographic keys is essential for the integrity of the signing processes.

## 2.5.2 Key Types

| Key | Type | Storage Location | Purpose |
|]]></description>
            <content:encoded><![CDATA[<h1 id="_2-5-key-management" tabindex="-1">2.5 Key Management <a class="header-anchor" href="#_2-5-key-management" aria-label="Permalink to &quot;2.5 Key Management&quot;"></a></h1>
<h2 id="_2-5-1-key-management" tabindex="-1">2.5.1 Key Management <a class="header-anchor" href="#_2-5-1-key-management" aria-label="Permalink to &quot;2.5.1 Key Management&quot;"></a></h2>
<p>The secure management of cryptographic keys is essential for the integrity of the signing processes.</p>
<h2 id="_2-5-2-key-types" tabindex="-1">2.5.2 Key Types <a class="header-anchor" href="#_2-5-2-key-types" aria-label="Permalink to &quot;2.5.2 Key Types&quot;"></a></h2>
<table tabindex="0">
<thead>
<tr>
<th>Key</th>
<th>Type</th>
<th>Storage Location</th>
<th>Purpose</th>
</tr>
</thead>
<tbody>
<tr>
<td>Cosign Private Key</td>
<td>Ed25519 / ECDSA P-256</td>
<td>GitHub Secrets</td>
<td>Signing of artifacts</td>
</tr>
<tr>
<td>Cosign Password</td>
<td>Password</td>
<td>GitHub Secrets</td>
<td>Protection of the Private Key</td>
</tr>
<tr>
<td>Cosign Public Key</td>
<td>Ed25519 / ECDSA P-256</td>
<td>Repository (<code>cosign.pub</code>)</td>
<td>Verification by users</td>
</tr>
</tbody>
</table>
<h2 id="_2-5-3-key-generation" tabindex="-1">2.5.3 Key Generation <a class="header-anchor" href="#_2-5-3-key-generation" aria-label="Permalink to &quot;2.5.3 Key Generation&quot;"></a></h2>
<div class="language-bash vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang">bash</span><pre class="shiki shiki-themes github-light github-dark vp-code" tabindex="0" v-pre=""><code><span class="line"><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D"># Generate new key pair</span></span>
<span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0">cosign</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF"> generate-key-pair</span></span>
<span class="line"></span>
<span class="line"><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D"># Result:</span></span>
<span class="line"><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D"># cosign.key  → Private Key (password-protected)</span></span>
<span class="line"><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D"># cosign.pub  → Public Key</span></span></code></pre>
</div><h2 id="_2-5-4-key-storage" tabindex="-1">2.5.4 Key Storage <a class="header-anchor" href="#_2-5-4-key-storage" aria-label="Permalink to &quot;2.5.4 Key Storage&quot;"></a></h2>
<h3 id="private-key" tabindex="-1">Private Key <a class="header-anchor" href="#private-key" aria-label="Permalink to &quot;Private Key&quot;"></a></h3>
<p>The Private Key is stored <strong>exclusively</strong> in GitHub Secrets:</p>
<ul>
<li><strong>Secret Name:</strong> <code>COSIGN_PRIVATE_KEY</code></li>
<li><strong>Access:</strong> GitHub Actions Workflows only</li>
<li><strong>Protection:</strong> GitHub Secrets Encryption (Libsodium sealed box)</li>
<li><strong>Visibility:</strong> Never in logs, never in code</li>
</ul>
<h3 id="password" tabindex="-1">Password <a class="header-anchor" href="#password" aria-label="Permalink to &quot;Password&quot;"></a></h3>
<ul>
<li><strong>Secret Name:</strong> <code>COSIGN_PASSWORD</code></li>
<li><strong>Access:</strong> Only in combination with <code>COSIGN_PRIVATE_KEY</code></li>
</ul>
<h3 id="public-key" tabindex="-1">Public Key <a class="header-anchor" href="#public-key" aria-label="Permalink to &quot;Public Key&quot;"></a></h3>
<ul>
<li><strong>Storage Location:</strong> Repository root (<code>cosign.pub</code>)</li>
<li><strong>Availability:</strong> Public</li>
<li><strong>Purpose:</strong> Verification by users and systems</li>
</ul>
<h2 id="_2-5-5-key-rotation" tabindex="-1">2.5.5 Key Rotation <a class="header-anchor" href="#_2-5-5-key-rotation" aria-label="Permalink to &quot;2.5.5 Key Rotation&quot;"></a></h2>
<table tabindex="0">
<thead>
<tr>
<th>Trigger</th>
<th>Action</th>
<th>Deadline</th>
</tr>
</thead>
<tbody>
<tr>
<td><strong>Annually</strong></td>
<td>Routine rotation</td>
<td>Every 12 months</td>
</tr>
<tr>
<td><strong>Suspected compromise</strong></td>
<td>Immediate rotation</td>
<td>Without delay</td>
</tr>
<tr>
<td><strong>Personnel change</strong></td>
<td>Review and rotation if necessary</td>
<td>Within 7 days</td>
</tr>
<tr>
<td><strong>Security incident</strong></td>
<td>Rotation as part of Incident Response</td>
<td>Per Playbook</td>
</tr>
</tbody>
</table>
<h3 id="rotation-process" tabindex="-1">Rotation Process <a class="header-anchor" href="#rotation-process" aria-label="Permalink to &quot;Rotation Process&quot;"></a></h3>
<div class="language- vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang"></span><pre class="shiki shiki-themes github-light github-dark vp-code" tabindex="0" v-pre=""><code><span class="line"><span>1. Generate new key pair</span></span>
<span class="line"><span>   └── cosign generate-key-pair</span></span>
<span class="line"><span></span></span>
<span class="line"><span>2. Update GitHub Secrets</span></span>
<span class="line"><span>   ├── COSIGN_PRIVATE_KEY → New Private Key</span></span>
<span class="line"><span>   └── COSIGN_PASSWORD → New Password</span></span>
<span class="line"><span></span></span>
<span class="line"><span>3. Update Public Key in the repository</span></span>
<span class="line"><span>   └── cosign.pub → New Public Key</span></span>
<span class="line"><span></span></span>
<span class="line"><span>4. Archive old Public Key</span></span>
<span class="line"><span>   └── keys/cosign-&#x3C;date>.pub.archived</span></span>
<span class="line"><span></span></span>
<span class="line"><span>5. Update documentation</span></span>
<span class="line"><span>   ├── Rotation date</span></span>
<span class="line"><span>   ├── Key Fingerprint</span></span>
<span class="line"><span>   └── Reason for rotation</span></span>
<span class="line"><span></span></span>
<span class="line"><span>6. Verification</span></span>
<span class="line"><span>   └── Perform test signing and verification</span></span></code></pre>
</div><h2 id="_2-5-6-emergency-procedure-in-case-of-key-compromise" tabindex="-1">2.5.6 Emergency Procedure in Case of Key Compromise <a class="header-anchor" href="#_2-5-6-emergency-procedure-in-case-of-key-compromise" aria-label="Permalink to &quot;2.5.6 Emergency Procedure in Case of Key Compromise&quot;"></a></h2>
<ol>
<li><strong>Immediately:</strong> Rotate GitHub Secrets (new key pair)</li>
<li><strong>Within 1h:</strong> Identify all releases signed since the compromise</li>
<li><strong>Within 4h:</strong> Re-sign affected releases with the new key</li>
<li><strong>Within 24h:</strong> Notify users of the key change</li>
<li><strong>Documentation:</strong> Document the incident in the Incident Report</li>
</ol>
<h2 id="_2-5-7-access-permissions" tabindex="-1">2.5.7 Access Permissions <a class="header-anchor" href="#_2-5-7-access-permissions" aria-label="Permalink to &quot;2.5.7 Access Permissions&quot;"></a></h2>
<table tabindex="0">
<thead>
<tr>
<th>Role</th>
<th style="text-align:center">Private Key</th>
<th style="text-align:center">Public Key</th>
<th style="text-align:center">Key Rotation</th>
</tr>
</thead>
<tbody>
<tr>
<td>Security Lead</td>
<td style="text-align:center">Management (GitHub Secrets)</td>
<td style="text-align:center">Read</td>
<td style="text-align:center">Execution</td>
</tr>
<tr>
<td>DevOps Lead</td>
<td style="text-align:center">No direct access (only via Workflow)</td>
<td style="text-align:center">Read</td>
<td style="text-align:center">Support</td>
</tr>
<tr>
<td>Development Team</td>
<td style="text-align:center">No access</td>
<td style="text-align:center">Read</td>
<td style="text-align:center">No access</td>
</tr>
<tr>
<td>GitHub Actions</td>
<td style="text-align:center">Read (Runtime)</td>
<td style="text-align:center">Read</td>
<td style="text-align:center">No access</td>
</tr>
</tbody>
</table>
]]></content:encoded>
            <author>BAUER GROUP</author>
        </item>
        <item>
            <title><![CDATA[2.4 Signing]]></title>
            <link>https://cra.docs.bauer-group.com/en/sbom-signing/signing</link>
            <guid isPermaLink="false">https://cra.docs.bauer-group.com/en/sbom-signing/signing</guid>
            <pubDate>Tue, 10 Feb 2026 16:43:47 GMT</pubDate>
            <description><![CDATA[2.4.1 Overview
Signing ensures the integrity and authenticity of all artifacts produced during the r]]></description>
            <content:encoded><![CDATA[<h1 id="_2-4-signing" tabindex="-1">2.4 Signing <a class="header-anchor" href="#_2-4-signing" aria-label="Permalink to &quot;2.4 Signing&quot;"></a></h1>
<h2 id="_2-4-1-overview" tabindex="-1">2.4.1 Overview <a class="header-anchor" href="#_2-4-1-overview" aria-label="Permalink to &quot;2.4.1 Overview&quot;"></a></h2>
<p>Signing ensures the integrity and authenticity of all artifacts produced during the release process. This includes SBOMs, container images, release binaries, and firmware. All signing operations use <strong>Cosign</strong> (Sigstore), which supports both key-based and keyless signing.</p>
<div class="info custom-block"><p class="custom-block-title">LEGAL BASIS</p>
<p><strong>Art. 10(12) CRA:</strong> Manufacturers must ensure that security updates and associated information (including SBOMs) are provided &quot;securely and with the integrity guaranteed&quot;.</p>
</div>
<h2 id="_2-4-2-tool-cosign-sigstore" tabindex="-1">2.4.2 Tool: Cosign (Sigstore) <a class="header-anchor" href="#_2-4-2-tool-cosign-sigstore" aria-label="Permalink to &quot;2.4.2 Tool: Cosign (Sigstore)&quot;"></a></h2>
<p>Cosign is the primary signing tool in the BAUER GROUP ecosystem. It is part of the Sigstore project and supports:</p>
<ul>
<li><strong>Key-based signing</strong> -- using a private key stored in GitHub Secrets</li>
<li><strong>Keyless signing</strong> -- using OIDC-based identity via Sigstore/Fulcio (for public projects)</li>
</ul>
<p>Cosign is integrated across the CI/CD pipeline: container image signing (<code>docker-build.yml</code>), SBOM signing, and binary/firmware signing (<code>cra-release.yml</code>).</p>
<h2 id="_2-4-3-signing-procedures" tabindex="-1">2.4.3 Signing Procedures <a class="header-anchor" href="#_2-4-3-signing-procedures" aria-label="Permalink to &quot;2.4.3 Signing Procedures&quot;"></a></h2>
<h3 id="_1-container-image-signing" tabindex="-1">1. Container Image Signing <a class="header-anchor" href="#_1-container-image-signing" aria-label="Permalink to &quot;1. Container Image Signing&quot;"></a></h3>
<p>Container images are signed directly in the registry. This is already implemented in the <code>docker-build.yml</code> workflow.</p>
<div class="language-bash vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang">bash</span><pre class="shiki shiki-themes github-light github-dark vp-code" tabindex="0" v-pre=""><code><span class="line"><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D"># Sign image</span></span>
<span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0">cosign</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF"> sign</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF"> --key</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF"> env://COSIGN_PRIVATE_KEY</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583"> &#x3C;</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF">registr</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">y</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">></span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF">/</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">&#x3C;</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF">imag</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">e</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">></span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF">@</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">&#x3C;</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF">diges</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">t</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">></span></span>
<span class="line"></span>
<span class="line"><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D"># Verify image</span></span>
<span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0">cosign</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF"> verify</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF"> --key</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF"> cosign.pub</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583"> &#x3C;</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF">registr</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">y</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">></span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF">/</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">&#x3C;</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF">imag</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">e</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">></span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF">@</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">&#x3C;</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF">diges</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">t</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">></span></span></code></pre>
</div><p><strong>Workflow Integration (existing):</strong></p>
<div class="language-yaml vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang">yaml</span><pre class="shiki shiki-themes github-light github-dark vp-code" tabindex="0" v-pre=""><code><span class="line"><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D"># docker-build.yml</span></span>
<span class="line"><span style="--shiki-light:#22863A;--shiki-dark:#85E89D">inputs</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">:</span></span>
<span class="line"><span style="--shiki-light:#22863A;--shiki-dark:#85E89D">  sign-image</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">:</span></span>
<span class="line"><span style="--shiki-light:#22863A;--shiki-dark:#85E89D">    description</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">: </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF">'Sign image with cosign'</span></span>
<span class="line"><span style="--shiki-light:#22863A;--shiki-dark:#85E89D">    default</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">: </span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF">true</span></span>
<span class="line"><span style="--shiki-light:#22863A;--shiki-dark:#85E89D">    type</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">: </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF">boolean</span></span></code></pre>
</div><h3 id="_2-sbom-signing" tabindex="-1">2. SBOM Signing <a class="header-anchor" href="#_2-sbom-signing" aria-label="Permalink to &quot;2. SBOM Signing&quot;"></a></h3>
<p>Signing the SBOM ensures that:</p>
<ul>
<li>The SBOM has not been altered after the fact (integrity)</li>
<li>The SBOM originates from BAUER GROUP (authenticity)</li>
<li>The association with the release is verifiable (non-repudiation)</li>
</ul>
<h4 id="key-based-signing" tabindex="-1">Key-Based Signing <a class="header-anchor" href="#key-based-signing" aria-label="Permalink to &quot;Key-Based Signing&quot;"></a></h4>
<div class="language-bash vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang">bash</span><pre class="shiki shiki-themes github-light github-dark vp-code" tabindex="0" v-pre=""><code><span class="line"><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D"># 1. Sign SBOM (detached signature)</span></span>
<span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0">cosign</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF"> sign-blob</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF"> \</span></span>
<span class="line"><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF">  --key</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF"> env://COSIGN_PRIVATE_KEY</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF"> \</span></span>
<span class="line"><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF">  --output-signature</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF"> sbom.cdx.json.sig</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF"> \</span></span>
<span class="line"><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF">  --output-certificate</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF"> sbom.cdx.json.cert</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF"> \</span></span>
<span class="line"><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF">  sbom.cdx.json</span></span>
<span class="line"></span>
<span class="line"><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D"># 2. Generate SHA256 hash</span></span>
<span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0">sha256sum</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF"> sbom.cdx.json</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583"> ></span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF"> sbom.cdx.json.sha256</span></span>
<span class="line"></span>
<span class="line"><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D"># 3. Verify signature</span></span>
<span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0">cosign</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF"> verify-blob</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF"> \</span></span>
<span class="line"><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF">  --key</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF"> cosign.pub</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF"> \</span></span>
<span class="line"><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF">  --signature</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF"> sbom.cdx.json.sig</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF"> \</span></span>
<span class="line"><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF">  sbom.cdx.json</span></span></code></pre>
</div><h4 id="keyless-signing-sigstore-fulcio" tabindex="-1">Keyless Signing (Sigstore/Fulcio) <a class="header-anchor" href="#keyless-signing-sigstore-fulcio" aria-label="Permalink to &quot;Keyless Signing (Sigstore/Fulcio)&quot;"></a></h4>
<p>For public projects, keyless signing via Sigstore can be used:</p>
<div class="language-bash vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang">bash</span><pre class="shiki shiki-themes github-light github-dark vp-code" tabindex="0" v-pre=""><code><span class="line"><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D"># Keyless signing (OIDC-based)</span></span>
<span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0">cosign</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF"> sign-blob</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF"> \</span></span>
<span class="line"><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF">  --output-signature</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF"> sbom.cdx.json.sig</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF"> \</span></span>
<span class="line"><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF">  --output-certificate</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF"> sbom.cdx.json.cert</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF"> \</span></span>
<span class="line"><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF">  sbom.cdx.json</span></span>
<span class="line"></span>
<span class="line"><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D"># Keyless verification</span></span>
<span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0">cosign</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF"> verify-blob</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF"> \</span></span>
<span class="line"><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF">  --certificate</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF"> sbom.cdx.json.cert</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF"> \</span></span>
<span class="line"><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF">  --certificate-identity</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF"> workflow@github.com</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF"> \</span></span>
<span class="line"><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF">  --certificate-oidc-issuer</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF"> https://token.actions.githubusercontent.com</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF"> \</span></span>
<span class="line"><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF">  --signature</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF"> sbom.cdx.json.sig</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF"> \</span></span>
<span class="line"><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF">  sbom.cdx.json</span></span></code></pre>
</div><h3 id="_3-binary-blob-signing" tabindex="-1">3. Binary/Blob Signing <a class="header-anchor" href="#_3-binary-blob-signing" aria-label="Permalink to &quot;3. Binary/Blob Signing&quot;"></a></h3>
<p>Blob signing is used for release binaries and other non-container artifacts:</p>
<div class="language-bash vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang">bash</span><pre class="shiki shiki-themes github-light github-dark vp-code" tabindex="0" v-pre=""><code><span class="line"><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D"># Sign binary</span></span>
<span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0">cosign</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF"> sign-blob</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF"> \</span></span>
<span class="line"><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF">  --key</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF"> env://COSIGN_PRIVATE_KEY</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF"> \</span></span>
<span class="line"><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF">  --output-signature</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF"> artifact.sig</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF"> \</span></span>
<span class="line"><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF">  artifact.bin</span></span>
<span class="line"></span>
<span class="line"><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D"># Verify binary</span></span>
<span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0">cosign</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF"> verify-blob</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF"> \</span></span>
<span class="line"><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF">  --key</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF"> cosign.pub</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF"> \</span></span>
<span class="line"><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF">  --signature</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF"> artifact.sig</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF"> \</span></span>
<span class="line"><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF">  artifact.bin</span></span></code></pre>
</div><h3 id="_4-firmware-signing" tabindex="-1">4. Firmware Signing <a class="header-anchor" href="#_4-firmware-signing" aria-label="Permalink to &quot;4. Firmware Signing&quot;"></a></h3>
<p>For firmware artifacts (ESP32, STM32, Zephyr):</p>
<div class="language-bash vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang">bash</span><pre class="shiki shiki-themes github-light github-dark vp-code" tabindex="0" v-pre=""><code><span class="line"><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D"># Sign firmware</span></span>
<span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0">cosign</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF"> sign-blob</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF"> \</span></span>
<span class="line"><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF">  --key</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF"> env://COSIGN_PRIVATE_KEY</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF"> \</span></span>
<span class="line"><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF">  --output-signature</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF"> firmware.bin.sig</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF"> \</span></span>
<span class="line"><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF">  firmware.bin</span></span>
<span class="line"></span>
<span class="line"><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D"># SHA256 for OTA verification</span></span>
<span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0">sha256sum</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF"> firmware.bin</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583"> ></span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF"> firmware.bin.sha256</span></span></code></pre>
</div><h2 id="_2-4-4-ota-security" tabindex="-1">2.4.4 OTA Security <a class="header-anchor" href="#_2-4-4-ota-security" aria-label="Permalink to &quot;2.4.4 OTA Security&quot;"></a></h2>
<p>For firmware updates via OTA (Over-The-Air), additional requirements apply:</p>
<ol>
<li><strong>Signature verification on the device</strong> -- The device validates the Cosign signature before installation</li>
<li><strong>Hash verification</strong> -- SHA256 hash is verified before and after transfer</li>
<li><strong>Rollback protection</strong> -- Anti-rollback counter prevents installation of older (insecure) versions</li>
<li><strong>Secure Boot Chain</strong> -- Firmware is only executed if the signature chain up to the Root-of-Trust is valid</li>
</ol>
<h2 id="_2-4-5-supply-chain-attestation" tabindex="-1">2.4.5 Supply Chain Attestation <a class="header-anchor" href="#_2-4-5-supply-chain-attestation" aria-label="Permalink to &quot;2.4.5 Supply Chain Attestation&quot;"></a></h2>
<p>In addition to signing, SLSA-compatible attestations are supported:</p>
<div class="language-bash vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang">bash</span><pre class="shiki shiki-themes github-light github-dark vp-code" tabindex="0" v-pre=""><code><span class="line"><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D"># Create build attestation</span></span>
<span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0">cosign</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF"> attest</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF"> \</span></span>
<span class="line"><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF">  --key</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF"> env://COSIGN_PRIVATE_KEY</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF"> \</span></span>
<span class="line"><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF">  --predicate</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF"> build-provenance.json</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF"> \</span></span>
<span class="line"><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF">  --type</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF"> slsaprovenance</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF"> \</span></span>
<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">  &#x3C;</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF">registr</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">y</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">></span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF">/</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">&#x3C;</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF">imag</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">e</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">></span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF">@</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">&#x3C;</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF">diges</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">t</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">></span></span></code></pre>
</div><h2 id="_2-4-6-github-actions-integration" tabindex="-1">2.4.6 GitHub Actions Integration <a class="header-anchor" href="#_2-4-6-github-actions-integration" aria-label="Permalink to &quot;2.4.6 GitHub Actions Integration&quot;"></a></h2>
<div class="language-yaml vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang">yaml</span><pre class="shiki shiki-themes github-light github-dark vp-code" tabindex="0" v-pre=""><code><span class="line"><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D"># Signing steps in each release workflow</span></span>
<span class="line"><span style="--shiki-light:#22863A;--shiki-dark:#85E89D">steps</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">:</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">  - </span><span style="--shiki-light:#22863A;--shiki-dark:#85E89D">name</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">: </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF">Install Cosign</span></span>
<span class="line"><span style="--shiki-light:#22863A;--shiki-dark:#85E89D">    uses</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">: </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF">sigstore/cosign-installer@v3</span></span>
<span class="line"></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">  - </span><span style="--shiki-light:#22863A;--shiki-dark:#85E89D">name</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">: </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF">Sign Container Image</span></span>
<span class="line"><span style="--shiki-light:#22863A;--shiki-dark:#85E89D">    if</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">: </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF">inputs.sign-image</span></span>
<span class="line"><span style="--shiki-light:#22863A;--shiki-dark:#85E89D">    run</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">: </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF">cosign sign --key env://COSIGN_PRIVATE_KEY ${{ env.IMAGE }}@${{ env.DIGEST }}</span></span>
<span class="line"></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">  - </span><span style="--shiki-light:#22863A;--shiki-dark:#85E89D">name</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">: </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF">Sign SBOM</span></span>
<span class="line"><span style="--shiki-light:#22863A;--shiki-dark:#85E89D">    env</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">:</span></span>
<span class="line"><span style="--shiki-light:#22863A;--shiki-dark:#85E89D">      COSIGN_PRIVATE_KEY</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">: </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF">${{ secrets.COSIGN_PRIVATE_KEY }}</span></span>
<span class="line"><span style="--shiki-light:#22863A;--shiki-dark:#85E89D">      COSIGN_PASSWORD</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">: </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF">${{ secrets.COSIGN_PASSWORD }}</span></span>
<span class="line"><span style="--shiki-light:#22863A;--shiki-dark:#85E89D">    run</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">: </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">|</span></span>
<span class="line"><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF">      cosign sign-blob \</span></span>
<span class="line"><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF">        --key env://COSIGN_PRIVATE_KEY \</span></span>
<span class="line"><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF">        --output-signature sbom.cdx.json.sig \</span></span>
<span class="line"><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF">        sbom.cdx.json</span></span>
<span class="line"></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">  - </span><span style="--shiki-light:#22863A;--shiki-dark:#85E89D">name</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">: </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF">Sign Binary</span></span>
<span class="line"><span style="--shiki-light:#22863A;--shiki-dark:#85E89D">    if</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">: </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF">inputs.sign-binary</span></span>
<span class="line"><span style="--shiki-light:#22863A;--shiki-dark:#85E89D">    run</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">: </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF">cosign sign-blob --key env://COSIGN_PRIVATE_KEY --output-signature artifact.sig artifact.bin</span></span>
<span class="line"></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">  - </span><span style="--shiki-light:#22863A;--shiki-dark:#85E89D">name</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">: </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF">Generate Checksums</span></span>
<span class="line"><span style="--shiki-light:#22863A;--shiki-dark:#85E89D">    run</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">: </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF">sha256sum artifact.bin sbom.cdx.json > SHA256SUMS.txt</span></span>
<span class="line"></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">  - </span><span style="--shiki-light:#22863A;--shiki-dark:#85E89D">name</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">: </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF">Upload Release Assets</span></span>
<span class="line"><span style="--shiki-light:#22863A;--shiki-dark:#85E89D">    uses</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">: </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF">softprops/action-gh-release@v2</span></span>
<span class="line"><span style="--shiki-light:#22863A;--shiki-dark:#85E89D">    with</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">:</span></span>
<span class="line"><span style="--shiki-light:#22863A;--shiki-dark:#85E89D">      files</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">: </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">|</span></span>
<span class="line"><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF">        sbom.cdx.json</span></span>
<span class="line"><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF">        sbom.cdx.json.sig</span></span>
<span class="line"><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF">        sbom.cdx.json.sha256</span></span></code></pre>
</div><h2 id="_2-4-7-key-management" tabindex="-1">2.4.7 Key Management <a class="header-anchor" href="#_2-4-7-key-management" aria-label="Permalink to &quot;2.4.7 Key Management&quot;"></a></h2>
<p>The keys for all signing operations are managed in accordance with the <a href="/en/sbom-signing/key-management">Key Management Policy</a>:</p>
<ul>
<li>Private key: GitHub Secrets (<code>COSIGN_PRIVATE_KEY</code>)</li>
<li>Password: GitHub Secrets (<code>COSIGN_PASSWORD</code>)</li>
<li>Public key: Published in the repository (<code>cosign.pub</code>)</li>
<li>Key rotation: Annually or upon suspicion of compromise</li>
</ul>
<h2 id="_2-4-8-release-assets-after-signing" tabindex="-1">2.4.8 Release Assets After Signing <a class="header-anchor" href="#_2-4-8-release-assets-after-signing" aria-label="Permalink to &quot;2.4.8 Release Assets After Signing&quot;"></a></h2>
<div class="language- vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang"></span><pre class="shiki shiki-themes github-light github-dark vp-code" tabindex="0" v-pre=""><code><span class="line"><span>Release v2.1.0</span></span>
<span class="line"><span>+-- product-v2.1.0.tar.gz                &#x3C;- Build artifact</span></span>
<span class="line"><span>+-- product-v2.1.0.tar.gz.sig            &#x3C;- Artifact signature</span></span>
<span class="line"><span>+-- sbom-product-v2.1.0.cdx.json         &#x3C;- SBOM</span></span>
<span class="line"><span>+-- sbom-product-v2.1.0.cdx.json.sig     &#x3C;- SBOM signature</span></span>
<span class="line"><span>+-- sbom-product-v2.1.0.cdx.json.sha256  &#x3C;- SBOM hash</span></span>
<span class="line"><span>+-- cosign.pub                            &#x3C;- Public key</span></span>
<span class="line"><span>+-- SHA256SUMS.txt                        &#x3C;- All hashes</span></span></code></pre>
</div>]]></content:encoded>
            <author>BAUER GROUP</author>
        </item>
        <item>
            <title><![CDATA[2.3 Archiving & Retention]]></title>
            <link>https://cra.docs.bauer-group.com/en/sbom-signing/storage</link>
            <guid isPermaLink="false">https://cra.docs.bauer-group.com/en/sbom-signing/storage</guid>
            <pubDate>Tue, 10 Feb 2026 16:43:47 GMT</pubDate>
            <description><![CDATA[# 2.3 Archiving & Retention

## 2.3.1 Archiving Strategy

SBOMs are archived in three locations to ensure availability and traceability.

### 1. GitHub Release Assets (Primary)

Each GitHub release includes the SBOM as an asset:

```
Release v2.1.0
├── product-v2.1.0-linux-amd64.tar.gz
├── product-v2.1.0-linux-amd64.tar.gz.sig    <- Cosign signature
├── sbom-product-v2.1.0.cdx.json              <- SBOM
├── sbom-product-v2.1.0.cdx.json.sig          <- SBOM signature
└── SHA256SUMS.txt                             <- Checksums
```

**Advantages:**

- Directly associated with the release
- Publicly accessible (for public repos)
- Versioned and immutable
- API access via GitHub REST API

### 2. Compliance Repository (Secondary)

This repository (`CRA-Compliance`) contains an SBOM archive:

```
sbom/
├── product-a/
│   ├── sbom-product-a-v1.0.0.cdx.json
│   ├── sbom-product-a-v1.1.0.cdx.json
│   └── sbom-product-a-v2.0.0.cdx.json
├── product-b/
│   ├── sbom-product-b-v3.0.0.cdx.json
│   └── sbom-product-b-v3.1.0.cdx.json
└── firmware-esp32/
    ├── sbom-firmware-esp32-v1.0.0.cdx.json
    └── sbom-firmware-esp32-v1.1.0.cdx.json
```

**Advantages:**

- Central overview of all product SBOMs
- Git history as audit trail
- CVE monitor can scan all SBOMs centrally

### 3. GitHub Actions Artifacts (Short-term)

Build artifacts are stored as GitHub Actions artifacts (90-day retention).

**Advantages:**

- Available immediately after the build
- Temporary analysis and debugging

## 2.3.2 Retention Policy

| Storage Location | Retention Period | Justification |
|]]></description>
            <content:encoded><![CDATA[<h1 id="_2-3-archiving-retention" tabindex="-1">2.3 Archiving &amp; Retention <a class="header-anchor" href="#_2-3-archiving-retention" aria-label="Permalink to &quot;2.3 Archiving &amp; Retention&quot;"></a></h1>
<h2 id="_2-3-1-archiving-strategy" tabindex="-1">2.3.1 Archiving Strategy <a class="header-anchor" href="#_2-3-1-archiving-strategy" aria-label="Permalink to &quot;2.3.1 Archiving Strategy&quot;"></a></h2>
<p>SBOMs are archived in three locations to ensure availability and traceability.</p>
<h3 id="_1-github-release-assets-primary" tabindex="-1">1. GitHub Release Assets (Primary) <a class="header-anchor" href="#_1-github-release-assets-primary" aria-label="Permalink to &quot;1. GitHub Release Assets (Primary)&quot;"></a></h3>
<p>Each GitHub release includes the SBOM as an asset:</p>
<div class="language- vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang"></span><pre class="shiki shiki-themes github-light github-dark vp-code" tabindex="0" v-pre=""><code><span class="line"><span>Release v2.1.0</span></span>
<span class="line"><span>├── product-v2.1.0-linux-amd64.tar.gz</span></span>
<span class="line"><span>├── product-v2.1.0-linux-amd64.tar.gz.sig    &#x3C;- Cosign signature</span></span>
<span class="line"><span>├── sbom-product-v2.1.0.cdx.json              &#x3C;- SBOM</span></span>
<span class="line"><span>├── sbom-product-v2.1.0.cdx.json.sig          &#x3C;- SBOM signature</span></span>
<span class="line"><span>└── SHA256SUMS.txt                             &#x3C;- Checksums</span></span></code></pre>
</div><p><strong>Advantages:</strong></p>
<ul>
<li>Directly associated with the release</li>
<li>Publicly accessible (for public repos)</li>
<li>Versioned and immutable</li>
<li>API access via GitHub REST API</li>
</ul>
<h3 id="_2-compliance-repository-secondary" tabindex="-1">2. Compliance Repository (Secondary) <a class="header-anchor" href="#_2-compliance-repository-secondary" aria-label="Permalink to &quot;2. Compliance Repository (Secondary)&quot;"></a></h3>
<p>This repository (<code>CRA-Compliance</code>) contains an SBOM archive:</p>
<div class="language- vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang"></span><pre class="shiki shiki-themes github-light github-dark vp-code" tabindex="0" v-pre=""><code><span class="line"><span>sbom/</span></span>
<span class="line"><span>├── product-a/</span></span>
<span class="line"><span>│   ├── sbom-product-a-v1.0.0.cdx.json</span></span>
<span class="line"><span>│   ├── sbom-product-a-v1.1.0.cdx.json</span></span>
<span class="line"><span>│   └── sbom-product-a-v2.0.0.cdx.json</span></span>
<span class="line"><span>├── product-b/</span></span>
<span class="line"><span>│   ├── sbom-product-b-v3.0.0.cdx.json</span></span>
<span class="line"><span>│   └── sbom-product-b-v3.1.0.cdx.json</span></span>
<span class="line"><span>└── firmware-esp32/</span></span>
<span class="line"><span>    ├── sbom-firmware-esp32-v1.0.0.cdx.json</span></span>
<span class="line"><span>    └── sbom-firmware-esp32-v1.1.0.cdx.json</span></span></code></pre>
</div><p><strong>Advantages:</strong></p>
<ul>
<li>Central overview of all product SBOMs</li>
<li>Git history as audit trail</li>
<li>CVE monitor can scan all SBOMs centrally</li>
</ul>
<h3 id="_3-github-actions-artifacts-short-term" tabindex="-1">3. GitHub Actions Artifacts (Short-term) <a class="header-anchor" href="#_3-github-actions-artifacts-short-term" aria-label="Permalink to &quot;3. GitHub Actions Artifacts (Short-term)&quot;"></a></h3>
<p>Build artifacts are stored as GitHub Actions artifacts (90-day retention).</p>
<p><strong>Advantages:</strong></p>
<ul>
<li>Available immediately after the build</li>
<li>Temporary analysis and debugging</li>
</ul>
<h2 id="_2-3-2-retention-policy" tabindex="-1">2.3.2 Retention Policy <a class="header-anchor" href="#_2-3-2-retention-policy" aria-label="Permalink to &quot;2.3.2 Retention Policy&quot;"></a></h2>
<table tabindex="0">
<thead>
<tr>
<th>Storage Location</th>
<th>Retention Period</th>
<th>Justification</th>
</tr>
</thead>
<tbody>
<tr>
<td>GitHub Release Assets</td>
<td><strong>Unlimited</strong> (lifetime of the repo)</td>
<td>Regulatory evidence (Art. 10(13) CRA: 10 years or the lifetime of the product, whichever is longer)</td>
</tr>
<tr>
<td>Compliance repo (sbom/)</td>
<td><strong>10 years</strong> after the last product deployment</td>
<td>Art. 10(13) CRA</td>
</tr>
<tr>
<td>GitHub Actions Artifacts</td>
<td><strong>90 days</strong></td>
<td>Debugging and analysis</td>
</tr>
</tbody>
</table>
<div class="danger custom-block"><p class="custom-block-title">RETENTION PERIOD</p>
<p><strong>Art. 10(13) CRA:</strong> The technical documentation and the EU declaration of conformity shall be retained for <strong>10 years</strong> after the placing on the market of the product or for the duration of the support period -- whichever period is longer.</p>
<p>SBOMs, as part of the technical documentation, are subject to this retention period.</p>
</div>
<h2 id="_2-3-3-integrity-protection" tabindex="-1">2.3.3 Integrity Protection <a class="header-anchor" href="#_2-3-3-integrity-protection" aria-label="Permalink to &quot;2.3.3 Integrity Protection&quot;"></a></h2>
<p>Each archived SBOM is protected through the following measures:</p>
<ol>
<li><strong>SHA256 hash</strong> -- integrity verification</li>
<li><strong>Cosign signature</strong> -- proof of authenticity</li>
<li><strong>Git history</strong> -- proof of immutability</li>
<li><strong>Branch protection</strong> -- protection against unauthorised modifications</li>
</ol>
<div class="language-bash vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang">bash</span><pre class="shiki shiki-themes github-light github-dark vp-code" tabindex="0" v-pre=""><code><span class="line"><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D"># Integrity verification</span></span>
<span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0">sha256sum</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF"> -c</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF"> SHA256SUMS.txt</span></span>
<span class="line"></span>
<span class="line"><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D"># Signature verification</span></span>
<span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0">cosign</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF"> verify-blob</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF"> --key</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF"> cosign.pub</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF"> --signature</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF"> sbom.cdx.json.sig</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF"> sbom.cdx.json</span></span></code></pre>
</div><h2 id="_2-3-4-access-provision" tabindex="-1">2.3.4 Access &amp; Provision <a class="header-anchor" href="#_2-3-4-access-provision" aria-label="Permalink to &quot;2.3.4 Access &amp; Provision&quot;"></a></h2>
<h3 id="for-regulators-market-surveillance-authorities" tabindex="-1">For Regulators / Market Surveillance Authorities <a class="header-anchor" href="#for-regulators-market-surveillance-authorities" aria-label="Permalink to &quot;For Regulators / Market Surveillance Authorities&quot;"></a></h3>
<p>SBOMs are provided upon request (Art. 13(23) CRA):</p>
<ul>
<li>Access via GitHub release assets (for public repos)</li>
<li>Direct download link</li>
<li>Upon request as an email attachment</li>
</ul>
<h3 id="for-internal-use" tabindex="-1">For Internal Use <a class="header-anchor" href="#for-internal-use" aria-label="Permalink to &quot;For Internal Use&quot;"></a></h3>
<ul>
<li>CVE monitor workflow uses SBOMs from the compliance repo</li>
<li>Security team has read access to all SBOMs</li>
<li>Dashboard integration via GitHub API</li>
</ul>
]]></content:encoded>
            <author>BAUER GROUP</author>
        </item>
        <item>
            <title><![CDATA[2.6 Verification]]></title>
            <link>https://cra.docs.bauer-group.com/en/sbom-signing/verification</link>
            <guid isPermaLink="false">https://cra.docs.bauer-group.com/en/sbom-signing/verification</guid>
            <pubDate>Tue, 10 Feb 2026 16:43:47 GMT</pubDate>
            <description><![CDATA[# 2.6 Verification

## 2.6.1 Verification Procedures

Verification ensures that delivered artifacts are authentic and unaltered. Users and systems can verify the integrity at any time.

## 2.6.2 Verify Container Images

```bash
# 1. Download Public Key (one-time)
curl -sL https://github.com/bauer-group/<repo>/raw/main/cosign.pub -o cosign.pub

# 2. Verify image signature
cosign verify --key cosign.pub ghcr.io/bauer-group/<image>:<tag>
```

**Expected output for a valid signature:**

```
Verification for ghcr.io/bauer-group/<image>:<tag> --
The following checks were performed on each of these signatures:
  - The cosign claims were validated
  - The signatures were verified against the specified public key
```

## 2.6.3 Verify Binaries & Firmware

```bash
# 1. Download artifact, signature, and Public Key
curl -sLO https://github.com/bauer-group/<repo>/releases/download/v1.0.0/artifact.bin
curl -sLO https://github.com/bauer-group/<repo>/releases/download/v1.0.0/artifact.bin.sig
curl -sLO https://github.com/bauer-group/<repo>/raw/main/cosign.pub

# 2. Verify signature
cosign verify-blob --key cosign.pub --signature artifact.bin.sig artifact.bin

# 3. Verify SHA256 hash
sha256sum -c SHA256SUMS.txt
```

## 2.6.4 Verify SBOM

```bash
# Verify SBOM signature
cosign verify-blob \
  --key cosign.pub \
  --signature sbom.cdx.json.sig \
  sbom.cdx.json

# Verify SBOM hash
sha256sum -c sbom.cdx.json.sha256
```

## 2.6.5 Automated Verification in Deployment

### OTA Update Verification (Firmware)

The OTA server only accepts signed artifacts:

```
OTA server receives firmware update
    │
    ├── 1. Verify SHA256 hash
    │   └── Hash of received binary == expected hash?
    │
    ├── 2. Verify Cosign signature
    │   └── cosign verify-blob with stored Public Key
    │
    ├── Both checks passed?
    │   ├── Yes → Approve update for distribution
    │   └── No → Reject update, trigger alert
    │
    └── Logging: Every check is documented
```

### Container Deployment Verification

```yaml
# Kubernetes Admission Controller (example)
# Only signed images are admitted
apiVersion: policy.sigstore.dev/v1alpha1
kind: ClusterImagePolicy
metadata:
  name: bauer-group-signed-images
spec:
  images:
    - glob: "ghcr.io/bauer-group/**"
  authorities:
    - key:
        data: |
          ]]></description>
            <content:encoded><![CDATA[<h1 id="_2-6-verification" tabindex="-1">2.6 Verification <a class="header-anchor" href="#_2-6-verification" aria-label="Permalink to &quot;2.6 Verification&quot;"></a></h1>
<h2 id="_2-6-1-verification-procedures" tabindex="-1">2.6.1 Verification Procedures <a class="header-anchor" href="#_2-6-1-verification-procedures" aria-label="Permalink to &quot;2.6.1 Verification Procedures&quot;"></a></h2>
<p>Verification ensures that delivered artifacts are authentic and unaltered. Users and systems can verify the integrity at any time.</p>
<h2 id="_2-6-2-verify-container-images" tabindex="-1">2.6.2 Verify Container Images <a class="header-anchor" href="#_2-6-2-verify-container-images" aria-label="Permalink to &quot;2.6.2 Verify Container Images&quot;"></a></h2>
<div class="language-bash vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang">bash</span><pre class="shiki shiki-themes github-light github-dark vp-code" tabindex="0" v-pre=""><code><span class="line"><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D"># 1. Download Public Key (one-time)</span></span>
<span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0">curl</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF"> -sL</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF"> https://github.com/bauer-group/</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">&#x3C;</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF">rep</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">o</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">></span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF">/raw/main/cosign.pub</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF"> -o</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF"> cosign.pub</span></span>
<span class="line"></span>
<span class="line"><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D"># 2. Verify image signature</span></span>
<span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0">cosign</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF"> verify</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF"> --key</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF"> cosign.pub</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF"> ghcr.io/bauer-group/</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">&#x3C;</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF">imag</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">e</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">></span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF">:</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">&#x3C;</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF">ta</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">g</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">></span></span></code></pre>
</div><p><strong>Expected output for a valid signature:</strong></p>
<div class="language- vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang"></span><pre class="shiki shiki-themes github-light github-dark vp-code" tabindex="0" v-pre=""><code><span class="line"><span>Verification for ghcr.io/bauer-group/&#x3C;image>:&#x3C;tag> --</span></span>
<span class="line"><span>The following checks were performed on each of these signatures:</span></span>
<span class="line"><span>  - The cosign claims were validated</span></span>
<span class="line"><span>  - The signatures were verified against the specified public key</span></span></code></pre>
</div><h2 id="_2-6-3-verify-binaries-firmware" tabindex="-1">2.6.3 Verify Binaries &amp; Firmware <a class="header-anchor" href="#_2-6-3-verify-binaries-firmware" aria-label="Permalink to &quot;2.6.3 Verify Binaries &amp; Firmware&quot;"></a></h2>
<div class="language-bash vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang">bash</span><pre class="shiki shiki-themes github-light github-dark vp-code" tabindex="0" v-pre=""><code><span class="line"><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D"># 1. Download artifact, signature, and Public Key</span></span>
<span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0">curl</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF"> -sLO</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF"> https://github.com/bauer-group/</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">&#x3C;</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF">rep</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">o</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">></span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF">/releases/download/v1.0.0/artifact.bin</span></span>
<span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0">curl</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF"> -sLO</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF"> https://github.com/bauer-group/</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">&#x3C;</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF">rep</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">o</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">></span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF">/releases/download/v1.0.0/artifact.bin.sig</span></span>
<span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0">curl</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF"> -sLO</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF"> https://github.com/bauer-group/</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">&#x3C;</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF">rep</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">o</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">></span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF">/raw/main/cosign.pub</span></span>
<span class="line"></span>
<span class="line"><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D"># 2. Verify signature</span></span>
<span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0">cosign</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF"> verify-blob</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF"> --key</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF"> cosign.pub</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF"> --signature</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF"> artifact.bin.sig</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF"> artifact.bin</span></span>
<span class="line"></span>
<span class="line"><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D"># 3. Verify SHA256 hash</span></span>
<span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0">sha256sum</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF"> -c</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF"> SHA256SUMS.txt</span></span></code></pre>
</div><h2 id="_2-6-4-verify-sbom" tabindex="-1">2.6.4 Verify SBOM <a class="header-anchor" href="#_2-6-4-verify-sbom" aria-label="Permalink to &quot;2.6.4 Verify SBOM&quot;"></a></h2>
<div class="language-bash vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang">bash</span><pre class="shiki shiki-themes github-light github-dark vp-code" tabindex="0" v-pre=""><code><span class="line"><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D"># Verify SBOM signature</span></span>
<span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0">cosign</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF"> verify-blob</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF"> \</span></span>
<span class="line"><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF">  --key</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF"> cosign.pub</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF"> \</span></span>
<span class="line"><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF">  --signature</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF"> sbom.cdx.json.sig</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF"> \</span></span>
<span class="line"><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF">  sbom.cdx.json</span></span>
<span class="line"></span>
<span class="line"><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D"># Verify SBOM hash</span></span>
<span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0">sha256sum</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF"> -c</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF"> sbom.cdx.json.sha256</span></span></code></pre>
</div><h2 id="_2-6-5-automated-verification-in-deployment" tabindex="-1">2.6.5 Automated Verification in Deployment <a class="header-anchor" href="#_2-6-5-automated-verification-in-deployment" aria-label="Permalink to &quot;2.6.5 Automated Verification in Deployment&quot;"></a></h2>
<h3 id="ota-update-verification-firmware" tabindex="-1">OTA Update Verification (Firmware) <a class="header-anchor" href="#ota-update-verification-firmware" aria-label="Permalink to &quot;OTA Update Verification (Firmware)&quot;"></a></h3>
<p>The OTA server only accepts signed artifacts:</p>
<div class="language- vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang"></span><pre class="shiki shiki-themes github-light github-dark vp-code" tabindex="0" v-pre=""><code><span class="line"><span>OTA server receives firmware update</span></span>
<span class="line"><span>    │</span></span>
<span class="line"><span>    ├── 1. Verify SHA256 hash</span></span>
<span class="line"><span>    │   └── Hash of received binary == expected hash?</span></span>
<span class="line"><span>    │</span></span>
<span class="line"><span>    ├── 2. Verify Cosign signature</span></span>
<span class="line"><span>    │   └── cosign verify-blob with stored Public Key</span></span>
<span class="line"><span>    │</span></span>
<span class="line"><span>    ├── Both checks passed?</span></span>
<span class="line"><span>    │   ├── Yes → Approve update for distribution</span></span>
<span class="line"><span>    │   └── No → Reject update, trigger alert</span></span>
<span class="line"><span>    │</span></span>
<span class="line"><span>    └── Logging: Every check is documented</span></span></code></pre>
</div><h3 id="container-deployment-verification" tabindex="-1">Container Deployment Verification <a class="header-anchor" href="#container-deployment-verification" aria-label="Permalink to &quot;Container Deployment Verification&quot;"></a></h3>
<div class="language-yaml vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang">yaml</span><pre class="shiki shiki-themes github-light github-dark vp-code" tabindex="0" v-pre=""><code><span class="line"><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D"># Kubernetes Admission Controller (example)</span></span>
<span class="line"><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D"># Only signed images are admitted</span></span>
<span class="line"><span style="--shiki-light:#22863A;--shiki-dark:#85E89D">apiVersion</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">: </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF">policy.sigstore.dev/v1alpha1</span></span>
<span class="line"><span style="--shiki-light:#22863A;--shiki-dark:#85E89D">kind</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">: </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF">ClusterImagePolicy</span></span>
<span class="line"><span style="--shiki-light:#22863A;--shiki-dark:#85E89D">metadata</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">:</span></span>
<span class="line"><span style="--shiki-light:#22863A;--shiki-dark:#85E89D">  name</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">: </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF">bauer-group-signed-images</span></span>
<span class="line"><span style="--shiki-light:#22863A;--shiki-dark:#85E89D">spec</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">:</span></span>
<span class="line"><span style="--shiki-light:#22863A;--shiki-dark:#85E89D">  images</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">:</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">    - </span><span style="--shiki-light:#22863A;--shiki-dark:#85E89D">glob</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">: </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF">"ghcr.io/bauer-group/**"</span></span>
<span class="line"><span style="--shiki-light:#22863A;--shiki-dark:#85E89D">  authorities</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">:</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">    - </span><span style="--shiki-light:#22863A;--shiki-dark:#85E89D">key</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">:</span></span>
<span class="line"><span style="--shiki-light:#22863A;--shiki-dark:#85E89D">        data</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">: </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">|</span></span>
<span class="line"><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF">          -----BEGIN PUBLIC KEY-----</span></span>
<span class="line"><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF">          &#x3C;cosign public key></span></span>
<span class="line"><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF">          -----END PUBLIC KEY-----</span></span></code></pre>
</div><h2 id="_2-6-6-verification-by-market-surveillance-authorities" tabindex="-1">2.6.6 Verification by Market Surveillance Authorities <a class="header-anchor" href="#_2-6-6-verification-by-market-surveillance-authorities" aria-label="Permalink to &quot;2.6.6 Verification by Market Surveillance Authorities&quot;"></a></h2>
<p>Market surveillance authorities can verify the integrity of all artifacts as follows:</p>
<ol>
<li><strong>Public Key</strong> -- retrieve from the public repository</li>
<li><strong>Release Assets</strong> -- download (binary, SBOM, signatures, hashes)</li>
<li><strong>Cosign Verify</strong> -- execute verification</li>
<li><strong>SHA256 Hashes</strong> -- compare</li>
</ol>
<p>All required information is publicly accessible via GitHub Releases.</p>
]]></content:encoded>
            <author>BAUER GROUP</author>
        </item>
        <item>
            <title><![CDATA[5.2 Base Image Policy]]></title>
            <link>https://cra.docs.bauer-group.com/en/supply-chain/base-image-policy</link>
            <guid isPermaLink="false">https://cra.docs.bauer-group.com/en/supply-chain/base-image-policy</guid>
            <pubDate>Tue, 10 Feb 2026 16:43:47 GMT</pubDate>
            <description><![CDATA[# 5.2 Base Image Policy

## 5.2.1 Docker Base Image Management

The security of container-based products begins with the base image. This policy defines the requirements for base images and their continuous updating.

## 5.2.2 Requirements

### Permitted Base Images

| Category | Permitted Images | Rationale |
|]]></description>
            <content:encoded><![CDATA[<h1 id="_5-2-base-image-policy" tabindex="-1">5.2 Base Image Policy <a class="header-anchor" href="#_5-2-base-image-policy" aria-label="Permalink to &quot;5.2 Base Image Policy&quot;"></a></h1>
<h2 id="_5-2-1-docker-base-image-management" tabindex="-1">5.2.1 Docker Base Image Management <a class="header-anchor" href="#_5-2-1-docker-base-image-management" aria-label="Permalink to &quot;5.2.1 Docker Base Image Management&quot;"></a></h2>
<p>The security of container-based products begins with the base image. This policy defines the requirements for base images and their continuous updating.</p>
<h2 id="_5-2-2-requirements" tabindex="-1">5.2.2 Requirements <a class="header-anchor" href="#_5-2-2-requirements" aria-label="Permalink to &quot;5.2.2 Requirements&quot;"></a></h2>
<h3 id="permitted-base-images" tabindex="-1">Permitted Base Images <a class="header-anchor" href="#permitted-base-images" aria-label="Permalink to &quot;Permitted Base Images&quot;"></a></h3>
<table tabindex="0">
<thead>
<tr>
<th>Category</th>
<th>Permitted Images</th>
<th>Rationale</th>
</tr>
</thead>
<tbody>
<tr>
<td><strong>Preferred</strong></td>
<td><code>alpine</code>, <code>distroless</code>, <code>scratch</code></td>
<td>Minimal attack surface</td>
</tr>
<tr>
<td><strong>Permitted</strong></td>
<td><code>debian-slim</code>, <code>ubuntu</code> (LTS)</td>
<td>Broad compatibility</td>
</tr>
<tr>
<td><strong>Restricted</strong></td>
<td><code>node</code>, <code>python</code>, <code>dotnet</code> (official)</td>
<td>Official images only</td>
</tr>
<tr>
<td><strong>Prohibited</strong></td>
<td>Unknown / unofficial images</td>
<td>Not verifiable</td>
</tr>
</tbody>
</table>
<h3 id="quality-criteria" tabindex="-1">Quality Criteria <a class="header-anchor" href="#quality-criteria" aria-label="Permalink to &quot;Quality Criteria&quot;"></a></h3>
<ul>
<li><strong>Official Source:</strong> Only Docker Official Images or Verified Publisher</li>
<li><strong>Current Version:</strong> Latest LTS or stable version</li>
<li><strong>Minimal Size:</strong> Prefer slim/Alpine variants</li>
<li><strong>Known Vulnerabilities:</strong> No unpatched CRITICAL CVEs</li>
</ul>
<h2 id="_5-2-3-automated-base-image-monitoring" tabindex="-1">5.2.3 Automated Base Image Monitoring <a class="header-anchor" href="#_5-2-3-automated-base-image-monitoring" aria-label="Permalink to &quot;5.2.3 Automated Base Image Monitoring&quot;"></a></h2>
<p>The existing workflow <code>modules-docker-base-image-monitor.yml</code> continuously monitors the base images of all container projects.</p>
<h3 id="how-it-works" tabindex="-1">How It Works <a class="header-anchor" href="#how-it-works" aria-label="Permalink to &quot;How It Works&quot;"></a></h3>
<div class="language- vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang"></span><pre class="shiki shiki-themes github-light github-dark vp-code" tabindex="0" v-pre=""><code><span class="line"><span>Scheduled (weekly/daily)</span></span>
<span class="line"><span>    │</span></span>
<span class="line"><span>    ├── Check Docker Hub API / GHCR</span></span>
<span class="line"><span>    │   └── New version of the base image available?</span></span>
<span class="line"><span>    │</span></span>
<span class="line"><span>    ├── New version detected</span></span>
<span class="line"><span>    │   ├── Create PR with update</span></span>
<span class="line"><span>    │   ├── Trigger CI/CD pipeline</span></span>
<span class="line"><span>    │   │   ├── Build with new base image</span></span>
<span class="line"><span>    │   │   ├── Trivy scan of the new image</span></span>
<span class="line"><span>    │   │   └── Tests</span></span>
<span class="line"><span>    │   │</span></span>
<span class="line"><span>    │   └── On success:</span></span>
<span class="line"><span>    │       ├── Auto-merge (if configured)</span></span>
<span class="line"><span>    │       └── Or: Review by DevOps</span></span>
<span class="line"><span>    │</span></span>
<span class="line"><span>    └── No new version</span></span>
<span class="line"><span>        └── Next scan cycle</span></span></code></pre>
</div><h3 id="dependabot-docker-monitoring" tabindex="-1">Dependabot Docker Monitoring <a class="header-anchor" href="#dependabot-docker-monitoring" aria-label="Permalink to &quot;Dependabot Docker Monitoring&quot;"></a></h3>
<p>In addition to the base image monitor, Dependabot monitors Docker ecosystems:</p>
<div class="language-yaml vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang">yaml</span><pre class="shiki shiki-themes github-light github-dark vp-code" tabindex="0" v-pre=""><code><span class="line"><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D"># .github/dependabot.yml</span></span>
<span class="line"><span style="--shiki-light:#22863A;--shiki-dark:#85E89D">updates</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">:</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">  - </span><span style="--shiki-light:#22863A;--shiki-dark:#85E89D">package-ecosystem</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">: </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF">"docker"</span></span>
<span class="line"><span style="--shiki-light:#22863A;--shiki-dark:#85E89D">    directory</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">: </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF">"/"</span></span>
<span class="line"><span style="--shiki-light:#22863A;--shiki-dark:#85E89D">    schedule</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">:</span></span>
<span class="line"><span style="--shiki-light:#22863A;--shiki-dark:#85E89D">      interval</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">: </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF">"weekly"</span></span>
<span class="line"><span style="--shiki-light:#22863A;--shiki-dark:#85E89D">    labels</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">:</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">      - </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF">"dependencies"</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">      - </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF">"docker"</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">      - </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF">"security"</span></span></code></pre>
</div><h2 id="_5-2-4-multi-stage-builds" tabindex="-1">5.2.4 Multi-Stage Builds <a class="header-anchor" href="#_5-2-4-multi-stage-builds" aria-label="Permalink to &quot;5.2.4 Multi-Stage Builds&quot;"></a></h2>
<p>For production images, we use multi-stage builds:</p>
<div class="language-dockerfile vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang">dockerfile</span><pre class="shiki shiki-themes github-light github-dark vp-code" tabindex="0" v-pre=""><code><span class="line"><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D"># Stage 1: Build</span></span>
<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">FROM</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8"> node:20-alpine </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">AS</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8"> builder</span></span>
<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">WORKDIR</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8"> /app</span></span>
<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">COPY</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8"> . .</span></span>
<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">RUN</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8"> npm ci &#x26;&#x26; npm run build</span></span>
<span class="line"></span>
<span class="line"><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D"># Stage 2: Production (minimal image)</span></span>
<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">FROM</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8"> gcr.io/distroless/nodejs20-debian12</span></span>
<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">COPY</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8"> --from=builder /app/dist /app</span></span>
<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">CMD</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8"> [</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF">"app/server.js"</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">]</span></span></code></pre>
</div><p><strong>Benefits:</strong></p>
<ul>
<li>Build tools are not included in the production image</li>
<li>Minimal attack surface</li>
<li>Smaller image size</li>
<li>Fewer potential vulnerabilities</li>
</ul>
<h2 id="_5-2-5-patch-process-for-base-images" tabindex="-1">5.2.5 Patch Process for Base Images <a class="header-anchor" href="#_5-2-5-patch-process-for-base-images" aria-label="Permalink to &quot;5.2.5 Patch Process for Base Images&quot;"></a></h2>
<table tabindex="0">
<thead>
<tr>
<th>CVE Severity in Base Image</th>
<th>Action</th>
<th>Deadline</th>
</tr>
</thead>
<tbody>
<tr>
<td>CRITICAL</td>
<td>Immediate update + rebuild + release</td>
<td>48h</td>
</tr>
<tr>
<td>HIGH</td>
<td>Update in next patch release</td>
<td>7 days</td>
</tr>
<tr>
<td>MEDIUM</td>
<td>Update in next minor release</td>
<td>30 days</td>
</tr>
<tr>
<td>LOW</td>
<td>Update in regular cycle</td>
<td>Next release</td>
</tr>
</tbody>
</table>
]]></content:encoded>
            <author>BAUER GROUP</author>
        </item>
        <item>
            <title><![CDATA[5.1 Dependency Policy]]></title>
            <link>https://cra.docs.bauer-group.com/en/supply-chain/dependency-policy</link>
            <guid isPermaLink="false">https://cra.docs.bauer-group.com/en/supply-chain/dependency-policy</guid>
            <pubDate>Tue, 10 Feb 2026 16:43:47 GMT</pubDate>
            <description><![CDATA[# 5.1 Dependency Policy

## 5.1.1 Principles

### 1. Principle of Minimality

Only use dependencies that are necessary for the product's functionality. Unnecessary dependencies increase the attack surface.

### 2. Trustworthiness

Dependencies must originate from trustworthy sources and be actively maintained.

### 3. License Compliance

Only use dependencies with compatible licenses.

### 4. Versioning

Dependencies must be pinned to specific versions (no `latest`, no ranges).

## 5.1.2 Permitted Licenses

| License | Status |
|]]></description>
            <content:encoded><![CDATA[<h1 id="_5-1-dependency-policy" tabindex="-1">5.1 Dependency Policy <a class="header-anchor" href="#_5-1-dependency-policy" aria-label="Permalink to &quot;5.1 Dependency Policy&quot;"></a></h1>
<h2 id="_5-1-1-principles" tabindex="-1">5.1.1 Principles <a class="header-anchor" href="#_5-1-1-principles" aria-label="Permalink to &quot;5.1.1 Principles&quot;"></a></h2>
<h3 id="_1-principle-of-minimality" tabindex="-1">1. Principle of Minimality <a class="header-anchor" href="#_1-principle-of-minimality" aria-label="Permalink to &quot;1. Principle of Minimality&quot;"></a></h3>
<p>Only use dependencies that are necessary for the product's functionality. Unnecessary dependencies increase the attack surface.</p>
<h3 id="_2-trustworthiness" tabindex="-1">2. Trustworthiness <a class="header-anchor" href="#_2-trustworthiness" aria-label="Permalink to &quot;2. Trustworthiness&quot;"></a></h3>
<p>Dependencies must originate from trustworthy sources and be actively maintained.</p>
<h3 id="_3-license-compliance" tabindex="-1">3. License Compliance <a class="header-anchor" href="#_3-license-compliance" aria-label="Permalink to &quot;3. License Compliance&quot;"></a></h3>
<p>Only use dependencies with compatible licenses.</p>
<h3 id="_4-versioning" tabindex="-1">4. Versioning <a class="header-anchor" href="#_4-versioning" aria-label="Permalink to &quot;4. Versioning&quot;"></a></h3>
<p>Dependencies must be pinned to specific versions (no <code>latest</code>, no ranges).</p>
<h2 id="_5-1-2-permitted-licenses" tabindex="-1">5.1.2 Permitted Licenses <a class="header-anchor" href="#_5-1-2-permitted-licenses" aria-label="Permalink to &quot;5.1.2 Permitted Licenses&quot;"></a></h2>
<table tabindex="0">
<thead>
<tr>
<th>License</th>
<th>Status</th>
</tr>
</thead>
<tbody>
<tr>
<td>MIT</td>
<td>✅ Permitted</td>
</tr>
<tr>
<td>Apache-2.0</td>
<td>✅ Permitted</td>
</tr>
<tr>
<td>BSD-2-Clause</td>
<td>✅ Permitted</td>
</tr>
<tr>
<td>BSD-3-Clause</td>
<td>✅ Permitted</td>
</tr>
<tr>
<td>ISC</td>
<td>✅ Permitted</td>
</tr>
<tr>
<td>CC0-1.0</td>
<td>✅ Permitted</td>
</tr>
<tr>
<td>Unlicense</td>
<td>✅ Permitted</td>
</tr>
<tr>
<td>MPL-2.0</td>
<td>⚠️ Review required</td>
</tr>
</tbody>
</table>
<h2 id="_5-1-3-prohibited-licenses" tabindex="-1">5.1.3 Prohibited Licenses <a class="header-anchor" href="#_5-1-3-prohibited-licenses" aria-label="Permalink to &quot;5.1.3 Prohibited Licenses&quot;"></a></h2>
<table tabindex="0">
<thead>
<tr>
<th>License</th>
<th>Status</th>
<th>Reason</th>
</tr>
</thead>
<tbody>
<tr>
<td>GPL-2.0</td>
<td>❌ Prohibited</td>
<td>Copyleft – may affect proprietary code</td>
</tr>
<tr>
<td>GPL-3.0</td>
<td>❌ Prohibited</td>
<td>Strong copyleft</td>
</tr>
<tr>
<td>AGPL-3.0</td>
<td>❌ Prohibited</td>
<td>Network copyleft</td>
</tr>
<tr>
<td>SSPL</td>
<td>❌ Prohibited</td>
<td>Server-side copyleft</td>
</tr>
<tr>
<td>EUPL (without review)</td>
<td>⚠️ Review</td>
<td>Compatibility review required</td>
</tr>
</tbody>
</table>
<p>License compliance checks are performed automatically via <code>modules-license-compliance.yml</code>.</p>
<h2 id="_5-1-4-evaluation-criteria-for-new-dependencies" tabindex="-1">5.1.4 Evaluation Criteria for New Dependencies <a class="header-anchor" href="#_5-1-4-evaluation-criteria-for-new-dependencies" aria-label="Permalink to &quot;5.1.4 Evaluation Criteria for New Dependencies&quot;"></a></h2>
<p>Before adopting a new dependency:</p>
<table tabindex="0">
<thead>
<tr>
<th>Criterion</th>
<th>Minimum Requirement</th>
</tr>
</thead>
<tbody>
<tr>
<td><strong>Maintenance</strong></td>
<td>Last commit &lt; 6 months</td>
</tr>
<tr>
<td><strong>Community</strong></td>
<td>&gt;100 GitHub Stars or established project</td>
</tr>
<tr>
<td><strong>Security History</strong></td>
<td>No unresolved CRITICAL CVEs</td>
</tr>
<tr>
<td><strong>License</strong></td>
<td>On the permitted list</td>
</tr>
<tr>
<td><strong>Transitive Dependencies</strong></td>
<td>No known risks</td>
</tr>
<tr>
<td><strong>Maintainer</strong></td>
<td>Identifiable, no anonymous throwaway accounts</td>
</tr>
</tbody>
</table>
<h2 id="_5-1-5-automated-enforcement" tabindex="-1">5.1.5 Automated Enforcement <a class="header-anchor" href="#_5-1-5-automated-enforcement" aria-label="Permalink to &quot;5.1.5 Automated Enforcement&quot;"></a></h2>
<h3 id="ci-cd-pipeline" tabindex="-1">CI/CD Pipeline <a class="header-anchor" href="#ci-cd-pipeline" aria-label="Permalink to &quot;CI/CD Pipeline&quot;"></a></h3>
<div class="language-yaml vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang">yaml</span><pre class="shiki shiki-themes github-light github-dark vp-code" tabindex="0" v-pre=""><code><span class="line"><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D"># Every PR is checked for:</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">- </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF">Security Scan (Trivy/Grype) → Blocks on CRITICAL</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">- </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF">License Compliance → Blocks on prohibited licenses</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">- </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF">Dependabot Alerts → Info on new vulnerabilities</span></span></code></pre>
</div><h3 id="dependabot-configuration" tabindex="-1">Dependabot Configuration <a class="header-anchor" href="#dependabot-configuration" aria-label="Permalink to &quot;Dependabot Configuration&quot;"></a></h3>
<ul>
<li>Weekly checks across all ecosystems</li>
<li>Automatic PRs for security updates</li>
<li>Auto-merge for patch updates of trusted packages</li>
</ul>
<h2 id="_5-1-6-process-for-supply-chain-attacks" tabindex="-1">5.1.6 Process for Supply Chain Attacks <a class="header-anchor" href="#_5-1-6-process-for-supply-chain-attacks" aria-label="Permalink to &quot;5.1.6 Process for Supply Chain Attacks&quot;"></a></h2>
<p>In case of suspected compromised dependencies (dependency confusion, typosquatting, maintainer takeover):</p>
<ol>
<li><strong>Immediately:</strong> Identify the affected dependency across all projects (SBOM search)</li>
<li><strong>Within 4h:</strong> Pin the dependency to a safe version or remove it</li>
<li><strong>Within 24h:</strong> Verify whether the compromised version was ever deployed to production</li>
<li><strong>If compromised:</strong> Activate the incident response playbook</li>
</ol>
]]></content:encoded>
            <author>BAUER GROUP</author>
        </item>
        <item>
            <title><![CDATA[5.4 Economic Operator Identification (Art. 21)]]></title>
            <link>https://cra.docs.bauer-group.com/en/supply-chain/economic-operator-identification</link>
            <guid isPermaLink="false">https://cra.docs.bauer-group.com/en/supply-chain/economic-operator-identification</guid>
            <pubDate>Tue, 10 Feb 2026 16:43:47 GMT</pubDate>
            <description><![CDATA[# 5.4 Economic Operator Identification (Art. 21)

## 5.4.1 Overview

Art. 21 CRA requires all economic operators to be able to identify their suppliers and customers within the supply chain. This information must be provided to market surveillance authorities upon request. The objective is to ensure complete traceability of products with digital elements across the entire supply chain.

::: info LEGAL BASIS
**Art. 21 CRA:** *"Economic operators shall, on request, identify the following to the market surveillance authorities:*

- *any economic operator who has supplied them with a product;*
- *any economic operator to whom they have supplied a product.*

*Economic operators shall be able to present this information for a period of **10 years** after they have been supplied with the product and for 10 years after they have supplied the product."*
:::

## 5.4.2 Affected Economic Operators

The identification obligation applies to all roles in the supply chain:

| Economic Operator | Identification Obligation | Reference |
|]]></description>
            <content:encoded><![CDATA[<h1 id="_5-4-economic-operator-identification-art-21" tabindex="-1">5.4 Economic Operator Identification (Art. 21) <a class="header-anchor" href="#_5-4-economic-operator-identification-art-21" aria-label="Permalink to &quot;5.4 Economic Operator Identification (Art. 21)&quot;"></a></h1>
<h2 id="_5-4-1-overview" tabindex="-1">5.4.1 Overview <a class="header-anchor" href="#_5-4-1-overview" aria-label="Permalink to &quot;5.4.1 Overview&quot;"></a></h2>
<p>Art. 21 CRA requires all economic operators to be able to identify their suppliers and customers within the supply chain. This information must be provided to market surveillance authorities upon request. The objective is to ensure complete traceability of products with digital elements across the entire supply chain.</p>
<div class="info custom-block"><p class="custom-block-title">LEGAL BASIS</p>
<p><strong>Art. 21 CRA:</strong> <em>&quot;Economic operators shall, on request, identify the following to the market surveillance authorities:</em></p>
<ul>
<li><em>any economic operator who has supplied them with a product;</em></li>
<li><em>any economic operator to whom they have supplied a product.</em></li>
</ul>
<p><em>Economic operators shall be able to present this information for a period of <strong>10 years</strong> after they have been supplied with the product and for 10 years after they have supplied the product.&quot;</em></p>
</div>
<h2 id="_5-4-2-affected-economic-operators" tabindex="-1">5.4.2 Affected Economic Operators <a class="header-anchor" href="#_5-4-2-affected-economic-operators" aria-label="Permalink to &quot;5.4.2 Affected Economic Operators&quot;"></a></h2>
<p>The identification obligation applies to all roles in the supply chain:</p>
<table tabindex="0">
<thead>
<tr>
<th>Economic Operator</th>
<th>Identification Obligation</th>
<th>Reference</th>
</tr>
</thead>
<tbody>
<tr>
<td>Manufacturer</td>
<td>Customers (importers, distributors)</td>
<td>Art. 10, Art. 21</td>
</tr>
<tr>
<td>Importer</td>
<td>Manufacturer (supplier) + distributors (customers)</td>
<td>Art. 15, Art. 21</td>
</tr>
<tr>
<td>Distributor</td>
<td>Importer/manufacturer (supplier) + customers</td>
<td>Art. 17, Art. 21</td>
</tr>
<tr>
<td>Authorised Representative</td>
<td>Manufacturer (principal) + customers</td>
<td>Art. 16, Art. 21</td>
</tr>
</tbody>
</table>
<h2 id="_5-4-3-documentation-requirements" tabindex="-1">5.4.3 Documentation Requirements <a class="header-anchor" href="#_5-4-3-documentation-requirements" aria-label="Permalink to &quot;5.4.3 Documentation Requirements&quot;"></a></h2>
<h3 id="minimum-record-contents" tabindex="-1">Minimum Record Contents <a class="header-anchor" href="#minimum-record-contents" aria-label="Permalink to &quot;Minimum Record Contents&quot;"></a></h3>
<p>The following data must be maintained for each CRA-relevant transaction:</p>
<ul>
<li><strong>Identity</strong> of the supplier or customer (company name, address, contact details)</li>
<li><strong>Product designation</strong> (type, version, serial number or unique identifier)</li>
<li><strong>Date</strong> of supply or receipt</li>
<li><strong>Quantity</strong> and type of products supplied</li>
</ul>
<h3 id="retention-period" tabindex="-1">Retention Period <a class="header-anchor" href="#retention-period" aria-label="Permalink to &quot;Retention Period&quot;"></a></h3>
<div class="warning custom-block"><p class="custom-block-title">RETENTION OBLIGATION</p>
<p>All identification records must be retained for at least <strong>10 years</strong> from the date of supply and must be available to market surveillance authorities upon request.</p>
</div>
<h2 id="_5-4-4-bauer-group-implementation" tabindex="-1">5.4.4 BAUER GROUP Implementation <a class="header-anchor" href="#_5-4-4-bauer-group-implementation" aria-label="Permalink to &quot;5.4.4 BAUER GROUP Implementation&quot;"></a></h2>
<h3 id="incoming-supply-suppliers" tabindex="-1">Incoming Supply (Suppliers) <a class="header-anchor" href="#incoming-supply-suppliers" aria-label="Permalink to &quot;Incoming Supply (Suppliers)&quot;"></a></h3>
<table tabindex="0">
<thead>
<tr>
<th>Measure</th>
<th>System</th>
<th>Status</th>
</tr>
</thead>
<tbody>
<tr>
<td>Supplier master data</td>
<td>ERP / Procurement system</td>
<td>✅</td>
</tr>
<tr>
<td>Goods receipt recording with product allocation</td>
<td>ERP</td>
<td>✅</td>
</tr>
<tr>
<td>Archival of procurement documents</td>
<td>DMS</td>
<td>✅</td>
</tr>
<tr>
<td>Retention period ≥ 10 years configured</td>
<td>DMS / ERP</td>
<td>⚠️ To be verified</td>
</tr>
</tbody>
</table>
<h3 id="outgoing-supply-customers" tabindex="-1">Outgoing Supply (Customers) <a class="header-anchor" href="#outgoing-supply-customers" aria-label="Permalink to &quot;Outgoing Supply (Customers)&quot;"></a></h3>
<table tabindex="0">
<thead>
<tr>
<th>Measure</th>
<th>System</th>
<th>Status</th>
</tr>
</thead>
<tbody>
<tr>
<td>Customer master data</td>
<td>ERP / CRM</td>
<td>✅</td>
</tr>
<tr>
<td>Order processing and delivery documentation</td>
<td>ERP</td>
<td>✅</td>
</tr>
<tr>
<td>Archival of sales and distribution documents</td>
<td>DMS</td>
<td>✅</td>
</tr>
<tr>
<td>Retention period ≥ 10 years configured</td>
<td>DMS / ERP</td>
<td>⚠️ To be verified</td>
</tr>
</tbody>
</table>
<h3 id="process-for-authority-requests" tabindex="-1">Process for Authority Requests <a class="header-anchor" href="#process-for-authority-requests" aria-label="Permalink to &quot;Process for Authority Requests&quot;"></a></h3>
<ol>
<li>Request from market surveillance authority is received</li>
<li>Forwarding to ISB and the responsible department</li>
<li>Identification of the affected product and relevant transactions</li>
<li>Compilation of supplier and customer data from ERP/DMS</li>
<li>Submission to the authority within the specified deadline</li>
</ol>
<h2 id="_5-4-5-checklist" tabindex="-1">5.4.5 Checklist <a class="header-anchor" href="#_5-4-5-checklist" aria-label="Permalink to &quot;5.4.5 Checklist&quot;"></a></h2>
<ul>
<li>[ ] ERP retention periods for supplier and customer data verified at ≥ 10 years</li>
<li>[ ] DMS archival policies for procurement and sales documents updated</li>
<li>[ ] Process for authority requests regarding economic operator identification documented</li>
<li>[ ] Responsibilities for responding to Art. 21 requests defined</li>
<li>[ ] Regular review of data quality in master data systems</li>
</ul>
<h2 id="_5-4-6-cross-references" tabindex="-1">5.4.6 Cross-References <a class="header-anchor" href="#_5-4-6-cross-references" aria-label="Permalink to &quot;5.4.6 Cross-References&quot;"></a></h2>
<ul>
<li><a href="/en/supply-chain/">Supply Chain Security</a> -- Overview of supply chain security measures</li>
<li><a href="/en/overview/market-surveillance">Market Surveillance</a> -- Cooperation with authorities and response processes</li>
<li><a href="/en/overview/importer-obligations">Importer Obligations</a> -- Specific obligations for non-EU suppliers</li>
<li><a href="/en/overview/distributor-obligations">Distributor Obligations</a> -- Due diligence obligations for distribution</li>
</ul>
]]></content:encoded>
            <author>BAUER GROUP</author>
        </item>
        <item>
            <title><![CDATA[5.3 Third-Party Assessment]]></title>
            <link>https://cra.docs.bauer-group.com/en/supply-chain/third-party-assessment</link>
            <guid isPermaLink="false">https://cra.docs.bauer-group.com/en/supply-chain/third-party-assessment</guid>
            <pubDate>Tue, 10 Feb 2026 16:43:47 GMT</pubDate>
            <description><![CDATA[# 5.3 Third-Party Assessment

## 5.3.1 Assessment of Third-Party Components

Pursuant to Art. 10(4) CRA, the manufacturer must exercise due diligence when integrating third-party components. This page describes the assessment process.

## 5.3.2 Assessment Framework

### Automated Checks (for every dependency)

These checks are performed automatically in the CI/CD pipeline:

| Check | Tool | Blocks Build |
|]]></description>
            <content:encoded><![CDATA[<h1 id="_5-3-third-party-assessment" tabindex="-1">5.3 Third-Party Assessment <a class="header-anchor" href="#_5-3-third-party-assessment" aria-label="Permalink to &quot;5.3 Third-Party Assessment&quot;"></a></h1>
<h2 id="_5-3-1-assessment-of-third-party-components" tabindex="-1">5.3.1 Assessment of Third-Party Components <a class="header-anchor" href="#_5-3-1-assessment-of-third-party-components" aria-label="Permalink to &quot;5.3.1 Assessment of Third-Party Components&quot;"></a></h2>
<p>Pursuant to Art. 10(4) CRA, the manufacturer must exercise due diligence when integrating third-party components. This page describes the assessment process.</p>
<h2 id="_5-3-2-assessment-framework" tabindex="-1">5.3.2 Assessment Framework <a class="header-anchor" href="#_5-3-2-assessment-framework" aria-label="Permalink to &quot;5.3.2 Assessment Framework&quot;"></a></h2>
<h3 id="automated-checks-for-every-dependency" tabindex="-1">Automated Checks (for every dependency) <a class="header-anchor" href="#automated-checks-for-every-dependency" aria-label="Permalink to &quot;Automated Checks (for every dependency)&quot;"></a></h3>
<p>These checks are performed automatically in the CI/CD pipeline:</p>
<table tabindex="0">
<thead>
<tr>
<th>Check</th>
<th>Tool</th>
<th style="text-align:center">Blocks Build</th>
</tr>
</thead>
<tbody>
<tr>
<td>Known CVEs (CRITICAL)</td>
<td>Trivy / Grype</td>
<td style="text-align:center">✅</td>
</tr>
<tr>
<td>Known CVEs (HIGH)</td>
<td>Trivy / Grype</td>
<td style="text-align:center">✅</td>
</tr>
<tr>
<td>Prohibited Licenses</td>
<td>License Compliance</td>
<td style="text-align:center">✅</td>
</tr>
<tr>
<td>Exposed Secrets</td>
<td>Gitleaks / GitGuardian</td>
<td style="text-align:center">✅</td>
</tr>
</tbody>
</table>
<h3 id="manual-review-for-new-critical-dependencies" tabindex="-1">Manual Review (for new critical dependencies) <a class="header-anchor" href="#manual-review-for-new-critical-dependencies" aria-label="Permalink to &quot;Manual Review (for new critical dependencies)&quot;"></a></h3>
<p>When introducing new dependencies in security-critical areas, an additional manual assessment is conducted:</p>
<table tabindex="0">
<thead>
<tr>
<th>Criterion</th>
<th>Assessment</th>
<th>Weight</th>
</tr>
</thead>
<tbody>
<tr>
<td><strong>Maintainer Reputation</strong></td>
<td>Verified account, known organisation</td>
<td>High</td>
</tr>
<tr>
<td><strong>Project Activity</strong></td>
<td>Regular commits, active issue resolution</td>
<td>High</td>
</tr>
<tr>
<td><strong>Security Response</strong></td>
<td>Response time to reported vulnerabilities</td>
<td>High</td>
</tr>
<tr>
<td><strong>Code Quality</strong></td>
<td>Tests, CI/CD, code reviews</td>
<td>Medium</td>
</tr>
<tr>
<td><strong>Dependency Depth</strong></td>
<td>Transitive dependencies (fewer = better)</td>
<td>Medium</td>
</tr>
<tr>
<td><strong>Alternatives</strong></td>
<td>Are there more secure alternatives?</td>
<td>Medium</td>
</tr>
<tr>
<td><strong>Adoption</strong></td>
<td>Download numbers, user base</td>
<td>Low</td>
</tr>
</tbody>
</table>
<h3 id="rating-scale" tabindex="-1">Rating Scale <a class="header-anchor" href="#rating-scale" aria-label="Permalink to &quot;Rating Scale&quot;"></a></h3>
<table tabindex="0">
<thead>
<tr>
<th>Rating</th>
<th>Meaning</th>
<th>Action</th>
</tr>
</thead>
<tbody>
<tr>
<td><strong>A – Trustworthy</strong></td>
<td>All criteria met, actively maintained</td>
<td>Approved for use</td>
</tr>
<tr>
<td><strong>B – Acceptable</strong></td>
<td>Minor limitations, overall trustworthy</td>
<td>Use with monitoring</td>
</tr>
<tr>
<td><strong>C – At Risk</strong></td>
<td>Significant limitations</td>
<td>Use only with justification + review</td>
</tr>
<tr>
<td><strong>D – Not Acceptable</strong></td>
<td>Critical limitations</td>
<td>Use prohibited</td>
</tr>
</tbody>
</table>
<h2 id="_5-3-3-special-case-vendor-sdks-embedded" tabindex="-1">5.3.3 Special Case: Vendor SDKs (Embedded) <a class="header-anchor" href="#_5-3-3-special-case-vendor-sdks-embedded" aria-label="Permalink to &quot;5.3.3 Special Case: Vendor SDKs (Embedded)&quot;"></a></h2>
<p>For firmware projects, vendor SDKs (ESP-IDF, STM32 HAL, Zephyr) are assessed separately:</p>
<table tabindex="0">
<thead>
<tr>
<th>SDK</th>
<th>Rating</th>
<th>Rationale</th>
</tr>
</thead>
<tbody>
<tr>
<td>ESP-IDF (Espressif)</td>
<td>A</td>
<td>Official SDK, actively maintained, SBOM available</td>
</tr>
<tr>
<td>STM32 HAL (STMicroelectronics)</td>
<td>A</td>
<td>Official SDK, industry-grade</td>
</tr>
<tr>
<td>Zephyr RTOS</td>
<td>A</td>
<td>Linux Foundation project, Security WG active</td>
</tr>
<tr>
<td>PlatformIO</td>
<td>B</td>
<td>Community project, widely adopted</td>
</tr>
</tbody>
</table>
<h2 id="_5-3-4-continuous-monitoring" tabindex="-1">5.3.4 Continuous Monitoring <a class="header-anchor" href="#_5-3-4-continuous-monitoring" aria-label="Permalink to &quot;5.3.4 Continuous Monitoring&quot;"></a></h2>
<p>All integrated third-party components are continuously monitored after integration:</p>
<ol>
<li><strong>Dependabot</strong> – Weekly checks for new versions and CVEs</li>
<li><strong>CVE Monitor</strong> – Daily SBOM scan against current CVE databases</li>
<li><strong>License Compliance</strong> – On every build</li>
<li><strong>Base Image Monitor</strong> – Weekly checks for new base image versions</li>
</ol>
<h2 id="_5-3-5-documentation" tabindex="-1">5.3.5 Documentation <a class="header-anchor" href="#_5-3-5-documentation" aria-label="Permalink to &quot;5.3.5 Documentation&quot;"></a></h2>
<p>For the technical documentation (Annex VII CRA), a list of all third-party components is maintained:</p>
<ul>
<li>The <strong>SBOM</strong> serves as the machine-readable inventory</li>
<li>Manual assessments are stored in the product documentation folder</li>
<li>License compliance reports are archived as build artefacts</li>
</ul>
]]></content:encoded>
            <author>BAUER GROUP</author>
        </item>
        <item>
            <title><![CDATA[6.6 Annex VII – Guide]]></title>
            <link>https://cra.docs.bauer-group.com/en/technical-documentation/annex-vii-guide</link>
            <guid isPermaLink="false">https://cra.docs.bauer-group.com/en/technical-documentation/annex-vii-guide</guid>
            <pubDate>Tue, 10 Feb 2026 16:43:47 GMT</pubDate>
            <description><![CDATA[# 6.6 Annex VII – Guide

## 6.6.1 Overview

Annex VII of the CRA defines the complete content of the technical documentation that every manufacturer must create and retain for 10 years. This guide explains each requirement in detail and references the respective documentation location.

::: info LEGAL BASIS
**Art. 31 CRA:** The technical documentation shall be drawn up before the product is placed on the market and shall be kept up to date on a continuous basis.

**Annex VII CRA:** Content of the technical documentation.
:::

## 6.6.2 Requirement 1 – General Product Description

**Annex VII No. 1:** A general description of the product with digital elements, including:

| Element | Description | Documentation Location |
|]]></description>
            <content:encoded><![CDATA[<h1 id="_6-6-annex-vii-–-guide" tabindex="-1">6.6 Annex VII – Guide <a class="header-anchor" href="#_6-6-annex-vii-–-guide" aria-label="Permalink to &quot;6.6 Annex VII – Guide&quot;"></a></h1>
<h2 id="_6-6-1-overview" tabindex="-1">6.6.1 Overview <a class="header-anchor" href="#_6-6-1-overview" aria-label="Permalink to &quot;6.6.1 Overview&quot;"></a></h2>
<p>Annex VII of the CRA defines the complete content of the technical documentation that every manufacturer must create and retain for 10 years. This guide explains each requirement in detail and references the respective documentation location.</p>
<div class="info custom-block"><p class="custom-block-title">LEGAL BASIS</p>
<p><strong>Art. 31 CRA:</strong> The technical documentation shall be drawn up before the product is placed on the market and shall be kept up to date on a continuous basis.</p>
<p><strong>Annex VII CRA:</strong> Content of the technical documentation.</p>
</div>
<h2 id="_6-6-2-requirement-1-–-general-product-description" tabindex="-1">6.6.2 Requirement 1 – General Product Description <a class="header-anchor" href="#_6-6-2-requirement-1-–-general-product-description" aria-label="Permalink to &quot;6.6.2 Requirement 1 – General Product Description&quot;"></a></h2>
<p><strong>Annex VII No. 1:</strong> A general description of the product with digital elements, including:</p>
<table tabindex="0">
<thead>
<tr>
<th>Element</th>
<th>Description</th>
<th>Documentation Location</th>
</tr>
</thead>
<tbody>
<tr>
<td>Intended Use</td>
<td>Purpose, target audience, usage scenarios</td>
<td><a href="/en/technical-documentation/product-description">Product Description</a></td>
</tr>
<tr>
<td>Versions</td>
<td>Affected software/firmware versions</td>
<td>Release Notes, SBOM</td>
</tr>
<tr>
<td>Hardware Requirements</td>
<td>If applicable: hardware requirements</td>
<td>Product Description</td>
</tr>
<tr>
<td>Basic Characteristics</td>
<td>Functional scope, core functions</td>
<td>Product Description</td>
</tr>
</tbody>
</table>
<p><strong>Implementation:</strong> One document per product following the <a href="/en/technical-documentation/product-description">Product Description Template</a>.</p>
<hr>
<h2 id="_6-6-3-requirement-2-–-design-and-development-description" tabindex="-1">6.6.3 Requirement 2 – Design and Development Description <a class="header-anchor" href="#_6-6-3-requirement-2-–-design-and-development-description" aria-label="Permalink to &quot;6.6.3 Requirement 2 – Design and Development Description&quot;"></a></h2>
<p><strong>Annex VII No. 2:</strong> Description of the design and development processes, including:</p>
<table tabindex="0">
<thead>
<tr>
<th>Element</th>
<th>Description</th>
<th>Documentation Location</th>
</tr>
</thead>
<tbody>
<tr>
<td>Security Architecture</td>
<td>Overview of security measures</td>
<td><a href="/en/technical-documentation/security-architecture">Security Architecture</a></td>
</tr>
<tr>
<td>Data Processing</td>
<td>What data is processed, data flows</td>
<td>Security Architecture</td>
</tr>
<tr>
<td>Threat Model</td>
<td>Identified threats and countermeasures</td>
<td>Risk Assessment</td>
</tr>
<tr>
<td>Design Decisions</td>
<td>Security-relevant architectural decisions</td>
<td>Security Architecture</td>
</tr>
</tbody>
</table>
<hr>
<h2 id="_6-6-4-requirement-3-–-cybersecurity-risk-assessment" tabindex="-1">6.6.4 Requirement 3 – Cybersecurity Risk Assessment <a class="header-anchor" href="#_6-6-4-requirement-3-–-cybersecurity-risk-assessment" aria-label="Permalink to &quot;6.6.4 Requirement 3 – Cybersecurity Risk Assessment&quot;"></a></h2>
<p><strong>Annex VII No. 3:</strong> The cybersecurity risk assessment pursuant to Art. 10(2), including:</p>
<table tabindex="0">
<thead>
<tr>
<th>Element</th>
<th>Description</th>
<th>Documentation Location</th>
</tr>
</thead>
<tbody>
<tr>
<td>Methodology</td>
<td>Applied risk assessment method</td>
<td><a href="/en/templates/risk-assessment">Risk Assessment Template</a></td>
</tr>
<tr>
<td>Identified Risks</td>
<td>List of cybersecurity risks</td>
<td>Risk Assessment</td>
</tr>
<tr>
<td>Evaluation</td>
<td>Likelihood x Impact</td>
<td>Risk Assessment</td>
</tr>
<tr>
<td>Measures</td>
<td>Risk mitigation measures</td>
<td>Risk Assessment</td>
</tr>
<tr>
<td>Residual Risks</td>
<td>Accepted residual risks with justification</td>
<td>Risk Assessment</td>
</tr>
</tbody>
</table>
<hr>
<h2 id="_6-6-5-requirement-4-–-vulnerability-handling" tabindex="-1">6.6.5 Requirement 4 – Vulnerability Handling <a class="header-anchor" href="#_6-6-5-requirement-4-–-vulnerability-handling" aria-label="Permalink to &quot;6.6.5 Requirement 4 – Vulnerability Handling&quot;"></a></h2>
<p><strong>Annex VII No. 4:</strong> Description of vulnerability handling processes:</p>
<table tabindex="0">
<thead>
<tr>
<th>Element</th>
<th>Description</th>
<th>Documentation Location</th>
</tr>
</thead>
<tbody>
<tr>
<td>Monitoring</td>
<td>How vulnerabilities are identified</td>
<td><a href="/en/vulnerability-management/cve-monitoring">CVE Monitoring</a></td>
</tr>
<tr>
<td>Assessment</td>
<td>How vulnerabilities are assessed</td>
<td><a href="/en/vulnerability-management/risk-assessment">Risk Assessment</a></td>
</tr>
<tr>
<td>Remediation</td>
<td>How vulnerabilities are remediated</td>
<td><a href="/en/vulnerability-management/patch-management">Patch Management</a></td>
</tr>
<tr>
<td>Disclosure</td>
<td>How vulnerabilities are disclosed</td>
<td><a href="/en/incident-response/disclosure-policy">Disclosure Policy</a></td>
</tr>
<tr>
<td>SBOM</td>
<td>Machine-readable SBOM</td>
<td><a href="/en/sbom-signing/">SBOM &amp; Signing</a></td>
</tr>
</tbody>
</table>
<hr>
<h2 id="_6-6-6-requirement-5-–-applied-standards-and-specifications" tabindex="-1">6.6.6 Requirement 5 – Applied Standards and Specifications <a class="header-anchor" href="#_6-6-6-requirement-5-–-applied-standards-and-specifications" aria-label="Permalink to &quot;6.6.6 Requirement 5 – Applied Standards and Specifications&quot;"></a></h2>
<p><strong>Annex VII No. 5:</strong> List of applied harmonised standards, Common Specifications or cybersecurity certification schemes:</p>
<table tabindex="0">
<thead>
<tr>
<th>Standard</th>
<th>Scope</th>
<th>Status</th>
</tr>
</thead>
<tbody>
<tr>
<td>ISO/IEC 27001</td>
<td>Information Security Management System</td>
<td>Reference</td>
</tr>
<tr>
<td>ISO/IEC 29147</td>
<td>Vulnerability Disclosure</td>
<td>Applied</td>
</tr>
<tr>
<td>ISO/IEC 30111</td>
<td>Vulnerability Handling</td>
<td>Applied</td>
</tr>
<tr>
<td>CycloneDX v1.6</td>
<td>SBOM Format</td>
<td>Applied</td>
</tr>
<tr>
<td>Sigstore/Cosign</td>
<td>Artifact Signing</td>
<td>Applied</td>
</tr>
<tr>
<td>OWASP ASVS</td>
<td>Application Security Verification</td>
<td>Reference</td>
</tr>
<tr>
<td>IEC 62443</td>
<td>Industrial Cybersecurity</td>
<td>If industrial products</td>
</tr>
</tbody>
</table>
<p><em>Note: Harmonised standards specific to the CRA are under development. This list will be updated once they are published.</em></p>
<div class="tip custom-block"><p class="custom-block-title">HARMONISED STANDARDS</p>
<p>Once harmonised standards for the CRA are published, these will enable the presumption of conformity. The application of harmonised standards is particularly critical for <a href="/en/conformity/self-assessment">Class I with Module A</a>.</p>
</div>
<hr>
<h2 id="_6-6-7-requirement-6-–-test-results" tabindex="-1">6.6.7 Requirement 6 – Test Results <a class="header-anchor" href="#_6-6-7-requirement-6-–-test-results" aria-label="Permalink to &quot;6.6.7 Requirement 6 – Test Results&quot;"></a></h2>
<p><strong>Annex VII No. 6:</strong> Results of the tests and examinations performed:</p>
<table tabindex="0">
<thead>
<tr>
<th>Test Type</th>
<th>Description</th>
<th>Tooling</th>
</tr>
</thead>
<tbody>
<tr>
<td>Static Analysis (SAST)</td>
<td>Source code analysis for vulnerabilities</td>
<td>SonarQube, Semgrep</td>
</tr>
<tr>
<td>Dynamic Analysis (DAST)</td>
<td>Runtime testing for vulnerabilities</td>
<td>OWASP ZAP, Burp</td>
</tr>
<tr>
<td>Dependency Scanning</td>
<td>Verification of dependencies</td>
<td>Trivy, Grype, Snyk</td>
</tr>
<tr>
<td>Container Scanning</td>
<td>Verification of container images</td>
<td>Trivy</td>
</tr>
<tr>
<td>Secret Scanning</td>
<td>Search for secrets in code</td>
<td>Gitleaks, GitGuardian</td>
</tr>
<tr>
<td>Penetration Testing</td>
<td>Manual security testing</td>
<td>External (for Class I+)</td>
</tr>
<tr>
<td>Fuzzing</td>
<td>Robustness testing</td>
<td>AFL, libFuzzer</td>
</tr>
</tbody>
</table>
<p><strong>Retention:</strong> Test results are archived as CI/CD artifacts and are accessible via the repository.</p>
<hr>
<h2 id="_6-6-8-requirement-7-–-conformity-assessment-results" tabindex="-1">6.6.8 Requirement 7 – Conformity Assessment Results <a class="header-anchor" href="#_6-6-8-requirement-7-–-conformity-assessment-results" aria-label="Permalink to &quot;6.6.8 Requirement 7 – Conformity Assessment Results&quot;"></a></h2>
<p><strong>Annex VII No. 7:</strong> Results of the conformity assessment:</p>
<table tabindex="0">
<thead>
<tr>
<th>Procedure</th>
<th>Documentation</th>
<th>Documentation Location</th>
</tr>
</thead>
<tbody>
<tr>
<td>Module A</td>
<td>Self-assessment report</td>
<td><a href="/en/conformity/self-assessment">Internal Control</a></td>
</tr>
<tr>
<td>Module B+C</td>
<td>EU type-examination certificate</td>
<td><a href="/en/conformity/module-bc">Module B+C</a></td>
</tr>
<tr>
<td>Module H</td>
<td>QMS certificate</td>
<td><a href="/en/conformity/module-h">Module H</a></td>
</tr>
<tr>
<td>EUCC</td>
<td>Cybersecurity certificate</td>
<td><a href="/en/conformity/eucc">EUCC</a></td>
</tr>
</tbody>
</table>
<hr>
<h2 id="_6-6-9-requirement-8-–-eu-declaration-of-conformity" tabindex="-1">6.6.9 Requirement 8 – EU Declaration of Conformity <a class="header-anchor" href="#_6-6-9-requirement-8-–-eu-declaration-of-conformity" aria-label="Permalink to &quot;6.6.9 Requirement 8 – EU Declaration of Conformity&quot;"></a></h2>
<p><strong>Annex VII No. 8:</strong> Copy of the EU Declaration of Conformity:</p>
<blockquote>
<p><a href="/en/conformity/eu-declaration">EU Declaration of Conformity</a>
<a href="/en/templates/eu-declaration-of-conformity">Template</a></p>
</blockquote>
<hr>
<h2 id="_6-6-10-requirement-9-–-support-period" tabindex="-1">6.6.10 Requirement 9 – Support Period <a class="header-anchor" href="#_6-6-10-requirement-9-–-support-period" aria-label="Permalink to &quot;6.6.10 Requirement 9 – Support Period&quot;"></a></h2>
<p><strong>Annex VII No. 9:</strong> Determination of the Support Period:</p>
<blockquote>
<p><a href="/en/technical-documentation/support-period">Support &amp; Lifecycle</a></p>
</blockquote>
<hr>
<h2 id="_6-6-11-completeness-checklist" tabindex="-1">6.6.11 Completeness Checklist <a class="header-anchor" href="#_6-6-11-completeness-checklist" aria-label="Permalink to &quot;6.6.11 Completeness Checklist&quot;"></a></h2>
<ul>
<li>[ ] No. 1: Product description created</li>
<li>[ ] No. 2: Design and development processes documented</li>
<li>[ ] No. 3: Cybersecurity risk assessment performed</li>
<li>[ ] No. 4: Vulnerability handling documented</li>
<li>[ ] No. 4: SBOM generated and archived</li>
<li>[ ] No. 5: Applied Standards listed</li>
<li>[ ] No. 6: Test Results documented and archived</li>
<li>[ ] No. 7: Conformity Assessment Results documented</li>
<li>[ ] No. 8: EU Declaration of Conformity created</li>
<li>[ ] No. 9: Support Period determined</li>
<li>[ ] All documents archived (10-year retention)</li>
<li>[ ] All documents versioned (Git)</li>
</ul>
]]></content:encoded>
            <author>BAUER GROUP</author>
        </item>
        <item>
            <title><![CDATA[Chapter 6: Technical Documentation]]></title>
            <link>https://cra.docs.bauer-group.com/en/technical-documentation/</link>
            <guid isPermaLink="false">https://cra.docs.bauer-group.com/en/technical-documentation/</guid>
            <pubDate>Tue, 10 Feb 2026 16:43:47 GMT</pubDate>
            <description><![CDATA[# Chapter 6: Technical Documentation

## Overview

The Technical Documentation pursuant to Annex VII CRA constitutes the central evidence documentation for the conformity of a product with digital elements. It must be prepared prior to placing on the market and retained for at least 10 years.

::: info LEGAL BASIS
**Art. 31 CRA:** *"The technical documentation shall be drawn up before the product with digital elements is placed on the market and shall be updated continuously during the expected product lifetime or during a period of five years after the placing on the market, whichever is shorter."*

**Annex VII CRA** defines the minimum content of the Technical Documentation.
:::

## Chapter Structure

| Section | Topic | Annex VII Reference |
|]]></description>
            <content:encoded><![CDATA[<h1 id="chapter-6-technical-documentation" tabindex="-1">Chapter 6: Technical Documentation <a class="header-anchor" href="#chapter-6-technical-documentation" aria-label="Permalink to &quot;Chapter 6: Technical Documentation&quot;"></a></h1>
<h2 id="overview" tabindex="-1">Overview <a class="header-anchor" href="#overview" aria-label="Permalink to &quot;Overview&quot;"></a></h2>
<p>The Technical Documentation pursuant to Annex VII CRA constitutes the central evidence documentation for the conformity of a product with digital elements. It must be prepared prior to placing on the market and retained for at least 10 years.</p>
<div class="info custom-block"><p class="custom-block-title">LEGAL BASIS</p>
<p><strong>Art. 31 CRA:</strong> <em>&quot;The technical documentation shall be drawn up before the product with digital elements is placed on the market and shall be updated continuously during the expected product lifetime or during a period of five years after the placing on the market, whichever is shorter.&quot;</em></p>
<p><strong>Annex VII CRA</strong> defines the minimum content of the Technical Documentation.</p>
</div>
<h2 id="chapter-structure" tabindex="-1">Chapter Structure <a class="header-anchor" href="#chapter-structure" aria-label="Permalink to &quot;Chapter Structure&quot;"></a></h2>
<table tabindex="0">
<thead>
<tr>
<th>Section</th>
<th>Topic</th>
<th>Annex VII Reference</th>
</tr>
</thead>
<tbody>
<tr>
<td><strong>7.1</strong></td>
<td><a href="/en/technical-documentation/product-description">Product Description (Template)</a></td>
<td>No. 1: General description</td>
</tr>
<tr>
<td><strong>7.2</strong></td>
<td><a href="/en/technical-documentation/security-architecture">Security Architecture</a></td>
<td>No. 3: Architecture and design</td>
</tr>
<tr>
<td><strong>7.3</strong></td>
<td><a href="/en/technical-documentation/update-mechanism">Update Mechanism</a></td>
<td>No. 4: Update provision</td>
</tr>
<tr>
<td><strong>7.4</strong></td>
<td><a href="/en/technical-documentation/support-period">Support &amp; Lifecycle Policy</a></td>
<td>Art. 13(8), Annex II No. 5</td>
</tr>
<tr>
<td><strong>7.5</strong></td>
<td><a href="/en/technical-documentation/security-requirements">Security Requirements (Annex I)</a></td>
<td>Annex I Part I: 13 essential requirements</td>
</tr>
<tr>
<td><strong>7.6</strong></td>
<td><a href="/en/technical-documentation/annex-vii-guide">Annex VII – Guide</a></td>
<td>Annex VII: Complete documentation guide</td>
</tr>
</tbody>
</table>
<h2 id="additional-mandatory-content-in-cross-cutting-chapters" tabindex="-1">Additional Mandatory Content (in Cross-Cutting Chapters) <a class="header-anchor" href="#additional-mandatory-content-in-cross-cutting-chapters" aria-label="Permalink to &quot;Additional Mandatory Content (in Cross-Cutting Chapters)&quot;"></a></h2>
<table tabindex="0">
<thead>
<tr>
<th>Annex VII Requirement</th>
<th>Documentation Location</th>
<th>Chapter</th>
</tr>
</thead>
<tbody>
<tr>
<td>SBOM (machine-readable)</td>
<td><a href="/en/sbom-signing/">SBOM &amp; Signing</a></td>
<td>Ch. 2</td>
</tr>
<tr>
<td>Cybersecurity risk assessment</td>
<td><a href="/en/vulnerability-management/risk-assessment">Risk Assessment</a></td>
<td>Ch. 3</td>
</tr>
<tr>
<td>Vulnerability handling</td>
<td><a href="/en/vulnerability-management/">Vulnerability Management</a></td>
<td>Ch. 3</td>
</tr>
<tr>
<td>Coordinated disclosure</td>
<td><a href="/en/incident-response/disclosure-policy">Disclosure Policy</a></td>
<td>Ch. 5</td>
</tr>
<tr>
<td>Conformity assessment results</td>
<td><a href="/en/conformity/">Conformity Assessment</a></td>
<td>Ch. 8</td>
</tr>
<tr>
<td>EU Declaration of Conformity</td>
<td><a href="/en/conformity/eu-declaration">EU DoC</a></td>
<td>Ch. 8</td>
</tr>
<tr>
<td>User information (Annex II)</td>
<td><a href="/en/templates/product-security-info">User Information</a></td>
<td>Annex</td>
</tr>
</tbody>
</table>
<h2 id="retention-obligation" tabindex="-1">Retention Obligation <a class="header-anchor" href="#retention-obligation" aria-label="Permalink to &quot;Retention Obligation&quot;"></a></h2>
<p><strong>Art. 10(13) CRA:</strong> The Technical Documentation shall be retained for <strong>10 years</strong> after the product is placed on the market or for the duration of the Support Period — whichever period is longer.</p>
<table tabindex="0">
<thead>
<tr>
<th>Documentation Type</th>
<th>Storage Location</th>
<th>Retention Period</th>
</tr>
</thead>
<tbody>
<tr>
<td>Technical Documentation</td>
<td>This repository (Git)</td>
<td>10 years</td>
</tr>
<tr>
<td>SBOM per version</td>
<td>Release assets + sbom/</td>
<td>10 years</td>
</tr>
<tr>
<td>Declaration of Conformity</td>
<td>This repository</td>
<td>10 years</td>
</tr>
<tr>
<td>Risk assessments</td>
<td>This repository</td>
<td>10 years</td>
</tr>
<tr>
<td>Test results</td>
<td>GitHub Actions Artifacts / Archive</td>
<td>10 years</td>
</tr>
</tbody>
</table>
<h2 id="product-specific-documentation" tabindex="-1">Product-Specific Documentation <a class="header-anchor" href="#product-specific-documentation" aria-label="Permalink to &quot;Product-Specific Documentation&quot;"></a></h2>
<div class="warning custom-block"><p class="custom-block-title">ACTION REQUIRED</p>
<p>For each CRA-relevant product, an individual Technical Documentation must be prepared. The templates provided in this chapter (in particular 7.1 Product Description) serve as a template.</p>
<p>Product-specific documentation is maintained in separate directories under <code>docs/products/&lt;productname&gt;/</code>.</p>
</div>
]]></content:encoded>
            <author>BAUER GROUP</author>
        </item>
        <item>
            <title><![CDATA[6.2 Security Architecture]]></title>
            <link>https://cra.docs.bauer-group.com/en/technical-documentation/security-architecture</link>
            <guid isPermaLink="false">https://cra.docs.bauer-group.com/en/technical-documentation/security-architecture</guid>
            <pubDate>Tue, 10 Feb 2026 16:43:47 GMT</pubDate>
            <description><![CDATA[# 6.2 Security Architecture

## 6.2.1 Security-by-Design Process

The Security Architecture documents how cybersecurity is integrated into the design, development, and maintenance process.

::: info LEGAL BASIS
**Art. 10(1) CRA:** *"The manufacturer shall ensure that the product is designed, developed and produced in such a way as to ensure an appropriate level of cybersecurity."*

**Annex I, Part I:** Essential cybersecurity requirements for products.
:::

## 6.2.2 Secure Development Lifecycle (SDLC)

```
Planning → Design → Development → Testing → Release → Maintenance
   │         │          │           │         │         │
   │         │          │           │         │         └── CVE-Monitor
   │         │          │           │         │             Patch Mgmt
   │         │          │           │         │             ENISA-Meldung
   │         │          │           │         │
   │         │          │           │         └── SBOM generieren
   │         │          │           │             Cosign signieren
   │         │          │           │             Release-Notes
   │         │          │           │
   │         │          │           └── Security Scan (Trivy/Grype)
   │         │          │               License Compliance
   │         │          │               Secret Scanning
   │         │          │
   │         │          └── Code Review (4-Augen)
   │         │              Dependency Prüfung
   │         │              Branch Protection
   │         │
   │         └── Threat Modeling
   │             Sicherheitsanforderungen
   │             Architektur-Review
   │
   └── Risikobewertung
       Produktklassifizierung
       Compliance-Anforderungen
```

## 6.2.3 Annex I, Part I — Essential Requirements

The following requirements from Annex I, Part I, CRA are addressed in the Security Architecture:

### (1) Security by Default

| Requirement | Implementation |
|]]></description>
            <content:encoded><![CDATA[<h1 id="_6-2-security-architecture" tabindex="-1">6.2 Security Architecture <a class="header-anchor" href="#_6-2-security-architecture" aria-label="Permalink to &quot;6.2 Security Architecture&quot;"></a></h1>
<h2 id="_6-2-1-security-by-design-process" tabindex="-1">6.2.1 Security-by-Design Process <a class="header-anchor" href="#_6-2-1-security-by-design-process" aria-label="Permalink to &quot;6.2.1 Security-by-Design Process&quot;"></a></h2>
<p>The Security Architecture documents how cybersecurity is integrated into the design, development, and maintenance process.</p>
<div class="info custom-block"><p class="custom-block-title">LEGAL BASIS</p>
<p><strong>Art. 10(1) CRA:</strong> <em>&quot;The manufacturer shall ensure that the product is designed, developed and produced in such a way as to ensure an appropriate level of cybersecurity.&quot;</em></p>
<p><strong>Annex I, Part I:</strong> Essential cybersecurity requirements for products.</p>
</div>
<h2 id="_6-2-2-secure-development-lifecycle-sdlc" tabindex="-1">6.2.2 Secure Development Lifecycle (SDLC) <a class="header-anchor" href="#_6-2-2-secure-development-lifecycle-sdlc" aria-label="Permalink to &quot;6.2.2 Secure Development Lifecycle (SDLC)&quot;"></a></h2>
<div class="language- vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang"></span><pre class="shiki shiki-themes github-light github-dark vp-code" tabindex="0" v-pre=""><code><span class="line"><span>Planning → Design → Development → Testing → Release → Maintenance</span></span>
<span class="line"><span>   │         │          │           │         │         │</span></span>
<span class="line"><span>   │         │          │           │         │         └── CVE-Monitor</span></span>
<span class="line"><span>   │         │          │           │         │             Patch Mgmt</span></span>
<span class="line"><span>   │         │          │           │         │             ENISA-Meldung</span></span>
<span class="line"><span>   │         │          │           │         │</span></span>
<span class="line"><span>   │         │          │           │         └── SBOM generieren</span></span>
<span class="line"><span>   │         │          │           │             Cosign signieren</span></span>
<span class="line"><span>   │         │          │           │             Release-Notes</span></span>
<span class="line"><span>   │         │          │           │</span></span>
<span class="line"><span>   │         │          │           └── Security Scan (Trivy/Grype)</span></span>
<span class="line"><span>   │         │          │               License Compliance</span></span>
<span class="line"><span>   │         │          │               Secret Scanning</span></span>
<span class="line"><span>   │         │          │</span></span>
<span class="line"><span>   │         │          └── Code Review (4-Augen)</span></span>
<span class="line"><span>   │         │              Dependency Prüfung</span></span>
<span class="line"><span>   │         │              Branch Protection</span></span>
<span class="line"><span>   │         │</span></span>
<span class="line"><span>   │         └── Threat Modeling</span></span>
<span class="line"><span>   │             Sicherheitsanforderungen</span></span>
<span class="line"><span>   │             Architektur-Review</span></span>
<span class="line"><span>   │</span></span>
<span class="line"><span>   └── Risikobewertung</span></span>
<span class="line"><span>       Produktklassifizierung</span></span>
<span class="line"><span>       Compliance-Anforderungen</span></span></code></pre>
</div><h2 id="_6-2-3-annex-i-part-i-—-essential-requirements" tabindex="-1">6.2.3 Annex I, Part I — Essential Requirements <a class="header-anchor" href="#_6-2-3-annex-i-part-i-—-essential-requirements" aria-label="Permalink to &quot;6.2.3 Annex I, Part I — Essential Requirements&quot;"></a></h2>
<p>The following requirements from Annex I, Part I, CRA are addressed in the Security Architecture:</p>
<h3 id="_1-security-by-default" tabindex="-1">(1) Security by Default <a class="header-anchor" href="#_1-security-by-default" aria-label="Permalink to &quot;(1) Security by Default&quot;"></a></h3>
<table tabindex="0">
<thead>
<tr>
<th>Requirement</th>
<th>Implementation</th>
</tr>
</thead>
<tbody>
<tr>
<td>Secure default configuration</td>
<td>Restrictive settings by default, no unnecessary network access</td>
</tr>
<tr>
<td>Minimal attack surface</td>
<td>Alpine/Distroless base images, only required ports/services</td>
</tr>
<tr>
<td>Principle of least privilege</td>
<td>Containers run as non-root, minimal permissions</td>
</tr>
</tbody>
</table>
<h3 id="_2-protection-against-unauthorised-access" tabindex="-1">(2) Protection Against Unauthorised Access <a class="header-anchor" href="#_2-protection-against-unauthorised-access" aria-label="Permalink to &quot;(2) Protection Against Unauthorised Access&quot;"></a></h3>
<table tabindex="0">
<thead>
<tr>
<th>Requirement</th>
<th>Implementation</th>
</tr>
</thead>
<tbody>
<tr>
<td>Authentication</td>
<td>Product-specific (OAuth2, API Keys, mTLS)</td>
</tr>
<tr>
<td>Authorisation</td>
<td>Role-based access control (RBAC)</td>
</tr>
<tr>
<td>Brute-force protection</td>
<td>Rate Limiting, Account Lockout</td>
</tr>
</tbody>
</table>
<h3 id="_3-protection-of-confidentiality" tabindex="-1">(3) Protection of Confidentiality <a class="header-anchor" href="#_3-protection-of-confidentiality" aria-label="Permalink to &quot;(3) Protection of Confidentiality&quot;"></a></h3>
<table tabindex="0">
<thead>
<tr>
<th>Requirement</th>
<th>Implementation</th>
</tr>
</thead>
<tbody>
<tr>
<td>Transport encryption</td>
<td>TLS 1.3 (minimum TLS 1.2)</td>
</tr>
<tr>
<td>Data encryption</td>
<td>AES-256 for stored sensitive data</td>
</tr>
<tr>
<td>Secret Management</td>
<td>GitHub Secrets, no plaintext secrets in code</td>
</tr>
</tbody>
</table>
<h3 id="_4-protection-of-integrity" tabindex="-1">(4) Protection of Integrity <a class="header-anchor" href="#_4-protection-of-integrity" aria-label="Permalink to &quot;(4) Protection of Integrity&quot;"></a></h3>
<table tabindex="0">
<thead>
<tr>
<th>Requirement</th>
<th>Implementation</th>
</tr>
</thead>
<tbody>
<tr>
<td>Artefact signing</td>
<td>Cosign for containers, binaries, SBOMs</td>
</tr>
<tr>
<td>Update integrity</td>
<td>Signed updates, SHA256 verification</td>
</tr>
<tr>
<td>Code integrity</td>
<td>Branch Protection, Code Reviews, Signed Commits</td>
</tr>
</tbody>
</table>
<h3 id="_5-protection-of-availability" tabindex="-1">(5) Protection of Availability <a class="header-anchor" href="#_5-protection-of-availability" aria-label="Permalink to &quot;(5) Protection of Availability&quot;"></a></h3>
<table tabindex="0">
<thead>
<tr>
<th>Requirement</th>
<th>Implementation</th>
</tr>
</thead>
<tbody>
<tr>
<td>Resilience</td>
<td>Product-specific (redundancy, failover)</td>
</tr>
<tr>
<td>DoS protection</td>
<td>Rate Limiting, Resource Limits</td>
</tr>
<tr>
<td>Graceful Degradation</td>
<td>Defined behaviour in case of partial failures</td>
</tr>
</tbody>
</table>
<h3 id="_6-minimisation-of-adverse-impact" tabindex="-1">(6) Minimisation of Adverse Impact <a class="header-anchor" href="#_6-minimisation-of-adverse-impact" aria-label="Permalink to &quot;(6) Minimisation of Adverse Impact&quot;"></a></h3>
<table tabindex="0">
<thead>
<tr>
<th>Requirement</th>
<th>Implementation</th>
</tr>
</thead>
<tbody>
<tr>
<td>Logging</td>
<td>Security-relevant events are logged</td>
</tr>
<tr>
<td>Monitoring</td>
<td>Anomaly detection (product-specific)</td>
</tr>
<tr>
<td>Isolation</td>
<td>Container isolation, Network Policies</td>
</tr>
</tbody>
</table>
<h2 id="_6-2-4-ci-cd-security-measures" tabindex="-1">6.2.4 CI/CD Security Measures <a class="header-anchor" href="#_6-2-4-ci-cd-security-measures" aria-label="Permalink to &quot;6.2.4 CI/CD Security Measures&quot;"></a></h2>
<table tabindex="0">
<thead>
<tr>
<th>Measure</th>
<th>Implementation</th>
<th>Workflow</th>
</tr>
</thead>
<tbody>
<tr>
<td>Branch Protection</td>
<td>Main branch protected, PRs required</td>
<td>GitHub Settings</td>
</tr>
<tr>
<td>Code Review</td>
<td>At least 1 reviewer</td>
<td>GitHub Settings</td>
</tr>
<tr>
<td>Security Scanning</td>
<td>Trivy, Grype, Snyk on every build</td>
<td><code>modules-security-scan.yml</code></td>
</tr>
<tr>
<td>Secret Scanning</td>
<td>Gitleaks, GitGuardian</td>
<td><code>modules-security-scan.yml</code></td>
</tr>
<tr>
<td>License Compliance</td>
<td>Automated check</td>
<td><code>modules-license-compliance.yml</code></td>
</tr>
<tr>
<td>Dockerfile Linting</td>
<td>Hadolint</td>
<td><code>modules-validate-dockerfile.yml</code></td>
</tr>
<tr>
<td>SBOM Generation</td>
<td>Automatic on release</td>
<td><code>modules-license-compliance.yml</code></td>
</tr>
<tr>
<td>Artifact Signing</td>
<td>Cosign on release</td>
<td><code>docker-build.yml</code></td>
</tr>
<tr>
<td>Dependency Updates</td>
<td>Dependabot</td>
<td><code>docker-maintenance-dependabot.yml</code></td>
</tr>
</tbody>
</table>
<h2 id="_6-2-5-evidence-of-security-architecture" tabindex="-1">6.2.5 Evidence of Security Architecture <a class="header-anchor" href="#_6-2-5-evidence-of-security-architecture" aria-label="Permalink to &quot;6.2.5 Evidence of Security Architecture&quot;"></a></h2>
<p>The Security Architecture is evidenced by:</p>
<ol>
<li><strong>Automated scans</strong> — Results in CI/CD pipeline (archived build artefacts)</li>
<li><strong>Code Reviews</strong> — Documented in Pull Requests (Git history)</li>
<li><strong>SBOM</strong> — Machine-readable component inventory</li>
<li><strong>Signed Releases</strong> — Cosign signatures verifiable</li>
<li><strong>This documentation</strong> — Version-controlled in the Git repository</li>
</ol>
]]></content:encoded>
            <author>BAUER GROUP</author>
        </item>
        <item>
            <title><![CDATA[6.5 Security Requirements (Annex I)]]></title>
            <link>https://cra.docs.bauer-group.com/en/technical-documentation/security-requirements</link>
            <guid isPermaLink="false">https://cra.docs.bauer-group.com/en/technical-documentation/security-requirements</guid>
            <pubDate>Tue, 10 Feb 2026 16:43:47 GMT</pubDate>
            <description><![CDATA[# 6.5 Security Requirements (Annex I)

## 6.5.1 Overview

Annex I Part I of the CRA defines 13 essential cybersecurity requirements that every product with digital elements must fulfill. This page provides detailed implementation guidance for each individual requirement.

::: info LEGAL BASIS
**Annex I Part I CRA:** Essential cybersecurity requirements. Products with digital elements shall be designed, developed and produced in such a way that they ensure an appropriate level of cybersecurity, taking into account the risks.
:::

## 6.5.2 No. 1 – Appropriate Level of Cybersecurity

**Requirement:** Products shall be designed, developed and produced in such a way that they ensure an appropriate level of cybersecurity, based on the risks.

**Implementation at BAUER GROUP:**

- Security by Design: Security requirements from the design phase onward
- Threat Modeling before every architectural decision
- Risk Assessment ([Template](/en/templates/risk-assessment)) for each product
- Multi-Layer Security (Defense in Depth)

**Evidence:** Risk Assessment, Security Architecture Document, Test Results

]]></description>
            <content:encoded><![CDATA[<h1 id="_6-5-security-requirements-annex-i" tabindex="-1">6.5 Security Requirements (Annex I) <a class="header-anchor" href="#_6-5-security-requirements-annex-i" aria-label="Permalink to &quot;6.5 Security Requirements (Annex I)&quot;"></a></h1>
<h2 id="_6-5-1-overview" tabindex="-1">6.5.1 Overview <a class="header-anchor" href="#_6-5-1-overview" aria-label="Permalink to &quot;6.5.1 Overview&quot;"></a></h2>
<p>Annex I Part I of the CRA defines 13 essential cybersecurity requirements that every product with digital elements must fulfill. This page provides detailed implementation guidance for each individual requirement.</p>
<div class="info custom-block"><p class="custom-block-title">LEGAL BASIS</p>
<p><strong>Annex I Part I CRA:</strong> Essential cybersecurity requirements. Products with digital elements shall be designed, developed and produced in such a way that they ensure an appropriate level of cybersecurity, taking into account the risks.</p>
</div>
<h2 id="_6-5-2-no-1-–-appropriate-level-of-cybersecurity" tabindex="-1">6.5.2 No. 1 – Appropriate Level of Cybersecurity <a class="header-anchor" href="#_6-5-2-no-1-–-appropriate-level-of-cybersecurity" aria-label="Permalink to &quot;6.5.2 No. 1 – Appropriate Level of Cybersecurity&quot;"></a></h2>
<p><strong>Requirement:</strong> Products shall be designed, developed and produced in such a way that they ensure an appropriate level of cybersecurity, based on the risks.</p>
<p><strong>Implementation at BAUER GROUP:</strong></p>
<ul>
<li>Security by Design: Security requirements from the design phase onward</li>
<li>Threat Modeling before every architectural decision</li>
<li>Risk Assessment (<a href="/en/templates/risk-assessment">Template</a>) for each product</li>
<li>Multi-Layer Security (Defense in Depth)</li>
</ul>
<p><strong>Evidence:</strong> Risk Assessment, Security Architecture Document, Test Results</p>
<hr>
<h2 id="_6-5-3-no-2-–-no-known-exploitable-vulnerabilities" tabindex="-1">6.5.3 No. 2 – No Known Exploitable Vulnerabilities <a class="header-anchor" href="#_6-5-3-no-2-–-no-known-exploitable-vulnerabilities" aria-label="Permalink to &quot;6.5.3 No. 2 – No Known Exploitable Vulnerabilities&quot;"></a></h2>
<p><strong>Requirement:</strong> Products shall be delivered without known exploitable vulnerabilities.</p>
<p><strong>Implementation at BAUER GROUP:</strong></p>
<ul>
<li>Automated <a href="/en/vulnerability-management/cve-monitoring">CVE Monitoring</a> (daily)</li>
<li>Multi-Engine Security Scanning (Trivy, Grype, Snyk)</li>
<li>Dependabot for automatic dependency updates</li>
<li>Pre-Release Security Gate: No release with known Critical/High CVEs</li>
</ul>
<p><strong>Evidence:</strong> CVE scan reports, dependency audit logs, release gate results</p>
<hr>
<h2 id="_6-5-4-no-3-–-protection-of-confidentiality-integrity-and-availability" tabindex="-1">6.5.4 No. 3 – Protection of Confidentiality, Integrity and Availability <a class="header-anchor" href="#_6-5-4-no-3-–-protection-of-confidentiality-integrity-and-availability" aria-label="Permalink to &quot;6.5.4 No. 3 – Protection of Confidentiality, Integrity and Availability&quot;"></a></h2>
<h3 id="no-3-1-–-confidentiality-protection" tabindex="-1">No. 3.1 – Confidentiality Protection <a class="header-anchor" href="#no-3-1-–-confidentiality-protection" aria-label="Permalink to &quot;No. 3.1 – Confidentiality Protection&quot;"></a></h3>
<p><strong>Requirement:</strong> Protection of the confidentiality of stored, transmitted or otherwise processed data.</p>
<p><strong>Implementation:</strong></p>
<ul>
<li><strong>Data in Transit:</strong> TLS 1.2+ for all network connections, mTLS for service-to-service</li>
<li><strong>Data at Rest:</strong> AES-256 encryption for sensitive data</li>
<li><strong>Key Management:</strong> Hardware-backed (HSM/KMS) or Vault</li>
<li><strong>Access Control:</strong> Principle of Least Privilege, RBAC/ABAC</li>
</ul>
<p><strong>Evidence:</strong> Cryptography inventory, encryption configuration, access control lists</p>
<h3 id="no-3-2-–-integrity-protection" tabindex="-1">No. 3.2 – Integrity Protection <a class="header-anchor" href="#no-3-2-–-integrity-protection" aria-label="Permalink to &quot;No. 3.2 – Integrity Protection&quot;"></a></h3>
<p><strong>Requirement:</strong> Protection of the integrity of stored, transmitted or otherwise processed data, commands, programs and configurations.</p>
<p><strong>Implementation:</strong></p>
<ul>
<li><strong>Artifact Signing:</strong> Cosign for containers and binaries (<a href="/en/sbom-signing/signing">Signing</a>)</li>
<li><strong>SBOM Integrity:</strong> Signed SBOMs per release</li>
<li><strong>Code Integrity:</strong> Signed Git commits, protected branches</li>
<li><strong>Data Integrity:</strong> Checksums, digital signatures</li>
<li><strong>Configuration Integrity:</strong> Infrastructure as Code, GitOps</li>
</ul>
<p><strong>Evidence:</strong> Signature logs, checksum verification, Git audit trail</p>
<h3 id="no-3-3-–-availability-protection" tabindex="-1">No. 3.3 – Availability Protection <a class="header-anchor" href="#no-3-3-–-availability-protection" aria-label="Permalink to &quot;No. 3.3 – Availability Protection&quot;"></a></h3>
<p><strong>Requirement:</strong> Protection of the availability of essential functions, including under attack (e.g., DDoS).</p>
<p><strong>Implementation:</strong></p>
<ul>
<li>Redundant systems and failover</li>
<li>Rate Limiting and DDoS protection</li>
<li>Graceful Degradation under resource scarcity</li>
<li>Backup and recovery procedures</li>
<li>Monitoring and Alerting</li>
</ul>
<p><strong>Evidence:</strong> Architecture diagrams, DR plans, load test results</p>
<hr>
<h2 id="_6-5-5-no-4-–-secure-default-configuration" tabindex="-1">6.5.5 No. 4 – Secure Default Configuration <a class="header-anchor" href="#_6-5-5-no-4-–-secure-default-configuration" aria-label="Permalink to &quot;6.5.5 No. 4 – Secure Default Configuration&quot;"></a></h2>
<p><strong>Requirement:</strong> Products shall be delivered with a secure default configuration, including the ability to reset the product to its original state.</p>
<p><strong>Implementation:</strong></p>
<ul>
<li><strong>Security-by-Default:</strong> All unnecessary services disabled</li>
<li><strong>No Default Passwords:</strong> Setup wizard enforces individual credentials</li>
<li><strong>Restrictive Defaults:</strong> Firewall rules, permissions, ports</li>
<li><strong>Factory Reset:</strong> Ability to reset to secure default configuration</li>
<li><strong>Documentation:</strong> Secure configuration described in user documentation</li>
</ul>
<p><strong>Evidence:</strong> Default configuration files, setup process documentation</p>
<hr>
<h2 id="_6-5-6-no-5-–-protection-against-unauthorized-access" tabindex="-1">6.5.6 No. 5 – Protection Against Unauthorized Access <a class="header-anchor" href="#_6-5-6-no-5-–-protection-against-unauthorized-access" aria-label="Permalink to &quot;6.5.6 No. 5 – Protection Against Unauthorized Access&quot;"></a></h2>
<p><strong>Requirement:</strong> Protection against unauthorized access through appropriate control mechanisms (authentication, identity management, access control).</p>
<p><strong>Implementation:</strong></p>
<ul>
<li><strong>Authentication:</strong> Multi-Factor Authentication (MFA) where possible</li>
<li><strong>Authorization:</strong> RBAC with Principle of Least Privilege</li>
<li><strong>Session Management:</strong> Secure tokens, timeout, invalidation</li>
<li><strong>API Security:</strong> API keys, OAuth 2.0, Rate Limiting</li>
<li><strong>Brute-Force Protection:</strong> Account lockout, CAPTCHA</li>
</ul>
<p><strong>Evidence:</strong> Authentication architecture, permissions matrix, penetration test reports</p>
<hr>
<h2 id="_6-5-7-no-6-–-minimal-attack-surface" tabindex="-1">6.5.7 No. 6 – Minimal Attack Surface <a class="header-anchor" href="#_6-5-7-no-6-–-minimal-attack-surface" aria-label="Permalink to &quot;6.5.7 No. 6 – Minimal Attack Surface&quot;"></a></h2>
<p><strong>Requirement:</strong> Minimization of the attack surface, including external interfaces.</p>
<p><strong>Implementation:</strong></p>
<ul>
<li><strong>Minimal Containers:</strong> Alpine/Distroless base images</li>
<li><strong>Minimal Services:</strong> Only required ports and services</li>
<li><strong>Minimal Dependencies:</strong> Regular cleanup (<a href="/en/supply-chain/dependency-policy">Dependency Policy</a>)</li>
<li><strong>Minimal Permissions:</strong> Non-root containers, restricted capabilities</li>
<li><strong>Network Segmentation:</strong> Zero-Trust architecture</li>
</ul>
<p><strong>Evidence:</strong> Container scan reports, port inventory, dependency audit</p>
<hr>
<h2 id="_6-5-8-no-7-–-confidentiality-of-stored-data" tabindex="-1">6.5.8 No. 7 – Confidentiality of Stored Data <a class="header-anchor" href="#_6-5-8-no-7-–-confidentiality-of-stored-data" aria-label="Permalink to &quot;6.5.8 No. 7 – Confidentiality of Stored Data&quot;"></a></h2>
<p><strong>Requirement:</strong> Protection of the confidentiality of stored, transmitted or otherwise processed data, including personal data.</p>
<p><strong>Implementation:</strong></p>
<ul>
<li>Encryption of all persistent databases (AES-256)</li>
<li>Encrypted backups</li>
<li>Secure key rotation</li>
<li>Data classification (public, internal, confidential, strictly confidential)</li>
<li>Deletion mechanisms for data no longer needed</li>
</ul>
<p><strong>Evidence:</strong> Encryption inventory, key rotation log, data classification schema</p>
<hr>
<h2 id="_6-5-9-no-8-–-integrity-of-stored-data" tabindex="-1">6.5.9 No. 8 – Integrity of Stored Data <a class="header-anchor" href="#_6-5-9-no-8-–-integrity-of-stored-data" aria-label="Permalink to &quot;6.5.9 No. 8 – Integrity of Stored Data&quot;"></a></h2>
<p><strong>Requirement:</strong> Protection of the integrity of stored data and commands against manipulation.</p>
<p><strong>Implementation:</strong></p>
<ul>
<li>Integrity checksums for critical data</li>
<li>Write-Once-Read-Many (WORM) for audit logs</li>
<li>Digital signatures for configuration data</li>
<li>Database integrity checks</li>
<li>Tamper detection mechanisms</li>
</ul>
<p><strong>Evidence:</strong> Integrity check logs, audit log configuration</p>
<hr>
<h2 id="_6-5-10-no-9-–-data-minimization" tabindex="-1">6.5.10 No. 9 – Data Minimization <a class="header-anchor" href="#_6-5-10-no-9-–-data-minimization" aria-label="Permalink to &quot;6.5.10 No. 9 – Data Minimization&quot;"></a></h2>
<p><strong>Requirement:</strong> Processing only the data (personal or otherwise) that is necessary for the intended use of the product.</p>
<p><strong>Implementation:</strong></p>
<ul>
<li>Privacy by Design: Collect only necessary data</li>
<li>Data minimization policy per product</li>
<li>Automatic deletion after retention period expiry</li>
<li>No tracking/telemetry without explicit consent</li>
<li>Pseudonymization where possible</li>
</ul>
<p><strong>Evidence:</strong> Data catalog per product, data flow diagrams, deletion concept</p>
<hr>
<h2 id="_6-5-11-no-10-–-availability-of-essential-functions" tabindex="-1">6.5.11 No. 10 – Availability of Essential Functions <a class="header-anchor" href="#_6-5-11-no-10-–-availability-of-essential-functions" aria-label="Permalink to &quot;6.5.11 No. 10 – Availability of Essential Functions&quot;"></a></h2>
<p><strong>Requirement:</strong> Essential functions of the product must remain available even in the event of failure of individual components.</p>
<p><strong>Implementation:</strong></p>
<ul>
<li>Identification of essential functions per product</li>
<li>Failover mechanisms for critical components</li>
<li>Offline capability where appropriate</li>
<li>Graceful Degradation instead of complete failure</li>
<li>Recovery procedures documented</li>
</ul>
<p><strong>Evidence:</strong> Criticality analysis, failover tests, Recovery Time Objectives</p>
<hr>
<h2 id="_6-5-12-no-11-–-minimization-of-negative-impact" tabindex="-1">6.5.12 No. 11 – Minimization of Negative Impact <a class="header-anchor" href="#_6-5-12-no-11-–-minimization-of-negative-impact" aria-label="Permalink to &quot;6.5.12 No. 11 – Minimization of Negative Impact&quot;"></a></h2>
<p><strong>Requirement:</strong> Minimization of negative impact on the availability of other devices and networks in the event of a security incident.</p>
<p><strong>Implementation:</strong></p>
<ul>
<li>Network isolation (segmentation, VLANs)</li>
<li>Resource limits (CPU, memory, bandwidth limits)</li>
<li>Circuit Breaker Pattern for microservices</li>
<li>Automatic quarantine on anomalies</li>
<li>Incident Containment Procedures (<a href="/en/incident-response/playbook">Playbook</a>)</li>
</ul>
<p><strong>Evidence:</strong> Network segmentation plan, resource limits, containment procedures</p>
<hr>
<h2 id="_6-5-13-no-12-–-security-relevant-information" tabindex="-1">6.5.13 No. 12 – Security-Relevant Information <a class="header-anchor" href="#_6-5-13-no-12-–-security-relevant-information" aria-label="Permalink to &quot;6.5.13 No. 12 – Security-Relevant Information&quot;"></a></h2>
<p><strong>Requirement:</strong> Collection and provision of security-relevant information, including logging and monitoring.</p>
<p><strong>Implementation:</strong></p>
<ul>
<li>Centralized logging (security events, authentication, authorization)</li>
<li>Audit trail for security-relevant actions</li>
<li>Monitoring and Alerting (SIEM integration)</li>
<li>Log retention: At least 12 months</li>
<li>Tamper protection for logs</li>
</ul>
<p><strong>Evidence:</strong> Logging configuration, SIEM dashboards, log retention policy</p>
<hr>
<h2 id="_6-5-14-no-13-–-secure-update-capability" tabindex="-1">6.5.14 No. 13 – Secure Update Capability <a class="header-anchor" href="#_6-5-14-no-13-–-secure-update-capability" aria-label="Permalink to &quot;6.5.14 No. 13 – Secure Update Capability&quot;"></a></h2>
<p><strong>Requirement:</strong> Ability to securely update the product, including automatic notification of available updates.</p>
<p><strong>Implementation:</strong></p>
<ul>
<li>Automatic update notification</li>
<li>Signed updates (<a href="/en/sbom-signing/signing">Cosign</a>)</li>
<li>Rollback capability for failed updates</li>
<li>Separate delivery of security updates (without functional changes)</li>
<li>OTA (Over-the-Air) for IoT/firmware (<a href="/en/technical-documentation/update-mechanism">Update Mechanism</a>)</li>
</ul>
<p><strong>Evidence:</strong> Update architecture, signature verification, rollback tests</p>
<hr>
<h2 id="_6-5-15-compliance-matrix" tabindex="-1">6.5.15 Compliance Matrix <a class="header-anchor" href="#_6-5-15-compliance-matrix" aria-label="Permalink to &quot;6.5.15 Compliance Matrix&quot;"></a></h2>
<table tabindex="0">
<thead>
<tr>
<th>No.</th>
<th>Requirement</th>
<th style="text-align:center">Implementation Status</th>
<th>Evidence Location</th>
</tr>
</thead>
<tbody>
<tr>
<td>1</td>
<td>Appropriate level of cybersecurity</td>
<td style="text-align:center">✅</td>
<td>Risk Assessment, Architecture</td>
</tr>
<tr>
<td>2</td>
<td>No known vulnerabilities</td>
<td style="text-align:center">✅</td>
<td>CVE Monitor, Scan Reports</td>
</tr>
<tr>
<td>3.1</td>
<td>Confidentiality protection</td>
<td style="text-align:center">✅</td>
<td>Cryptography Inventory</td>
</tr>
<tr>
<td>3.2</td>
<td>Integrity protection</td>
<td style="text-align:center">✅</td>
<td>Signature Logs</td>
</tr>
<tr>
<td>3.3</td>
<td>Availability protection</td>
<td style="text-align:center">⚠️</td>
<td>Product-specific</td>
</tr>
<tr>
<td>4</td>
<td>Secure Default Configuration</td>
<td style="text-align:center">✅</td>
<td>Default Configuration</td>
</tr>
<tr>
<td>5</td>
<td>Protection against unauthorized access</td>
<td style="text-align:center">✅</td>
<td>Auth Architecture</td>
</tr>
<tr>
<td>6</td>
<td>Minimal Attack Surface</td>
<td style="text-align:center">✅</td>
<td>Container Scans</td>
</tr>
<tr>
<td>7</td>
<td>Confidentiality of stored data</td>
<td style="text-align:center">✅</td>
<td>Encryption Inventory</td>
</tr>
<tr>
<td>8</td>
<td>Integrity of stored data</td>
<td style="text-align:center">✅</td>
<td>Integrity Logs</td>
</tr>
<tr>
<td>9</td>
<td>Data Minimization</td>
<td style="text-align:center">✅</td>
<td>Data Catalog</td>
</tr>
<tr>
<td>10</td>
<td>Availability of essential functions</td>
<td style="text-align:center">⚠️</td>
<td>Product-specific</td>
</tr>
<tr>
<td>11</td>
<td>Minimization of negative impact</td>
<td style="text-align:center">✅</td>
<td>Segmentation Plan</td>
</tr>
<tr>
<td>12</td>
<td>Security-relevant information</td>
<td style="text-align:center">✅</td>
<td>Logging Configuration</td>
</tr>
<tr>
<td>13</td>
<td>Secure update capability</td>
<td style="text-align:center">✅</td>
<td>Update Architecture</td>
</tr>
</tbody>
</table>
]]></content:encoded>
            <author>BAUER GROUP</author>
        </item>
        <item>
            <title><![CDATA[6.4 Support & Lifecycle]]></title>
            <link>https://cra.docs.bauer-group.com/en/technical-documentation/support-period</link>
            <guid isPermaLink="false">https://cra.docs.bauer-group.com/en/technical-documentation/support-period</guid>
            <pubDate>Tue, 10 Feb 2026 16:43:47 GMT</pubDate>
            <description><![CDATA[# 6.4 Support & Lifecycle

## 6.4.1 Legal Basis

Pursuant to Art. 13(8) CRA, the manufacturer must determine and publish the Support Period for each product. During this period, security updates must be provided.

::: info LEGAL BASIS
**Art. 13(8) CRA:** *"The manufacturer shall determine the expected product lifetime. When determining the support period, the manufacturer shall take into account in particular the reasonable expectations of users, the nature of the product, including its intended purpose, and the relevant Union law on determining the lifetime of products with digital elements."*

**Art. 13(8) subpara. 2 CRA:** *"The support period shall be at least five years from the placing on the market of the product."*

**Annex II No. 5 CRA:** The Support Period is part of the mandatory user information that must accompany the product.
:::

## 6.4.2 Minimum Support Period

The CRA prescribes a minimum Support Period of **5 years**. For product categories with a longer expected useful life, BAUER GROUP establishes longer periods:

| Product Category | Minimum Support | Justification | Examples |
|]]></description>
            <content:encoded><![CDATA[<h1 id="_6-4-support-lifecycle" tabindex="-1">6.4 Support &amp; Lifecycle <a class="header-anchor" href="#_6-4-support-lifecycle" aria-label="Permalink to &quot;6.4 Support &amp; Lifecycle&quot;"></a></h1>
<h2 id="_6-4-1-legal-basis" tabindex="-1">6.4.1 Legal Basis <a class="header-anchor" href="#_6-4-1-legal-basis" aria-label="Permalink to &quot;6.4.1 Legal Basis&quot;"></a></h2>
<p>Pursuant to Art. 13(8) CRA, the manufacturer must determine and publish the Support Period for each product. During this period, security updates must be provided.</p>
<div class="info custom-block"><p class="custom-block-title">LEGAL BASIS</p>
<p><strong>Art. 13(8) CRA:</strong> <em>&quot;The manufacturer shall determine the expected product lifetime. When determining the support period, the manufacturer shall take into account in particular the reasonable expectations of users, the nature of the product, including its intended purpose, and the relevant Union law on determining the lifetime of products with digital elements.&quot;</em></p>
<p><strong>Art. 13(8) subpara. 2 CRA:</strong> <em>&quot;The support period shall be at least five years from the placing on the market of the product.&quot;</em></p>
<p><strong>Annex II No. 5 CRA:</strong> The Support Period is part of the mandatory user information that must accompany the product.</p>
</div>
<h2 id="_6-4-2-minimum-support-period" tabindex="-1">6.4.2 Minimum Support Period <a class="header-anchor" href="#_6-4-2-minimum-support-period" aria-label="Permalink to &quot;6.4.2 Minimum Support Period&quot;"></a></h2>
<p>The CRA prescribes a minimum Support Period of <strong>5 years</strong>. For product categories with a longer expected useful life, BAUER GROUP establishes longer periods:</p>
<table tabindex="0">
<thead>
<tr>
<th>Product Category</th>
<th style="text-align:center">Minimum Support</th>
<th>Justification</th>
<th>Examples</th>
</tr>
</thead>
<tbody>
<tr>
<td>Software products (Web, API)</td>
<td style="text-align:center"><strong>5 years</strong></td>
<td>CRA minimum</td>
<td>Microservices, web apps</td>
</tr>
<tr>
<td>Container images</td>
<td style="text-align:center"><strong>5 years</strong></td>
<td>CRA minimum</td>
<td>Docker-based services</td>
</tr>
<tr>
<td>Libraries / Packages</td>
<td style="text-align:center"><strong>5 years</strong> from last major release</td>
<td>CRA minimum</td>
<td>NPM packages, NuGet packages</td>
</tr>
<tr>
<td>Firmware (IoT Consumer)</td>
<td style="text-align:center"><strong>5 years</strong> or expected device lifetime</td>
<td>Whichever is longer</td>
<td>ESP32-based devices</td>
</tr>
<tr>
<td>Firmware (Industrial)</td>
<td style="text-align:center"><strong>10 years</strong></td>
<td>Expected useful life of industrial controllers</td>
<td>STM32, Zephyr RTOS</td>
</tr>
</tbody>
</table>
<div class="warning custom-block"><p class="custom-block-title">NOTE ON DETERMINATION</p>
<p>The determination of the Support Period must be made <strong>prior to placing on the market</strong> and cannot be shortened thereafter. An extension is possible at any time and is recommended if the actual useful life exceeds the original estimate.</p>
</div>
<h2 id="_6-4-3-lifecycle-phases" tabindex="-1">6.4.3 Lifecycle Phases <a class="header-anchor" href="#_6-4-3-lifecycle-phases" aria-label="Permalink to &quot;6.4.3 Lifecycle Phases&quot;"></a></h2>
<p>Each product passes through three defined lifecycle phases:</p>
<div class="language- vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang"></span><pre class="shiki shiki-themes github-light github-dark vp-code" tabindex="0" v-pre=""><code><span class="line"><span>┌──────────────────────────────────────────────────────────────┐</span></span>
<span class="line"><span>│  Phase 1: ACTIVE SUPPORT                                     │</span></span>
<span class="line"><span>│                                                              │</span></span>
<span class="line"><span>│  Full support: Features + Security + Bug Fixes               │</span></span>
<span class="line"><span>│  Duration: Until the next major release or phase transition  │</span></span>
<span class="line"><span>│  SLA: Security updates per Patch Management (→ Ch. 3)        │</span></span>
<span class="line"><span>├──────────────────────────────────────────────────────────────┤</span></span>
<span class="line"><span>│  Phase 2: SECURITY SUPPORT                                   │</span></span>
<span class="line"><span>│                                                              │</span></span>
<span class="line"><span>│  Security updates only: CRITICAL and HIGH CVEs               │</span></span>
<span class="line"><span>│  Duration: Until end of support (minimum 5 years total)      │</span></span>
<span class="line"><span>│  SLA: CRITICAL ≤ 48h, HIGH ≤ 7 days                         │</span></span>
<span class="line"><span>├──────────────────────────────────────────────────────────────┤</span></span>
<span class="line"><span>│  Phase 3: END OF LIFE (EOL)                                  │</span></span>
<span class="line"><span>│                                                              │</span></span>
<span class="line"><span>│  No further updates                                          │</span></span>
<span class="line"><span>│  Users are prompted to migrate                               │</span></span>
<span class="line"><span>│  Announced 12 months in advance                              │</span></span>
<span class="line"><span>│  SBOM + Signatures + Documentation remain archived           │</span></span>
<span class="line"><span>└──────────────────────────────────────────────────────────────┘</span></span></code></pre>
</div><h3 id="transition-between-phases" tabindex="-1">Transition Between Phases <a class="header-anchor" href="#transition-between-phases" aria-label="Permalink to &quot;Transition Between Phases&quot;"></a></h3>
<table tabindex="0">
<thead>
<tr>
<th>Transition</th>
<th>Trigger</th>
<th>Communication</th>
</tr>
</thead>
<tbody>
<tr>
<td>Active → Security</td>
<td>New major release OR management decision</td>
<td>Release Notes + SECURITY.md update</td>
</tr>
<tr>
<td>Security → EOL</td>
<td>Support Period expired</td>
<td>12-month advance notice (see EOL process)</td>
</tr>
</tbody>
</table>
<h2 id="_6-4-4-eol-process" tabindex="-1">6.4.4 EOL Process <a class="header-anchor" href="#_6-4-4-eol-process" aria-label="Permalink to &quot;6.4.4 EOL Process&quot;"></a></h2>
<h3 id="announcement-schedule" tabindex="-1">Announcement Schedule <a class="header-anchor" href="#announcement-schedule" aria-label="Permalink to &quot;Announcement Schedule&quot;"></a></h3>
<table tabindex="0">
<thead>
<tr>
<th>Timepoint</th>
<th>Action</th>
<th>Channel</th>
<th>Responsible</th>
</tr>
</thead>
<tbody>
<tr>
<td><strong>12 months before EOL</strong></td>
<td>EOL announcement with planned date</td>
<td>GitHub Advisory + Release Notes + SECURITY.md</td>
<td>Product Owner</td>
</tr>
<tr>
<td><strong>6 months before EOL</strong></td>
<td>Reminder + publish migration guide</td>
<td>GitHub Advisory + Documentation</td>
<td>Product Owner</td>
</tr>
<tr>
<td><strong>3 months before EOL</strong></td>
<td>Final reminder + update product page</td>
<td>GitHub Advisory + E-mail (known customers)</td>
<td>Product Owner</td>
</tr>
<tr>
<td><strong>EOL date</strong></td>
<td>Final version marked, no further updates</td>
<td>Release Notes + SECURITY.md update</td>
<td>DevOps Lead</td>
</tr>
</tbody>
</table>
<h3 id="obligations-after-eol" tabindex="-1">Obligations After EOL <a class="header-anchor" href="#obligations-after-eol" aria-label="Permalink to &quot;Obligations After EOL&quot;"></a></h3>
<p>Even after reaching EOL, the following retention obligations apply pursuant to Art. 10(13) CRA:</p>
<table tabindex="0">
<thead>
<tr>
<th>Obligation</th>
<th>Duration</th>
<th>Measure</th>
</tr>
</thead>
<tbody>
<tr>
<td>Technical Documentation archived</td>
<td><strong>10 years</strong> after placing on the market</td>
<td>Git repository (Protected Branch)</td>
</tr>
<tr>
<td>SBOMs of all versions available</td>
<td><strong>10 years</strong> after placing on the market</td>
<td>Release assets + SBOM archive</td>
</tr>
<tr>
<td>Signatures verifiable</td>
<td><strong>10 years</strong> after placing on the market</td>
<td>Cosign Public Keys archived</td>
</tr>
<tr>
<td>Existing releases downloadable</td>
<td><strong>10 years</strong> after placing on the market</td>
<td>GitHub Releases / Registry</td>
</tr>
<tr>
<td>Declaration of Conformity available</td>
<td><strong>10 years</strong> after placing on the market</td>
<td>Git repository</td>
</tr>
</tbody>
</table>
<h2 id="_6-4-5-versioning-strategy" tabindex="-1">6.4.5 Versioning Strategy <a class="header-anchor" href="#_6-4-5-versioning-strategy" aria-label="Permalink to &quot;6.4.5 Versioning Strategy&quot;"></a></h2>
<p>BAUER GROUP uses <a href="https://semver.org/" target="_blank" rel="noreferrer">Semantic Versioning 2.0.0</a>:</p>
<div class="language- vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang"></span><pre class="shiki shiki-themes github-light github-dark vp-code" tabindex="0" v-pre=""><code><span class="line"><span>MAJOR.MINOR.PATCH[-PRERELEASE][+BUILD]</span></span>
<span class="line"><span></span></span>
<span class="line"><span>MAJOR – Incompatible API changes (new support cycle)</span></span>
<span class="line"><span>MINOR – Backward-compatible feature additions</span></span>
<span class="line"><span>PATCH – Backward-compatible bug fixes / security updates</span></span></code></pre>
</div><p><strong>Security updates</strong> are always published as <strong>PATCH</strong> releases and are backward-compatible. If a breaking change is unavoidable to remediate a vulnerability, a workaround for the current MAJOR version is provided in parallel.</p>
<h2 id="_6-4-6-product-catalogue-—-support-status" tabindex="-1">6.4.6 Product Catalogue — Support Status <a class="header-anchor" href="#_6-4-6-product-catalogue-—-support-status" aria-label="Permalink to &quot;6.4.6 Product Catalogue — Support Status&quot;"></a></h2>
<div class="warning custom-block"><p class="custom-block-title">PRODUCT-SPECIFIC</p>
<p>The following product catalogue must be maintained for each CRA-relevant product of BAUER GROUP. The table is updated upon each major release, phase transition, or EOL event.</p>
<p><strong>Responsible:</strong> Product Owner in coordination with Security Lead</p>
</div>
<table tabindex="0">
<thead>
<tr>
<th>Product</th>
<th>Type</th>
<th>Current Version</th>
<th>Support Phase</th>
<th style="text-align:center">Support Start</th>
<th style="text-align:center">Support End</th>
<th style="text-align:center">Next Review</th>
</tr>
</thead>
<tbody>
<tr>
<td><em>[Enter product name]</em></td>
<td><em>Software</em></td>
<td><em>vX.Y.Z</em></td>
<td><em>Active Support</em></td>
<td style="text-align:center"><em>YYYY-MM-DD</em></td>
<td style="text-align:center"><em>YYYY-MM-DD</em></td>
<td style="text-align:center"><em>YYYY-MM-DD</em></td>
</tr>
<tr>
<td><em>[Enter product name]</em></td>
<td><em>Container</em></td>
<td><em>vX.Y.Z</em></td>
<td><em>Security Support</em></td>
<td style="text-align:center"><em>YYYY-MM-DD</em></td>
<td style="text-align:center"><em>YYYY-MM-DD</em></td>
<td style="text-align:center"><em>YYYY-MM-DD</em></td>
</tr>
<tr>
<td><em>[Enter product name]</em></td>
<td><em>Firmware</em></td>
<td><em>vX.Y.Z</em></td>
<td><em>Active Support</em></td>
<td style="text-align:center"><em>YYYY-MM-DD</em></td>
<td style="text-align:center"><em>YYYY-MM-DD</em></td>
<td style="text-align:center"><em>YYYY-MM-DD</em></td>
</tr>
</tbody>
</table>
<div class="tip custom-block"><p class="custom-block-title">INSTRUCTIONS</p>
<p>For each product within the CRA scope (→ Ch. 1.3), a row must be entered in this table. The <strong>Support Start</strong> corresponds to the date of placing on the market (first public provision). The <strong>Support End</strong> must be at least 5 years after the Support Start.</p>
</div>
<h2 id="_6-4-7-user-information" tabindex="-1">6.4.7 User Information <a class="header-anchor" href="#_6-4-7-user-information" aria-label="Permalink to &quot;6.4.7 User Information&quot;"></a></h2>
<p>Pursuant to Annex II No. 5 CRA, users must be informed about the Support Period. The information must be provided at the following locations:</p>
<table tabindex="0">
<thead>
<tr>
<th>Information Location</th>
<th>Content</th>
<th>CRA Obligation</th>
</tr>
</thead>
<tbody>
<tr>
<td><strong>Product documentation</strong> (at placing on the market)</td>
<td>Support Period, support phases, EOL date</td>
<td>Art. 13(8)</td>
</tr>
<tr>
<td><strong>SECURITY.md</strong> (per repository)</td>
<td>Supported versions, reporting channels</td>
<td>Art. 13(6)</td>
</tr>
<tr>
<td><strong>Product page / README</strong></td>
<td>Current support phase, next EOL</td>
<td>Annex II No. 5</td>
</tr>
<tr>
<td><strong>Release Notes</strong> (at phase transition)</td>
<td>Transition Active → Security, EOL announcement</td>
<td>Best Practice</td>
</tr>
<tr>
<td><strong>User Information Template</strong></td>
<td>Complete security notices</td>
<td>Annex II</td>
</tr>
</tbody>
</table>
<p>The template for user information can be found under <a href="/en/templates/product-security-info">Annex: User Information</a>.</p>
<h2 id="_6-4-8-process-integration" tabindex="-1">6.4.8 Process Integration <a class="header-anchor" href="#_6-4-8-process-integration" aria-label="Permalink to &quot;6.4.8 Process Integration&quot;"></a></h2>
<p>The lifecycle process is integrated into the existing CI/CD workflows:</p>
<table tabindex="0">
<thead>
<tr>
<th>Event</th>
<th>Automation</th>
<th>Workflow</th>
</tr>
</thead>
<tbody>
<tr>
<td>New release</td>
<td>Generate SBOM, sign, attach as release asset</td>
<td><code>cra-release.yml</code></td>
</tr>
<tr>
<td>Major release</td>
<td>Set support phase of predecessor to Security Support</td>
<td>Manual + catalogue update</td>
</tr>
<tr>
<td>EOL reached</td>
<td>Update SECURITY.md, deprecation notice in registry</td>
<td>Manual + catalogue update</td>
</tr>
<tr>
<td>Support review (semi-annual)</td>
<td>Review product catalogue, plan phase transitions</td>
<td>Manual</td>
</tr>
</tbody>
</table>
]]></content:encoded>
            <author>BAUER GROUP</author>
        </item>
        <item>
            <title><![CDATA[6.3 Update Mechanism]]></title>
            <link>https://cra.docs.bauer-group.com/en/technical-documentation/update-mechanism</link>
            <guid isPermaLink="false">https://cra.docs.bauer-group.com/en/technical-documentation/update-mechanism</guid>
            <pubDate>Tue, 10 Feb 2026 16:43:47 GMT</pubDate>
            <description><![CDATA[# 6.3 Update Mechanism

## 6.3.1 Overview

The Update Mechanism ensures that security updates are delivered to users in a secure, authentic, and timely manner.

::: info LEGAL BASIS
**Annex I, Part II, No. 7:** *"The manufacturer shall ensure that security updates are made available to users without delay and free of charge."*

**Art. 10(12) CRA:** The integrity of security updates must be ensured, in particular in the case of automatic installation.
:::

## 6.3.2 Update Channels

### Container-Based Products

```
Patch verfügbar
    │
    ├── Neues Container-Image bauen
    │   ├── CI/CD Pipeline (automatisch)
    │   ├── Trivy Scan (keine neuen CVEs)
    │   ├── SBOM generieren
    │   └── Cosign signieren
    │
    ├── Image publizieren
    │   ├── GitHub Container Registry (GHCR)
    │   └── Docker Hub (falls konfiguriert)
    │
    ├── Nutzer-Benachrichtigung
    │   ├── GitHub Release mit Changelog
    │   └── Security Advisory (bei CVE-Fixes)
    │
    └── Update durch Nutzer
        ├── docker pull <image>:<new-tag>
        ├── Signatur verifizieren: cosign verify
        └── Container neu starten
```

### Firmware Updates (OTA)

```
Patch verfügbar
    │
    ├── Firmware bauen
    │   ├── Build-Workflow (ESP32/STM32/Zephyr)
    │   ├── SBOM generieren
    │   └── Cosign signieren
    │
    ├── Firmware publizieren
    │   ├── GitHub Release Asset
    │   └── OTA-Server (signiert)
    │
    ├── OTA-Verteilung
    │   ├── Gerät prüft OTA-Server
    │   ├── Signatur validieren
    │   ├── Hash verifizieren
    │   ├── Firmware installieren
    │   └── Anti-Rollback prüfen
    │
    └── Fallback
        └── Manuelle Update-Möglichkeit (USB/Serial)
```

### Software Packages (NuGet, NPM)

```
Patch verfügbar
    │
    ├── Paket bauen + publizieren
    │   ├── Registry (NuGet.org, npmjs.com)
    │   └── SBOM als Release Asset
    │
    └── Nutzer aktualisiert
        └── npm update / dotnet update
```

## 6.3.3 Integrity Protection

Each update is protected by the following mechanisms:

| Mechanism | Container | Firmware | Packages |
|]]></description>
            <content:encoded><![CDATA[<h1 id="_6-3-update-mechanism" tabindex="-1">6.3 Update Mechanism <a class="header-anchor" href="#_6-3-update-mechanism" aria-label="Permalink to &quot;6.3 Update Mechanism&quot;"></a></h1>
<h2 id="_6-3-1-overview" tabindex="-1">6.3.1 Overview <a class="header-anchor" href="#_6-3-1-overview" aria-label="Permalink to &quot;6.3.1 Overview&quot;"></a></h2>
<p>The Update Mechanism ensures that security updates are delivered to users in a secure, authentic, and timely manner.</p>
<div class="info custom-block"><p class="custom-block-title">LEGAL BASIS</p>
<p><strong>Annex I, Part II, No. 7:</strong> <em>&quot;The manufacturer shall ensure that security updates are made available to users without delay and free of charge.&quot;</em></p>
<p><strong>Art. 10(12) CRA:</strong> The integrity of security updates must be ensured, in particular in the case of automatic installation.</p>
</div>
<h2 id="_6-3-2-update-channels" tabindex="-1">6.3.2 Update Channels <a class="header-anchor" href="#_6-3-2-update-channels" aria-label="Permalink to &quot;6.3.2 Update Channels&quot;"></a></h2>
<h3 id="container-based-products" tabindex="-1">Container-Based Products <a class="header-anchor" href="#container-based-products" aria-label="Permalink to &quot;Container-Based Products&quot;"></a></h3>
<div class="language- vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang"></span><pre class="shiki shiki-themes github-light github-dark vp-code" tabindex="0" v-pre=""><code><span class="line"><span>Patch verfügbar</span></span>
<span class="line"><span>    │</span></span>
<span class="line"><span>    ├── Neues Container-Image bauen</span></span>
<span class="line"><span>    │   ├── CI/CD Pipeline (automatisch)</span></span>
<span class="line"><span>    │   ├── Trivy Scan (keine neuen CVEs)</span></span>
<span class="line"><span>    │   ├── SBOM generieren</span></span>
<span class="line"><span>    │   └── Cosign signieren</span></span>
<span class="line"><span>    │</span></span>
<span class="line"><span>    ├── Image publizieren</span></span>
<span class="line"><span>    │   ├── GitHub Container Registry (GHCR)</span></span>
<span class="line"><span>    │   └── Docker Hub (falls konfiguriert)</span></span>
<span class="line"><span>    │</span></span>
<span class="line"><span>    ├── Nutzer-Benachrichtigung</span></span>
<span class="line"><span>    │   ├── GitHub Release mit Changelog</span></span>
<span class="line"><span>    │   └── Security Advisory (bei CVE-Fixes)</span></span>
<span class="line"><span>    │</span></span>
<span class="line"><span>    └── Update durch Nutzer</span></span>
<span class="line"><span>        ├── docker pull &#x3C;image>:&#x3C;new-tag></span></span>
<span class="line"><span>        ├── Signatur verifizieren: cosign verify</span></span>
<span class="line"><span>        └── Container neu starten</span></span></code></pre>
</div><h3 id="firmware-updates-ota" tabindex="-1">Firmware Updates (OTA) <a class="header-anchor" href="#firmware-updates-ota" aria-label="Permalink to &quot;Firmware Updates (OTA)&quot;"></a></h3>
<div class="language- vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang"></span><pre class="shiki shiki-themes github-light github-dark vp-code" tabindex="0" v-pre=""><code><span class="line"><span>Patch verfügbar</span></span>
<span class="line"><span>    │</span></span>
<span class="line"><span>    ├── Firmware bauen</span></span>
<span class="line"><span>    │   ├── Build-Workflow (ESP32/STM32/Zephyr)</span></span>
<span class="line"><span>    │   ├── SBOM generieren</span></span>
<span class="line"><span>    │   └── Cosign signieren</span></span>
<span class="line"><span>    │</span></span>
<span class="line"><span>    ├── Firmware publizieren</span></span>
<span class="line"><span>    │   ├── GitHub Release Asset</span></span>
<span class="line"><span>    │   └── OTA-Server (signiert)</span></span>
<span class="line"><span>    │</span></span>
<span class="line"><span>    ├── OTA-Verteilung</span></span>
<span class="line"><span>    │   ├── Gerät prüft OTA-Server</span></span>
<span class="line"><span>    │   ├── Signatur validieren</span></span>
<span class="line"><span>    │   ├── Hash verifizieren</span></span>
<span class="line"><span>    │   ├── Firmware installieren</span></span>
<span class="line"><span>    │   └── Anti-Rollback prüfen</span></span>
<span class="line"><span>    │</span></span>
<span class="line"><span>    └── Fallback</span></span>
<span class="line"><span>        └── Manuelle Update-Möglichkeit (USB/Serial)</span></span></code></pre>
</div><h3 id="software-packages-nuget-npm" tabindex="-1">Software Packages (NuGet, NPM) <a class="header-anchor" href="#software-packages-nuget-npm" aria-label="Permalink to &quot;Software Packages (NuGet, NPM)&quot;"></a></h3>
<div class="language- vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang"></span><pre class="shiki shiki-themes github-light github-dark vp-code" tabindex="0" v-pre=""><code><span class="line"><span>Patch verfügbar</span></span>
<span class="line"><span>    │</span></span>
<span class="line"><span>    ├── Paket bauen + publizieren</span></span>
<span class="line"><span>    │   ├── Registry (NuGet.org, npmjs.com)</span></span>
<span class="line"><span>    │   └── SBOM als Release Asset</span></span>
<span class="line"><span>    │</span></span>
<span class="line"><span>    └── Nutzer aktualisiert</span></span>
<span class="line"><span>        └── npm update / dotnet update</span></span></code></pre>
</div><h2 id="_6-3-3-integrity-protection" tabindex="-1">6.3.3 Integrity Protection <a class="header-anchor" href="#_6-3-3-integrity-protection" aria-label="Permalink to &quot;6.3.3 Integrity Protection&quot;"></a></h2>
<p>Each update is protected by the following mechanisms:</p>
<table tabindex="0">
<thead>
<tr>
<th>Mechanism</th>
<th style="text-align:center">Container</th>
<th style="text-align:center">Firmware</th>
<th style="text-align:center">Packages</th>
</tr>
</thead>
<tbody>
<tr>
<td>Cosign Signature</td>
<td style="text-align:center">✅</td>
<td style="text-align:center">✅</td>
<td style="text-align:center">🔧 Planned</td>
</tr>
<tr>
<td>SHA256 Hash</td>
<td style="text-align:center">✅</td>
<td style="text-align:center">✅</td>
<td style="text-align:center">✅ (Registry)</td>
</tr>
<tr>
<td>TLS Transport</td>
<td style="text-align:center">✅</td>
<td style="text-align:center">✅</td>
<td style="text-align:center">✅</td>
</tr>
<tr>
<td>Anti-Rollback</td>
<td style="text-align:center">N/A</td>
<td style="text-align:center">✅</td>
<td style="text-align:center">N/A</td>
</tr>
<tr>
<td>Secure Boot Chain</td>
<td style="text-align:center">N/A</td>
<td style="text-align:center">✅ (where supported)</td>
<td style="text-align:center">N/A</td>
</tr>
</tbody>
</table>
<h2 id="_6-3-4-free-of-charge-provision" tabindex="-1">6.3.4 Free-of-Charge Provision <a class="header-anchor" href="#_6-3-4-free-of-charge-provision" aria-label="Permalink to &quot;6.3.4 Free-of-Charge Provision&quot;"></a></h2>
<p>Pursuant to Art. 10(7) CRA, all security updates are provided <strong>free of charge</strong>:</p>
<ul>
<li>Container images via public registries (GHCR)</li>
<li>Firmware via GitHub Releases (public download)</li>
<li>Software packages via public registries</li>
</ul>
<h2 id="_6-3-5-update-frequency" tabindex="-1">6.3.5 Update Frequency <a class="header-anchor" href="#_6-3-5-update-frequency" aria-label="Permalink to &quot;6.3.5 Update Frequency&quot;"></a></h2>
<table tabindex="0">
<thead>
<tr>
<th>Product Type</th>
<th>Regular Updates</th>
<th>Security Updates</th>
</tr>
</thead>
<tbody>
<tr>
<td>Container Images</td>
<td>As needed / monthly</td>
<td>Immediately for CRITICAL/HIGH</td>
</tr>
<tr>
<td>Firmware</td>
<td>Quarterly</td>
<td>Immediately for CRITICAL/HIGH</td>
</tr>
<tr>
<td>Software Packages</td>
<td>As needed</td>
<td>Immediately for CRITICAL/HIGH</td>
</tr>
</tbody>
</table>
]]></content:encoded>
            <author>BAUER GROUP</author>
        </item>
        <item>
            <title><![CDATA[A.1 Incident Report (Internal)]]></title>
            <link>https://cra.docs.bauer-group.com/en/templates/incident-report</link>
            <guid isPermaLink="false">https://cra.docs.bauer-group.com/en/templates/incident-report</guid>
            <pubDate>Tue, 10 Feb 2026 16:43:47 GMT</pubDate>
            <description><![CDATA[# A.1 Incident Report (Internal)

## A.1.1 Template: Internal Security Incident Report

]]></description>
            <content:encoded><![CDATA[<h1 id="a-1-incident-report-internal" tabindex="-1">A.1 Incident Report (Internal) <a class="header-anchor" href="#a-1-incident-report-internal" aria-label="Permalink to &quot;A.1 Incident Report (Internal)&quot;"></a></h1>
<h2 id="a-1-1-template-internal-security-incident-report" tabindex="-1">A.1.1 Template: Internal Security Incident Report <a class="header-anchor" href="#a-1-1-template-internal-security-incident-report" aria-label="Permalink to &quot;A.1.1 Template: Internal Security Incident Report&quot;"></a></h2>
<hr>
<h3 id="incident-identification" tabindex="-1">Incident Identification <a class="header-anchor" href="#incident-identification" aria-label="Permalink to &quot;Incident Identification&quot;"></a></h3>
<table tabindex="0">
<thead>
<tr>
<th>Field</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td><strong>Incident ID</strong></td>
<td>[INC-YYYY-NNN]</td>
</tr>
<tr>
<td><strong>Severity</strong></td>
<td>[SEV-1 / SEV-2 / SEV-3 / SEV-4]</td>
</tr>
<tr>
<td><strong>Status</strong></td>
<td>[Open / In Progress / Resolved / Closed]</td>
</tr>
<tr>
<td><strong>Created</strong></td>
<td>[YYYY-MM-DD HH:MM]</td>
</tr>
<tr>
<td><strong>Created by</strong></td>
<td>[Name]</td>
</tr>
<tr>
<td><strong>Assigned to</strong></td>
<td>[Name]</td>
</tr>
<tr>
<td><strong>GitHub Issue</strong></td>
<td>[Link]</td>
</tr>
</tbody>
</table>
<h3 id="summary" tabindex="-1">Summary <a class="header-anchor" href="#summary" aria-label="Permalink to &quot;Summary&quot;"></a></h3>
<p>[1-3 sentence summary of the incident]</p>
<h3 id="timeline" tabindex="-1">Timeline <a class="header-anchor" href="#timeline" aria-label="Permalink to &quot;Timeline&quot;"></a></h3>
<table tabindex="0">
<thead>
<tr>
<th>Date/Time</th>
<th>Event</th>
<th>Responsible</th>
</tr>
</thead>
<tbody>
<tr>
<td></td>
<td>Incident detected</td>
<td></td>
</tr>
<tr>
<td></td>
<td>Triage completed</td>
<td></td>
</tr>
<tr>
<td></td>
<td>Containment implemented</td>
<td></td>
</tr>
<tr>
<td></td>
<td>Patch developed</td>
<td></td>
</tr>
<tr>
<td></td>
<td>Patch deployed</td>
<td></td>
</tr>
<tr>
<td></td>
<td>Incident closed</td>
<td></td>
</tr>
</tbody>
</table>
<h3 id="affected-systems-products" tabindex="-1">Affected Systems/Products <a class="header-anchor" href="#affected-systems-products" aria-label="Permalink to &quot;Affected Systems/Products&quot;"></a></h3>
<table tabindex="0">
<thead>
<tr>
<th>System/Product</th>
<th>Version</th>
<th>Impact</th>
</tr>
</thead>
<tbody>
<tr>
<td></td>
<td></td>
<td></td>
</tr>
</tbody>
</table>
<h3 id="root-cause" tabindex="-1">Root Cause <a class="header-anchor" href="#root-cause" aria-label="Permalink to &quot;Root Cause&quot;"></a></h3>
<p>[Description of the root cause]</p>
<h3 id="actions-taken" tabindex="-1">Actions Taken <a class="header-anchor" href="#actions-taken" aria-label="Permalink to &quot;Actions Taken&quot;"></a></h3>
<table tabindex="0">
<thead>
<tr>
<th>Action</th>
<th>Status</th>
<th>Date</th>
</tr>
</thead>
<tbody>
<tr>
<td></td>
<td></td>
<td></td>
</tr>
</tbody>
</table>
<h3 id="enisa-reporting-obligation" tabindex="-1">ENISA Reporting Obligation <a class="header-anchor" href="#enisa-reporting-obligation" aria-label="Permalink to &quot;ENISA Reporting Obligation&quot;"></a></h3>
<ul>
<li>[ ] Subject to ENISA reporting
<ul>
<li>[ ] Early Warning (24h) sent on: ___</li>
<li>[ ] Notification (72h) sent on: ___</li>
<li>[ ] Final Report (14d) sent on: ___</li>
</ul>
</li>
<li>[ ] Not subject to ENISA reporting (Justification: ___)</li>
</ul>
<h3 id="lessons-learned" tabindex="-1">Lessons Learned <a class="header-anchor" href="#lessons-learned" aria-label="Permalink to &quot;Lessons Learned&quot;"></a></h3>
<p>[What was learned? What will be improved?]</p>
]]></content:encoded>
            <author>BAUER GROUP</author>
        </item>
        <item>
            <title><![CDATA[A.6 Risk Assessment]]></title>
            <link>https://cra.docs.bauer-group.com/en/templates/risk-assessment</link>
            <guid isPermaLink="false">https://cra.docs.bauer-group.com/en/templates/risk-assessment</guid>
            <pubDate>Tue, 10 Feb 2026 16:43:47 GMT</pubDate>
            <description><![CDATA[# A.6 Risk Assessment

## A.6.1 Template: Cybersecurity Risk Assessment pursuant to Art. 10(2) CRA

]]></description>
            <content:encoded><![CDATA[<h1 id="a-6-risk-assessment" tabindex="-1">A.6 Risk Assessment <a class="header-anchor" href="#a-6-risk-assessment" aria-label="Permalink to &quot;A.6 Risk Assessment&quot;"></a></h1>
<h2 id="a-6-1-template-cybersecurity-risk-assessment-pursuant-to-art-10-2-cra" tabindex="-1">A.6.1 Template: Cybersecurity Risk Assessment pursuant to Art. 10(2) CRA <a class="header-anchor" href="#a-6-1-template-cybersecurity-risk-assessment-pursuant-to-art-10-2-cra" aria-label="Permalink to &quot;A.6.1 Template: Cybersecurity Risk Assessment pursuant to Art. 10(2) CRA&quot;"></a></h2>
<hr>
<h3 id="_1-product-identification" tabindex="-1">1. Product Identification <a class="header-anchor" href="#_1-product-identification" aria-label="Permalink to &quot;1. Product Identification&quot;"></a></h3>
<table tabindex="0">
<thead>
<tr>
<th>Field</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td><strong>Product Name</strong></td>
<td>[Name]</td>
</tr>
<tr>
<td><strong>Version</strong></td>
<td>[Version]</td>
</tr>
<tr>
<td><strong>CRA Category</strong></td>
<td>[Standard / Class I / Class II / Critical]</td>
</tr>
<tr>
<td><strong>Assessment Date</strong></td>
<td>[YYYY-MM-DD]</td>
</tr>
<tr>
<td><strong>Assessor</strong></td>
<td>[Name, Role]</td>
</tr>
<tr>
<td><strong>Next Review</strong></td>
<td>[YYYY-MM-DD]</td>
</tr>
</tbody>
</table>
<h3 id="_2-product-description" tabindex="-1">2. Product Description <a class="header-anchor" href="#_2-product-description" aria-label="Permalink to &quot;2. Product Description&quot;"></a></h3>
<p><strong>Purpose:</strong> [Brief description]</p>
<p><strong>Technology Stack:</strong> [Listing]</p>
<p><strong>Data Processing:</strong></p>
<ul>
<li>[ ] Personal data</li>
<li>[ ] Business-critical data</li>
<li>[ ] Authentication data</li>
<li>[ ] No sensitive data</li>
</ul>
<p><strong>Network Connectivity:</strong></p>
<ul>
<li>[ ] Internet-facing</li>
<li>[ ] Internal network</li>
<li>[ ] Isolated</li>
<li>[ ] IoT/OT network</li>
</ul>
<h3 id="_3-threat-analysis" tabindex="-1">3. Threat Analysis <a class="header-anchor" href="#_3-threat-analysis" aria-label="Permalink to &quot;3. Threat Analysis&quot;"></a></h3>
<table tabindex="0">
<thead>
<tr>
<th>Threat</th>
<th style="text-align:center">Likelihood</th>
<th style="text-align:center">Impact</th>
<th style="text-align:center">Risk</th>
</tr>
</thead>
<tbody>
<tr>
<td>Unauthorised network access</td>
<td style="text-align:center">[H/M/L]</td>
<td style="text-align:center">[C/S/Mo/Mi]</td>
<td style="text-align:center">[C/H/M/L]</td>
</tr>
<tr>
<td>Injection attacks (SQL, XSS, etc.)</td>
<td style="text-align:center">[H/M/L]</td>
<td style="text-align:center">[C/S/Mo/Mi]</td>
<td style="text-align:center">[C/H/M/L]</td>
</tr>
<tr>
<td>Dependency vulnerability (CVE)</td>
<td style="text-align:center">[H/M/L]</td>
<td style="text-align:center">[C/S/Mo/Mi]</td>
<td style="text-align:center">[C/H/M/L]</td>
</tr>
<tr>
<td>Supply chain attack</td>
<td style="text-align:center">[H/M/L]</td>
<td style="text-align:center">[C/S/Mo/Mi]</td>
<td style="text-align:center">[C/H/M/L]</td>
</tr>
<tr>
<td>Denial of Service</td>
<td style="text-align:center">[H/M/L]</td>
<td style="text-align:center">[C/S/Mo/Mi]</td>
<td style="text-align:center">[C/H/M/L]</td>
</tr>
<tr>
<td>Data exfiltration</td>
<td style="text-align:center">[H/M/L]</td>
<td style="text-align:center">[C/S/Mo/Mi]</td>
<td style="text-align:center">[C/H/M/L]</td>
</tr>
<tr>
<td>Firmware manipulation</td>
<td style="text-align:center">[H/M/L]</td>
<td style="text-align:center">[C/S/Mo/Mi]</td>
<td style="text-align:center">[C/H/M/L]</td>
</tr>
<tr>
<td>Physical access</td>
<td style="text-align:center">[H/M/L]</td>
<td style="text-align:center">[C/S/Mo/Mi]</td>
<td style="text-align:center">[C/H/M/L]</td>
</tr>
<tr>
<td>Insider threat</td>
<td style="text-align:center">[H/M/L]</td>
<td style="text-align:center">[C/S/Mo/Mi]</td>
<td style="text-align:center">[C/H/M/L]</td>
</tr>
</tbody>
</table>
<p><em>H=High, M=Medium, L=Low, C=Critical, S=Significant, Mo=Moderate, Mi=Minor</em></p>
<h3 id="_4-security-measures" tabindex="-1">4. Security Measures <a class="header-anchor" href="#_4-security-measures" aria-label="Permalink to &quot;4. Security Measures&quot;"></a></h3>
<table tabindex="0">
<thead>
<tr>
<th>Risk</th>
<th>Measure</th>
<th style="text-align:center">Implementation Status</th>
</tr>
</thead>
<tbody>
<tr>
<td>Unauthorised access</td>
<td>[e.g. OAuth2, mTLS]</td>
<td style="text-align:center">[Implemented/In Progress/Not Started]</td>
</tr>
<tr>
<td>Injection</td>
<td>[e.g. Input Validation, Prepared Statements]</td>
<td style="text-align:center">[Implemented/In Progress/Not Started]</td>
</tr>
<tr>
<td>CVE in dependencies</td>
<td>[Trivy Scan, Dependabot, CVE Monitor]</td>
<td style="text-align:center">Implemented</td>
</tr>
<tr>
<td>Supply chain</td>
<td>[License Compliance, SBOM, Base Image Monitor]</td>
<td style="text-align:center">Implemented</td>
</tr>
<tr>
<td>DoS</td>
<td>[e.g. Rate Limiting, Resource Limits]</td>
<td style="text-align:center">[Implemented/In Progress/Not Started]</td>
</tr>
<tr>
<td>Data exfiltration</td>
<td>[e.g. Encryption, Access Control]</td>
<td style="text-align:center">[Implemented/In Progress/Not Started]</td>
</tr>
<tr>
<td>Firmware manipulation</td>
<td>[Cosign, Secure Boot, Anti-Rollback]</td>
<td style="text-align:center">[Implemented/In Progress/Not Started]</td>
</tr>
</tbody>
</table>
<h3 id="_5-residual-risks" tabindex="-1">5. Residual Risks <a class="header-anchor" href="#_5-residual-risks" aria-label="Permalink to &quot;5. Residual Risks&quot;"></a></h3>
<table tabindex="0">
<thead>
<tr>
<th>Residual Risk</th>
<th>Assessment</th>
<th>Acceptance Decision</th>
</tr>
</thead>
<tbody>
<tr>
<td>[Description]</td>
<td>[Low/Medium]</td>
<td>[Accepted / Further measures planned]</td>
</tr>
</tbody>
</table>
<h3 id="_6-annex-i-conformity-check" tabindex="-1">6. Annex I Conformity Check <a class="header-anchor" href="#_6-annex-i-conformity-check" aria-label="Permalink to &quot;6. Annex I Conformity Check&quot;"></a></h3>
<table tabindex="0">
<thead>
<tr>
<th style="text-align:center">No.</th>
<th>Annex I Part I Requirement</th>
<th style="text-align:center">Compliant</th>
<th>Evidence</th>
</tr>
</thead>
<tbody>
<tr>
<td style="text-align:center"></td>
<td>Appropriate level of cybersecurity based on risks</td>
<td style="text-align:center">[Yes/No]</td>
<td>[Reference]</td>
</tr>
<tr>
<td style="text-align:center">(a)</td>
<td>No known exploitable vulnerabilities at delivery</td>
<td style="text-align:center">[Yes/No]</td>
<td>[Trivy Report date]</td>
</tr>
<tr>
<td style="text-align:center">(b)</td>
<td>Secure by default configuration with reset capability</td>
<td style="text-align:center">[Yes/No]</td>
<td>[Reference]</td>
</tr>
<tr>
<td style="text-align:center">(c)</td>
<td>Security updates deliverable automatically (with opt-out)</td>
<td style="text-align:center">[Yes/No]</td>
<td>[Reference]</td>
</tr>
<tr>
<td style="text-align:center">(d)</td>
<td>Protection from unauthorised access (control mechanisms)</td>
<td style="text-align:center">[Yes/No]</td>
<td>[Reference]</td>
</tr>
<tr>
<td style="text-align:center">(e)</td>
<td>Protection of confidentiality (encryption at rest / in transit)</td>
<td style="text-align:center">[Yes/No]</td>
<td>[Reference]</td>
</tr>
<tr>
<td style="text-align:center">(f)</td>
<td>Protection of integrity against unauthorised manipulation</td>
<td style="text-align:center">[Yes/No]</td>
<td>[Reference]</td>
</tr>
<tr>
<td style="text-align:center">(g)</td>
<td>Data minimisation</td>
<td style="text-align:center">[Yes/No]</td>
<td>[Reference]</td>
</tr>
<tr>
<td style="text-align:center">(h)</td>
<td>Protection of availability (resilience, DoS mitigation)</td>
<td style="text-align:center">[Yes/No]</td>
<td>[Reference]</td>
</tr>
<tr>
<td style="text-align:center">(i)</td>
<td>Minimise negative impact on availability of other services/devices</td>
<td style="text-align:center">[Yes/No]</td>
<td>[Reference]</td>
</tr>
<tr>
<td style="text-align:center">(j)</td>
<td>Minimal attack surface including external interfaces</td>
<td style="text-align:center">[Yes/No]</td>
<td>[Reference]</td>
</tr>
<tr>
<td style="text-align:center">(k)</td>
<td>Exploitation mitigation (compartmentalisation, least privilege)</td>
<td style="text-align:center">[Yes/No]</td>
<td>[Reference]</td>
</tr>
<tr>
<td style="text-align:center">(l)</td>
<td>Logging and monitoring of relevant activities (with opt-out)</td>
<td style="text-align:center">[Yes/No]</td>
<td>[Reference]</td>
</tr>
<tr>
<td style="text-align:center">(m)</td>
<td>Secure and permanent deletion of data and settings</td>
<td style="text-align:center">[Yes/No]</td>
<td>[Reference]</td>
</tr>
</tbody>
</table>
<h3 id="_7-result" tabindex="-1">7. Result <a class="header-anchor" href="#_7-result" aria-label="Permalink to &quot;7. Result&quot;"></a></h3>
<p><strong>Overall Risk Assessment:</strong> [Low / Medium / High / Critical]</p>
<p><strong>Recommendation:</strong></p>
<ul>
<li>[ ] Product may be released in its current form</li>
<li>[ ] Release upon implementation of the identified measures</li>
<li>[ ] Further analysis required</li>
</ul>
<h3 id="_8-signature" tabindex="-1">8. Signature <a class="header-anchor" href="#_8-signature" aria-label="Permalink to &quot;8. Signature&quot;"></a></h3>
<table tabindex="0">
<thead>
<tr>
<th>Field</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td><strong>Assessor</strong></td>
<td>[Name]</td>
</tr>
<tr>
<td><strong>Date</strong></td>
<td>[YYYY-MM-DD]</td>
</tr>
<tr>
<td><strong>Approved by</strong></td>
<td>[Name, Role]</td>
</tr>
<tr>
<td><strong>Approval Date</strong></td>
<td>[YYYY-MM-DD]</td>
</tr>
</tbody>
</table>
]]></content:encoded>
            <author>BAUER GROUP</author>
        </item>
        <item>
            <title><![CDATA[3.1 CVE Monitoring]]></title>
            <link>https://cra.docs.bauer-group.com/en/vulnerability-management/cve-monitoring</link>
            <guid isPermaLink="false">https://cra.docs.bauer-group.com/en/vulnerability-management/cve-monitoring</guid>
            <pubDate>Tue, 10 Feb 2026 16:43:47 GMT</pubDate>
            <description><![CDATA[# 3.1 CVE Monitoring

## 3.1.1 Process

CVE monitoring scans all active product SBOMs against current CVE databases on a daily basis. The objective is the early detection of newly published vulnerabilities in dependencies of already delivered products.

::: info LEGAL BASIS
**Art. 10(6) CRA:** *"The manufacturer shall have effective and regular procedures and mechanisms in place to identify vulnerabilities in the product with digital elements."*

**Annex I, Part II, No. 5:** *"The manufacturer shall actively monitor third-party vulnerabilities contained in the product."*
:::

## 3.1.2 Workflow Design

### Trigger

```yaml
on:
  schedule:
    - cron: '0 6 * * *'    # Daily at 06:00 UTC
  workflow_dispatch:         # Manual trigger
```

### Sequence

```
1. Load SBOMs of active product versions
   +-- Source: Compliance repo (sbom/) or GitHub release assets

2. Scan each SBOM against current CVE databases
   +-- trivy sbom sbom.cdx.json --severity CRITICAL,HIGH
   +-- grype sbom:sbom.cdx.json --only-fixed --fail-on high

3. Parse results
   +-- Filter by severity (CRITICAL, HIGH)
   +-- Extract: CVE ID, package, version, fixed version
   +-- Check for duplicates (previously reported CVEs)

4. On new findings:
   +-- Create GitHub issue
   |   +-- Title: "[CVE-YYYY-XXXXX] <Package> – <Severity>"
   |   +-- Labels: security, cve, <severity>
   |   +-- Body: CVE details, affected products, fix version
   |   +-- Assignee: Security Lead
   +-- Teams notification (for CRITICAL)
   +-- If actively exploited -> trigger ENISA reporting process

5. Archive scan report
   +-- As GitHub Actions artifact (90 days)
```

### Workflow Specification

```yaml
name: CVE Monitor

on:
  schedule:
    - cron: '0 6 * * *'
  workflow_dispatch:
    inputs:
      severity:
        description: 'Minimum severity to report'
        default: 'HIGH'
        type: choice
        options: ['CRITICAL', 'HIGH', 'MEDIUM', 'LOW']

jobs:
  scan-sboms:
    runs-on: ubuntu-latest
    strategy:
      matrix:
        product: [product-a, product-b, firmware-esp32]
    steps:
      - name: Checkout Compliance Repo
        uses: actions/checkout@v4

      - name: Get Latest SBOM
        run: |
          SBOM=$(ls -t sbom/${{ matrix.product }}/sbom-*.cdx.json | head -1)
          echo "SBOM_PATH=$SBOM" >> $GITHUB_ENV

      - name: Trivy SBOM Scan
        uses: aquasecurity/trivy-action@master
        with:
          input: ${{ env.SBOM_PATH }}
          scan-type: sbom
          severity: CRITICAL,HIGH
          format: json
          output: trivy-results.json

      - name: Create Issues for New CVEs
        uses: actions/github-script@v7
        with:
          script: |
            const results = require('./trivy-results.json');
            // Create issue for each new CVE
            // Check for duplicates via existing issues
```

## 3.1.3 CVE Databases

| Database | Tool | Coverage |
|]]></description>
            <content:encoded><![CDATA[<h1 id="_3-1-cve-monitoring" tabindex="-1">3.1 CVE Monitoring <a class="header-anchor" href="#_3-1-cve-monitoring" aria-label="Permalink to &quot;3.1 CVE Monitoring&quot;"></a></h1>
<h2 id="_3-1-1-process" tabindex="-1">3.1.1 Process <a class="header-anchor" href="#_3-1-1-process" aria-label="Permalink to &quot;3.1.1 Process&quot;"></a></h2>
<p>CVE monitoring scans all active product SBOMs against current CVE databases on a daily basis. The objective is the early detection of newly published vulnerabilities in dependencies of already delivered products.</p>
<div class="info custom-block"><p class="custom-block-title">LEGAL BASIS</p>
<p><strong>Art. 10(6) CRA:</strong> <em>&quot;The manufacturer shall have effective and regular procedures and mechanisms in place to identify vulnerabilities in the product with digital elements.&quot;</em></p>
<p><strong>Annex I, Part II, No. 5:</strong> <em>&quot;The manufacturer shall actively monitor third-party vulnerabilities contained in the product.&quot;</em></p>
</div>
<h2 id="_3-1-2-workflow-design" tabindex="-1">3.1.2 Workflow Design <a class="header-anchor" href="#_3-1-2-workflow-design" aria-label="Permalink to &quot;3.1.2 Workflow Design&quot;"></a></h2>
<h3 id="trigger" tabindex="-1">Trigger <a class="header-anchor" href="#trigger" aria-label="Permalink to &quot;Trigger&quot;"></a></h3>
<div class="language-yaml vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang">yaml</span><pre class="shiki shiki-themes github-light github-dark vp-code" tabindex="0" v-pre=""><code><span class="line"><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF">on</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">:</span></span>
<span class="line"><span style="--shiki-light:#22863A;--shiki-dark:#85E89D">  schedule</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">:</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">    - </span><span style="--shiki-light:#22863A;--shiki-dark:#85E89D">cron</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">: </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF">'0 6 * * *'</span><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D">    # Daily at 06:00 UTC</span></span>
<span class="line"><span style="--shiki-light:#22863A;--shiki-dark:#85E89D">  workflow_dispatch</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">:         </span><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D"># Manual trigger</span></span></code></pre>
</div><h3 id="sequence" tabindex="-1">Sequence <a class="header-anchor" href="#sequence" aria-label="Permalink to &quot;Sequence&quot;"></a></h3>
<div class="language- vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang"></span><pre class="shiki shiki-themes github-light github-dark vp-code" tabindex="0" v-pre=""><code><span class="line"><span>1. Load SBOMs of active product versions</span></span>
<span class="line"><span>   +-- Source: Compliance repo (sbom/) or GitHub release assets</span></span>
<span class="line"><span></span></span>
<span class="line"><span>2. Scan each SBOM against current CVE databases</span></span>
<span class="line"><span>   +-- trivy sbom sbom.cdx.json --severity CRITICAL,HIGH</span></span>
<span class="line"><span>   +-- grype sbom:sbom.cdx.json --only-fixed --fail-on high</span></span>
<span class="line"><span></span></span>
<span class="line"><span>3. Parse results</span></span>
<span class="line"><span>   +-- Filter by severity (CRITICAL, HIGH)</span></span>
<span class="line"><span>   +-- Extract: CVE ID, package, version, fixed version</span></span>
<span class="line"><span>   +-- Check for duplicates (previously reported CVEs)</span></span>
<span class="line"><span></span></span>
<span class="line"><span>4. On new findings:</span></span>
<span class="line"><span>   +-- Create GitHub issue</span></span>
<span class="line"><span>   |   +-- Title: "[CVE-YYYY-XXXXX] &#x3C;Package> – &#x3C;Severity>"</span></span>
<span class="line"><span>   |   +-- Labels: security, cve, &#x3C;severity></span></span>
<span class="line"><span>   |   +-- Body: CVE details, affected products, fix version</span></span>
<span class="line"><span>   |   +-- Assignee: Security Lead</span></span>
<span class="line"><span>   +-- Teams notification (for CRITICAL)</span></span>
<span class="line"><span>   +-- If actively exploited -> trigger ENISA reporting process</span></span>
<span class="line"><span></span></span>
<span class="line"><span>5. Archive scan report</span></span>
<span class="line"><span>   +-- As GitHub Actions artifact (90 days)</span></span></code></pre>
</div><h3 id="workflow-specification" tabindex="-1">Workflow Specification <a class="header-anchor" href="#workflow-specification" aria-label="Permalink to &quot;Workflow Specification&quot;"></a></h3>
<div class="language-yaml vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang">yaml</span><pre class="shiki shiki-themes github-light github-dark vp-code" tabindex="0" v-pre=""><code><span class="line"><span style="--shiki-light:#22863A;--shiki-dark:#85E89D">name</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">: </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF">CVE Monitor</span></span>
<span class="line"></span>
<span class="line"><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF">on</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">:</span></span>
<span class="line"><span style="--shiki-light:#22863A;--shiki-dark:#85E89D">  schedule</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">:</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">    - </span><span style="--shiki-light:#22863A;--shiki-dark:#85E89D">cron</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">: </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF">'0 6 * * *'</span></span>
<span class="line"><span style="--shiki-light:#22863A;--shiki-dark:#85E89D">  workflow_dispatch</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">:</span></span>
<span class="line"><span style="--shiki-light:#22863A;--shiki-dark:#85E89D">    inputs</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">:</span></span>
<span class="line"><span style="--shiki-light:#22863A;--shiki-dark:#85E89D">      severity</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">:</span></span>
<span class="line"><span style="--shiki-light:#22863A;--shiki-dark:#85E89D">        description</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">: </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF">'Minimum severity to report'</span></span>
<span class="line"><span style="--shiki-light:#22863A;--shiki-dark:#85E89D">        default</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">: </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF">'HIGH'</span></span>
<span class="line"><span style="--shiki-light:#22863A;--shiki-dark:#85E89D">        type</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">: </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF">choice</span></span>
<span class="line"><span style="--shiki-light:#22863A;--shiki-dark:#85E89D">        options</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">: [</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF">'CRITICAL'</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">, </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF">'HIGH'</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">, </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF">'MEDIUM'</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">, </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF">'LOW'</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">]</span></span>
<span class="line"></span>
<span class="line"><span style="--shiki-light:#22863A;--shiki-dark:#85E89D">jobs</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">:</span></span>
<span class="line"><span style="--shiki-light:#22863A;--shiki-dark:#85E89D">  scan-sboms</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">:</span></span>
<span class="line"><span style="--shiki-light:#22863A;--shiki-dark:#85E89D">    runs-on</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">: </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF">ubuntu-latest</span></span>
<span class="line"><span style="--shiki-light:#22863A;--shiki-dark:#85E89D">    strategy</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">:</span></span>
<span class="line"><span style="--shiki-light:#22863A;--shiki-dark:#85E89D">      matrix</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">:</span></span>
<span class="line"><span style="--shiki-light:#22863A;--shiki-dark:#85E89D">        product</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">: [</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF">product-a</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">, </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF">product-b</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">, </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF">firmware-esp32</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">]</span></span>
<span class="line"><span style="--shiki-light:#22863A;--shiki-dark:#85E89D">    steps</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">:</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">      - </span><span style="--shiki-light:#22863A;--shiki-dark:#85E89D">name</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">: </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF">Checkout Compliance Repo</span></span>
<span class="line"><span style="--shiki-light:#22863A;--shiki-dark:#85E89D">        uses</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">: </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF">actions/checkout@v4</span></span>
<span class="line"></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">      - </span><span style="--shiki-light:#22863A;--shiki-dark:#85E89D">name</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">: </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF">Get Latest SBOM</span></span>
<span class="line"><span style="--shiki-light:#22863A;--shiki-dark:#85E89D">        run</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">: </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">|</span></span>
<span class="line"><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF">          SBOM=$(ls -t sbom/${{ matrix.product }}/sbom-*.cdx.json | head -1)</span></span>
<span class="line"><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF">          echo "SBOM_PATH=$SBOM" >> $GITHUB_ENV</span></span>
<span class="line"></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">      - </span><span style="--shiki-light:#22863A;--shiki-dark:#85E89D">name</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">: </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF">Trivy SBOM Scan</span></span>
<span class="line"><span style="--shiki-light:#22863A;--shiki-dark:#85E89D">        uses</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">: </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF">aquasecurity/trivy-action@master</span></span>
<span class="line"><span style="--shiki-light:#22863A;--shiki-dark:#85E89D">        with</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">:</span></span>
<span class="line"><span style="--shiki-light:#22863A;--shiki-dark:#85E89D">          input</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">: </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF">${{ env.SBOM_PATH }}</span></span>
<span class="line"><span style="--shiki-light:#22863A;--shiki-dark:#85E89D">          scan-type</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">: </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF">sbom</span></span>
<span class="line"><span style="--shiki-light:#22863A;--shiki-dark:#85E89D">          severity</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">: </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF">CRITICAL,HIGH</span></span>
<span class="line"><span style="--shiki-light:#22863A;--shiki-dark:#85E89D">          format</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">: </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF">json</span></span>
<span class="line"><span style="--shiki-light:#22863A;--shiki-dark:#85E89D">          output</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">: </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF">trivy-results.json</span></span>
<span class="line"></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">      - </span><span style="--shiki-light:#22863A;--shiki-dark:#85E89D">name</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">: </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF">Create Issues for New CVEs</span></span>
<span class="line"><span style="--shiki-light:#22863A;--shiki-dark:#85E89D">        uses</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">: </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF">actions/github-script@v7</span></span>
<span class="line"><span style="--shiki-light:#22863A;--shiki-dark:#85E89D">        with</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">:</span></span>
<span class="line"><span style="--shiki-light:#22863A;--shiki-dark:#85E89D">          script</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">: </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">|</span></span>
<span class="line"><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF">            const results = require('./trivy-results.json');</span></span>
<span class="line"><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF">            // Create issue for each new CVE</span></span>
<span class="line"><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF">            // Check for duplicates via existing issues</span></span></code></pre>
</div><h2 id="_3-1-3-cve-databases" tabindex="-1">3.1.3 CVE Databases <a class="header-anchor" href="#_3-1-3-cve-databases" aria-label="Permalink to &quot;3.1.3 CVE Databases&quot;"></a></h2>
<table tabindex="0">
<thead>
<tr>
<th>Database</th>
<th>Tool</th>
<th>Coverage</th>
</tr>
</thead>
<tbody>
<tr>
<td>NVD (NIST)</td>
<td>Trivy, Grype</td>
<td>Comprehensive -- all CVEs</td>
</tr>
<tr>
<td>GitHub Advisory DB</td>
<td>Dependabot</td>
<td>Language-specific</td>
</tr>
<tr>
<td>OSV (Open Source Vulnerability)</td>
<td>Trivy</td>
<td>Open-source-focused</td>
</tr>
<tr>
<td>Red Hat Security Data</td>
<td>Trivy</td>
<td>Linux packages</td>
</tr>
<tr>
<td>Alpine SecDB</td>
<td>Trivy</td>
<td>Alpine packages</td>
</tr>
</tbody>
</table>
<h2 id="_3-1-4-issue-template" tabindex="-1">3.1.4 Issue Template <a class="header-anchor" href="#_3-1-4-issue-template" aria-label="Permalink to &quot;3.1.4 Issue Template&quot;"></a></h2>
<div class="language-markdown vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang">markdown</span><pre class="shiki shiki-themes github-light github-dark vp-code" tabindex="0" v-pre=""><code><span class="line"><span style="--shiki-light:#005CC5;--shiki-light-font-weight:bold;--shiki-dark:#79B8FF;--shiki-dark-font-weight:bold">## CVE-[</span><span style="--shiki-light:#032F62;--shiki-light-text-decoration:underline;--shiki-dark:#DBEDFF;--shiki-dark-text-decoration:underline">YYYY-XXXXX</span><span style="--shiki-light:#005CC5;--shiki-light-font-weight:bold;--shiki-dark:#79B8FF;--shiki-dark-font-weight:bold">]: [Package Name] – [</span><span style="--shiki-light:#032F62;--shiki-light-text-decoration:underline;--shiki-dark:#DBEDFF;--shiki-dark-text-decoration:underline">Severity</span><span style="--shiki-light:#005CC5;--shiki-light-font-weight:bold;--shiki-dark:#79B8FF;--shiki-dark-font-weight:bold">]</span></span>
<span class="line"></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-light-font-weight:bold;--shiki-dark:#E1E4E8;--shiki-dark-font-weight:bold">**Severity:**</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8"> CRITICAL / HIGH</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-light-font-weight:bold;--shiki-dark:#E1E4E8;--shiki-dark-font-weight:bold">**CVSS Score:**</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8"> X.X</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-light-font-weight:bold;--shiki-dark:#E1E4E8;--shiki-dark-font-weight:bold">**Affected:**</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8"> [Product name] v[</span><span style="--shiki-light:#032F62;--shiki-light-text-decoration:underline;--shiki-dark:#DBEDFF;--shiki-dark-text-decoration:underline">Version</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">]</span></span>
<span class="line"></span>
<span class="line"><span style="--shiki-light:#005CC5;--shiki-light-font-weight:bold;--shiki-dark:#79B8FF;--shiki-dark-font-weight:bold">### Details</span></span>
<span class="line"><span style="--shiki-light:#E36209;--shiki-dark:#FFAB70">-</span><span style="--shiki-light:#24292E;--shiki-light-font-weight:bold;--shiki-dark:#E1E4E8;--shiki-dark-font-weight:bold"> **Package:**</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8"> [</span><span style="--shiki-light:#032F62;--shiki-light-text-decoration:underline;--shiki-dark:#DBEDFF;--shiki-dark-text-decoration:underline">name</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">]@[</span><span style="--shiki-light:#032F62;--shiki-light-text-decoration:underline;--shiki-dark:#DBEDFF;--shiki-dark-text-decoration:underline">version</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">]</span></span>
<span class="line"><span style="--shiki-light:#E36209;--shiki-dark:#FFAB70">-</span><span style="--shiki-light:#24292E;--shiki-light-font-weight:bold;--shiki-dark:#E1E4E8;--shiki-dark-font-weight:bold"> **Fixed in:**</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8"> [</span><span style="--shiki-light:#032F62;--shiki-light-text-decoration:underline;--shiki-dark:#DBEDFF;--shiki-dark-text-decoration:underline">fixed-version</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">]</span></span>
<span class="line"><span style="--shiki-light:#E36209;--shiki-dark:#FFAB70">-</span><span style="--shiki-light:#24292E;--shiki-light-font-weight:bold;--shiki-dark:#E1E4E8;--shiki-dark-font-weight:bold"> **CVE:**</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8"> https://nvd.nist.gov/vuln/detail/CVE-YYYY-XXXXX</span></span>
<span class="line"><span style="--shiki-light:#E36209;--shiki-dark:#FFAB70">-</span><span style="--shiki-light:#24292E;--shiki-light-font-weight:bold;--shiki-dark:#E1E4E8;--shiki-dark-font-weight:bold"> **Description:**</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8"> [CVE description]</span></span>
<span class="line"></span>
<span class="line"><span style="--shiki-light:#005CC5;--shiki-light-font-weight:bold;--shiki-dark:#79B8FF;--shiki-dark-font-weight:bold">### Affected Products</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">| Product | Version | SBOM |</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">|---------|---------|------|</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">| [</span><span style="--shiki-light:#032F62;--shiki-light-text-decoration:underline;--shiki-dark:#DBEDFF;--shiki-dark-text-decoration:underline">Name</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">]  | [</span><span style="--shiki-light:#032F62;--shiki-light-text-decoration:underline;--shiki-dark:#DBEDFF;--shiki-dark-text-decoration:underline">Ver</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">]   | [</span><span style="--shiki-light:#032F62;--shiki-light-text-decoration:underline;--shiki-dark:#DBEDFF;--shiki-dark-text-decoration:underline">Link</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">] |</span></span>
<span class="line"></span>
<span class="line"><span style="--shiki-light:#005CC5;--shiki-light-font-weight:bold;--shiki-dark:#79B8FF;--shiki-dark-font-weight:bold">### Recommended Action</span></span>
<span class="line"><span style="--shiki-light:#E36209;--shiki-dark:#FFAB70">-</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8"> [ ] Update package to version [</span><span style="--shiki-light:#032F62;--shiki-light-text-decoration:underline;--shiki-dark:#DBEDFF;--shiki-dark-text-decoration:underline">fixed-version</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">]</span></span>
<span class="line"><span style="--shiki-light:#E36209;--shiki-dark:#FFAB70">-</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8"> [ ] Test patch</span></span>
<span class="line"><span style="--shiki-light:#E36209;--shiki-dark:#FFAB70">-</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8"> [ ] Create release</span></span>
<span class="line"><span style="--shiki-light:#E36209;--shiki-dark:#FFAB70">-</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8"> [ ] Update SBOM</span></span>
<span class="line"><span style="--shiki-light:#E36209;--shiki-dark:#FFAB70">-</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8"> [ ] Check: Is the CVE actively exploited? -> [</span><span style="--shiki-light:#032F62;--shiki-light-text-decoration:underline;--shiki-dark:#DBEDFF;--shiki-dark-text-decoration:underline">ENISA reporting process</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">](</span><span style="--shiki-light:#24292E;--shiki-light-text-decoration:underline;--shiki-dark:#E1E4E8;--shiki-dark-text-decoration:underline">/en/incident-response/enisa-reporting</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">)</span></span>
<span class="line"></span>
<span class="line"><span style="--shiki-light:#005CC5;--shiki-light-font-weight:bold;--shiki-dark:#79B8FF;--shiki-dark-font-weight:bold">### Classification</span></span>
<span class="line"><span style="--shiki-light:#E36209;--shiki-dark:#FFAB70">-</span><span style="--shiki-light:#24292E;--shiki-light-font-weight:bold;--shiki-dark:#E1E4E8;--shiki-dark-font-weight:bold"> **Actively exploited:**</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8"> Yes / No / Unknown</span></span>
<span class="line"><span style="--shiki-light:#E36209;--shiki-dark:#FFAB70">-</span><span style="--shiki-light:#24292E;--shiki-light-font-weight:bold;--shiki-dark:#E1E4E8;--shiki-dark-font-weight:bold"> **ENISA reporting obligation:**</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8"> Yes / No</span></span></code></pre>
</div><h2 id="_3-1-5-sla-for-cve-handling" tabindex="-1">3.1.5 SLA for CVE Handling <a class="header-anchor" href="#_3-1-5-sla-for-cve-handling" aria-label="Permalink to &quot;3.1.5 SLA for CVE Handling&quot;"></a></h2>
<table tabindex="0">
<thead>
<tr>
<th>Severity</th>
<th>Response Time</th>
<th>Patch Deadline</th>
<th>Reference</th>
</tr>
</thead>
<tbody>
<tr>
<td><strong>CRITICAL</strong></td>
<td>4 hours</td>
<td>48 hours</td>
<td>Annex I, Part II, No. 7</td>
</tr>
<tr>
<td><strong>HIGH</strong></td>
<td>24 hours</td>
<td>7 days</td>
<td>Annex I, Part II, No. 7</td>
</tr>
<tr>
<td><strong>MEDIUM</strong></td>
<td>72 hours</td>
<td>30 days</td>
<td>Best practice</td>
</tr>
<tr>
<td><strong>LOW</strong></td>
<td>7 days</td>
<td>Next release</td>
<td>Best practice</td>
</tr>
</tbody>
</table>
]]></content:encoded>
            <author>BAUER GROUP</author>
        </item>
        <item>
            <title><![CDATA[3.2 Dependency Monitoring]]></title>
            <link>https://cra.docs.bauer-group.com/en/vulnerability-management/dependency-monitoring</link>
            <guid isPermaLink="false">https://cra.docs.bauer-group.com/en/vulnerability-management/dependency-monitoring</guid>
            <pubDate>Tue, 10 Feb 2026 16:43:47 GMT</pubDate>
            <description><![CDATA[# 3.2 Dependency Monitoring

## 3.2.1 Overview

Dependency monitoring continuously monitors all dependencies across our repositories and automatically creates pull requests when security updates are available.

## 3.2.2 Tools

### GitHub Dependabot

Dependabot is enabled in all repositories and handles:

- **Security Updates:** Automatic PRs for known vulnerabilities
- **Version Updates:** Regular PRs for available updates (configurable)
- **Alerts:** GitHub Security Alerts for new CVEs

**Configuration (`.github/dependabot.yml`):**

```yaml
version: 2
updates:
  # Example: NPM
  - package-ecosystem: "npm"
    directory: "/"
    schedule:
      interval: "weekly"
    open-pull-requests-limit: 10
    labels:
      - "dependencies"
      - "security"

  # Example: Docker
  - package-ecosystem: "docker"
    directory: "/"
    schedule:
      interval: "weekly"
    labels:
      - "dependencies"
      - "docker"

  # Example: GitHub Actions
  - package-ecosystem: "github-actions"
    directory: "/"
    schedule:
      interval: "weekly"
    labels:
      - "dependencies"
      - "ci"
```

### Dependabot Auto-Merge

For non-critical updates (patch updates from trusted packages), the existing auto-merge workflow (`docker-maintenance-dependabot.yml`) is used:

1. Dependabot creates PR
2. CI pipeline runs (tests, security scan)
3. On success: Automatic approval
4. Automatic merge (squash)

::: warning IMPORTANT
Auto-merge is **only** enabled for patch updates and trusted ecosystems. Major and minor updates require manual review.
:::

### GitHub Security Alerts

GitHub Security Alerts are enabled for all repositories:

- Automatic notification for new CVEs in dependencies
- Mapping to specific manifest files
- Severity classification (Critical, High, Medium, Low)
- Fix suggestions via Dependabot Security Updates

### Trivy Container Scanning

For container images, Trivy is additionally used in CI/CD:

```yaml
# Automatic scan on every build
- name: Trivy Vulnerability Scan
  uses: aquasecurity/trivy-action@master
  with:
    image-ref: ${{ env.IMAGE }}
    severity: CRITICAL,HIGH
    exit-code: 1    # Build fails on findings
```

### Docker Base Image Monitor

The existing workflow `modules-docker-base-image-monitor.yml` monitors base images:

- Detection of new base image versions
- Automatic PR when an update is available
- Ensures up-to-date OS packages

## 3.2.3 Monitoring Matrix

| Ecosystem | Tool | Frequency | Auto-Merge |
|]]></description>
            <content:encoded><![CDATA[<h1 id="_3-2-dependency-monitoring" tabindex="-1">3.2 Dependency Monitoring <a class="header-anchor" href="#_3-2-dependency-monitoring" aria-label="Permalink to &quot;3.2 Dependency Monitoring&quot;"></a></h1>
<h2 id="_3-2-1-overview" tabindex="-1">3.2.1 Overview <a class="header-anchor" href="#_3-2-1-overview" aria-label="Permalink to &quot;3.2.1 Overview&quot;"></a></h2>
<p>Dependency monitoring continuously monitors all dependencies across our repositories and automatically creates pull requests when security updates are available.</p>
<h2 id="_3-2-2-tools" tabindex="-1">3.2.2 Tools <a class="header-anchor" href="#_3-2-2-tools" aria-label="Permalink to &quot;3.2.2 Tools&quot;"></a></h2>
<h3 id="github-dependabot" tabindex="-1">GitHub Dependabot <a class="header-anchor" href="#github-dependabot" aria-label="Permalink to &quot;GitHub Dependabot&quot;"></a></h3>
<p>Dependabot is enabled in all repositories and handles:</p>
<ul>
<li><strong>Security Updates:</strong> Automatic PRs for known vulnerabilities</li>
<li><strong>Version Updates:</strong> Regular PRs for available updates (configurable)</li>
<li><strong>Alerts:</strong> GitHub Security Alerts for new CVEs</li>
</ul>
<p><strong>Configuration (<code>.github/dependabot.yml</code>):</strong></p>
<div class="language-yaml vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang">yaml</span><pre class="shiki shiki-themes github-light github-dark vp-code" tabindex="0" v-pre=""><code><span class="line"><span style="--shiki-light:#22863A;--shiki-dark:#85E89D">version</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">: </span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF">2</span></span>
<span class="line"><span style="--shiki-light:#22863A;--shiki-dark:#85E89D">updates</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">:</span></span>
<span class="line"><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D">  # Example: NPM</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">  - </span><span style="--shiki-light:#22863A;--shiki-dark:#85E89D">package-ecosystem</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">: </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF">"npm"</span></span>
<span class="line"><span style="--shiki-light:#22863A;--shiki-dark:#85E89D">    directory</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">: </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF">"/"</span></span>
<span class="line"><span style="--shiki-light:#22863A;--shiki-dark:#85E89D">    schedule</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">:</span></span>
<span class="line"><span style="--shiki-light:#22863A;--shiki-dark:#85E89D">      interval</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">: </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF">"weekly"</span></span>
<span class="line"><span style="--shiki-light:#22863A;--shiki-dark:#85E89D">    open-pull-requests-limit</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">: </span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF">10</span></span>
<span class="line"><span style="--shiki-light:#22863A;--shiki-dark:#85E89D">    labels</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">:</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">      - </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF">"dependencies"</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">      - </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF">"security"</span></span>
<span class="line"></span>
<span class="line"><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D">  # Example: Docker</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">  - </span><span style="--shiki-light:#22863A;--shiki-dark:#85E89D">package-ecosystem</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">: </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF">"docker"</span></span>
<span class="line"><span style="--shiki-light:#22863A;--shiki-dark:#85E89D">    directory</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">: </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF">"/"</span></span>
<span class="line"><span style="--shiki-light:#22863A;--shiki-dark:#85E89D">    schedule</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">:</span></span>
<span class="line"><span style="--shiki-light:#22863A;--shiki-dark:#85E89D">      interval</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">: </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF">"weekly"</span></span>
<span class="line"><span style="--shiki-light:#22863A;--shiki-dark:#85E89D">    labels</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">:</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">      - </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF">"dependencies"</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">      - </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF">"docker"</span></span>
<span class="line"></span>
<span class="line"><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D">  # Example: GitHub Actions</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">  - </span><span style="--shiki-light:#22863A;--shiki-dark:#85E89D">package-ecosystem</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">: </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF">"github-actions"</span></span>
<span class="line"><span style="--shiki-light:#22863A;--shiki-dark:#85E89D">    directory</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">: </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF">"/"</span></span>
<span class="line"><span style="--shiki-light:#22863A;--shiki-dark:#85E89D">    schedule</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">:</span></span>
<span class="line"><span style="--shiki-light:#22863A;--shiki-dark:#85E89D">      interval</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">: </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF">"weekly"</span></span>
<span class="line"><span style="--shiki-light:#22863A;--shiki-dark:#85E89D">    labels</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">:</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">      - </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF">"dependencies"</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">      - </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF">"ci"</span></span></code></pre>
</div><h3 id="dependabot-auto-merge" tabindex="-1">Dependabot Auto-Merge <a class="header-anchor" href="#dependabot-auto-merge" aria-label="Permalink to &quot;Dependabot Auto-Merge&quot;"></a></h3>
<p>For non-critical updates (patch updates from trusted packages), the existing auto-merge workflow (<code>docker-maintenance-dependabot.yml</code>) is used:</p>
<ol>
<li>Dependabot creates PR</li>
<li>CI pipeline runs (tests, security scan)</li>
<li>On success: Automatic approval</li>
<li>Automatic merge (squash)</li>
</ol>
<div class="warning custom-block"><p class="custom-block-title">IMPORTANT</p>
<p>Auto-merge is <strong>only</strong> enabled for patch updates and trusted ecosystems. Major and minor updates require manual review.</p>
</div>
<h3 id="github-security-alerts" tabindex="-1">GitHub Security Alerts <a class="header-anchor" href="#github-security-alerts" aria-label="Permalink to &quot;GitHub Security Alerts&quot;"></a></h3>
<p>GitHub Security Alerts are enabled for all repositories:</p>
<ul>
<li>Automatic notification for new CVEs in dependencies</li>
<li>Mapping to specific manifest files</li>
<li>Severity classification (Critical, High, Medium, Low)</li>
<li>Fix suggestions via Dependabot Security Updates</li>
</ul>
<h3 id="trivy-container-scanning" tabindex="-1">Trivy Container Scanning <a class="header-anchor" href="#trivy-container-scanning" aria-label="Permalink to &quot;Trivy Container Scanning&quot;"></a></h3>
<p>For container images, Trivy is additionally used in CI/CD:</p>
<div class="language-yaml vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang">yaml</span><pre class="shiki shiki-themes github-light github-dark vp-code" tabindex="0" v-pre=""><code><span class="line"><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D"># Automatic scan on every build</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">- </span><span style="--shiki-light:#22863A;--shiki-dark:#85E89D">name</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">: </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF">Trivy Vulnerability Scan</span></span>
<span class="line"><span style="--shiki-light:#22863A;--shiki-dark:#85E89D">  uses</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">: </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF">aquasecurity/trivy-action@master</span></span>
<span class="line"><span style="--shiki-light:#22863A;--shiki-dark:#85E89D">  with</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">:</span></span>
<span class="line"><span style="--shiki-light:#22863A;--shiki-dark:#85E89D">    image-ref</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">: </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF">${{ env.IMAGE }}</span></span>
<span class="line"><span style="--shiki-light:#22863A;--shiki-dark:#85E89D">    severity</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">: </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF">CRITICAL,HIGH</span></span>
<span class="line"><span style="--shiki-light:#22863A;--shiki-dark:#85E89D">    exit-code</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">: </span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF">1</span><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D">    # Build fails on findings</span></span></code></pre>
</div><h3 id="docker-base-image-monitor" tabindex="-1">Docker Base Image Monitor <a class="header-anchor" href="#docker-base-image-monitor" aria-label="Permalink to &quot;Docker Base Image Monitor&quot;"></a></h3>
<p>The existing workflow <code>modules-docker-base-image-monitor.yml</code> monitors base images:</p>
<ul>
<li>Detection of new base image versions</li>
<li>Automatic PR when an update is available</li>
<li>Ensures up-to-date OS packages</li>
</ul>
<h2 id="_3-2-3-monitoring-matrix" tabindex="-1">3.2.3 Monitoring Matrix <a class="header-anchor" href="#_3-2-3-monitoring-matrix" aria-label="Permalink to &quot;3.2.3 Monitoring Matrix&quot;"></a></h2>
<table tabindex="0">
<thead>
<tr>
<th>Ecosystem</th>
<th>Tool</th>
<th>Frequency</th>
<th>Auto-Merge</th>
</tr>
</thead>
<tbody>
<tr>
<td>NPM</td>
<td>Dependabot</td>
<td>Weekly</td>
<td>Patch updates</td>
</tr>
<tr>
<td>NuGet</td>
<td>Dependabot</td>
<td>Weekly</td>
<td>Patch updates</td>
</tr>
<tr>
<td>pip/Poetry</td>
<td>Dependabot</td>
<td>Weekly</td>
<td>Patch updates</td>
</tr>
<tr>
<td>Docker</td>
<td>Dependabot + Base Image Monitor</td>
<td>Weekly</td>
<td>Patch updates</td>
</tr>
<tr>
<td>GitHub Actions</td>
<td>Dependabot</td>
<td>Weekly</td>
<td>Minor/Patch</td>
</tr>
<tr>
<td>Go Modules</td>
<td>Dependabot</td>
<td>Weekly</td>
<td>Patch updates</td>
</tr>
<tr>
<td>Composer (PHP)</td>
<td>Dependabot</td>
<td>Weekly</td>
<td>Patch updates</td>
</tr>
</tbody>
</table>
<h2 id="_3-2-4-escalation-process" tabindex="-1">3.2.4 Escalation Process <a class="header-anchor" href="#_3-2-4-escalation-process" aria-label="Permalink to &quot;3.2.4 Escalation Process&quot;"></a></h2>
<div class="language- vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang"></span><pre class="shiki shiki-themes github-light github-dark vp-code" tabindex="0" v-pre=""><code><span class="line"><span>Dependabot/Trivy detects CVE</span></span>
<span class="line"><span>    |</span></span>
<span class="line"><span>    +-- Low/Medium Severity</span></span>
<span class="line"><span>    |   +-- PR created -> Review in next sprint</span></span>
<span class="line"><span>    |</span></span>
<span class="line"><span>    +-- High Severity</span></span>
<span class="line"><span>    |   +-- PR created -> Review within 24h -> Patch release</span></span>
<span class="line"><span>    |</span></span>
<span class="line"><span>    +-- Critical Severity</span></span>
<span class="line"><span>        +-- PR created -> Immediate handling</span></span>
<span class="line"><span>            +-- Teams notification to Security Lead</span></span>
<span class="line"><span>            +-- Check: Actively exploited?</span></span>
<span class="line"><span>            |   +-- Yes -> ENISA reporting process (24h)</span></span>
<span class="line"><span>            |   +-- No -> Patch within 48h</span></span>
<span class="line"><span>            +-- Hotfix release</span></span></code></pre>
</div>]]></content:encoded>
            <author>BAUER GROUP</author>
        </item>
        <item>
            <title><![CDATA[3.3 Patch Management]]></title>
            <link>https://cra.docs.bauer-group.com/en/vulnerability-management/patch-management</link>
            <guid isPermaLink="false">https://cra.docs.bauer-group.com/en/vulnerability-management/patch-management</guid>
            <pubDate>Tue, 10 Feb 2026 16:43:47 GMT</pubDate>
            <description><![CDATA[# 3.3 Patch Management

## 3.3.1 Patch Management Policy

This policy defines the binding process for the provision of security updates for products with digital elements in accordance with the CRA.

::: info LEGAL BASIS
**Art. 10(7) CRA:** *"The manufacturer shall ensure that vulnerabilities are remediated through security updates that are made available to users without delay and free of charge."*

**Annex I, Part II, No. 7:** *"The manufacturer shall provide security updates to remediate the identified vulnerabilities without delay, as soon as this is practically feasible according to the state of the art."*
:::

## 3.3.2 Patch Classification

| Class | Severity | Response Time | Patch Deadline | Release Type |
|]]></description>
            <content:encoded><![CDATA[<h1 id="_3-3-patch-management" tabindex="-1">3.3 Patch Management <a class="header-anchor" href="#_3-3-patch-management" aria-label="Permalink to &quot;3.3 Patch Management&quot;"></a></h1>
<h2 id="_3-3-1-patch-management-policy" tabindex="-1">3.3.1 Patch Management Policy <a class="header-anchor" href="#_3-3-1-patch-management-policy" aria-label="Permalink to &quot;3.3.1 Patch Management Policy&quot;"></a></h2>
<p>This policy defines the binding process for the provision of security updates for products with digital elements in accordance with the CRA.</p>
<div class="info custom-block"><p class="custom-block-title">LEGAL BASIS</p>
<p><strong>Art. 10(7) CRA:</strong> <em>&quot;The manufacturer shall ensure that vulnerabilities are remediated through security updates that are made available to users without delay and free of charge.&quot;</em></p>
<p><strong>Annex I, Part II, No. 7:</strong> <em>&quot;The manufacturer shall provide security updates to remediate the identified vulnerabilities without delay, as soon as this is practically feasible according to the state of the art.&quot;</em></p>
</div>
<h2 id="_3-3-2-patch-classification" tabindex="-1">3.3.2 Patch Classification <a class="header-anchor" href="#_3-3-2-patch-classification" aria-label="Permalink to &quot;3.3.2 Patch Classification&quot;"></a></h2>
<table tabindex="0">
<thead>
<tr>
<th>Class</th>
<th>Severity</th>
<th>Response Time</th>
<th>Patch Deadline</th>
<th>Release Type</th>
</tr>
</thead>
<tbody>
<tr>
<td><strong>P0 -- Emergency</strong></td>
<td>CRITICAL, actively exploited</td>
<td>Immediate</td>
<td>24 hours</td>
<td>Hotfix</td>
</tr>
<tr>
<td><strong>P1 -- Critical</strong></td>
<td>CRITICAL, not exploited</td>
<td>4 hours</td>
<td>48 hours</td>
<td>Hotfix</td>
</tr>
<tr>
<td><strong>P2 -- High</strong></td>
<td>HIGH</td>
<td>24 hours</td>
<td>7 days</td>
<td>Patch release</td>
</tr>
<tr>
<td><strong>P3 -- Medium</strong></td>
<td>MEDIUM</td>
<td>72 hours</td>
<td>30 days</td>
<td>Minor release</td>
</tr>
<tr>
<td><strong>P4 -- Low</strong></td>
<td>LOW</td>
<td>7 days</td>
<td>Next release</td>
<td>Planned</td>
</tr>
</tbody>
</table>
<h2 id="_3-3-3-patch-process" tabindex="-1">3.3.3 Patch Process <a class="header-anchor" href="#_3-3-3-patch-process" aria-label="Permalink to &quot;3.3.3 Patch Process&quot;"></a></h2>
<h3 id="p0-p1-emergency-critical-patches" tabindex="-1">P0/P1: Emergency &amp; Critical Patches <a class="header-anchor" href="#p0-p1-emergency-critical-patches" aria-label="Permalink to &quot;P0/P1: Emergency &amp; Critical Patches&quot;"></a></h3>
<div class="language- vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang"></span><pre class="shiki shiki-themes github-light github-dark vp-code" tabindex="0" v-pre=""><code><span class="line"><span>1. CVE alert received</span></span>
<span class="line"><span>   +-- CVE monitor, Dependabot, external report</span></span>
<span class="line"><span></span></span>
<span class="line"><span>2. Triage (Security Lead) -- within 4h</span></span>
<span class="line"><span>   +-- Confirm severity (CVSS)</span></span>
<span class="line"><span>   +-- Identify affected products</span></span>
<span class="line"><span>   +-- Assess exploitability</span></span>
<span class="line"><span>   +-- If actively exploited -> ENISA early warning (24h)</span></span>
<span class="line"><span></span></span>
<span class="line"><span>3. Patch development (Dev Team) -- immediate start</span></span>
<span class="line"><span>   +-- Dependency update or code fix</span></span>
<span class="line"><span>   +-- Unit tests + integration tests</span></span>
<span class="line"><span>   +-- Security review</span></span>
<span class="line"><span></span></span>
<span class="line"><span>4. Patch release</span></span>
<span class="line"><span>   +-- Create hotfix branch</span></span>
<span class="line"><span>   +-- CI/CD pipeline (accelerated)</span></span>
<span class="line"><span>   +-- Update SBOM</span></span>
<span class="line"><span>   +-- Sign release (Cosign)</span></span>
<span class="line"><span>   +-- Publish release</span></span>
<span class="line"><span></span></span>
<span class="line"><span>5. User notification</span></span>
<span class="line"><span>   +-- GitHub Security Advisory</span></span>
<span class="line"><span>   +-- Release notes with CVE reference</span></span>
<span class="line"><span>   +-- Direct notification for critical customers</span></span>
<span class="line"><span></span></span>
<span class="line"><span>6. Follow-up</span></span>
<span class="line"><span>   +-- ENISA final report (if reportable)</span></span>
<span class="line"><span>   +-- Close CVE issue</span></span>
<span class="line"><span>   +-- Lessons learned</span></span></code></pre>
</div><h3 id="p2-p3-high-medium-patches" tabindex="-1">P2/P3: High &amp; Medium Patches <a class="header-anchor" href="#p2-p3-high-medium-patches" aria-label="Permalink to &quot;P2/P3: High &amp; Medium Patches&quot;"></a></h3>
<div class="language- vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang"></span><pre class="shiki shiki-themes github-light github-dark vp-code" tabindex="0" v-pre=""><code><span class="line"><span>1. CVE alert received</span></span>
<span class="line"><span>2. Triage (Security Lead) -- within 24h/72h</span></span>
<span class="line"><span>3. Add to sprint backlog (prioritised)</span></span>
<span class="line"><span>4. Patch development within regular development cycle</span></span>
<span class="line"><span>5. Patch release according to release calendar</span></span>
<span class="line"><span>6. Update SBOM</span></span></code></pre>
</div><h3 id="p4-low-patches" tabindex="-1">P4: Low Patches <a class="header-anchor" href="#p4-low-patches" aria-label="Permalink to &quot;P4: Low Patches&quot;"></a></h3>
<div class="language- vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang"></span><pre class="shiki shiki-themes github-light github-dark vp-code" tabindex="0" v-pre=""><code><span class="line"><span>1. CVE alert received</span></span>
<span class="line"><span>2. Triage -- within 7 days</span></span>
<span class="line"><span>3. Add to backlog</span></span>
<span class="line"><span>4. Remediation in next regular release</span></span></code></pre>
</div><h2 id="_3-3-4-automation" tabindex="-1">3.3.4 Automation <a class="header-anchor" href="#_3-3-4-automation" aria-label="Permalink to &quot;3.3.4 Automation&quot;"></a></h2>
<p>The majority of patch management is automated:</p>
<table tabindex="0">
<thead>
<tr>
<th>Step</th>
<th>Automation</th>
<th>Manual</th>
</tr>
</thead>
<tbody>
<tr>
<td>CVE detection</td>
<td>CVE monitor + Dependabot</td>
<td>-</td>
</tr>
<tr>
<td>Issue creation</td>
<td>Auto-issue for Critical/High</td>
<td>Manual creation for Medium/Low</td>
</tr>
<tr>
<td>PR creation</td>
<td>Dependabot Security PR</td>
<td>Manual PR for code fixes</td>
</tr>
<tr>
<td>CI/CD</td>
<td>Automatic pipeline</td>
<td>-</td>
</tr>
<tr>
<td>SBOM generation</td>
<td>Automatic on release</td>
<td>-</td>
</tr>
<tr>
<td>Signing</td>
<td>Automatic on release</td>
<td>-</td>
</tr>
<tr>
<td>User notification</td>
<td>Release notes</td>
<td>Advisory for P0/P1</td>
</tr>
</tbody>
</table>
<h2 id="_3-3-5-security-updates-provision-obligation" tabindex="-1">3.3.5 Security Updates -- Provision Obligation <a class="header-anchor" href="#_3-3-5-security-updates-provision-obligation" aria-label="Permalink to &quot;3.3.5 Security Updates -- Provision Obligation&quot;"></a></h2>
<p>In accordance with Art. 10(7) CRA, security updates must be:</p>
<ul>
<li>Provided <strong>free of charge</strong></li>
<li>Made available <strong>without delay</strong></li>
<li>Delivered through a <strong>secure channel</strong> (signed, integrity assured)</li>
<li>Maintained for the entire <strong>support period</strong> of the product</li>
</ul>
<p>For container-based products:</p>
<ul>
<li>Updated container image on GHCR/Docker Hub</li>
<li>Signed image (Cosign)</li>
<li>Updated SBOM as release asset</li>
</ul>
<p>For firmware-based products:</p>
<ul>
<li>Signed firmware binary</li>
<li>OTA update (where technically feasible)</li>
<li>Download via GitHub Releases</li>
</ul>
]]></content:encoded>
            <author>BAUER GROUP</author>
        </item>
        <item>
            <title><![CDATA[3.4 Risk Assessment]]></title>
            <link>https://cra.docs.bauer-group.com/en/vulnerability-management/risk-assessment</link>
            <guid isPermaLink="false">https://cra.docs.bauer-group.com/en/vulnerability-management/risk-assessment</guid>
            <pubDate>Tue, 10 Feb 2026 16:43:47 GMT</pubDate>
            <description><![CDATA[# 3.4 Risk Assessment

## 3.4.1 Methodology

Risk assessment for vulnerabilities and products is based on established standards:

- **CVSS v3.1/v4.0** -- Common Vulnerability Scoring System for individual CVEs
- **SSVC** -- Stakeholder-Specific Vulnerability Categorization for prioritisation
- **CRA Annex I** -- Requirements catalogue as the assessment framework

::: info LEGAL BASIS
**Art. 10(2) CRA:** *"The manufacturer shall carry out a cybersecurity risk assessment of the product with digital elements and shall take the result of that assessment into account during the planning, design, development, production, delivery, and maintenance of the product."*
:::

## 3.4.2 CVE Risk Assessment (Individual Vulnerabilities)

### CVSS-Based Initial Assessment

| CVSS Score | Severity | CRA Priority |
|]]></description>
            <content:encoded><![CDATA[<h1 id="_3-4-risk-assessment" tabindex="-1">3.4 Risk Assessment <a class="header-anchor" href="#_3-4-risk-assessment" aria-label="Permalink to &quot;3.4 Risk Assessment&quot;"></a></h1>
<h2 id="_3-4-1-methodology" tabindex="-1">3.4.1 Methodology <a class="header-anchor" href="#_3-4-1-methodology" aria-label="Permalink to &quot;3.4.1 Methodology&quot;"></a></h2>
<p>Risk assessment for vulnerabilities and products is based on established standards:</p>
<ul>
<li><strong>CVSS v3.1/v4.0</strong> -- Common Vulnerability Scoring System for individual CVEs</li>
<li><strong>SSVC</strong> -- Stakeholder-Specific Vulnerability Categorization for prioritisation</li>
<li><strong>CRA Annex I</strong> -- Requirements catalogue as the assessment framework</li>
</ul>
<div class="info custom-block"><p class="custom-block-title">LEGAL BASIS</p>
<p><strong>Art. 10(2) CRA:</strong> <em>&quot;The manufacturer shall carry out a cybersecurity risk assessment of the product with digital elements and shall take the result of that assessment into account during the planning, design, development, production, delivery, and maintenance of the product.&quot;</em></p>
</div>
<h2 id="_3-4-2-cve-risk-assessment-individual-vulnerabilities" tabindex="-1">3.4.2 CVE Risk Assessment (Individual Vulnerabilities) <a class="header-anchor" href="#_3-4-2-cve-risk-assessment-individual-vulnerabilities" aria-label="Permalink to &quot;3.4.2 CVE Risk Assessment (Individual Vulnerabilities)&quot;"></a></h2>
<h3 id="cvss-based-initial-assessment" tabindex="-1">CVSS-Based Initial Assessment <a class="header-anchor" href="#cvss-based-initial-assessment" aria-label="Permalink to &quot;CVSS-Based Initial Assessment&quot;"></a></h3>
<table tabindex="0">
<thead>
<tr>
<th>CVSS Score</th>
<th>Severity</th>
<th>CRA Priority</th>
</tr>
</thead>
<tbody>
<tr>
<td>9.0 -- 10.0</td>
<td>Critical</td>
<td>P0/P1</td>
</tr>
<tr>
<td>7.0 -- 8.9</td>
<td>High</td>
<td>P2</td>
</tr>
<tr>
<td>4.0 -- 6.9</td>
<td>Medium</td>
<td>P3</td>
</tr>
<tr>
<td>0.1 -- 3.9</td>
<td>Low</td>
<td>P4</td>
</tr>
</tbody>
</table>
<h3 id="contextual-assessment" tabindex="-1">Contextual Assessment <a class="header-anchor" href="#contextual-assessment" aria-label="Permalink to &quot;Contextual Assessment&quot;"></a></h3>
<p>The CVSS score is supplemented by a contextual analysis:</p>
<table tabindex="0">
<thead>
<tr>
<th>Factor</th>
<th>Assessment</th>
<th>Weighting</th>
</tr>
</thead>
<tbody>
<tr>
<td><strong>Exploitability</strong></td>
<td>Actively exploited / PoC available / Theoretical</td>
<td>High</td>
</tr>
<tr>
<td><strong>Reachability</strong></td>
<td>Network / Local / Physical</td>
<td>High</td>
</tr>
<tr>
<td><strong>Data exposure</strong></td>
<td>Personal data / Business data / None</td>
<td>Medium</td>
</tr>
<tr>
<td><strong>Prevalence</strong></td>
<td>Number of affected products / customers</td>
<td>Medium</td>
</tr>
<tr>
<td><strong>Mitigability</strong></td>
<td>Fix available / Workaround / None</td>
<td>Medium</td>
</tr>
</tbody>
</table>
<h3 id="decision-matrix" tabindex="-1">Decision Matrix <a class="header-anchor" href="#decision-matrix" aria-label="Permalink to &quot;Decision Matrix&quot;"></a></h3>
<div class="language- vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang"></span><pre class="shiki shiki-themes github-light github-dark vp-code" tabindex="0" v-pre=""><code><span class="line"><span>                    Exploitability</span></span>
<span class="line"><span>                    Active   PoC    Theoretical</span></span>
<span class="line"><span>Severity     +----------------------------------+</span></span>
<span class="line"><span>Critical     |  P0       P1       P1            |</span></span>
<span class="line"><span>High         |  P1       P2       P2            |</span></span>
<span class="line"><span>Medium       |  P2       P3       P3            |</span></span>
<span class="line"><span>Low          |  P3       P4       P4            |</span></span>
<span class="line"><span>             +----------------------------------+</span></span></code></pre>
</div><h2 id="_3-4-3-product-risk-assessment-cra-art-10-2" tabindex="-1">3.4.3 Product Risk Assessment (CRA Art. 10(2)) <a class="header-anchor" href="#_3-4-3-product-risk-assessment-cra-art-10-2" aria-label="Permalink to &quot;3.4.3 Product Risk Assessment (CRA Art. 10(2))&quot;"></a></h2>
<p>A cybersecurity risk assessment is carried out for each CRA-relevant product. Use the <a href="/en/templates/risk-assessment">Risk Assessment Template</a>.</p>
<h3 id="assessment-categories" tabindex="-1">Assessment Categories <a class="header-anchor" href="#assessment-categories" aria-label="Permalink to &quot;Assessment Categories&quot;"></a></h3>
<p><strong>1. Threat Analysis</strong></p>
<ul>
<li>Who are potential attackers? (Script kiddies, organised crime, state actors)</li>
<li>What attack vectors exist? (Network, physical, supply chain)</li>
<li>What assets are at risk? (Data, functionality, availability)</li>
</ul>
<p><strong>2. Impact Analysis</strong></p>
<ul>
<li>Confidentiality: What data could be disclosed?</li>
<li>Integrity: What data/functions could be manipulated?</li>
<li>Availability: What downtime is acceptable?</li>
<li>Safety: Could physical damage occur? (relevant for firmware/IoT)</li>
</ul>
<p><strong>3. Likelihood Assessment</strong></p>
<ul>
<li>Attack complexity</li>
<li>Required privileges</li>
<li>User interaction required</li>
<li>Attack vector exposure</li>
</ul>
<h3 id="risk-matrix" tabindex="-1">Risk Matrix <a class="header-anchor" href="#risk-matrix" aria-label="Permalink to &quot;Risk Matrix&quot;"></a></h3>
<div class="language- vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang"></span><pre class="shiki shiki-themes github-light github-dark vp-code" tabindex="0" v-pre=""><code><span class="line"><span>                    Likelihood</span></span>
<span class="line"><span>                    High     Medium    Low</span></span>
<span class="line"><span>Impact       +----------------------------------+</span></span>
<span class="line"><span>Critical     |  CRITICAL  HIGH      MEDIUM       |</span></span>
<span class="line"><span>Significant  |  HIGH      HIGH      MEDIUM       |</span></span>
<span class="line"><span>Moderate     |  HIGH      MEDIUM    LOW          |</span></span>
<span class="line"><span>Minor        |  MEDIUM    LOW       LOW          |</span></span>
<span class="line"><span>             +----------------------------------+</span></span></code></pre>
</div><h2 id="_3-4-4-documentation-obligation" tabindex="-1">3.4.4 Documentation Obligation <a class="header-anchor" href="#_3-4-4-documentation-obligation" aria-label="Permalink to &quot;3.4.4 Documentation Obligation&quot;"></a></h2>
<p>Each risk assessment must document:</p>
<ul>
<li>Date of assessment</li>
<li>Assessed product/version</li>
<li>Identified risks with assessment</li>
<li>Measures taken for risk mitigation</li>
<li>Remaining residual risks with justification</li>
<li>Responsible assessor</li>
<li>Next review date</li>
</ul>
<p>The risk assessment is part of the technical documentation (Annex VII) and must be updated in the event of material changes to the product or new threat landscapes.</p>
]]></content:encoded>
            <author>BAUER GROUP</author>
        </item>
    </channel>
</rss>