> For the complete documentation index, see [llms.txt](https://docs.sealsecurity.io/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.sealsecurity.io/introduction/seal-approach/drop-in-replacements.md).

# Drop-in replacements, not upgrades

A sealed package is a **drop-in replacement** for the public version you already use. You replace the vulnerable version with the sealed version. Nothing else changes.

## What stays the same

A sealed package preserves everything an upgrade would put at risk:

* **The version number.** `ejs@2.7.4` becomes `ejs@2.7.4-sp1`. The major, minor, and patch numbers do not change. (The exact suffix format depends on the ecosystem; see [Naming and versioning conventions](/reference/naming-and-versioning.md).)
* **The public API.** The functions, types, and method signatures the package exposes are untouched. Code that calls into the package keeps compiling.
* **Behavior.** Default settings, return values, error cases, and side effects all match the origin version. Backwards compatibility is a guarantee.
* **The dependencies.** A sealed package depends on exactly the same packages, at exactly the same version ranges, as the origin version.

## What changes

Only the vulnerable code path. Seal applies the smallest patch that resolves the vulnerability while preserving backwards compatibility. Code that was not exploiting the vulnerability behaves exactly as it did in the origin version.

## A replacement, not an upgrade

The distinction is operational, not pedantic. An upgrade is an engineering project: read the changelog, fix call sites, run the test suite, coordinate the release. A replacement is a swap: the sealed version takes the slot the vulnerable version had, and the project that depended on it carries on.

If using a sealed package required the same engineering project that an upgrade does, it would not solve [the remediation problem](/introduction/remediation-problem.md). The reason a sealed package is useful is that the work an upgrade demands is exactly the work it does not need.
