# Package discovery mode

**Package discovery mode** is a per-Seal-Project setting that controls how the Seal Platform learns about the packages in your codebase. A Seal Project uses exactly one mode at a time. There are four:

* [Source code](/new-documentation/new-docs/package-discovery-mode/source-code.md): Seal's SCM integration reads your dependency manifests directly from the connected repository.
* [CLI](/new-documentation/new-docs/package-discovery-mode/cli.md): the Seal CLI runs in your CI/CD pipeline, scans the manifest, and reports the result to the Seal Platform.
* [Artifact server](/new-documentation/new-docs/package-discovery-mode/artifact-server.md): the Seal Artifact Server records each sealed package your build pulls.
* [Imported manifest](/new-documentation/new-docs/package-discovery-mode/imported-manifest.md): a one-shot upload of a manifest, lockfile, or SBOM.

Each sub-page covers one mode in detail: what it sees, when to choose it, and how to set it up.

For the high-level orientation and trade-offs across the four modes, see [How Seal discovers your packages](/new-documentation/new-docs/how-seal-discovers-your-packages.md).

## Discovery mode is not deployment method or fix mode

Package discovery mode answers "how does Seal see my packages?". Two adjacent settings answer different questions and should not be confused:

* **Deployment method** answers "how is Seal integrated into my environment?". Five values: Automatic Remediation, Remote, Local, Artifact Server, Manual.
* **CLI fix mode** answers "what does the Seal CLI do when it runs?". Three values: local, remote, all.

A single Seal Project has all three settings, and they interact. Most commonly, a Seal Project in CLI discovery mode runs the Seal CLI in remote fix mode under the Remote deployment method.

## Mode changes

The mode is set automatically when a Seal Project first sees signal. It moves up the reliability hierarchy automatically (imported manifest → artifact server → CLI → source code) when a more reliable signal source produces signal, but it never moves back. Signals from a less reliable source than the project's current mode are dropped silently rather than recorded under the project. The full mechanics live under [Mode changes in Creating a Seal Project](/new-documentation/new-docs/creating-a-seal-project.md#mode-changes).

## Related

* [How Seal discovers your packages](/new-documentation/new-docs/how-seal-discovers-your-packages.md): the orientation page with the trade-off table.
* [Creating a Seal Project](/new-documentation/new-docs/creating-a-seal-project.md): where a project's mode is set, and the rules for changing it later.


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.sealsecurity.io/new-documentation/new-docs/package-discovery-mode.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
