kafka
Apache Kafka event streaming platform in KRaft mode, no ZooKeeper required. Custom jlink JRE trims the runtime; signed, SBOM-attested and rebuilt daily.
- Compressed size
- 176 MB
- Architectures
- amd64, arm64
- Default user
- kafka (65532)
- Last built
- today
- Upstream
- kafka.apache.org
Pull this image
docker pull ghcr.io/rtvkiz/minimal-kafka:latest docker pull ghcr.io/rtvkiz/minimal-kafka:latest-dev The -dev variant adds a shell, package manager and build toolchain. For CI and debugging — not production.
- Repository
- ghcr.io/rtvkiz/minimal-kafka
- Digest
- sha256:e490a79e8c1bb2e8d2b93d254e6d99347c6dbfb2f7fd86713a9cf72394d0a3fd
- Built at
- 2026-11-12T08:39:00Z
- Primary package
- kafka
- Entrypoint
- /usr/bin/kafka-entrypoint.sh
- User
- kafka (65532)
- Working dir
- /
- Architectures
- x86_64, aarch64
- Environment
- Labels
-
org.opencontainers.image.title minimal-kafka org.opencontainers.image.description Hardened Apache Kafka image with custom jlink JRE, KRaft mode, daily CVE patches org.opencontainers.image.url https://github.com/rtvkiz/minimal org.opencontainers.image.source https://github.com/rtvkiz/minimal/tree/main/images/kafka org.opencontainers.image.licenses Apache-2.0
- Entrypoint
- /usr/bin/kafka-entrypoint.sh
- User
- kafka (65532)
- Working dir
- /
- Architectures
- x86_64, aarch64
- Environment
- Labels
-
org.opencontainers.image.title minimal-kafka-dev org.opencontainers.image.description Dev variant of minimal-kafka: same Kafka + JRE + shell + curl/socat/jq. Not for production. org.opencontainers.image.url https://github.com/rtvkiz/minimal org.opencontainers.image.source https://github.com/rtvkiz/minimal/tree/main/images/kafka org.opencontainers.image.licenses Apache-2.0 dev.minimal.variant dev
| Tag | Pull | Published |
|---|---|---|
| 4 | ghcr.io/rtvkiz/minimal-kafka:4 | 2026-11-12 |
| 4.4 | ghcr.io/rtvkiz/minimal-kafka:4.4 | 2026-11-12 |
| 4.4.0-r0 | ghcr.io/rtvkiz/minimal-kafka:4.4.0-r0 | 2026-11-12 |
| 4.4.0-r0-20261112 | ghcr.io/rtvkiz/minimal-kafka:4.4.0-r0-20261112 | 2026-11-12 |
| latest | ghcr.io/rtvkiz/minimal-kafka:latest | 2026-11-12 |
| 4-dev | ghcr.io/rtvkiz/minimal-kafka:4-dev | 2026-11-12 |
| 4.4-dev | ghcr.io/rtvkiz/minimal-kafka:4.4-dev | 2026-11-12 |
| 4.4.0-r0-20261112-dev | ghcr.io/rtvkiz/minimal-kafka:4.4.0-r0-20261112-dev | 2026-11-12 |
| 4.4.0-r0-dev | ghcr.io/rtvkiz/minimal-kafka:4.4.0-r0-dev | 2026-11-12 |
| latest-dev | ghcr.io/rtvkiz/minimal-kafka:latest-dev | 2026-11-12 |
| 4.4.0-r0-20261111 | ghcr.io/rtvkiz/minimal-kafka:4.4.0-r0-20261111 | 2026-11-11 |
| 4.4.0-r0-20261111-dev | ghcr.io/rtvkiz/minimal-kafka:4.4.0-r0-20261111-dev | 2026-11-11 |
| 4.4.0-r0-20261110 | ghcr.io/rtvkiz/minimal-kafka:4.4.0-r0-20261110 | 2026-11-10 |
| 4.4.0-r0-20261110-dev | ghcr.io/rtvkiz/minimal-kafka:4.4.0-r0-20261110-dev | 2026-11-10 |
| 4.4.0-r0-20261108 | ghcr.io/rtvkiz/minimal-kafka:4.4.0-r0-20261108 | 2026-11-08 |
| 4.4.0-r0-20261108-dev | ghcr.io/rtvkiz/minimal-kafka:4.4.0-r0-20261108-dev | 2026-11-08 |
| 4.4.0-r0-20261107 | ghcr.io/rtvkiz/minimal-kafka:4.4.0-r0-20261107 | 2026-11-07 |
| 4.4.0-r0-20261107-dev | ghcr.io/rtvkiz/minimal-kafka:4.4.0-r0-20261107-dev | 2026-11-07 |
| 4.4.0-r0-20261106 | ghcr.io/rtvkiz/minimal-kafka:4.4.0-r0-20261106 | 2026-11-06 |
| 4.4.0-r0-20261106-dev | ghcr.io/rtvkiz/minimal-kafka:4.4.0-r0-20261106-dev | 2026-11-06 |
| 4.4.0-r0-20261105 | ghcr.io/rtvkiz/minimal-kafka:4.4.0-r0-20261105 | 2026-11-05 |
| 4.4.0-r0-20261105-dev | ghcr.io/rtvkiz/minimal-kafka:4.4.0-r0-20261105-dev | 2026-11-05 |
| 4.4.0-r0-20261104 | ghcr.io/rtvkiz/minimal-kafka:4.4.0-r0-20261104 | 2026-11-04 |
| 4.4.0-r0-20261104-dev | ghcr.io/rtvkiz/minimal-kafka:4.4.0-r0-20261104-dev | 2026-11-04 |
| 4.4.0-r0-20261027 | ghcr.io/rtvkiz/minimal-kafka:4.4.0-r0-20261027 | 2026-10-27 |
| 4.4.0-r0-20261027-dev | ghcr.io/rtvkiz/minimal-kafka:4.4.0-r0-20261027-dev | 2026-10-27 |
| 4.4.0-r0-20261026 | ghcr.io/rtvkiz/minimal-kafka:4.4.0-r0-20261026 | 2026-10-26 |
| 4.4.0-r0-20261026-dev | ghcr.io/rtvkiz/minimal-kafka:4.4.0-r0-20261026-dev | 2026-10-26 |
| 4.4.0-r0-20261025-dev | ghcr.io/rtvkiz/minimal-kafka:4.4.0-r0-20261025-dev | 2026-10-25 |
| 4.4.0-r0-20261025 | ghcr.io/rtvkiz/minimal-kafka:4.4.0-r0-20261025 | 2026-10-25 |
| 4.4.0-r0-20261024 | ghcr.io/rtvkiz/minimal-kafka:4.4.0-r0-20261024 | 2026-10-24 |
| 4.4.0-r0-20261024-dev | ghcr.io/rtvkiz/minimal-kafka:4.4.0-r0-20261024-dev | 2026-10-24 |
| 4.4.0-r0-20261023 | ghcr.io/rtvkiz/minimal-kafka:4.4.0-r0-20261023 | 2026-10-23 |
| 4.4.0-r0-20261023-dev | ghcr.io/rtvkiz/minimal-kafka:4.4.0-r0-20261023-dev | 2026-10-23 |
| 4.4.0-r0-20261022 | ghcr.io/rtvkiz/minimal-kafka:4.4.0-r0-20261022 | 2026-10-22 |
| 4.4.0-r0-20261022-dev | ghcr.io/rtvkiz/minimal-kafka:4.4.0-r0-20261022-dev | 2026-10-22 |
| 4.4.0-r0-20261021 | ghcr.io/rtvkiz/minimal-kafka:4.4.0-r0-20261021 | 2026-10-21 |
| 4.4.0-r0-20261021-dev | ghcr.io/rtvkiz/minimal-kafka:4.4.0-r0-20261021-dev | 2026-10-21 |
| 4.4.0-r0-20261020 | ghcr.io/rtvkiz/minimal-kafka:4.4.0-r0-20261020 | 2026-10-20 |
| 4.4.0-r0-20261020-dev | ghcr.io/rtvkiz/minimal-kafka:4.4.0-r0-20261020-dev | 2026-10-20 |
| 4.4.0-r0-20261019 | ghcr.io/rtvkiz/minimal-kafka:4.4.0-r0-20261019 | 2026-10-19 |
| 4.4.0-r0-20261019-dev | ghcr.io/rtvkiz/minimal-kafka:4.4.0-r0-20261019-dev | 2026-10-19 |
| 4.4.0-r0-20261018 | ghcr.io/rtvkiz/minimal-kafka:4.4.0-r0-20261018 | 2026-10-18 |
| 4.4.0-r0-20261018-dev | ghcr.io/rtvkiz/minimal-kafka:4.4.0-r0-20261018-dev | 2026-10-18 |
| 4.4.0-r0-20261017 | ghcr.io/rtvkiz/minimal-kafka:4.4.0-r0-20261017 | 2026-10-17 |
| 4.4.0-r0-20261017-dev | ghcr.io/rtvkiz/minimal-kafka:4.4.0-r0-20261017-dev | 2026-10-17 |
| 4.4.0-r0-20261016 | ghcr.io/rtvkiz/minimal-kafka:4.4.0-r0-20261016 | 2026-10-16 |
| 4.4.0-r0-20261016-dev | ghcr.io/rtvkiz/minimal-kafka:4.4.0-r0-20261016-dev | 2026-10-16 |
| 4.3 | ghcr.io/rtvkiz/minimal-kafka:4.3 | 2026-10-16 |
| 4.3.1-r0 | ghcr.io/rtvkiz/minimal-kafka:4.3.1-r0 | 2026-10-16 |
| 4.3.1-r0-20261016 | ghcr.io/rtvkiz/minimal-kafka:4.3.1-r0-20261016 | 2026-10-16 |
| 4.3-dev | ghcr.io/rtvkiz/minimal-kafka:4.3-dev | 2026-10-16 |
| 4.3.1-r0-20261016-dev | ghcr.io/rtvkiz/minimal-kafka:4.3.1-r0-20261016-dev | 2026-10-16 |
| 4.3.1-r0-dev | ghcr.io/rtvkiz/minimal-kafka:4.3.1-r0-dev | 2026-10-16 |
| 4.4.0-r0-20261015 | ghcr.io/rtvkiz/minimal-kafka:4.4.0-r0-20261015 | 2026-10-15 |
| 4.4.0-r0-20261015-dev | ghcr.io/rtvkiz/minimal-kafka:4.4.0-r0-20261015-dev | 2026-10-15 |
| 4.3.1-r0-20261015 | ghcr.io/rtvkiz/minimal-kafka:4.3.1-r0-20261015 | 2026-10-15 |
| 4.3.1-r0-20261015-dev | ghcr.io/rtvkiz/minimal-kafka:4.3.1-r0-20261015-dev | 2026-10-15 |
| 4.3.1-r0-20261014 | ghcr.io/rtvkiz/minimal-kafka:4.3.1-r0-20261014 | 2026-10-14 |
| 4.3.1-r0-20261014-dev | ghcr.io/rtvkiz/minimal-kafka:4.3.1-r0-20261014-dev | 2026-10-14 |
| 4.3.1-r0-20261013 | ghcr.io/rtvkiz/minimal-kafka:4.3.1-r0-20261013 | 2026-10-13 |
| 4.3.1-r0-20261013-dev | ghcr.io/rtvkiz/minimal-kafka:4.3.1-r0-20261013-dev | 2026-10-13 |
134 packages in the image, resolved from the SPDX SBOM.
| Package | Version | License |
|---|---|---|
| alpine/ca-certificates | 20261020 | MPL-2.0 AND MIT |
| alsa-lib | 1.2.16.1-r5 | LGPL-2.1-or-later |
| alsa-lib | v1.2.16.1 | LGPL-2.1-or-later |
| alsa-lib | 1.2.16.1-r5 | LGPL-2.1-or-later |
| alsa-lib | 1.2.16.1-r5 | — |
| alsa-lib.yaml | 4402560d16452f6def014ce2fd6eccf701ed782c | Apache-2.0 |
| brotli | v1.2.1 | MIT |
| brotli.yaml | f5ef816d1cb2bd0e165a402c4e8a4c4622464bf3 | Apache-2.0 |
| busybox | 1.38.0-r3 | GPL-2.0-only |
| busybox | 1.38.0-r3 | GPL-2.0-only |
| busybox | 1.38.0-r3 | — |
| busybox_mirror | 1_38_0 | GPL-2.0-only |
| busybox.yaml | 59d45eb49286129d8d21b2469befa3b55be4719b | Apache-2.0 |
| bzip2.yaml | 6ea997c2746016cbc0225ce27cb992c09feefd2a | Apache-2.0 |
| ca-certificates-bundle | 20261020-r0 | MPL-2.0 AND MIT |
| ca-certificates-bundle | 20261020-r0 | (MPL-2.0 AND MIT) |
| ca-certificates-bundle | 20261020-r0 | — |
| ca-certificates.yaml | 8061afafa65af5a9026707a8880e14120dd6f4a0 | Apache-2.0 |
| freetype | 2.14.3-r7 | FTL OR GPL-2.0-or-later |
| freetype | 2.14.3-r7 | (FTL OR GPL-2.0-or-later) |
| freetype | 2.14.3-r7 | — |
| freetype.yaml | 6ff29abe842715e2edb5412c279fa078916c86de | Apache-2.0 |
| freetype/freetype | VER-2-14-3 | FTL OR GPL-2.0-or-later |
| gcc.yaml | 4d188060cbd00821a95f1ef60605da4817e781bb | Apache-2.0 |
| giflib | 6.1.3-r4 | MIT |
| giflib | 6.1.3-r4 | MIT |
| giflib | 6.1.3-r4 | — |
| giflib.yaml | bdc197227f39597f43727c03854efbb4e834c5ef | Apache-2.0 |
| git/bzip2 | bzip2-1.0.8 | bzip2-1.0.6 |
| glibc-2.44 | 2.44-r16 | LGPL-2.1-or-later |
| glibc-2.44 | 2.44-r16 | LGPL-2.1-or-later |
| glibc-2.44 | 2.44-r16 | — |
| glibc-2.44-locale-posix | 2.44-r16 | LGPL-2.1-or-later |
| glibc-2.44-locale-posix | 2.44-r16 | LGPL-2.1-or-later |
| glibc-2.44-locale-posix | 2.44-r16 | — |
| glibc-2.44.yaml | 69c2b75e0711c38be3c5881e3a141667ccf54341 | Apache-2.0 |
| gnutools/gcc | releases/gcc-16.2.0 | GPL-3.0-or-later WITH GCC-exception-3.1 |
| gnutools/glibc | 47e2b570410fab606de29f550534a721184852c3 | LGPL-2.1-or-later |
| images/kafka/melange.yaml | 862101ee7af52b6dfb7db319fbf7c11793a3d433 | — |
| kafka | 4.4.0-r0 | Apache-2.0 |
| lcms2.yaml | e286b020d6a3a526b72944884af2dded31b6363a | Apache-2.0 |
| ld-linux-2.44 | 2.44-r16 | LGPL-2.1-or-later |
| ld-linux-2.44 | 2.44-r16 | LGPL-2.1-or-later |
| ld-linux-2.44 | 2.44-r16 | — |
| libbrotlicommon1 | 1.2.1-r3 | MIT |
| libbrotlicommon1 | 1.2.1-r3 | MIT |
| libbrotlicommon1 | 1.2.1-r3 | — |
| libbrotlidec1 | 1.2.1-r3 | MIT |
| libbrotlidec1 | 1.2.1-r3 | MIT |
| libbrotlidec1 | 1.2.1-r3 | — |
| libbz2-1 | 1.0.8-r31 | bzip2-1.0.6 |
| libbz2-1 | 1.0.8-r31 | bzip2-1.0.6 |
| libbz2-1 | 1.0.8-r31 | — |
| libcrypt1-2.44 | 2.44-r16 | LGPL-2.1-or-later |
| libcrypt1-2.44 | 2.44-r16 | LGPL-2.1-or-later |
| libcrypt1-2.44 | 2.44-r16 | — |
| libgcc | 16.2.0-r3 | GPL-3.0-or-later WITH GCC-exception-3.1 |
| libgcc | 16.2.0-r3 | (GPL-3.0-or-later WITH GCC-exception-3.1) |
| libgcc | 16.2.0-r3 | — |
| libjpeg-turbo | 3.2.1-r0 | BSD-3-Clause AND IJG AND Zlib |
| libjpeg-turbo | 3.2.1 | BSD-3-Clause AND IJG AND Zlib |
| libjpeg-turbo | 3.2.1-r0 | (BSD-3-Clause AND IJG AND Zlib) |
| libjpeg-turbo | 3.2.1-r0 | — |
| libjpeg-turbo.yaml | 2d92ccc84a18a2e9505e5320d6e31166925aaf65 | Apache-2.0 |
| liblcms2-2 | 2.20-r1 | MIT AND GPL-3.0-only |
| liblcms2-2 | 2.20-r1 | (MIT AND GPL-3.0-only) |
| liblcms2-2 | 2.20-r1 | — |
| libpng | v1.6.59 | libpng-2.0 |
| libpng.yaml | b9898dbb7125f3678bc8c6cd9e7a43d9d9d2c518 | Apache-2.0 |
| libpng16-16 | 1.6.59-r2 | libpng-2.0 |
| libpng16-16 | 1.6.59-r2 | libpng-2.0 |
| libpng16-16 | 1.6.59-r2 | — |
| libx11-6 | 1.8.14-r4 | XFree86-1.1 |
| libx11-6 | 1.8.14-r4 | XFree86-1.1 |
| libx11-6 | 1.8.14-r4 | — |
| libx11-data | 1.8.14-r4 | XFree86-1.1 |
| libx11-data | 1.8.14-r4 | XFree86-1.1 |
| libx11-data | 1.8.14-r4 | — |
| libx11.yaml | e286b020d6a3a526b72944884af2dded31b6363a | Apache-2.0 |
| libxau | 1.0.12-r11 | MIT |
| libxau | 1.0.12-r11 | MIT |
| libxau | 1.0.12-r11 | — |
| libxau.yaml | 491b184c82ef2868d73a46a98997db789342ff15 | Apache-2.0 |
| libxcb | 1.17.0-r19 | MIT |
| libxcb | 1.17.0-r19 | MIT |
| libxcb | 1.17.0-r19 | — |
| libxcb.yaml | 491b184c82ef2868d73a46a98997db789342ff15 | Apache-2.0 |
| libxcrypt | 4.5.2-r8 | GPL-2.0-or-later AND LGPL-2.1-or-later |
| libxcrypt | v4.5.2 | GPL-2.0-or-later AND LGPL-2.1-or-later |
| libxcrypt | 4.5.2-r8 | (GPL-2.0-or-later AND LGPL-2.1-or-later) |
| libxcrypt | 4.5.2-r8 | — |
| libxcrypt.yaml | b9898dbb7125f3678bc8c6cd9e7a43d9d9d2c518 | Apache-2.0 |
| libxdmcp | 1.1.5-r14 | MIT |
| libxdmcp | 1.1.5-r14 | MIT |
| libxdmcp | 1.1.5-r14 | — |
| libxdmcp.yaml | 491b184c82ef2868d73a46a98997db789342ff15 | Apache-2.0 |
| libxext.yaml | f394a671ec1e336dc4f0b1ed93fca377b7a78c2a | Apache-2.0 |
| libxext6 | 1.3.7-r5 | MIT |
| libxext6 | 1.3.7-r5 | MIT |
| libxext6 | 1.3.7-r5 | — |
| libxi.yaml | f394a671ec1e336dc4f0b1ed93fca377b7a78c2a | Apache-2.0 |
| libxi6 | 1.8.4-r1 | MIT AND X11 |
| libxi6 | 1.8.4-r1 | (MIT AND X11) |
| libxi6 | 1.8.4-r1 | — |
| libxrender.yaml | f394a671ec1e336dc4f0b1ed93fca377b7a78c2a | Apache-2.0 |
| libxrender1 | 0.9.13-r1 | XFree86-1.1 |
| libxrender1 | 0.9.13-r1 | XFree86-1.1 |
| libxrender1 | 0.9.13-r1 | — |
| libxtst.yaml | f394a671ec1e336dc4f0b1ed93fca377b7a78c2a | Apache-2.0 |
| libxtst6 | 1.2.6-r1 | XFree86-1.1 |
| libxtst6 | 1.2.6-r1 | XFree86-1.1 |
| libxtst6 | 1.2.6-r1 | — |
| Little-CMS | lcms2.20 | MIT AND GPL-3.0-only |
| p/giflib/code | 6.1.3 | MIT |
| sha256:265327fb30baef183571f9990e8e252a480e9965454b3d407d53c8ad7110f993 | 20230201 | — |
| sha256:99b23d81dfcb05c0829dc4b7b00e361a2ae796615a691a4c1faa0f8e6548ced1 | sha256:99b23d81dfcb05c0829dc4b7b00e361a2ae796615a691a4c1faa0f8e6548ced1 | — |
| wolfi | 20230201 | — |
| wolfi-baselayout | 20230201-r31 | MIT |
| wolfi-baselayout | 20230201-r31 | MIT |
| wolfi-baselayout | 20230201-r31 | — |
| wolfi-baselayout.yaml | ed415005c84750f03c4a9252137813734a224ae7 | Apache-2.0 |
| xorg/lib/libx11 | libX11-1.8.14 | XFree86-1.1 |
| xorg/lib/libxau | libXau-1.0.12 | MIT |
| xorg/lib/libxcb | libxcb-1.17.0 | MIT |
| xorg/lib/libxdmcp | libXdmcp-1.1.5 | MIT |
| xorg/lib/libxext | libXext-1.3.7 | MIT |
| xorg/lib/libxi | libXi-1.8.4 | MIT AND X11 |
| xorg/lib/libxrender | libXrender-0.9.13 | XFree86-1.1 |
| xorg/lib/libxtst | libXtst-1.2.6 | XFree86-1.1 |
| zlib | 1.3.2.1_rc20260921-r2 | MPL-2.0 AND MIT |
| zlib | 767c4c947852e143f582c85f14cf573411df1b35 | MPL-2.0 AND MIT |
| zlib | 1.3.2.1_rc20260921-r2 | (MPL-2.0 AND MIT) |
| zlib | 1.3.2.1_rc20260921-r2 | — |
| zlib.yaml | 5aeb575ed7ca64fb21dfda042e170d08f1654bbc | Apache-2.0 |
6 high7 medium1 low 11 fixable
| CVE | Severity | Package | Installed | Fixed in |
|---|---|---|---|---|
| GHSA-7hhh-6rmp-j9qf | High | jackson-core | 2.21.1 | 2.21.7 |
| GHSA-gwq9-9ffj-mvrv | High | snappy-java | 1.1.10.7 | 1.1.10.9 |
| GHSA-mcr4-qmvw-px4g | High | lz4-java | 1.11.2 | 1.11.4 |
| GHSA-p6pp-m3f8-5c89 | High | jackson-core | 2.21.1 | 2.21.7 |
| GHSA-q233-g92q-qxp6 | High | snappy-java | 1.1.10.7 | 1.1.10.9 |
| GHSA-r7wm-3cxj-wff9 | High | jackson-core | 2.21.1 | 2.21.4 |
| CVE-2026-90781 | Medium | alsa-lib | 1.2.16.1-r5 | — |
| CVE-2026-96674 | Medium | alsa-lib | 1.2.16.1-r5 | — |
| CVE-2026-96675 | Medium | alsa-lib | 1.2.16.1-r5 | — |
| GHSA-7p3p-8qv8-m2vh | Medium | jetty-server | 12.0.32 | 12.0.35 |
| GHSA-f4v5-65jj-pcr2 | Medium | jetty-server | 12.0.32 | 12.0.36 |
| GHSA-gm45-99xc-r7wv | Medium | lz4-java | 1.11.2 | 1.11.4 |
| GHSA-xqrx-qh46-34m7 | Medium | snappy-java | 1.1.10.7 | 1.1.10.9 |
| GHSA-343h-94h5-c4wr | Low | lz4-java | 1.11.2 | 1.11.4 |
Everything is verifiable without an account. Copy and run:
Build provenance (SLSA v1.0, Build L2)
gh attestation verify oci://ghcr.io/rtvkiz/minimal-kafka:latest --owner rtvkiz Cosign signature
cosign verify \
--certificate-identity-regexp='https://github.com/rtvkiz/minimal/' \
--certificate-oidc-issuer='https://token.actions.githubusercontent.com' \
ghcr.io/rtvkiz/minimal-kafka:latest SBOM attestation (SPDX)
cosign verify-attestation --type spdxjson \
--certificate-identity-regexp='https://github.com/rtvkiz/minimal/' \
--certificate-oidc-issuer='https://token.actions.githubusercontent.com' \
ghcr.io/rtvkiz/minimal-kafka:latest \
| jq -r '.payload | @base64d | fromjson | .predicate' Signatures are logged in the public Rekor transparency log.
More Caches, Queues & Messaging images
Weighing this against another provider? The comparison pages publish head-to-head scan data with the raw dataset, including the images where Minimal comes off worse — or read the migration guide for what actually breaks when you switch.