Skip to main content
Yanked

This release has been yanked by its maintainers, and will be ignored by installers, except when explicitly specified.
Consider using release 0.12.0 instead.
Reason given by maintainers: Renamed to jochwacht-sbom — install jochwacht-sbom instead.

embtrace-check

Reads your build, writes your bill of materials — locally. One command in your project folder produces a CycloneDX SBOM, including from configured builds (CMakeCache.txt) and Yocto/Buildroot build output that generic scanners cannot read. The default run transmits nothing.

If you want the free CRA readiness report on top — traffic-light status against the EU Cyber Resilience Act, your component inventory, known vulnerabilities with severity — send the bill explicitly. You are shown exactly what would leave the house, and asked first.

This collector is open source for one reason: so you can verify exactly what leaves your machine.

What a send contains — and what it never does

The default run sends nothing at all. If you send (--send, or by answering the question), this travels (JSON, ~a few kB):

  • names, versions and package ecosystems of your dependencies (from lockfiles and build files: Conan, vcpkg, CMake, Cargo, npm/yarn/pnpm, Python incl. uv, Go, Maven/Gradle, Meson, Alire, and more),
  • Zephyr workspaces: the west.yml module manifest — every module with its pinned revision,
  • Yocto and Buildroot BUILD OUTPUT: run the check in your build directory — it reads deploy/images/**/*.manifest (what is actually in your image) resp. legal-info/manifest.csv. The recipe source tree only says what could be built, so the build output is what counts,
  • names and versions of FPGA IP cores (AMD/Xilinx Vivado .hwh/.xci, Microchip Libero Tcl/.cxf, Intel/Altera Quartus *_hw.tcl),
  • the project folder name (hash it with --anonymize),
  • scan statistics (number of build files, tool version),
  • only if you wrote them yourself in embtrace-deps.yaml: the supplier, license, purl and CPE entries of your declaration — a declaration is written for SBOM purposes, so it travels by default and makes your report complete (58 instead of 17 attributed licenses on a typical Zephyr project). Withhold it with --no-declared-metadata. Discovered components never carry these fields.

Never transmitted: source code, file paths, file contents, configuration, credentials. The supplier of a detected FPGA IP core is known locally but deliberately not transmitted — a supplier you declare yourself in embtrace-deps.yaml is your statement and does travel. See for yourself before sending anything:

embtrace-check . --dry-run     # prints the exact payload, uploads nothing

Build outputs (dist/, build/, node_modules/, …) and hidden directories are never scanned. Project-specific excludes go into a committed .embtraceignore at the project root — one glob pattern per line, # comments.

Quality rules (v0.6.0): component identity is (name, version, ecosystem) — nested second versions of one package are kept as own rows (the older nested version is often the vulnerable one); build tools and system libraries (Doxygen, -lanl, find_package(Git), …) are dropped via a curated 950-name skip list — your own embtrace-deps.yaml declarations are never skipped; * and guessed versions are never reported — a missing version is shown as honestly missing. If no supported build system is found, nothing is uploaded and the tool tells you exactly what it looks for and where.

Usage

pipx install embtrace-check         # or: pip install embtrace-check,
                                    #     or download the standalone binary
embtrace-check .                    # reads your build, writes sbom.cdx.json
                                    # — and transmits NOTHING

You now have your own CycloneDX SBOM. An existing sbom.cdx.json is never silently overwritten.

Free CRA readiness report (optional): send the bill explicitly —

embtrace-check . --send --email you@example.com

You are shown exactly what would leave the house (names and versions, no paths, no code) and asked to confirm; --yes skips the question in scripts. No code is required. The report arrives within 24 hours. You can also simply e-mail your sbom.cdx.json to check@innomatica.de.

More options: embtrace-check --help — including --sbom PATH (write the SBOM elsewhere), --output payload.json for air-gapped environments (send the file by mail) and --with-tools to additionally use native package-manager CLIs for higher-fidelity results.

Exit codes

Code Meaning
0 success
1 error (network, missing --email with --send, …)
2 no components found — declare dependencies manually in embtrace-deps.yaml

Privacy

Data is processed exclusively on Innomatica's own servers in Germany and is never shared or sold. Full notes: https://embtrace.dev/check-privacy.

About

embtrace-check is the free entry point to embtrace — the CRA/NIS2 compliance toolchain for embedded software teams by Innomatica GmbH. The server side (enrichment, vulnerability monitoring, reports) is a commercial product; this repository contains the complete client.

Maintained by Innomatica; the roadmap follows the product. Issues and PRs are welcome — please report security topics per SECURITY.md.

License

MIT © 2026 Innomatica GmbH

Metadata

Release files for embtrace-check 0.8.6

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for embtrace-check 0.8.6
File Size Uploaded
embtrace_check-0.8.6.tar.gz 109.4 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for embtrace-check 0.8.6
File Interpreter ABI Platform
embtrace_check-0.8.6-py3-none-any.whl Python 3 none any Details

Total release size: 220.9 kB

Release files / embtrace_check-0.8.6.tar.gz

Download URL embtrace_check-0.8.6.tar.gz
Size 109.4 kB
Tags Source
SHA-256 checksum
How to use checksums
a8ffa23690e937a7f96fdcf162b47349383d66ab83958696941e5504897df93b
BLAKE2b-256 checksum
How to use checksums
98a9ae3ae9b7505c100637418a6016beeddce7327b0219968de82098d764a38d
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 10, 2026.

Transparency log

Release files / embtrace_check-0.8.6-py3-none-any.whl

Download URL embtrace_check-0.8.6-py3-none-any.whl
Size 111.5 kB
Tags Python 3
SHA-256 checksum
How to use checksums
08cda6fb1fd2ab4c12c01c5afee0e25b22b065d21f7697f27284fc9dd92d7a8d
BLAKE2b-256 checksum
How to use checksums
ce8d6a66497334711514ff72953504f81fe229e2408bad20e5c0588578eda6c0
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 10, 2026.

Transparency log

Release history Release notifications | RSS feed

0.9.0

2 release files

This release

0.8.6 This release

2 release files

0.8.5

2 release files

0.8.4

2 release files

0.8.3

2 release files

0.8.2

2 release files

0.8.1

2 release files

0.8.0

2 release files

0.7.0

2 release files

0.6.1

2 release files

0.6.0

2 release files

0.5.0

2 release files

0.4.0

2 release files

0.3.1

2 release files

0.3.0

2 release files

0.2.0

2 release files

0.1.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page