For the complete documentation index, see llms.txt. This page is also available as Markdown.

How sealed packages are delivered

Build-time dependency sealing versus post-build artifact sealing, and when each applies.

Seal delivers a sealed package in one of two technical ways, called sealing approaches. Both involve Seal building from source. They differ in where the artifact lands in your workflow.

Build-time dependency sealing

The customer's build picks up the sealed dependency at build time. The build proceeds normally: the dependency manifest resolves to a sealed version, the code compiles against it, and the artifact your team ships incorporates it.

This is the path for application-dependency ecosystems: npm, pip, Maven, Gradle, Go modules, Composer, Bundler, NuGet.

Post-build artifact sealing

Seal produces a fully built artifact that replaces an existing one in a built environment. There is no rebuild on the customer side. The sealed artifact takes the slot the vulnerable artifact had; nothing else changes in the surrounding image or filesystem.

This is the approach when a rebuild is not available or not practical. The most common cases are pre-built JARs and Python wheels inside containers, where the source for the build is not at hand or the build itself happened far upstream of the deployment.

Which one applies

Seal Apps uses build-time dependency sealing.

Seal Vendor Apps and Seal My Container use post-build artifact sealing for pre-built artifacts inside container images (typically JARs and Python wheels).

Last updated