> This page is for version 1.4.0 (Latest) (default).
> For other versions, use one of these documentation indexes:
> - 1.4.0 (Latest) (default): https://docs.nvidia.com/halos/outside-in-safety/1.4.0/llms.txt

> For clean Markdown of any page, append .md to the page URL.
> For a complete documentation index, see https://docs.nvidia.com/halos/outside-in-safety/llms.txt.
> For AI client integration (Claude Code, Cursor, etc.), connect to the MCP server at https://docs.nvidia.com/halos/outside-in-safety/_mcp/server.

# Deployment Guide

> Run the Safety Core with Docker on a supported target, first on the demo dataset and then on your own cameras.

The Safety Core sits between AI Perception and the machine it protects. It reads perception
events from Kafka, checks that the cameras and the perception pipeline can still be trusted, and
sends a decision to the machine's controller over UDP. When it cannot trust its inputs, or loses
contact with one of its own components, it holds the machine in a safe state until an operator
releases it.

This guide is for someone who runs the Safety Core. It starts the Safety Core Docker container
with `docker run`, and every page gives commands you can run as written.

## Choose a path

| Path                                               | Use it when                                                                                                                                  |
| -------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------- |
| [Quick Deployment](/halos/outside-in-safety/deployment/quick-deployment)   | You run the VSS Warehouse 2D demo dataset and want the forklift safety function working end to end.                                          |
| [Custom Deployment](/halos/outside-in-safety/deployment/custom-deployment) | You use your own cameras or scene, another application, more than one decision maker, or the decision maker on the Functional Safety Island. |

Read the pages in this order:

1. [Prerequisites](/halos/outside-in-safety/deployment/prerequisites): one checklist, with a check for every item.
2. [Applications](/halos/outside-in-safety/deployment/applications): what each reference application protects and what
   it sends.
3. [Quick Deployment](/halos/outside-in-safety/deployment/quick-deployment) or
   [Custom Deployment](/halos/outside-in-safety/deployment/custom-deployment).
4. [Troubleshooting](/halos/outside-in-safety/deployment/troubleshooting), when something does not start or does not
   decide.

## Supported targets

| Target                           | Where the decision maker (SDM) runs                        | Applications                                                                        |
| -------------------------------- | ---------------------------------------------------------- | ----------------------------------------------------------------------------------- |
| x86-64 server with an NVIDIA GPU | Host CPU, inside the container                             | Forklift safety function, Proximity Monitoring, or two decision makers together     |
| NVIDIA IGX Thor                  | CCPLEX, inside the container                               | Forklift safety function, Proximity Monitoring, or two decision makers together     |
| NVIDIA IGX Thor                  | Functional Safety Island (container option `--sdm-on-fsi`) | Forklift safety function or Proximity Monitoring, one decision maker, 2D perception |

The operating system and driver versions for each target are listed in
[Prerequisites](/halos/outside-in-safety/getting-started/prerequisites#software) in Getting Started.

## NGC artifacts

The 1.4 artifacts are build `6b92731`, published in the NGC Catalog under `nvidia/halos-outside-in`.

| Artifact                                        | NGC name                                                                                                                                                                                            |
| ----------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Container image (x86-64 and IGX Thor)           | [`nvcr.io/nvidia/halos-outside-in/outside-in-safety:nv-psf-halos-1.4-6b92731`](https://catalog.ngc.nvidia.com/orgs/nvidia/teams/halos-outside-in/containers/outside-in-safety)                      |
| `psf-desktop` runtime package (x86-64)          | [`nvidia/halos-outside-in/outside-in-safety:nv-psf-halos-1.4-x86-lin64-release-6b92731-psf-desktop`](https://catalog.ngc.nvidia.com/orgs/nvidia/teams/halos-outside-in/resources/outside-in-safety) |
| `psf-desktop-dev` development package (x86-64)  | `nvidia/halos-outside-in/outside-in-safety:nv-psf-halos-1.4-x86-lin64-release-6b92731-psf-desktop-dev`                                                                                              |
| `psf-tegra` runtime package (IGX Thor)          | `nvidia/halos-outside-in/outside-in-safety:nv-psf-halos-1.4-aarch64-release-6b92731-psf-tegra`                                                                                                      |
| `psf-tegra-dev` development package (IGX Thor)  | `nvidia/halos-outside-in/outside-in-safety:nv-psf-halos-1.4-aarch64-release-6b92731-psf-tegra-dev`                                                                                                  |
| `psf-tegra-fsi` FSI firmware package (IGX Thor) | `nvidia/halos-outside-in/outside-in-safety:nv-psf-halos-1.4-aarch64-release-6b92731-psf-tegra-fsi`                                                                                                  |
| Open-source sources                             | `nvidia/halos-outside-in/outside-in-safety:halos-1.4-oss-sources`                                                                                                                                   |

## What runs where

The `nv-psf` container runs every Safety Core process except the command receiver and
`fsicom-agent`:

| Process                                                                                                                                                                           | Where it runs                                         |
| --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------- |
| NvPSD Gateway (`nvpsd_gateway`), SEI daemon (`nvpss_daemon`), MDX client (`mdx_client`), SAIM (`safety_monitor`), PCM (`nv_perception_monitor`), SDM (`atl_sdm`, `proximity_sdm`) | Inside the `nv-psf` container                         |
| `fsicom-agent`, when the SDM runs on the Functional Safety Island                                                                                                                 | On the host; you start it yourself                    |
| Command receiver (`atl_sdm_cmd_receiver`, `proximity_sdm_cmd_receiver`)                                                                                                           | On the host or another machine; you start it yourself |

## Building on the Safety Core?

The [Integration Guide](/halos/outside-in-safety/integration) explains the architecture, each component, the Debian
packages and running without Docker, and how to write your own decision maker. The
[Reference](/halos/outside-in-safety/reference/launcher) section lists every container option, launcher flag and
configuration key.