{"version":1,"pages":[{"id":"awlRaKyjUefjWdt9kwJo","title":"Welcome to Seal Security","pathname":"/","siteSpaceId":"sitesp_6s4MA","description":"The remediation platform for open-source vulnerabilities."},{"id":"9hkptC4xUBsamQrxauF9","title":"Introduction and core concepts","pathname":"/introduction","siteSpaceId":"sitesp_6s4MA","description":"What Seal is, the remediation problem it solves, and the vocabulary you'll see across these docs."},{"id":"YRoAUuNhHjQAnbQ5jz3M","title":"What is Seal Security","pathname":"/introduction/what-is-seal","siteSpaceId":"sitesp_6s4MA","description":"What Seal does, what it covers, and how it works alongside your existing tools.","breadcrumbs":[{"label":"Introduction and core concepts"}]},{"id":"hNAt9fZ6sfGEyNvbuCPY","title":"What you will find in these docs","pathname":"/introduction/navigating-the-docs","siteSpaceId":"sitesp_6s4MA","description":"The section map, role-based starting points, and key terms.","breadcrumbs":[{"label":"Introduction and core concepts"}]},{"id":"Aj7SDv9rFs7qhX9pZPup","title":"The remediation problem","pathname":"/introduction/remediation-problem","siteSpaceId":"sitesp_6s4MA","description":"Why remediating open-source vulnerabilities is hard, and what the cost of chasing upgrades does to a team.","breadcrumbs":[{"label":"Introduction and core concepts"}]},{"id":"cgsEEuDJoc0bGOe2Q6QG","title":"Why remediation is hard","pathname":"/introduction/remediation-problem/why-remediation-is-hard","siteSpaceId":"sitesp_6s4MA","description":"The upgrade cascade, transitive dependencies, hard-versus-trivial upgrades, no-upgrade-path cases, container patching, and EOL components.","breadcrumbs":[{"label":"Introduction and core concepts"},{"label":"The remediation problem"}]},{"id":"dX14vH4EzCntE2Jq2Pc8","title":"The cost of chasing upgrades","pathname":"/introduction/remediation-problem/the-cost-of-chasing-upgrades","siteSpaceId":"sitesp_6s4MA","description":"Off-cadence interruptions, the hard-upgrade tail, lost knowledge, code base growth, and the deferred-exception pile.","breadcrumbs":[{"label":"Introduction and core concepts"},{"label":"The remediation problem"}]},{"id":"0snso2txEKK6W9q31yrP","title":"The Seal approach","pathname":"/introduction/seal-approach","siteSpaceId":"sitesp_6s4MA","description":"Drop-in replacements, sealed packages, sealing approaches, and the trust posture that ships with every artifact.","breadcrumbs":[{"label":"Introduction and core concepts"}]},{"id":"oRCmW0S3IJpLD2MHwFa5","title":"Drop-in replacements, not upgrades","pathname":"/introduction/seal-approach/drop-in-replacements","siteSpaceId":"sitesp_6s4MA","description":"A sealed package replaces a vulnerable version without changing your code.","breadcrumbs":[{"label":"Introduction and core concepts"},{"label":"The Seal approach"}]},{"id":"QAgOhjVOkNeY2md4h2ck","title":"What a sealed package is","pathname":"/introduction/seal-approach/sealed-packages","siteSpaceId":"sitesp_6s4MA","description":"How a sealed version is built, the sealed-version suffix, what is covered by default, and what an open vulnerability means.","breadcrumbs":[{"label":"Introduction and core concepts"},{"label":"The Seal approach"}]},{"id":"nrEoZ8zyfsdUVQuV0NQz","title":"How sealed packages are delivered","pathname":"/introduction/seal-approach/sealing-approaches","siteSpaceId":"sitesp_6s4MA","description":"Build-time dependency sealing versus post-build artifact sealing, and when each applies.","breadcrumbs":[{"label":"Introduction and core concepts"},{"label":"The Seal approach"}]},{"id":"tsFOFEqa5xumhwLBLgZh","title":"Trust by default","pathname":"/introduction/seal-approach/trust-by-default","siteSpaceId":"sitesp_6s4MA","description":"Code diff, attestations, and signing. A short overview.","breadcrumbs":[{"label":"Introduction and core concepts"},{"label":"The Seal approach"}]},{"id":"3pgSRunMU1sDUdZ3fls8","title":"The Seal product family","pathname":"/introduction/product-family","siteSpaceId":"sitesp_6s4MA","description":"Five products covering your stack, all built on the same sealing approach.","breadcrumbs":[{"label":"Introduction and core concepts"}]},{"id":"VuyugEtjy2MUMghScaAM","title":"Seal Apps","pathname":"/introduction/product-family/seal-apps","siteSpaceId":"sitesp_6s4MA","description":"Sealed packages for your application's third-party open-source dependencies.","breadcrumbs":[{"label":"Introduction and core concepts"},{"label":"The Seal product family"}]},{"id":"P1zWoYyydoeeyFCdfT7B","title":"Seal OS","pathname":"/introduction/product-family/seal-os","siteSpaceId":"sitesp_6s4MA","description":"Sealed APK, DEB, and RPM packages for Linux servers and containers, including EOL distributions.","breadcrumbs":[{"label":"Introduction and core concepts"},{"label":"The Seal product family"}]},{"id":"xbF2qqQGXOr0YNCdHARC","title":"Seal Base Images","pathname":"/introduction/product-family/seal-base-images","siteSpaceId":"sitesp_6s4MA","description":"Sealed replacements for the public container base images you build on top of.","breadcrumbs":[{"label":"Introduction and core concepts"},{"label":"The Seal product family"}]},{"id":"bK2arUZbtMpLjEE2XVUq","title":"Seal My Container","pathname":"/introduction/product-family/seal-my-container","siteSpaceId":"sitesp_6s4MA","description":"Container-to-container sealing of your private container images.","breadcrumbs":[{"label":"Introduction and core concepts"},{"label":"The Seal product family"}]},{"id":"UeuBhenmPZSX9R8ec17I","title":"Seal Vendor Apps","pathname":"/introduction/product-family/seal-vendor-apps","siteSpaceId":"sitesp_6s4MA","description":"Open-source remediation inside containers shipped by your vendors.","breadcrumbs":[{"label":"Introduction and core concepts"},{"label":"The Seal product family"}]},{"id":"gelD0H4pkPvX5Jfduh5v","title":"Architecture overview","pathname":"/introduction/architecture","siteSpaceId":"sitesp_6s4MA","description":"The Seal components, how they fit together, and where your data lives.","breadcrumbs":[{"label":"Introduction and core concepts"}]},{"id":"3gSRSMoglncvPqitmCEY","title":"Components","pathname":"/introduction/architecture/components","siteSpaceId":"sitesp_6s4MA","description":"The named components that make up the Seal Platform.","breadcrumbs":[{"label":"Introduction and core concepts"},{"label":"Architecture overview"}]},{"id":"JDAGbova6B5qgnFqjdn5","title":"How the pieces fit together","pathname":"/introduction/architecture/how-pieces-fit-together","siteSpaceId":"sitesp_6s4MA","description":"One diagram of how the Seal components connect.","breadcrumbs":[{"label":"Introduction and core concepts"},{"label":"Architecture overview"}]},{"id":"hpcbsik03URIpU7dx1nX","title":"Where your data lives","pathname":"/introduction/architecture/where-your-data-lives","siteSpaceId":"sitesp_6s4MA","description":"What Seal sees in each package discovery mode, and what it never sees.","breadcrumbs":[{"label":"Introduction and core concepts"},{"label":"Architecture overview"}]},{"id":"6kRbTJxsCL8InkWg1dV7","title":"Your first hour with Seal, by role","pathname":"/introduction/audience-guides","siteSpaceId":"sitesp_6s4MA","description":"Role-based starting points. Pick the page that matches what you do.","breadcrumbs":[{"label":"Introduction and core concepts"}]},{"id":"dVQiY9pxMBcnI91ekYCq","title":"If you're a security leader","pathname":"/introduction/audience-guides/security-leader","siteSpaceId":"sitesp_6s4MA","description":"How to navigate the Seal docs as a security leader.","breadcrumbs":[{"label":"Introduction and core concepts"},{"label":"Your first hour with Seal, by role"}]},{"id":"e8c6AGDqBB2Pc8NFjudt","title":"If you're a DevOps engineer","pathname":"/introduction/audience-guides/devops-engineer","siteSpaceId":"sitesp_6s4MA","description":"How to navigate the Seal docs as a DevOps, DevSecOps, or platform engineer.","breadcrumbs":[{"label":"Introduction and core concepts"},{"label":"Your first hour with Seal, by role"}]},{"id":"2MEipbhrSabxGQB2nYF3","title":"If you're a developer","pathname":"/introduction/audience-guides/developer","siteSpaceId":"sitesp_6s4MA","description":"How to navigate the Seal docs as a developer.","breadcrumbs":[{"label":"Introduction and core concepts"},{"label":"Your first hour with Seal, by role"}]},{"id":"r04XZKNk2V600iJz8jsF","title":"If you're a security analyst","pathname":"/introduction/audience-guides/security-analyst","siteSpaceId":"sitesp_6s4MA","description":"How to navigate the Seal docs as a security analyst.","breadcrumbs":[{"label":"Introduction and core concepts"},{"label":"Your first hour with Seal, by role"}]},{"id":"P9lIAXXLSHlYOX8za3tP","title":"Glossary","pathname":"/introduction/glossary","siteSpaceId":"sitesp_6s4MA","description":"The Seal-specific vocabulary used throughout these docs.","breadcrumbs":[{"label":"Introduction and core concepts"}]},{"id":"HEGQPOi6dBorGSE5tM9g","title":"Getting started","pathname":"/getting-started","siteSpaceId":"sitesp_6s4MA","description":"Sign in, set up users and tokens, create your first Seal Project, and run a Proof of Value."},{"id":"iNWkdmdUw7nwTlEECBnw","title":"Sign up and sign in","pathname":"/getting-started/sign-up-and-sign-in","siteSpaceId":"sitesp_6s4MA","description":"Activating your invite, signing in, and switching tenants.","breadcrumbs":[{"label":"Getting started"}]},{"id":"nGPfWy8kM1M5qBce7BJH","title":"The onboarding wizard","pathname":"/getting-started/onboarding-wizard","siteSpaceId":"sitesp_6s4MA","description":"A guided three-stage setup that runs the first time anyone signs in to a new tenant.","breadcrumbs":[{"label":"Getting started"}]},{"id":"EQwRcFhalJ2tplvSMdPt","title":"Managing users, roles & SSO","pathname":"/getting-started/users-and-sso","siteSpaceId":"sitesp_6s4MA","description":"User roles, inviting team members, and configuring single sign-on.","breadcrumbs":[{"label":"Getting started"}]},{"id":"Iht69heTJBKG3AOmCWnS","title":"User roles","pathname":"/getting-started/users-and-sso/user-roles","siteSpaceId":"sitesp_6s4MA","description":"The four user roles in Seal and the permission matrix.","breadcrumbs":[{"label":"Getting started"},{"label":"Managing users, roles & SSO"}]},{"id":"w8fiBpXdRetcjDdtqA9r","title":"Inviting and managing users","pathname":"/getting-started/users-and-sso/inviting-users","siteSpaceId":"sitesp_6s4MA","description":"Inviting team members, changing their roles, and revoking access.","breadcrumbs":[{"label":"Getting started"},{"label":"Managing users, roles & SSO"}]},{"id":"HlUPqPwLO9eGVcvGzdKl","title":"SSO and SAML","pathname":"/getting-started/users-and-sso/sso-and-saml","siteSpaceId":"sitesp_6s4MA","description":"Connecting your identity provider through Seal's authentication portal.","breadcrumbs":[{"label":"Getting started"},{"label":"Managing users, roles & SSO"}]},{"id":"nUfGECcXGpvDdVdldjp4","title":"Managing tokens","pathname":"/getting-started/tokens","siteSpaceId":"sitesp_6s4MA","description":"Production and development tokens, how to generate them, and how to handle them safely.","breadcrumbs":[{"label":"Getting started"}]},{"id":"BfZrY02lWYYTfqooYSlL","title":"Token types","pathname":"/getting-started/tokens/token-types","siteSpaceId":"sitesp_6s4MA","description":"Production tokens versus development tokens, and when to use each.","breadcrumbs":[{"label":"Getting started"},{"label":"Managing tokens"}]},{"id":"WpQhFF3bowJKG0RKpfzw","title":"Generating and revoking tokens","pathname":"/getting-started/tokens/generating-tokens","siteSpaceId":"sitesp_6s4MA","description":"Creating a token, copying it during the one-time reveal, and revoking it.","breadcrumbs":[{"label":"Getting started"},{"label":"Managing tokens"}]},{"id":"R4hRAbTIejA27JGTtTib","title":"Token security best practices","pathname":"/getting-started/tokens/best-practices","siteSpaceId":"sitesp_6s4MA","description":"Scoping, rotating, and storing Seal tokens safely.","breadcrumbs":[{"label":"Getting started"},{"label":"Managing tokens"}]},{"id":"kCawecmVAqJvpIEbVi6f","title":"Creating a Seal Project","pathname":"/getting-started/creating-a-seal-project","siteSpaceId":"sitesp_6s4MA","description":"Creating, naming, and managing the Seal Projects that represent your codebases and pipelines.","breadcrumbs":[{"label":"Getting started"}]},{"id":"YEKKH2g1WJPO7fvF2iiR","title":"Your first Proof of Value","pathname":"/getting-started/proof-of-value","siteSpaceId":"sitesp_6s4MA","description":"Validating Seal on a representative component from your environment, with sales engineering support.","breadcrumbs":[{"label":"Getting started"}]},{"id":"UQ0ucje1GSaaobdJfavO","title":"Discovering vulnerabilities","pathname":"/discovering","siteSpaceId":"sitesp_6s4MA","description":"How Seal discovers your packages, and the UI surfaces you use to triage what it finds."},{"id":"20WFwpdbMAugw6IL7O9c","title":"How Seal discovers your packages","pathname":"/discovering/how-seal-discovers-your-packages","siteSpaceId":"sitesp_6s4MA","description":"The four package discovery modes Seal supports, and the trade-offs each one makes.","breadcrumbs":[{"label":"Discovering vulnerabilities"}]},{"id":"DHkwBpPFLH7xYXiQ9GrD","title":"Package discovery mode","pathname":"/discovering/package-discovery-mode","siteSpaceId":"sitesp_6s4MA","description":"Reference for the four package discovery modes a Seal Project can use.","breadcrumbs":[{"label":"Discovering vulnerabilities"}]},{"id":"2AWhLZW0aXOQ8fNIwEzC","title":"Source code","pathname":"/discovering/package-discovery-mode/source-code","siteSpaceId":"sitesp_6s4MA","description":"Reads your dependency manifests directly through a connected SCM integration.","breadcrumbs":[{"label":"Discovering vulnerabilities"},{"label":"Package discovery mode"}]},{"id":"XQKiby3hhPvfDQWdjkze","title":"CLI","pathname":"/discovering/package-discovery-mode/cli","siteSpaceId":"sitesp_6s4MA","description":"Runs the Seal CLI in your CI/CD pipeline and reports the manifest it scanned.","breadcrumbs":[{"label":"Discovering vulnerabilities"},{"label":"Package discovery mode"}]},{"id":"sP6Prm7ZHSRPCvBVhzgZ","title":"Artifact server","pathname":"/discovering/package-discovery-mode/artifact-server","siteSpaceId":"sitesp_6s4MA","description":"Learns about your packages by recording what your build pulls from the Seal Artifact Server.","breadcrumbs":[{"label":"Discovering vulnerabilities"},{"label":"Package discovery mode"}]},{"id":"R9hYteKVdT1zdJR7D24H","title":"Imported manifest","pathname":"/discovering/package-discovery-mode/imported-manifest","siteSpaceId":"sitesp_6s4MA","description":"Parses a single uploaded file as the Seal Project's package picture.","breadcrumbs":[{"label":"Discovering vulnerabilities"},{"label":"Package discovery mode"}]},{"id":"fV6rKrFBGo5WmlTHDHx4","title":"Connecting source control","pathname":"/discovering/connecting-source-control","siteSpaceId":"sitesp_6s4MA","description":"How to connect Seal to GitHub, GitLab, or Azure DevOps so it can read your dependency manifests directly.","breadcrumbs":[{"label":"Discovering vulnerabilities"}]},{"id":"RI1aelKgcgEvy2QJmcOx","title":"Connecting GitHub","pathname":"/discovering/connecting-source-control/github","siteSpaceId":"sitesp_6s4MA","description":"Install the Seal GitHub App and import GitHub repositories as Seal Projects.","breadcrumbs":[{"label":"Discovering vulnerabilities"},{"label":"Connecting source control"}]},{"id":"uIOCq3RcR8Y0fwsi78xy","title":"Connecting GitLab","pathname":"/discovering/connecting-source-control/gitlab","siteSpaceId":"sitesp_6s4MA","description":"Connect Seal to a GitLab instance using a personal access token.","breadcrumbs":[{"label":"Discovering vulnerabilities"},{"label":"Connecting source control"}]},{"id":"bIwgVcZEAwlGICTx7GFo","title":"Connecting Azure DevOps","pathname":"/discovering/connecting-source-control/azure-devops","siteSpaceId":"sitesp_6s4MA","description":"Connect Seal to an Azure DevOps organization using a personal access token.","breadcrumbs":[{"label":"Discovering vulnerabilities"},{"label":"Connecting source control"}]},{"id":"zyQp9Iei8qXu6h031SLx","title":"Managing source control connections","pathname":"/discovering/connecting-source-control/managing-connections","siteSpaceId":"sitesp_6s4MA","description":"View existing source-control installations, disconnect, or replace credentials.","breadcrumbs":[{"label":"Discovering vulnerabilities"},{"label":"Connecting source control"}]},{"id":"tPlOO9G3T5qXoQNfOzSC","title":"Connecting via the Seal CLI in CI","pathname":"/discovering/cli-in-ci","siteSpaceId":"sitesp_6s4MA","description":"Run the Seal CLI in your CI/CD pipeline so it discovers your packages without source-control access.","breadcrumbs":[{"label":"Discovering vulnerabilities"}]},{"id":"aXNYkusYu6FzS3fFUAfl","title":"Configuring the Seal Artifact Server for discovery","pathname":"/discovering/artifact-server-discovery","siteSpaceId":"sitesp_6s4MA","description":"Configure your package manager to pull through the Seal Artifact Server so Seal sees what your build uses.","breadcrumbs":[{"label":"Discovering vulnerabilities"}]},{"id":"C5vAhAuqiLUVMLQh7ruw","title":"Importing manifests & SBOMs","pathname":"/discovering/importing-manifests","siteSpaceId":"sitesp_6s4MA","description":"One-shot uploads of dependency manifests, SBOMs, and Snyk CSV exports.","breadcrumbs":[{"label":"Discovering vulnerabilities"}]},{"id":"bbMAm2jePtPYplFqg5qx","title":"Uploading a dependency manifest","pathname":"/discovering/importing-manifests/dependency-manifest","siteSpaceId":"sitesp_6s4MA","description":"Upload a dependency manifest like package-lock.json or pom.xml as a one-shot snapshot.","breadcrumbs":[{"label":"Discovering vulnerabilities"},{"label":"Importing manifests & SBOMs"}]},{"id":"16rIywfL0LVfEBUK8y2S","title":"Uploading an SBOM","pathname":"/discovering/importing-manifests/sbom","siteSpaceId":"sitesp_6s4MA","description":"Upload a CycloneDX or SPDX SBOM as a one-shot snapshot of an environment.","breadcrumbs":[{"label":"Discovering vulnerabilities"},{"label":"Importing manifests & SBOMs"}]},{"id":"TuqiSJcLmtL3tuKztDCo","title":"Importing from a Snyk export","pathname":"/discovering/importing-manifests/snyk-export","siteSpaceId":"sitesp_6s4MA","description":"Upload a CSV exported from Snyk to bring its findings into Seal as a one-shot snapshot.","breadcrumbs":[{"label":"Discovering vulnerabilities"},{"label":"Importing manifests & SBOMs"}]},{"id":"m7eRoOgsnUunEzVRgrFK","title":"The Dashboard","pathname":"/discovering/dashboard","siteSpaceId":"sitesp_6s4MA","description":"A tenant-wide executive view of vulnerability and remediation metrics, refreshed daily.","breadcrumbs":[{"label":"Discovering vulnerabilities"}]},{"id":"7s4U3CR6A4FXFSXDF16b","title":"The Protection page","pathname":"/discovering/protection-page","siteSpaceId":"sitesp_6s4MA","description":"The Seal UI page where you triage vulnerable packages, review what is sealed, manage Sealing Rules, and configure Scanner Exclusions.","breadcrumbs":[{"label":"Discovering vulnerabilities"}]},{"id":"Vq3CAPyYycLfIGEnHJA8","title":"The Vulnerable packages tab","pathname":"/discovering/protection-page/vulnerable-packages-tab","siteSpaceId":"sitesp_6s4MA","description":"Reference for the columns, filters, and per-row actions on the Vulnerable packages tab.","breadcrumbs":[{"label":"Discovering vulnerabilities"},{"label":"The Protection page"}]},{"id":"fUspAZq2wera591jw0k2","title":"The Sealed packages tab","pathname":"/discovering/protection-page/sealed-packages-tab","siteSpaceId":"sitesp_6s4MA","description":"Reference for the columns, filters, and per-row actions on the Sealed packages tab.","breadcrumbs":[{"label":"Discovering vulnerabilities"},{"label":"The Protection page"}]},{"id":"peeivVrhMGdrulD1QTn5","title":"The Sealing rules tab","pathname":"/discovering/protection-page/sealing-rules-tab","siteSpaceId":"sitesp_6s4MA","description":"Reference for the list view of remote Sealing Rules.","breadcrumbs":[{"label":"Discovering vulnerabilities"},{"label":"The Protection page"}]},{"id":"Yt2DsktR5myxn1qud2df","title":"The Scanner exclusions tab","pathname":"/discovering/protection-page/scanner-exclusions-tab","siteSpaceId":"sitesp_6s4MA","description":"Reference for the list view of Scanner Exclusions, the false-positive workaround.","breadcrumbs":[{"label":"Discovering vulnerabilities"},{"label":"The Protection page"}]},{"id":"bH4BGVNUEbQKeR2sLCqY","title":"Package states","pathname":"/discovering/package-states","siteSpaceId":"sitesp_6s4MA","description":"The six package states a vulnerable package can be in, how they transition, and what to do for each.","breadcrumbs":[{"label":"Discovering vulnerabilities"}]},{"id":"FHAlXhBa0puHmUXmgIzC","title":"Triggering Generate fix","pathname":"/discovering/generate-fix","siteSpaceId":"sitesp_6s4MA","description":"Request a sealed version on demand for a vulnerable package in the Generate available state.","breadcrumbs":[{"label":"Discovering vulnerabilities"}]},{"id":"BfducD8uHgmHCrJiuWZL","title":"Vulnerability detail","pathname":"/discovering/vulnerability-detail","siteSpaceId":"sitesp_6s4MA","description":"What the Protection page drawer shows for a discovered package.","breadcrumbs":[{"label":"Discovering vulnerabilities"}]},{"id":"T35nZ1ME3V28q8BRrmJf","title":"The Repository page","pathname":"/discovering/repository-page","siteSpaceId":"sitesp_6s4MA","description":"Where to find sealed packages for manual download, get shareable code diffs, and run an assessment of an arbitrary dependency set.","breadcrumbs":[{"label":"Discovering vulnerabilities"}]},{"id":"Hw4KtUJl4Jhea6mMUKp7","title":"Browsing sealed packages","pathname":"/discovering/repository-page/sealed-packages","siteSpaceId":"sitesp_6s4MA","description":"Browse the public catalog of sealed packages, with search, per-package detail, and a shareable code diff.","breadcrumbs":[{"label":"Discovering vulnerabilities"},{"label":"The Repository page"}]},{"id":"Uedy73XrYKjRnN1IaSG7","title":"Free assessment","pathname":"/discovering/repository-page/free-assessment","siteSpaceId":"sitesp_6s4MA","description":"Upload a manifest or SBOM at the public URL and see which of its packages have sealed versions.","breadcrumbs":[{"label":"Discovering vulnerabilities"},{"label":"The Repository page"}]},{"id":"2yDlVEFblGTpFi4gEcYr","title":"Partial fixes & open vulnerabilities","pathname":"/discovering/partial-fixes","siteSpaceId":"sitesp_6s4MA","description":"Why a sealed package may still carry open vulnerabilities, and what to do about each kind.","breadcrumbs":[{"label":"Discovering vulnerabilities"}]},{"id":"abcaTCgppcDnHt1mpYQw","title":"Private versions","pathname":"/discovering/private-versions","siteSpaceId":"sitesp_6s4MA","description":"Sealed versions whose fix introduces a breaking change, enabled per Seal Project after the customer acknowledges the impact.","breadcrumbs":[{"label":"Discovering vulnerabilities"}]},{"id":"zbaQW2yf3WQEJWNY8FgH","title":"Application and OS setup","pathname":"/setup-apps-os","siteSpaceId":"sitesp_6s4MA","description":"Day-1 setup for Seal Apps and Seal OS — the two products that seal packages inside your build."},{"id":"2Nu5SkLJ6nI1lsb4Irog","title":"Choosing your deployment method","pathname":"/setup-apps-os/choosing-deployment-method","siteSpaceId":"sitesp_6s4MA","description":"A decision page for the five Seal deployment methods, ordered by what they give you.","breadcrumbs":[{"label":"Application and OS setup"}]},{"id":"u9DhJO7u70Ze700It1Vh","title":"Seal Apps via the Seal CLI in CI/CD","pathname":"/setup-apps-os/cli-in-cicd","siteSpaceId":"sitesp_6s4MA","description":"Setting up the Seal CLI in your CI/CD pipeline so it can scan your manifest and apply Sealing Rules.","breadcrumbs":[{"label":"Application and OS setup"}]},{"id":"tpqyvFPM9aobiTM1z81h","title":"Installing the Seal CLI","pathname":"/setup-apps-os/cli-in-cicd/installing-the-cli","siteSpaceId":"sitesp_6s4MA","description":"Download and unpack the Seal CLI binary on Linux or macOS.","breadcrumbs":[{"label":"Application and OS setup"},{"label":"Seal Apps via the Seal CLI in CI/CD"}]},{"id":"s3NlL4IlTRO4cByJc9Qn","title":"The CLI fix mode","pathname":"/setup-apps-os/cli-in-cicd/cli-fix-mode","siteSpaceId":"sitesp_6s4MA","description":"The three modes the Seal CLI runs in, and which deployment method maps to which mode.","breadcrumbs":[{"label":"Application and OS setup"},{"label":"Seal Apps via the Seal CLI in CI/CD"}]},{"id":"nFsnzgFAlpC8UBc8LpFO","title":"Integrating with GitHub Actions","pathname":"/setup-apps-os/cli-in-cicd/github-actions","siteSpaceId":"sitesp_6s4MA","description":"Run Seal in your GitHub Actions workflow using the seal-community/cli-action.","breadcrumbs":[{"label":"Application and OS setup"},{"label":"Seal Apps via the Seal CLI in CI/CD"}]},{"id":"D65DmoDhawhwWsdL44le","title":"Integrating with GitLab CI","pathname":"/setup-apps-os/cli-in-cicd/gitlab-ci","siteSpaceId":"sitesp_6s4MA","description":"Run Seal in a GitLab CI pipeline.","breadcrumbs":[{"label":"Application and OS setup"},{"label":"Seal Apps via the Seal CLI in CI/CD"}]},{"id":"dFJK32zgRH9zlGBMcLi5","title":"Integrating with Azure DevOps Pipelines","pathname":"/setup-apps-os/cli-in-cicd/azure-devops","siteSpaceId":"sitesp_6s4MA","description":"Run Seal in an Azure DevOps Pipelines job.","breadcrumbs":[{"label":"Application and OS setup"},{"label":"Seal Apps via the Seal CLI in CI/CD"}]},{"id":"cOAHCgTiG3aIUJ2kuiyg","title":"Integrating with Jenkins","pathname":"/setup-apps-os/cli-in-cicd/jenkins","siteSpaceId":"sitesp_6s4MA","description":"Run Seal in a Jenkins pipeline.","breadcrumbs":[{"label":"Application and OS setup"},{"label":"Seal Apps via the Seal CLI in CI/CD"}]},{"id":"bsO5EF7CQAetFiNkiTqJ","title":"Integrating with CircleCI","pathname":"/setup-apps-os/cli-in-cicd/circleci","siteSpaceId":"sitesp_6s4MA","description":"Run Seal in a CircleCI pipeline.","breadcrumbs":[{"label":"Application and OS setup"},{"label":"Seal Apps via the Seal CLI in CI/CD"}]},{"id":"MqII9QIo8jt6jlOfZqNk","title":"Running the CLI inside a Dockerfile","pathname":"/setup-apps-os/cli-in-cicd/dockerfile","siteSpaceId":"sitesp_6s4MA","description":"Run the Seal CLI inside a Dockerfile build, replacing vulnerable packages before the image is finalized.","breadcrumbs":[{"label":"Application and OS setup"},{"label":"Seal Apps via the Seal CLI in CI/CD"}]},{"id":"bo9wE3DiTHzatY38jAOJ","title":"Setting up local development","pathname":"/setup-apps-os/cli-in-cicd/local-development","siteSpaceId":"sitesp_6s4MA","description":"Run the Seal CLI on a developer's machine using a development token.","breadcrumbs":[{"label":"Application and OS setup"},{"label":"Seal Apps via the Seal CLI in CI/CD"}]},{"id":"nydevpxqGDoXlLmNPtYU","title":"Common issues","pathname":"/setup-apps-os/cli-in-cicd/common-issues","siteSpaceId":"sitesp_6s4MA","description":"The failures that come up most often when running the Seal CLI in CI.","breadcrumbs":[{"label":"Application and OS setup"},{"label":"Seal Apps via the Seal CLI in CI/CD"}]},{"id":"lfE0SLWbraz2QdMABbNh","title":"Seal Apps via the Seal Artifact Server","pathname":"/setup-apps-os/artifact-server","siteSpaceId":"sitesp_6s4MA","description":"Configuring your package managers to pull sealed packages through the Seal Artifact Server.","breadcrumbs":[{"label":"Application and OS setup"}]},{"id":"y8jk4VvyvLY2nf4ijd2a","title":"When to use this method","pathname":"/setup-apps-os/artifact-server/when-to-use","siteSpaceId":"sitesp_6s4MA","description":"When the Artifact Server deployment method is the right fit, and the trade-offs versus the CLI-in-CI methods.","breadcrumbs":[{"label":"Application and OS setup"},{"label":"Seal Apps via the Seal Artifact Server"}]},{"id":"jjTgKny0P8dGxbY1sFoQ","title":"Configuring package managers","pathname":"/setup-apps-os/artifact-server/configuring-package-managers","siteSpaceId":"sitesp_6s4MA","description":"Point each ecosystem's package manager at the Seal Artifact Server.","breadcrumbs":[{"label":"Application and OS setup"},{"label":"Seal Apps via the Seal Artifact Server"}]},{"id":"ikr2F3OhbJfNkWzcbEpp","title":"Configuring npm","pathname":"/setup-apps-os/artifact-server/configuring-package-managers/npm","siteSpaceId":"sitesp_6s4MA","description":"Point npm at the Seal Artifact Server using a per-project .npmrc.","breadcrumbs":[{"label":"Application and OS setup"},{"label":"Seal Apps via the Seal Artifact Server"},{"label":"Configuring package managers"}]},{"id":"eS74Nh2b9JJG6l8fIAZA","title":"Configuring Yarn","pathname":"/setup-apps-os/artifact-server/configuring-package-managers/yarn","siteSpaceId":"sitesp_6s4MA","description":"Point Yarn at the Seal Artifact Server, with separate paths for Yarn v1 and Yarn v2+.","breadcrumbs":[{"label":"Application and OS setup"},{"label":"Seal Apps via the Seal Artifact Server"},{"label":"Configuring package managers"}]},{"id":"hWIVyftRcrXOpiZzsY34","title":"Configuring pnpm","pathname":"/setup-apps-os/artifact-server/configuring-package-managers/pnpm","siteSpaceId":"sitesp_6s4MA","description":"Point pnpm at the Seal Artifact Server using a per-project .npmrc.","breadcrumbs":[{"label":"Application and OS setup"},{"label":"Seal Apps via the Seal Artifact Server"},{"label":"Configuring package managers"}]},{"id":"UaTTKQsSv8Kgbr70jNgb","title":"Configuring Maven","pathname":"/setup-apps-os/artifact-server/configuring-package-managers/maven","siteSpaceId":"sitesp_6s4MA","description":"Point Maven at the Seal Artifact Server using pom.xml and settings.xml.","breadcrumbs":[{"label":"Application and OS setup"},{"label":"Seal Apps via the Seal Artifact Server"},{"label":"Configuring package managers"}]},{"id":"HTQaORU72qTQlFeHsMQJ","title":"Configuring Gradle","pathname":"/setup-apps-os/artifact-server/configuring-package-managers/gradle","siteSpaceId":"sitesp_6s4MA","description":"Point Gradle at the Seal Artifact Server using build.gradle and gradle.properties.","breadcrumbs":[{"label":"Application and OS setup"},{"label":"Seal Apps via the Seal Artifact Server"},{"label":"Configuring package managers"}]},{"id":"yJzAAjwwfSI0vmIm9UNk","title":"Configuring Go","pathname":"/setup-apps-os/artifact-server/configuring-package-managers/go","siteSpaceId":"sitesp_6s4MA","description":"Point Go modules at the Seal Artifact Server using the GOPROXY environment variable.","breadcrumbs":[{"label":"Application and OS setup"},{"label":"Seal Apps via the Seal Artifact Server"},{"label":"Configuring package managers"}]},{"id":"hu9rFUyuQj9jsA0TErcm","title":"Configuring pip","pathname":"/setup-apps-os/artifact-server/configuring-package-managers/pip","siteSpaceId":"sitesp_6s4MA","description":"Point pip at the Seal Artifact Server using a URL with embedded credentials.","breadcrumbs":[{"label":"Application and OS setup"},{"label":"Seal Apps via the Seal Artifact Server"},{"label":"Configuring package managers"}]},{"id":"OmzTF5zciyahii0w3rUk","title":"Configuring Poetry","pathname":"/setup-apps-os/artifact-server/configuring-package-managers/poetry","siteSpaceId":"sitesp_6s4MA","description":"Point Poetry at the Seal Artifact Server using poetry source add.","breadcrumbs":[{"label":"Application and OS setup"},{"label":"Seal Apps via the Seal Artifact Server"},{"label":"Configuring package managers"}]},{"id":"CZVx5ON4LEuOM9rdYCAM","title":"Configuring Bundler","pathname":"/setup-apps-os/artifact-server/configuring-package-managers/bundler","siteSpaceId":"sitesp_6s4MA","description":"Point Bundler at the Seal Artifact Server using a credentialed source in the Gemfile.","breadcrumbs":[{"label":"Application and OS setup"},{"label":"Seal Apps via the Seal Artifact Server"},{"label":"Configuring package managers"}]},{"id":"pMNpMttkjnq0WYBVsMO4","title":"Configuring NuGet","pathname":"/setup-apps-os/artifact-server/configuring-package-managers/nuget","siteSpaceId":"sitesp_6s4MA","description":"Point NuGet at the Seal Artifact Server using a NuGet.config package source.","breadcrumbs":[{"label":"Application and OS setup"},{"label":"Seal Apps via the Seal Artifact Server"},{"label":"Configuring package managers"}]},{"id":"t620S08Qaqjnvf4QMMuJ","title":"Configuring Composer","pathname":"/setup-apps-os/artifact-server/configuring-package-managers/composer","siteSpaceId":"sitesp_6s4MA","description":"Point Composer at the Seal Artifact Server by replacing the Packagist repository.","breadcrumbs":[{"label":"Application and OS setup"},{"label":"Seal Apps via the Seal Artifact Server"},{"label":"Configuring package managers"}]},{"id":"4cOSllzuYTfk2uV1NcCl","title":"Editing dependency files","pathname":"/setup-apps-os/artifact-server/editing-dependencies","siteSpaceId":"sitesp_6s4MA","description":"How dependency-file edits drive package replacement under the Artifact Server deployment method.","breadcrumbs":[{"label":"Application and OS setup"},{"label":"Seal Apps via the Seal Artifact Server"}]},{"id":"TYtkUEoddl5OSJ9PCQxw","title":"Maven-specific server features","pathname":"/setup-apps-os/artifact-server/maven-server-features","siteSpaceId":"sitesp_6s4MA","description":"Maven-only conveniences the Seal Artifact Server exposes beyond the standard protocol.","breadcrumbs":[{"label":"Application and OS setup"},{"label":"Seal Apps via the Seal Artifact Server"}]},{"id":"PFlYVJipjO7DxDFL0tdL","title":"JFrog Artifactory as your remote","pathname":"/setup-apps-os/artifact-server/jfrog-artifactory","siteSpaceId":"sitesp_6s4MA","description":"Configure JFrog Artifactory to use the Seal Artifact Server as an additional remote.","breadcrumbs":[{"label":"Application and OS setup"},{"label":"Seal Apps via the Seal Artifact Server"}]},{"id":"oW5gAknyh8HTi1zyEPuI","title":"Seal OS in CI/CD","pathname":"/setup-apps-os/seal-os-cicd","siteSpaceId":"sitesp_6s4MA","description":"Running the Seal CLI in CI/CD to seal the OS-level packages inside your Linux container images.","breadcrumbs":[{"label":"Application and OS setup"}]},{"id":"cgKymStjYYdQP84YlPvv","title":"seal fix --os reference","pathname":"/setup-apps-os/seal-os-cicd/seal-fix-os-reference","siteSpaceId":"sitesp_6s4MA","description":"Flags, environment variables, and behavior of the `seal fix --os` command.","breadcrumbs":[{"label":"Application and OS setup"},{"label":"Seal OS in CI/CD"}]},{"id":"5eQiOvX4UUE991OP57hL","title":"Sealing OS packages in a Dockerfile","pathname":"/setup-apps-os/seal-os-cicd/dockerfile","siteSpaceId":"sitesp_6s4MA","description":"Insert `seal fix --os` into a Dockerfile so the resulting image ships with sealed OS packages.","breadcrumbs":[{"label":"Application and OS setup"},{"label":"Seal OS in CI/CD"}]},{"id":"zpwyjEXi8E9yVfKQzxJs","title":"Integrating with your container build pipeline","pathname":"/setup-apps-os/seal-os-cicd/container-build-pipeline","siteSpaceId":"sitesp_6s4MA","description":"Wire the `seal fix --os`-bearing Dockerfile into the CI system that builds, tests, and pushes your container images.","breadcrumbs":[{"label":"Application and OS setup"},{"label":"Seal OS in CI/CD"}]},{"id":"cwWuxypT9LrXp3LReRj0","title":"On-prem and air-gapped environments","pathname":"/setup-apps-os/on-prem","siteSpaceId":"sitesp_6s4MA","description":"Using Seal Apps and Seal OS in environments where hosts cannot reach Seal's hosted services.","breadcrumbs":[{"label":"Application and OS setup"}]},{"id":"hfBr25S5u9cJ9oemFEyk","title":"Container and image setup","pathname":"/setup-containers","siteSpaceId":"sitesp_6s4MA","description":"Day-1 setup for the three Seal products that work at the container-image layer."},{"id":"McTCo0rm5EKK6ad4L6iB","title":"Seal Base Images","pathname":"/setup-containers/seal-base-images","siteSpaceId":"sitesp_6s4MA","description":"Sealed replacements for the public container base images your team builds on top of.","breadcrumbs":[{"label":"Container and image setup"}]},{"id":"Ihey7GIo9OmrPw7ouWV8","title":"Authenticating with Seal's image registry","pathname":"/setup-containers/seal-base-images/authenticating","siteSpaceId":"sitesp_6s4MA","description":"Configure your image-pull layer to authenticate against Seal's hosted image registry.","breadcrumbs":[{"label":"Container and image setup"},{"label":"Seal Base Images"}]},{"id":"FPoCaPOvugaA4aGBS0kB","title":"Pulling a sealed base image","pathname":"/setup-containers/seal-base-images/pulling","siteSpaceId":"sitesp_6s4MA","description":"Reference a Seal base image from a Dockerfile, or pull it directly.","breadcrumbs":[{"label":"Container and image setup"},{"label":"Seal Base Images"}]},{"id":"kuPOaXi4iYmc2h9VISPS","title":"Mirroring to your internal registry","pathname":"/setup-containers/seal-base-images/mirroring","siteSpaceId":"sitesp_6s4MA","description":"Mirror Seal Base Images into your own container registry.","breadcrumbs":[{"label":"Container and image setup"},{"label":"Seal Base Images"}]},{"id":"iZDD1dMHJf1UXZ6cQI2P","title":"Using Seal Base Images with Kubernetes and Helm","pathname":"/setup-containers/seal-base-images/kubernetes","siteSpaceId":"sitesp_6s4MA","description":"Use Seal Base Images from Kubernetes manifests and Helm charts.","breadcrumbs":[{"label":"Container and image setup"},{"label":"Seal Base Images"}]},{"id":"8IjywPLbNbGgyvgIC2Fz","title":"Updating to a new base image release","pathname":"/setup-containers/seal-base-images/updating","siteSpaceId":"sitesp_6s4MA","description":"Roll forward when Seal publishes a newer sealed iteration of the upstream image you depend on.","breadcrumbs":[{"label":"Container and image setup"},{"label":"Seal Base Images"}]},{"id":"YHHYAp5jvlTrZe5dKnm5","title":"Seal My Container","pathname":"/setup-containers/seal-my-container","siteSpaceId":"sitesp_6s4MA","description":"Container-to-container sealing for your own private images.","breadcrumbs":[{"label":"Container and image setup"}]},{"id":"mPvq6E07OXkERZxTovBc","title":"Authenticating with your container registry","pathname":"/setup-containers/seal-my-container/authenticating-registry","siteSpaceId":"sitesp_6s4MA","description":"Configure Docker on the host running `seal image fix` to authenticate against your container registry.","breadcrumbs":[{"label":"Container and image setup"},{"label":"Seal My Container"}]},{"id":"2ABKlbG9XtByMrrcCnq2","title":"The seal image fix command and flags","pathname":"/setup-containers/seal-my-container/seal-image-fix-reference","siteSpaceId":"sitesp_6s4MA","description":"Flags, arguments, and environment variables of the `seal image fix` command.","breadcrumbs":[{"label":"Container and image setup"},{"label":"Seal My Container"}]},{"id":"26AB1t4mngLYeKdg5zAv","title":"Implementing the centralized re-seal pipeline","pathname":"/setup-containers/seal-my-container/centralized-pipeline","siteSpaceId":"sitesp_6s4MA","description":"A single automation that seals every image your team pushes, regardless of which team produced it.","breadcrumbs":[{"label":"Container and image setup"},{"label":"Seal My Container"}]},{"id":"9PcvRioScQ1buoMiHEfW","title":"Renaming packages inside containers","pathname":"/setup-containers/seal-my-container/renaming","siteSpaceId":"sitesp_6s4MA","description":"Rename sealed packages inside a sealed image so external scanners do not flag them.","breadcrumbs":[{"label":"Container and image setup"},{"label":"Seal My Container"}]},{"id":"szZ3599fgE9V4pPvCC0Z","title":"Common issues","pathname":"/setup-containers/seal-my-container/common-issues","siteSpaceId":"sitesp_6s4MA","description":"Common failures when running `seal image fix`, and how to resolve them.","breadcrumbs":[{"label":"Container and image setup"},{"label":"Seal My Container"}]},{"id":"BKQJVQ19DQhimb4yknTZ","title":"Seal Vendor Apps","pathname":"/setup-containers/seal-vendor-apps","siteSpaceId":"sitesp_6s4MA","description":"Seal the open-source content of vendor-supplied container images you run.","breadcrumbs":[{"label":"Container and image setup"}]},{"id":"X6OENzE8vCDogWNxmivE","title":"Implementing the vendor-image pipeline","pathname":"/setup-containers/seal-vendor-apps/vendor-image-pipeline","siteSpaceId":"sitesp_6s4MA","description":"End-to-end pipeline for sealing a vendor image and deploying the sealed copy from your private registry.","breadcrumbs":[{"label":"Container and image setup"},{"label":"Seal Vendor Apps"}]},{"id":"fPiEuoBmTT7dQg54sa76","title":"Using the Seal Platform","pathname":"/using-platform","siteSpaceId":"sitesp_6s4MA","description":"The day-to-day rhythm of operating the Seal Platform once setup is in place."},{"id":"sniZBNUCUl6jHmKXvxq6","title":"Working with the platform","pathname":"/using-platform/working-with-the-platform","siteSpaceId":"sitesp_6s4MA","description":"The recurring rhythm of operating the Seal Platform once setup is in place.","breadcrumbs":[{"label":"Using the Seal Platform"}]},{"id":"S2LcaQPlK4rX71LO2q22","title":"The Seal UI tour","pathname":"/using-platform/seal-ui-tour","siteSpaceId":"sitesp_6s4MA","description":"A navigation cheat-sheet to the top-level pages of the Seal UI.","breadcrumbs":[{"label":"Using the Seal Platform"}]},{"id":"IRSARtCVea1T6v1mRU0L","title":"Sealing Rules","pathname":"/using-platform/sealing-rules","siteSpaceId":"sitesp_6s4MA","description":"Sealing Rules are how you tell the Seal CLI which vulnerable packages to replace with sealed versions, and where.","breadcrumbs":[{"label":"Using the Seal Platform"}]},{"id":"VesihiNeMyLfIr14wjOT","title":"Remote Sealing Rules","pathname":"/using-platform/sealing-rules/remote-rules","siteSpaceId":"sitesp_6s4MA","description":"Create, edit, and delete Sealing Rules stored on the Seal Platform.","breadcrumbs":[{"label":"Using the Seal Platform"},{"label":"Sealing Rules"}]},{"id":"5ZlcEvu2fn2wCoZncmuJ","title":"Local Sealing Rules","pathname":"/using-platform/sealing-rules/local-rules","siteSpaceId":"sitesp_6s4MA","description":"The .seal-actions.yml schema used by Local Sealing Rules under the Local deployment method.","breadcrumbs":[{"label":"Using the Seal Platform"},{"label":"Sealing Rules"}]},{"id":"KhKccyoDwG4lZcztgxKe","title":"Working with Seal Apps","pathname":"/using-platform/working-with-seal-apps","siteSpaceId":"sitesp_6s4MA","description":"The day-to-day rhythm of remediating application-dependency vulnerabilities with Seal Apps, once setup is done.","breadcrumbs":[{"label":"Using the Seal Platform"}]},{"id":"4UB5HWXZNlvbGPYpmBLQ","title":"Under Remote","pathname":"/using-platform/working-with-seal-apps/remote","siteSpaceId":"sitesp_6s4MA","description":"Day-to-day rhythm of Seal Apps when the Seal CLI runs in remote mode and Sealing Rules live on the Seal Platform.","breadcrumbs":[{"label":"Using the Seal Platform"},{"label":"Working with Seal Apps"}]},{"id":"CxTCpVO90nKhD45Pjk9g","title":"Under Local","pathname":"/using-platform/working-with-seal-apps/local","siteSpaceId":"sitesp_6s4MA","description":"Day-to-day rhythm of Seal Apps when the Seal CLI runs in local mode and Sealing Rules live in .seal-actions.yml.","breadcrumbs":[{"label":"Using the Seal Platform"},{"label":"Working with Seal Apps"}]},{"id":"RwT1wdRiBpeieJvsjYFS","title":"Under Automatic Remediation","pathname":"/using-platform/working-with-seal-apps/automatic-remediation","siteSpaceId":"sitesp_6s4MA","description":"Day-to-day rhythm of Seal Apps when the Seal CLI runs in all mode and every vulnerable package is replaced automatically.","breadcrumbs":[{"label":"Using the Seal Platform"},{"label":"Working with Seal Apps"}]},{"id":"wg5mdFkePHZXbTcJONLI","title":"Under Artifact Server","pathname":"/using-platform/working-with-seal-apps/artifact-server","siteSpaceId":"sitesp_6s4MA","description":"Day-to-day rhythm of Seal Apps when your package manager pulls sealed versions directly from the Seal Artifact Server.","breadcrumbs":[{"label":"Using the Seal Platform"},{"label":"Working with Seal Apps"}]},{"id":"IPVW1FHKMNqjxhybJDfg","title":"Editing npm dependencies","pathname":"/using-platform/working-with-seal-apps/artifact-server/npm","siteSpaceId":"sitesp_6s4MA","description":"Pin a sealed version in package.json, including npm overrides for transitive dependencies.","breadcrumbs":[{"label":"Using the Seal Platform"},{"label":"Working with Seal Apps"},{"label":"Under Artifact Server"}]},{"id":"heqET0Bxn8YUQ129lDyR","title":"Editing Yarn dependencies","pathname":"/using-platform/working-with-seal-apps/artifact-server/yarn","siteSpaceId":"sitesp_6s4MA","description":"Pin a sealed version in package.json, including Yarn resolutions for transitive dependencies.","breadcrumbs":[{"label":"Using the Seal Platform"},{"label":"Working with Seal Apps"},{"label":"Under Artifact Server"}]},{"id":"bjIY6sInkuZK3niWjBFZ","title":"Editing pnpm dependencies","pathname":"/using-platform/working-with-seal-apps/artifact-server/pnpm","siteSpaceId":"sitesp_6s4MA","description":"Pin a sealed version in package.json, including pnpm.overrides for transitive dependencies.","breadcrumbs":[{"label":"Using the Seal Platform"},{"label":"Working with Seal Apps"},{"label":"Under Artifact Server"}]},{"id":"1QjfKQTudzO8YIve92lb","title":"Editing Maven dependencies","pathname":"/using-platform/working-with-seal-apps/artifact-server/maven","siteSpaceId":"sitesp_6s4MA","description":"Pin a sealed version in pom.xml, including dependencyManagement for transitive dependencies.","breadcrumbs":[{"label":"Using the Seal Platform"},{"label":"Working with Seal Apps"},{"label":"Under Artifact Server"}]},{"id":"o08daNU4CGsUnmiPeCOa","title":"Editing Gradle dependencies","pathname":"/using-platform/working-with-seal-apps/artifact-server/gradle","siteSpaceId":"sitesp_6s4MA","description":"Pin a sealed version in build.gradle (direct dependencies only).","breadcrumbs":[{"label":"Using the Seal Platform"},{"label":"Working with Seal Apps"},{"label":"Under Artifact Server"}]},{"id":"bJ9KtEBIBusuGYR6GGBE","title":"Editing Go dependencies","pathname":"/using-platform/working-with-seal-apps/artifact-server/go","siteSpaceId":"sitesp_6s4MA","description":"Pin a sealed version in go.mod (direct dependencies only).","breadcrumbs":[{"label":"Using the Seal Platform"},{"label":"Working with Seal Apps"},{"label":"Under Artifact Server"}]},{"id":"7KSCf11ffkuv2jva2t5p","title":"Editing pip dependencies","pathname":"/using-platform/working-with-seal-apps/artifact-server/pip","siteSpaceId":"sitesp_6s4MA","description":"Pin a sealed version in requirements.txt, including transitive overrides via direct pinning.","breadcrumbs":[{"label":"Using the Seal Platform"},{"label":"Working with Seal Apps"},{"label":"Under Artifact Server"}]},{"id":"dvg6OH0BDR0CeqAgeDAq","title":"Editing Poetry dependencies","pathname":"/using-platform/working-with-seal-apps/artifact-server/poetry","siteSpaceId":"sitesp_6s4MA","description":"Pin a sealed version in pyproject.toml using poetry add (direct dependencies only).","breadcrumbs":[{"label":"Using the Seal Platform"},{"label":"Working with Seal Apps"},{"label":"Under Artifact Server"}]},{"id":"vUg00FT7tkVmurqMTeeA","title":"Editing Bundler dependencies","pathname":"/using-platform/working-with-seal-apps/artifact-server/bundler","siteSpaceId":"sitesp_6s4MA","description":"Pin a sealed version in the Gemfile, including transitive overrides by adding gem entries.","breadcrumbs":[{"label":"Using the Seal Platform"},{"label":"Working with Seal Apps"},{"label":"Under Artifact Server"}]},{"id":"kyqq4XkZvLl57aOBXtz9","title":"Editing NuGet dependencies","pathname":"/using-platform/working-with-seal-apps/artifact-server/nuget","siteSpaceId":"sitesp_6s4MA","description":"Pin a sealed version in the .csproj, including transitive overrides via explicit PackageReference.","breadcrumbs":[{"label":"Using the Seal Platform"},{"label":"Working with Seal Apps"},{"label":"Under Artifact Server"}]},{"id":"Bvo5CgO9G6RAXKKUxf6z","title":"Editing Composer dependencies","pathname":"/using-platform/working-with-seal-apps/artifact-server/composer","siteSpaceId":"sitesp_6s4MA","description":"Pin a sealed version in composer.json using composer require (direct dependencies only).","breadcrumbs":[{"label":"Using the Seal Platform"},{"label":"Working with Seal Apps"},{"label":"Under Artifact Server"}]},{"id":"EOmmZwUQUo2fN3bwKYwY","title":"Under Manual","pathname":"/using-platform/working-with-seal-apps/manual","siteSpaceId":"sitesp_6s4MA","description":"Day-to-day rhythm of Seal Apps when nothing runs in your CI and you download sealed artifacts on demand.","breadcrumbs":[{"label":"Using the Seal Platform"},{"label":"Working with Seal Apps"}]},{"id":"vdAOZlVIH6v7YI9haf52","title":"Working with Seal OS","pathname":"/using-platform/working-with-seal-os","siteSpaceId":"sitesp_6s4MA","description":"The day-to-day rhythm of remediating OS-package vulnerabilities with Seal OS, once setup is done.","breadcrumbs":[{"label":"Using the Seal Platform"}]},{"id":"q7LulKX54ylN9habzesE","title":"In CI/CD","pathname":"/using-platform/working-with-seal-os/in-cicd","siteSpaceId":"sitesp_6s4MA","description":"Day-to-day rhythm of Seal OS when seal fix --os runs inside a Dockerfile during the container build.","breadcrumbs":[{"label":"Using the Seal Platform"},{"label":"Working with Seal OS"}]},{"id":"PTpPQ3jk0BHTgsm8HrZD","title":"On live hosts","pathname":"/using-platform/working-with-seal-os/on-hosts","siteSpaceId":"sitesp_6s4MA","description":"Day-to-day rhythm of Seal OS when seal fix --os runs against a live Linux host — virtual machine or bare metal.","breadcrumbs":[{"label":"Using the Seal Platform"},{"label":"Working with Seal OS"}]},{"id":"rekTD9Byk1IAPCXRAmBY","title":"In air-gapped environments","pathname":"/using-platform/working-with-seal-os/air-gapped","siteSpaceId":"sitesp_6s4MA","description":"Day-to-day rhythm of Seal OS when the host has no outbound connectivity to Seal's hosted services.","breadcrumbs":[{"label":"Using the Seal Platform"},{"label":"Working with Seal OS"}]},{"id":"6KbF2y6VCQ0ZEfKM6wSS","title":"Working with Seal Base Images","pathname":"/using-platform/working-with-seal-base-images","siteSpaceId":"sitesp_6s4MA","description":"The day-to-day rhythm of operating Seal Base Images — staying informed of new releases, deciding when to roll forward, and pinning strategies.","breadcrumbs":[{"label":"Using the Seal Platform"}]},{"id":"3it2Gy7Sf2LvoyM2dJ9D","title":"Working with Seal My Container","pathname":"/using-platform/working-with-seal-my-container","siteSpaceId":"sitesp_6s4MA","description":"The day-to-day rhythm of operating Seal My Container — a centralized pipeline that re-seals private images as they get pushed.","breadcrumbs":[{"label":"Using the Seal Platform"}]},{"id":"WTFWqsNTHoXnnfI8hggP","title":"Working with Seal Vendor Apps","pathname":"/using-platform/working-with-seal-vendor-apps","siteSpaceId":"sitesp_6s4MA","description":"The day-to-day rhythm of operating Seal Vendor Apps — a pipeline that seals vendor-supplied container images into your private registry.","breadcrumbs":[{"label":"Using the Seal Platform"}]},{"id":"JEwuNNE8BDINLzirTvIJ","title":"Scanner Exclusions","pathname":"/using-platform/scanner-exclusions","siteSpaceId":"sitesp_6s4MA","description":"A workaround for false positives that external scanners raise against packages Seal does not consider vulnerable.","breadcrumbs":[{"label":"Using the Seal Platform"}]},{"id":"SzIf2ohwmKGfTOe4A6N0","title":"The Seal AI Agent","pathname":"/using-platform/seal-ai-agent","siteSpaceId":"sitesp_6s4MA","description":"The chatbot inside the Seal UI — query your security posture, create Sealing Rules through conversation, get integration help.","breadcrumbs":[{"label":"Using the Seal Platform"}]},{"id":"3oNpI1zOyF0XemkMyTsw","title":"The Seal Engineer","pathname":"/using-platform/seal-engineer","siteSpaceId":"sitesp_6s4MA","description":"The schedulable automated-workflow feature that runs flows behaving like a security engineer on the team.","breadcrumbs":[{"label":"Using the Seal Platform"}]},{"id":"PXSv8AlSQVEdiQYE1px3","title":"The Notification Center","pathname":"/using-platform/notification-center","siteSpaceId":"sitesp_6s4MA","description":"How Seal alerts you to things you should know about — in the platform and by email.","breadcrumbs":[{"label":"Using the Seal Platform"}]},{"id":"WHIMdS9MhSBdEM4ZB5F2","title":"The Reports Manager","pathname":"/using-platform/reports-manager","siteSpaceId":"sitesp_6s4MA","description":"Build downloadable reports from the data on the Protection page and the Dashboard.","breadcrumbs":[{"label":"Using the Seal Platform"}]},{"id":"190AqKEHsXn0Rw7b9n37","title":"The Usage page","pathname":"/using-platform/usage-page","siteSpaceId":"sitesp_6s4MA","description":"Where the tenant's consumption against its Seal subscription lives.","breadcrumbs":[{"label":"Using the Seal Platform"}]},{"id":"jd5DpGJO6Yj4jlaaPwrW","title":"Integrations","pathname":"/integrations","siteSpaceId":"sitesp_6s4MA","description":"How Seal connects to your existing security stack — SCA scanners, package renaming, Artifactory, GitHub."},{"id":"UYQUJRxAlwkObV6ggfX0","title":"Internal scanner integrations","pathname":"/integrations/internal-scanners","siteSpaceId":"sitesp_6s4MA","description":"How Seal synchronizes its remediation findings into the SCA scanners your organization already runs internally.","breadcrumbs":[{"label":"Integrations"}]},{"id":"5EFGAfhQfmAjiCX86mfD","title":"Snyk integration","pathname":"/integrations/internal-scanners/snyk","siteSpaceId":"sitesp_6s4MA","description":"Synchronize Seal's remediation findings into Snyk.","breadcrumbs":[{"label":"Integrations"},{"label":"Internal scanner integrations"}]},{"id":"rua3hUckxBtmLpSiYkdu","title":"Checkmarx integration","pathname":"/integrations/internal-scanners/checkmarx","siteSpaceId":"sitesp_6s4MA","description":"Synchronize Seal's remediation findings into Checkmarx via the Checkmarx API.","breadcrumbs":[{"label":"Integrations"},{"label":"Internal scanner integrations"}]},{"id":"g3iWGic9NyJUe8xzrrRx","title":"Black Duck integration","pathname":"/integrations/internal-scanners/black-duck","siteSpaceId":"sitesp_6s4MA","description":"Synchronize Seal's remediation findings into Black Duck via the Black Duck API.","breadcrumbs":[{"label":"Integrations"},{"label":"Internal scanner integrations"}]},{"id":"MT5qpZOmpJ2ekz83ts9f","title":"GitHub Advanced Security (GHAS) integration","pathname":"/integrations/internal-scanners/ghas","siteSpaceId":"sitesp_6s4MA","description":"Synchronize Seal's remediation findings into GitHub Advanced Security via the Dependabot alerts API.","breadcrumbs":[{"label":"Integrations"},{"label":"Internal scanner integrations"}]},{"id":"9msmnrcgOwlqSI9c2IVW","title":"Ox Security integration","pathname":"/integrations/internal-scanners/ox-security","siteSpaceId":"sitesp_6s4MA","description":"Synchronize Seal's remediation findings into Ox Security via the Ox API.","breadcrumbs":[{"label":"Integrations"},{"label":"Internal scanner integrations"}]},{"id":"T0Fi54leXDTejFQvsdfY","title":"SentinelOne integration","pathname":"/integrations/internal-scanners/sentinelone","siteSpaceId":"sitesp_6s4MA","description":"Synchronize Seal's remediation findings into SentinelOne CNAPP via its scanner-policy API.","breadcrumbs":[{"label":"Integrations"},{"label":"Internal scanner integrations"}]},{"id":"LCWnG0DveL6jNXz8FOF0","title":"Grype integration","pathname":"/integrations/internal-scanners/grype","siteSpaceId":"sitesp_6s4MA","description":"Synchronize Seal's remediation findings into Grype via .grype.yaml policy-file edits. Local fix mode only.","breadcrumbs":[{"label":"Integrations"},{"label":"Internal scanner integrations"}]},{"id":"t6xaT3F6Rp17doSBHa5G","title":"Cycode integration","pathname":"/integrations/internal-scanners/cycode","siteSpaceId":"sitesp_6s4MA","description":"Synchronize Seal's remediation findings into Cycode via .cycode/config.yaml policy-file edits. Local fix mode only.","breadcrumbs":[{"label":"Integrations"},{"label":"Internal scanner integrations"}]},{"id":"KLOVTSZ6nj9TrIV2lGUW","title":"How CLI-driven sync works","pathname":"/integrations/internal-scanners/how-cli-sync-works","siteSpaceId":"sitesp_6s4MA","description":"The lifecycle of a scanner sync driven by the Seal CLI.","breadcrumbs":[{"label":"Integrations"},{"label":"Internal scanner integrations"}]},{"id":"d3q0AVEXikB1Mp6a3ipc","title":"External scanner support","pathname":"/integrations/external-scanners","siteSpaceId":"sitesp_6s4MA","description":"How Seal makes its remediation visible to scanners run outside your organization, by customers, regulators, or other external parties.","breadcrumbs":[{"label":"Integrations"}]},{"id":"PlHL1Z5X1T0w5BUyErRp","title":"The Seal vulnerability feed","pathname":"/integrations/external-scanners/vulnerability-feed","siteSpaceId":"sitesp_6s4MA","description":"The continuously updated dataset Seal publishes listing each sealed package version and the vulnerabilities it resolves.","breadcrumbs":[{"label":"Integrations"},{"label":"External scanner support"}]},{"id":"VERMgvSDX4BMhZq25mwj","title":"VEX records","pathname":"/integrations/external-scanners/vex-records","siteSpaceId":"sitesp_6s4MA","description":"Per-sealed-package machine-readable Vulnerability Exploitability eXchange records attached to SBOMs.","breadcrumbs":[{"label":"Integrations"},{"label":"External scanner support"}]},{"id":"Ji6ENwvTTmTMWj5mPnLW","title":"Trivy","pathname":"/integrations/external-scanners/trivy","siteSpaceId":"sitesp_6s4MA","description":"Trivy consumes the Seal vulnerability feed natively. No customer-side configuration is required.","breadcrumbs":[{"label":"Integrations"},{"label":"External scanner support"}]},{"id":"zYAuHlhb4Nzdj9Bd1RME","title":"Wiz","pathname":"/integrations/external-scanners/wiz","siteSpaceId":"sitesp_6s4MA","description":"Wiz consumes the Seal vulnerability feed natively for OS-layer packages. No customer-side configuration is required.","breadcrumbs":[{"label":"Integrations"},{"label":"External scanner support"}]},{"id":"nKzPESL1A5lmWDRmVzo9","title":"Package renaming","pathname":"/integrations/package-renaming","siteSpaceId":"sitesp_6s4MA","description":"Renaming sealed packages so external scanners, which cannot be updated through an API, see them as separate, non-vulnerable packages.","breadcrumbs":[{"label":"Integrations"}]},{"id":"ltYRoVMQJhAnWfKvTyLE","title":"Renaming sealed packages","pathname":"/integrations/package-renaming/renaming-sealed","siteSpaceId":"sitesp_6s4MA","description":"Enable the seal- prefix on every sealed package the CLI installs in your build.","breadcrumbs":[{"label":"Integrations"},{"label":"Package renaming"}]},{"id":"P24YCVzPh5zn9aw5rjX6","title":"Renaming non-vulnerable packages","pathname":"/integrations/package-renaming/renaming-non-vulnerable","siteSpaceId":"sitesp_6s4MA","description":"Handle the case where an external scanner is false-positively flagging a non-vulnerable package.","breadcrumbs":[{"label":"Integrations"},{"label":"Package renaming"}]},{"id":"Il14xFEHVU2JfsTvhiF1","title":"Artifactory integrations","pathname":"/integrations/artifactory","siteSpaceId":"sitesp_6s4MA","description":"Configure JFrog Artifactory to sit between your CI pipeline and the Seal Artifact Server, so builds pull sealed packages through your existing infrastructure.","breadcrumbs":[{"label":"Integrations"}]},{"id":"VOIElUlEDy2sXoRcgcqJ","title":"GitHub","pathname":"/integrations/github","siteSpaceId":"sitesp_6s4MA","description":"Reference for the two GitHub components Seal ships, the Seal GitHub App and the Seal GitHub Action.","breadcrumbs":[{"label":"Integrations"}]},{"id":"Fa2ugpcGMtrfBznRR9rN","title":"The Seal GitHub App","pathname":"/integrations/github/github-app","siteSpaceId":"sitesp_6s4MA","description":"Reference for the Seal GitHub App, its capabilities, permissions, and behavior across the Seal Platform.","breadcrumbs":[{"label":"Integrations"},{"label":"GitHub"}]},{"id":"QOUwqHbXeLX8J7TJ9d97","title":"The Seal GitHub Action","pathname":"/integrations/github/github-action","siteSpaceId":"sitesp_6s4MA","description":"Reference for the Seal GitHub Action, a wrapper around the Seal CLI for use in GitHub Actions workflows.","breadcrumbs":[{"label":"Integrations"},{"label":"GitHub"}]},{"id":"cvG7gsVLXtbQ8RyRfxYK","title":"Trust, transparency and compliance","pathname":"/trust","siteSpaceId":"sitesp_6s4MA","description":"How to verify that Seal's sealed packages actually do what Seal says they do."},{"id":"5wR2LXRdJ09tbrHNlPDx","title":"Why this matters","pathname":"/trust/why-this-matters","siteSpaceId":"sitesp_6s4MA","description":"How Seal makes its sealed packages auditable, signable, and accountable, and where to find each artifact in the platform.","breadcrumbs":[{"label":"Trust, transparency and compliance"}]},{"id":"EgxtmcczlbCyUJdJ7iS5","title":"Code diff","pathname":"/trust/code-diff","siteSpaceId":"sitesp_6s4MA","description":"The source code changes between an origin package version and its sealed iteration, viewable in the Seal UI.","breadcrumbs":[{"label":"Trust, transparency and compliance"}]},{"id":"wfpeR2Cwu1WNbNP8KDKR","title":"Attestations","pathname":"/trust/attestations","siteSpaceId":"sitesp_6s4MA","description":"PDF and VEX attestations per sealed package, plus how to download them from the Sealed packages tab.","breadcrumbs":[{"label":"Trust, transparency and compliance"}]},{"id":"Nm0HWu5ywMavAhdgDLP0","title":"Patch validation prompt","pathname":"/trust/patch-validation-prompt","siteSpaceId":"sitesp_6s4MA","description":"A Seal-generated prompt customers paste into an LLM to independently validate that a sealed patch fixes the vulnerability without breaking the consuming package.","breadcrumbs":[{"label":"Trust, transparency and compliance"}]},{"id":"TICrEBgZ9lojL2haHZ5U","title":"Cryptographic signing and hash verification","pathname":"/trust/signing","siteSpaceId":"sitesp_6s4MA","description":"Every sealed artifact carries an ECDSA signature; the Seal CLI verifies automatically using a public key embedded in the CLI itself.","breadcrumbs":[{"label":"Trust, transparency and compliance"}]},{"id":"gLo2svNdrsEAE3xeOTFx","title":"SLAs and compliance frameworks","pathname":"/trust/compliance","siteSpaceId":"sitesp_6s4MA","description":"Seal's SLAs, compliance certifications, and the frameworks Seal helps customers meet.","breadcrumbs":[{"label":"Trust, transparency and compliance"}]},{"id":"sJmlENiCSyuH03DnMatk","title":"The 72-hour SLA","pathname":"/trust/compliance/sla","siteSpaceId":"sitesp_6s4MA","description":"Seal's response time for newly disclosed critical- and high-severity vulnerabilities.","breadcrumbs":[{"label":"Trust, transparency and compliance"},{"label":"SLAs and compliance frameworks"}]},{"id":"GAmOvNSNhoZyJFhIMeb9","title":"Seal's compliance certifications","pathname":"/trust/compliance/certifications","siteSpaceId":"sitesp_6s4MA","description":"Seal Security's own compliance certifications and the trust portal that publishes them.","breadcrumbs":[{"label":"Trust, transparency and compliance"},{"label":"SLAs and compliance frameworks"}]},{"id":"SFBM7CpotnCmvngFUr29","title":"Frameworks Seal helps you meet","pathname":"/trust/compliance/frameworks","siteSpaceId":"sitesp_6s4MA","description":"Regulatory and compliance frameworks Seal helps customers meet.","breadcrumbs":[{"label":"Trust, transparency and compliance"},{"label":"SLAs and compliance frameworks"}]},{"id":"EGWi4TMAmF0hRQ3niUu6","title":"Audit-ready traceability","pathname":"/trust/compliance/audit-traceability","siteSpaceId":"sitesp_6s4MA","description":"How Seal's per-package evidence assembles into an audit narrative for any of the frameworks covered in this section.","breadcrumbs":[{"label":"Trust, transparency and compliance"},{"label":"SLAs and compliance frameworks"}]},{"id":"ZrSiOvojO4XomIYiGqlj","title":"Reference","pathname":"/reference","siteSpaceId":"sitesp_6s4MA","description":"Lookup material — CLI flags, Public API endpoints, naming and versioning conventions, network requirements."},{"id":"sQMfpqdoq5yMo3NLAlKw","title":"CLI reference","pathname":"/reference/cli","siteSpaceId":"sitesp_6s4MA","description":"Reference for the Seal CLI.","breadcrumbs":[{"label":"Reference"}]},{"id":"iS7TAZkeThGihmzDH63c","title":"Commands","pathname":"/reference/cli/commands","siteSpaceId":"sitesp_6s4MA","description":"Every Seal CLI command, its arguments, and the flags specific to it.","breadcrumbs":[{"label":"Reference"},{"label":"CLI reference"}]},{"id":"rBj3YmNA6prkuZ9c7Jgg","title":"Global flags","pathname":"/reference/cli/global-flags","siteSpaceId":"sitesp_6s4MA","description":"Persistent flags accepted by every Seal CLI command.","breadcrumbs":[{"label":"Reference"},{"label":"CLI reference"}]},{"id":"cQjciVnA6WbC3cBFfByQ","title":"The .seal-actions.yml file","pathname":"/reference/cli/seal-actions-yml","siteSpaceId":"sitesp_6s4MA","description":"The schema of the .seal-actions.yml file the CLI reads in Local fix mode.","breadcrumbs":[{"label":"Reference"},{"label":"CLI reference"}]},{"id":"GHzWsUhkXZ0SWFhD0IVM","title":"Environment variables","pathname":"/reference/cli/environment-variables","siteSpaceId":"sitesp_6s4MA","description":"Every environment variable the Seal CLI reads, with defaults.","breadcrumbs":[{"label":"Reference"},{"label":"CLI reference"}]},{"id":"KhAsFI2aRdrw0QNGEDAo","title":"Public API","pathname":"/reference/public-api","siteSpaceId":"sitesp_6s4MA","description":"The Seal Public API base URL, authentication, and the endpoint catalog.","breadcrumbs":[{"label":"Reference"}]},{"id":"EhLc7Ma9u8npcFHQ4VYI","title":"List vulnerable packages","pathname":"/reference/public-api/list-vulnerable-packages","siteSpaceId":"sitesp_6s4MA","description":"List vulnerable packages, with filters.","breadcrumbs":[{"label":"Reference"},{"label":"Public API"}]},{"id":"shX4QNhiaPYYBfTqJfas","title":"List Sealing Rules","pathname":"/reference/public-api/list-sealing-rules","siteSpaceId":"sitesp_6s4MA","description":"List the Sealing Rules configured for your tenant.","breadcrumbs":[{"label":"Reference"},{"label":"Public API"}]},{"id":"DVgjDeQSqWQHIJFgNqAQ","title":"Generate fix","pathname":"/reference/public-api/generate-fix","siteSpaceId":"sitesp_6s4MA","description":"Trigger Generate fix in bulk for one or more packages.","breadcrumbs":[{"label":"Reference"},{"label":"Public API"}]},{"id":"phH9ENGzYnr6C7oAFQRK","title":"Patch validation prompt","pathname":"/reference/public-api/patch-validation-prompt","siteSpaceId":"sitesp_6s4MA","description":"GET /patches/validation-prompt, retrieve the patch validation prompt for a specific package version and vulnerability.","breadcrumbs":[{"label":"Reference"},{"label":"Public API"}]},{"id":"4jH2z45iE0jjz01fNLlo","title":"Naming and versioning conventions","pathname":"/reference/naming-and-versioning","siteSpaceId":"sitesp_6s4MA","description":"How Seal names and versions the sealed counterpart of an origin package.","breadcrumbs":[{"label":"Reference"}]},{"id":"ADdH4kYWMmx7KJXITEQa","title":"The -sp[N] model","pathname":"/reference/naming-and-versioning/sp-model","siteSpaceId":"sitesp_6s4MA","description":"The -sp[N] versioning model Seal uses for sealed iterations, and the private-version sp[N]p[M] suffix.","breadcrumbs":[{"label":"Reference"},{"label":"Naming and versioning conventions"}]},{"id":"KMqQSFTYuoWVcxG3ecYW","title":"Per-ecosystem nuances","pathname":"/reference/naming-and-versioning/per-ecosystem","siteSpaceId":"sitesp_6s4MA","description":"How the sealed-version suffix is encoded per ecosystem.","breadcrumbs":[{"label":"Reference"},{"label":"Naming and versioning conventions"}]},{"id":"16jBdm5XXqBZZqaaQY5Z","title":"Renamed packages","pathname":"/reference/naming-and-versioning/renamed-packages","siteSpaceId":"sitesp_6s4MA","description":"The per-ecosystem naming pattern Seal uses when a sealed package is renamed.","breadcrumbs":[{"label":"Reference"},{"label":"Naming and versioning conventions"}]},{"id":"EESnlS0HAtgMTZdCT2q8","title":"Network requirements","pathname":"/reference/network-requirements","siteSpaceId":"sitesp_6s4MA","description":"Domains the Seal Platform reaches over HTTPS.","breadcrumbs":[{"label":"Reference"}]},{"id":"iK9wVqfdeJLdFg1KlObi","title":"FAQ and disclosure","pathname":"/faq-and-disclosure","siteSpaceId":"sitesp_6s4MA","description":"Frequently asked questions and the vulnerability disclosure policy."},{"id":"eWmE3pl6IiuoPWOz4OOf","title":"FAQ","pathname":"/faq-and-disclosure/faq","siteSpaceId":"sitesp_6s4MA","description":"Frequently asked questions about Seal Security.","breadcrumbs":[{"label":"FAQ and disclosure"}]},{"id":"u5uO3cLSrEs5YSXDSHBO","title":"Vulnerability disclosure","pathname":"/faq-and-disclosure/vulnerability-disclosure","siteSpaceId":"sitesp_6s4MA","description":"Seal Security's responsible disclosure program for vulnerabilities found in open-source packages.","breadcrumbs":[{"label":"FAQ and disclosure"}]},{"id":"PhTxdFKF6rGgfl13PvFy","title":"Legacy Documentation","pathname":"/legacy-documentation","siteSpaceId":"sitesp_6s4MA","description":"The previous version of the Seal Security documentation, retained for reference."},{"id":"Y1JypvDtfjbsBF3TBAWS","title":"Quick Start Guide","pathname":"/legacy-documentation/quick-start-guide","siteSpaceId":"sitesp_6s4MA","description":"","breadcrumbs":[{"label":"Legacy Documentation"}]},{"id":"hqy71V4yxLsJ4dPQUY8a","title":"Signing Up","pathname":"/legacy-documentation/quick-start-guide/signing-up","siteSpaceId":"sitesp_6s4MA","description":"","breadcrumbs":[{"label":"Legacy Documentation"},{"label":"Quick Start Guide"}]},{"id":"9e8PjjW4tTgoQo8m30BZ","title":"Onboarding Wizard","pathname":"/legacy-documentation/quick-start-guide/onboarding-wizard","siteSpaceId":"sitesp_6s4MA","description":"","breadcrumbs":[{"label":"Legacy Documentation"},{"label":"Quick Start Guide"}]},{"id":"vjZLhJ0NGtKRLmfqamkS","title":"Package Discovery","pathname":"/legacy-documentation/quick-start-guide/package-discovery","siteSpaceId":"sitesp_6s4MA","description":"","breadcrumbs":[{"label":"Legacy Documentation"},{"label":"Quick Start Guide"}]},{"id":"JCeGB8RcwW8nJzIDmnzJ","title":"Connecting to GitHub","pathname":"/legacy-documentation/quick-start-guide/package-discovery/connecting-to-github","siteSpaceId":"sitesp_6s4MA","description":"","breadcrumbs":[{"label":"Legacy Documentation"},{"label":"Quick Start Guide"},{"label":"Package Discovery"}]},{"id":"TxTAZAarXgI79NHz4eqP","title":"Connecting to GitLab","pathname":"/legacy-documentation/quick-start-guide/package-discovery/connecting-to-gitlab","siteSpaceId":"sitesp_6s4MA","description":"","breadcrumbs":[{"label":"Legacy Documentation"},{"label":"Quick Start Guide"},{"label":"Package Discovery"}]},{"id":"jRBkQ6HbWUZJQnXOt29u","title":"Connecting to Azure DevOps","pathname":"/legacy-documentation/quick-start-guide/package-discovery/connecting-to-azure-devops","siteSpaceId":"sitesp_6s4MA","description":"","breadcrumbs":[{"label":"Legacy Documentation"},{"label":"Quick Start Guide"},{"label":"Package Discovery"}]},{"id":"HSyRw7nyNdgo4UJ3xKXE","title":"Connecting to the CI Pipeline","pathname":"/legacy-documentation/quick-start-guide/package-discovery/connecting-to-the-ci-pipeline","siteSpaceId":"sitesp_6s4MA","description":"","breadcrumbs":[{"label":"Legacy Documentation"},{"label":"Quick Start Guide"},{"label":"Package Discovery"}]},{"id":"jBvI6pJpYJVpusYTl0dz","title":"Connecting to the Artifact Server","pathname":"/legacy-documentation/quick-start-guide/package-discovery/connecting-to-the-artifact-server","siteSpaceId":"sitesp_6s4MA","description":"","breadcrumbs":[{"label":"Legacy Documentation"},{"label":"Quick Start Guide"},{"label":"Package Discovery"}]},{"id":"We55I9MBvH168T36UfHe","title":"Package Sealing","pathname":"/legacy-documentation/quick-start-guide/package-sealing","siteSpaceId":"sitesp_6s4MA","description":"","breadcrumbs":[{"label":"Legacy Documentation"},{"label":"Quick Start Guide"}]},{"id":"G8uSrrzd6imqwL75ymeb","title":"Integrating the CLI in the CI","pathname":"/legacy-documentation/quick-start-guide/package-sealing/integrating-the-cli-in-the-ci","siteSpaceId":"sitesp_6s4MA","description":"","breadcrumbs":[{"label":"Legacy Documentation"},{"label":"Quick Start Guide"},{"label":"Package Sealing"}]},{"id":"f5YptYxzE0QyVlqqpfyD","title":"Editing Dependencies","pathname":"/legacy-documentation/quick-start-guide/package-sealing/editing-dependencies","siteSpaceId":"sitesp_6s4MA","description":"","breadcrumbs":[{"label":"Legacy Documentation"},{"label":"Quick Start Guide"},{"label":"Package Sealing"}]},{"id":"jJXNJpSQbbmwoqqaAXLO","title":"Deployments","pathname":"/legacy-documentation/deployments","siteSpaceId":"sitesp_6s4MA","description":"","breadcrumbs":[{"label":"Legacy Documentation"}]},{"id":"Z8kbPd5QcMr7OzaWWC5c","title":"Choosing Your Deployment Method","pathname":"/legacy-documentation/deployments/choosing-your-deployment-method","siteSpaceId":"sitesp_6s4MA","description":"","breadcrumbs":[{"label":"Legacy Documentation"},{"label":"Deployments"}]},{"id":"W5NvuZSY7qnLTicxVuzQ","title":"Automatic Remediation","pathname":"/legacy-documentation/deployments/automatic-remediation","siteSpaceId":"sitesp_6s4MA","description":"","breadcrumbs":[{"label":"Legacy Documentation"},{"label":"Deployments"}]},{"id":"ZROHrjUiMW7P848vdrCS","title":"Remote Configuration","pathname":"/legacy-documentation/deployments/remote-configuration","siteSpaceId":"sitesp_6s4MA","description":"","breadcrumbs":[{"label":"Legacy Documentation"},{"label":"Deployments"}]},{"id":"IQXyhdyjzVM4EeXhX0KG","title":"Local Configuration","pathname":"/legacy-documentation/deployments/local-configuration","siteSpaceId":"sitesp_6s4MA","description":"","breadcrumbs":[{"label":"Legacy Documentation"},{"label":"Deployments"}]},{"id":"alPd7ToOecW98wFGmhpy","title":"Artifact Server","pathname":"/legacy-documentation/deployments/artifact-server","siteSpaceId":"sitesp_6s4MA","description":"","breadcrumbs":[{"label":"Legacy Documentation"},{"label":"Deployments"}]},{"id":"OyqES2WQhMGMtQRKBbBQ","title":"CLI","pathname":"/legacy-documentation/cli","siteSpaceId":"sitesp_6s4MA","description":"","breadcrumbs":[{"label":"Legacy Documentation"}]},{"id":"BdTotsHFNGcPi3MchoW5","title":"Download and Installation","pathname":"/legacy-documentation/cli/download-and-installation","siteSpaceId":"sitesp_6s4MA","description":"","breadcrumbs":[{"label":"Legacy Documentation"},{"label":"CLI"}]},{"id":"D0Poc4K9uBi4nS47Ayyt","title":"Scanning","pathname":"/legacy-documentation/cli/scanning","siteSpaceId":"sitesp_6s4MA","description":"","breadcrumbs":[{"label":"Legacy Documentation"},{"label":"CLI"}]},{"id":"h1d3vdGuHSKgEWiLZ8Il","title":"Fixing All Dependencies","pathname":"/legacy-documentation/cli/fixing-all-dependencies","siteSpaceId":"sitesp_6s4MA","description":"","breadcrumbs":[{"label":"Legacy Documentation"},{"label":"CLI"}]},{"id":"YG6NwEsZducbjWiiTN33","title":"Fixing Specific Dependencies","pathname":"/legacy-documentation/cli/fixing-specific-dependencies","siteSpaceId":"sitesp_6s4MA","description":"","breadcrumbs":[{"label":"Legacy Documentation"},{"label":"CLI"}]},{"id":"S0IGKgWJwZBD5Pr7xa9Q","title":"Fixing OS Vulnerabilities","pathname":"/legacy-documentation/cli/fixing-os-vulnerabilities","siteSpaceId":"sitesp_6s4MA","description":"","breadcrumbs":[{"label":"Legacy Documentation"},{"label":"CLI"}]},{"id":"SkcLkPWtNcPN067QRtWA","title":"Integrating with the CI","pathname":"/legacy-documentation/cli/integrating-with-the-ci","siteSpaceId":"sitesp_6s4MA","description":"","breadcrumbs":[{"label":"Legacy Documentation"},{"label":"CLI"}]},{"id":"YRQl6QTU8COt5X8BATTj","title":"Commands","pathname":"/legacy-documentation/cli/commands","siteSpaceId":"sitesp_6s4MA","description":"","breadcrumbs":[{"label":"Legacy Documentation"},{"label":"CLI"}]},{"id":"2yAqW7wODn4mYoKIhaGL","title":"SCA Integrations","pathname":"/legacy-documentation/cli/sca-integrations","siteSpaceId":"sitesp_6s4MA","description":"","breadcrumbs":[{"label":"Legacy Documentation"},{"label":"CLI"}]},{"id":"DIWHjVFrIHl3Sp7SFbLN","title":"JFrog Integration","pathname":"/legacy-documentation/cli/jfrog-integration","siteSpaceId":"sitesp_6s4MA","description":"How to configure the CLI if the CI pipeline can only communicate with a JFrog artifact server","breadcrumbs":[{"label":"Legacy Documentation"},{"label":"CLI"}]},{"id":"MluVsXmsjO5iDWYq4SHX","title":"Usage Examples","pathname":"/legacy-documentation/cli/usage-examples","siteSpaceId":"sitesp_6s4MA","description":"","breadcrumbs":[{"label":"Legacy Documentation"},{"label":"CLI"}]},{"id":"5tgEQEm4M69Ll1f8M1nl","title":"Sealing Application Dependencies","pathname":"/legacy-documentation/cli/usage-examples/sealing-application-dependencies","siteSpaceId":"sitesp_6s4MA","description":"","breadcrumbs":[{"label":"Legacy Documentation"},{"label":"CLI"},{"label":"Usage Examples"}]},{"id":"orcaf71lyB7DDtfi3L0K","title":"Sealing Linux Environments","pathname":"/legacy-documentation/cli/usage-examples/sealing-linux-environments","siteSpaceId":"sitesp_6s4MA","description":"","breadcrumbs":[{"label":"Legacy Documentation"},{"label":"CLI"},{"label":"Usage Examples"}]},{"id":"aw608A2Sr6dtApZaa2Sa","title":"Seal My Container","pathname":"/legacy-documentation/cli/usage-examples/seal-my-container","siteSpaceId":"sitesp_6s4MA","description":"Sealing an existing image without migrations","breadcrumbs":[{"label":"Legacy Documentation"},{"label":"CLI"},{"label":"Usage Examples"}]},{"id":"kk5JcSHHSBNjQIu7Hem5","title":"Artifact Server","pathname":"/legacy-documentation/artifact-server","siteSpaceId":"sitesp_6s4MA","description":"","breadcrumbs":[{"label":"Legacy Documentation"}]},{"id":"AfxiO6obHdECKyyUhsdS","title":"Generating a Token","pathname":"/legacy-documentation/artifact-server/generating-a-token","siteSpaceId":"sitesp_6s4MA","description":"","breadcrumbs":[{"label":"Legacy Documentation"},{"label":"Artifact Server"}]},{"id":"xNWPYDeoMg3DOM0VqdFC","title":"Artifact Server Ordering","pathname":"/legacy-documentation/artifact-server/artifact-server-ordering","siteSpaceId":"sitesp_6s4MA","description":"","breadcrumbs":[{"label":"Legacy Documentation"},{"label":"Artifact Server"}]},{"id":"r91LaAjsDT0inIxVvHv0","title":"Configuring the Package Manager","pathname":"/legacy-documentation/artifact-server/configuring-the-package-manager","siteSpaceId":"sitesp_6s4MA","description":"","breadcrumbs":[{"label":"Legacy Documentation"},{"label":"Artifact Server"}]},{"id":"DEquCN7K28hOlBlLWUVz","title":"Configuring apk","pathname":"/legacy-documentation/artifact-server/configuring-the-package-manager/configuring-apk","siteSpaceId":"sitesp_6s4MA","description":"How to configure the apk package manager","breadcrumbs":[{"label":"Legacy Documentation"},{"label":"Artifact Server"},{"label":"Configuring the Package Manager"}]},{"id":"r14nGLAQr6VnmwylvxV8","title":"Configuring Bundler","pathname":"/legacy-documentation/artifact-server/configuring-the-package-manager/configuring-bundler","siteSpaceId":"sitesp_6s4MA","description":"How to configure the Bundler package manager","breadcrumbs":[{"label":"Legacy Documentation"},{"label":"Artifact Server"},{"label":"Configuring the Package Manager"}]},{"id":"h8s3oy5WiX6h7OfrTWrg","title":"Configuring Gem","pathname":"/legacy-documentation/artifact-server/configuring-the-package-manager/configuring-gem","siteSpaceId":"sitesp_6s4MA","description":"How to configure the Gem package manager","breadcrumbs":[{"label":"Legacy Documentation"},{"label":"Artifact Server"},{"label":"Configuring the Package Manager"}]},{"id":"ovOy3trSyPdufoPQC74H","title":"Configuring Composer","pathname":"/legacy-documentation/artifact-server/configuring-the-package-manager/configuring-composer","siteSpaceId":"sitesp_6s4MA","description":"How to configure the npm package manager","breadcrumbs":[{"label":"Legacy Documentation"},{"label":"Artifact Server"},{"label":"Configuring the Package Manager"}]},{"id":"1AG4PLGe2BNyAibAMUYV","title":"Configuring Go","pathname":"/legacy-documentation/artifact-server/configuring-the-package-manager/configuring-go","siteSpaceId":"sitesp_6s4MA","description":"How to configure the Go package manager","breadcrumbs":[{"label":"Legacy Documentation"},{"label":"Artifact Server"},{"label":"Configuring the Package Manager"}]},{"id":"7uU1Znl2X6EchcOmpJxo","title":"Configuring Gradle","pathname":"/legacy-documentation/artifact-server/configuring-the-package-manager/configuring-gradle","siteSpaceId":"sitesp_6s4MA","description":"How to configure the Gradle package manager","breadcrumbs":[{"label":"Legacy Documentation"},{"label":"Artifact Server"},{"label":"Configuring the Package Manager"}]},{"id":"6iAsPsYZppgkXbGbNf8U","title":"Configuring Maven","pathname":"/legacy-documentation/artifact-server/configuring-the-package-manager/configuring-maven","siteSpaceId":"sitesp_6s4MA","description":"How to configure the Maven package manager","breadcrumbs":[{"label":"Legacy Documentation"},{"label":"Artifact Server"},{"label":"Configuring the Package Manager"}]},{"id":"42HT4mTbUUkoC2sQRKqE","title":"Configuring npm","pathname":"/legacy-documentation/artifact-server/configuring-the-package-manager/configuring-npm","siteSpaceId":"sitesp_6s4MA","description":"How to configure the npm package manager","breadcrumbs":[{"label":"Legacy Documentation"},{"label":"Artifact Server"},{"label":"Configuring the Package Manager"}]},{"id":"izS7e6GtWTZxgsRIzd2A","title":"Configuring pip","pathname":"/legacy-documentation/artifact-server/configuring-the-package-manager/configuring-pip","siteSpaceId":"sitesp_6s4MA","description":"How to configure the pip package manager","breadcrumbs":[{"label":"Legacy Documentation"},{"label":"Artifact Server"},{"label":"Configuring the Package Manager"}]},{"id":"gqFYylUcuqf1CL3dYPiK","title":"Configuring Poetry","pathname":"/legacy-documentation/artifact-server/configuring-the-package-manager/configuring-poetry","siteSpaceId":"sitesp_6s4MA","description":"How to configure the Poetry package manager","breadcrumbs":[{"label":"Legacy Documentation"},{"label":"Artifact Server"},{"label":"Configuring the Package Manager"}]},{"id":"VjF3xpn6vtlD6iBuZKAx","title":"Configuring yarn","pathname":"/legacy-documentation/artifact-server/configuring-the-package-manager/configuring-yarn","siteSpaceId":"sitesp_6s4MA","description":"How to configure the yarn package manager","breadcrumbs":[{"label":"Legacy Documentation"},{"label":"Artifact Server"},{"label":"Configuring the Package Manager"}]},{"id":"HXQIT5LoeZhH905w6b7a","title":"Configuring yum","pathname":"/legacy-documentation/artifact-server/configuring-the-package-manager/configuring-yum","siteSpaceId":"sitesp_6s4MA","description":"How to configure the RPM package manager","breadcrumbs":[{"label":"Legacy Documentation"},{"label":"Artifact Server"},{"label":"Configuring the Package Manager"}]},{"id":"sdIhNe30MiWA87TMJfIU","title":"Clearing the Cache","pathname":"/legacy-documentation/artifact-server/clearing-the-cache","siteSpaceId":"sitesp_6s4MA","description":"","breadcrumbs":[{"label":"Legacy Documentation"},{"label":"Artifact Server"}]},{"id":"X91lXp71pjSN7IuTRQzH","title":"Editing Your Dependencies","pathname":"/legacy-documentation/artifact-server/editing-your-dependencies","siteSpaceId":"sitesp_6s4MA","description":"","breadcrumbs":[{"label":"Legacy Documentation"},{"label":"Artifact Server"}]},{"id":"DkdDo9y35VgRwrD2dNI1","title":"npm","pathname":"/legacy-documentation/artifact-server/editing-your-dependencies/npm","siteSpaceId":"sitesp_6s4MA","description":"","breadcrumbs":[{"label":"Legacy Documentation"},{"label":"Artifact Server"},{"label":"Editing Your Dependencies"}]},{"id":"YRDDc1SjfLbqxVKyaY4V","title":"Maven","pathname":"/legacy-documentation/artifact-server/editing-your-dependencies/maven","siteSpaceId":"sitesp_6s4MA","description":"","breadcrumbs":[{"label":"Legacy Documentation"},{"label":"Artifact Server"},{"label":"Editing Your Dependencies"}]},{"id":"vPF1Rp6atj2gjLRH8rw7","title":"Nuget","pathname":"/legacy-documentation/artifact-server/editing-your-dependencies/nuget","siteSpaceId":"sitesp_6s4MA","description":"","breadcrumbs":[{"label":"Legacy Documentation"},{"label":"Artifact Server"},{"label":"Editing Your Dependencies"}]},{"id":"xM1zpTrbozv4gv7IR7qF","title":"Web Interface","pathname":"/legacy-documentation/web-interface","siteSpaceId":"sitesp_6s4MA","description":"","breadcrumbs":[{"label":"Legacy Documentation"}]},{"id":"a5vMSml3vEaXCMr4PtWi","title":"Rules Screen","pathname":"/legacy-documentation/web-interface/rules-screen","siteSpaceId":"sitesp_6s4MA","description":"Manage what packages to replace from the UI","breadcrumbs":[{"label":"Legacy Documentation"},{"label":"Web Interface"}]},{"id":"TIJxlngMSjHKhZKXyWkg","title":"Slack","pathname":"/legacy-documentation/web-interface/slack","siteSpaceId":"sitesp_6s4MA","description":"","breadcrumbs":[{"label":"Legacy Documentation"},{"label":"Web Interface"}]},{"id":"YTxGHn9OTcPUZSdR9mOA","title":"Network Requirements","pathname":"/legacy-documentation/network-requirements","siteSpaceId":"sitesp_6s4MA","description":"","breadcrumbs":[{"label":"Legacy Documentation"}]},{"id":"bupyBEuMBMGmY0a9mxZG","title":"APIs","pathname":"/legacy-documentation/apis","siteSpaceId":"sitesp_6s4MA","description":"","breadcrumbs":[{"label":"Legacy Documentation"}]},{"id":"huHpKw3E2Xv1696ERTWo","title":"List Vulnerable Packages","pathname":"/legacy-documentation/apis/list-vulnerable-packages","siteSpaceId":"sitesp_6s4MA","description":"","breadcrumbs":[{"label":"Legacy Documentation"},{"label":"APIs"}]},{"id":"mWDOIhMkdb2c3hH7QCv1","title":"List Sealing Rules","pathname":"/legacy-documentation/apis/list-sealing-rules","siteSpaceId":"sitesp_6s4MA","description":"","breadcrumbs":[{"label":"Legacy Documentation"},{"label":"APIs"}]},{"id":"ItZb5aCGvZqhSEeRYX9Y","title":"FAQ","pathname":"/legacy-documentation/faq","siteSpaceId":"sitesp_6s4MA","description":"","breadcrumbs":[{"label":"Legacy Documentation"}]},{"id":"mMkRKBnEMfr4JwpIQ5dl","title":"Vulnerability Disclosure","pathname":"/legacy-documentation/vulnerability-disclosure","siteSpaceId":"sitesp_6s4MA","description":"","breadcrumbs":[{"label":"Legacy Documentation"}]},{"id":"Y7tlHpNAXSxL5dX5CAvN","title":"Versioning Schema","pathname":"/legacy-documentation/versioning-schema","siteSpaceId":"sitesp_6s4MA","description":"Sealed Packages Naming Conventions","breadcrumbs":[{"label":"Legacy Documentation"}]}]}