CoreLayer AI Security Platform logoCoreLayer AI Security Platform

Installation

The CoreLayer CLI is a single static binary with no runtime dependencies. Install it with one command on macOS, Linux, or Windows. No account needed to download.

Install script

The fastest path on macOS and Linux. Detects your platform, verifies the download against the published checksum, and puts secureai on your PATH.

Terminal
curl -fsSL https://get.corelayersecurity.com/install.sh | sh

Prefer to read before you run? The installer is plain text at get.corelayersecurity.com/install.sh. Open it in a browser, then pipe it to sh once you are happy with it.

Terminal
$ curl -fsSL https://get.corelayersecurity.com/install.sh | sh

  secureai 0.1.1  darwin/arm64

  ✓ downloaded  secureai_0.1.1_darwin_arm64.tar.gz
  ✓ verified    sha256
  ✓ installed   /usr/local/bin/secureai

It installs to /usr/local/bin when that is writable and falls back to ~/.local/bin otherwise, printing the PATH line to add if the directory is not already there. It never asks for a password without telling you why.

Installer options

VariableEffect
SECUREAI_VERSIONInstall a specific version instead of the current stable one, e.g. 0.1.0.
SECUREAI_INSTALL_DIRInstall somewhere explicit. Worth setting in CI so the location is deterministic.
Terminal
curl -fsSL https://get.corelayersecurity.com/install.sh | SECUREAI_VERSION=0.1.0 SECUREAI_INSTALL_DIR="$HOME/bin" sh

Windows

In PowerShell. Installs per-user under %LOCALAPPDATA%\\CoreLayer\\bin and adds it to your user PATH, so no elevation is required.

PowerShell
irm https://get.corelayersecurity.com/install.ps1 | iex

Restart your terminal afterwards so the updated PATH is picked up.

Manual download

Every release is published as an archive plus a SHA-256 manifest. These links always point at the current stable release; substitute /v<version>/ for a pinned one.

PlatformArchive
macOS · Apple siliconsecureai_darwin_arm64.tar.gz
macOS · Intelsecureai_darwin_amd64.tar.gz
Linux · x86_64secureai_linux_amd64.tar.gz
Linux · arm64secureai_linux_arm64.tar.gz
Windows · x86_64secureai_windows_amd64.zip
Windows · arm64secureai_windows_arm64.zip
Terminal
curl -fsSLO https://get.corelayersecurity.com/latest/secureai_linux_amd64.tar.gz
tar -xzf secureai_linux_amd64.tar.gz
sudo install -m 0755 secureai /usr/local/bin/secureai

Verifying a manual download

Each directory carries a SHA256SUMS manifest covering every archive in it. The install script does this for you; do it yourself when downloading by hand.

Terminal
curl -fsSLO https://get.corelayersecurity.com/latest/SHA256SUMS
shasum -a 256 -c SHA256SUMS --ignore-missing

secureai_linux_amd64.tar.gz: OK

A mismatch is not a retry

If the checksum does not match, do not run the binary. Re-download over a connection you trust and check again; if it still fails, tell us before executing anything.

Pinning a version

Versioned paths are immutable. /v0.1.0/ will serve the same bytes with the same checksum indefinitely, so a pinned CI job or an air-gapped mirror keeps working across later releases. latest/ is re-pointed on each release, and stable.txt names the version the install script resolves.

PathContents
/v<version>/Release archives plus SHA256SUMS. Immutable, cached indefinitely.
/latest/The current stable archives under unversioned filenames.
/stable.txtThe current stable version, as plain text.
/install.shThe POSIX install script, also served at the bare hostname.
/install.ps1The PowerShell install script.

Verify the installation

Terminal
$ secureai --version
secureai version 0.1.1

$ secureai --help
BUILD:  secureai scan <target>   static risk scanning of prompts and tool configs
TEST:   secureai test --target   offensive prompt-injection / jailbreak testing

Point it at your control plane

Every command that uploads results or fetches payloads needs a control-plane URL. Set it once rather than passing --server each time.

~/.zshrc
export SECUREAI_SERVER=https://api.corelayersecurity.com

Resolution order is flag → environment → default. With neither set, the CLI falls back to http://localhost:8080, which is only useful when running the control plane locally.

Downloading needs no account. Running one does

The install is open so you can inspect the binary, check its checksum, and put it in an image before anyone signs anything. Every phase then requires a session: scan, test, validate, runtime, run, and proxy all exit with 2 until you sign in or supply a SECUREAI_TOKEN. Only --version, --help, and the session commands themselves work logged out.

The check is local, so scan stays offline and a pre-commit hook does not wait on the network. test is different: its adversarial corpus is never compiled into the binary but fetched per run over an authenticated request, so that phase is enforced by the control plane rather than by the CLI, and a redistributed copy yields nothing.

Fingerprint Runtime Agent

Continuous runtime observation uses a separate corelayer-fingerprint-agent gateway, not the secureai CLI process. Generate an immutable installation revision in the Runtime dashboard, then install the Docker/Compose bundle, Linux amd64/arm64 service archive, or Helm chart.

Linux + systemd
curl -fsSLo /tmp/install-corelayer-agent.sh https://get.corelayersecurity.com/agent/install.sh
less /tmp/install-corelayer-agent.sh
sudo CORELAYER_AGENT_CONFIG_FILE=/root/corelayer-agent.yaml \
  CORELAYER_AGENT_ENROLLMENT_TOKEN_FILE=/root/corelayer.token \
  sh /tmp/install-corelayer-agent.sh

Every format listens on 0.0.0.0:8090 inside the service, reads /etc/corelayer/agent.yaml, and persists state under /var/lib/corelayer/fingerprint. The one-time enrollment token must be injected through the secret environment file or Kubernetes Secret generated for that revision; it is never part of the image or config template.

Observe-only and private by default

The agent supports streaming and non-streaming OpenAI Chat Completions and never blocks or changes a response because of a detection. Prompt/response capture is off by default. Changing that privacy choice creates a new revision and requires reinstalling.

Running in a container

For CI, bake the binary into a small image rather than downloading it on every run. The binary is static, so a distroless base is enough.

Dockerfile
FROM debian:12-slim AS install
RUN apt-get update && apt-get install -y --no-install-recommends ca-certificates curl \
 && curl -fsSL https://get.corelayersecurity.com/install.sh | SECUREAI_INSTALL_DIR=/out sh

FROM gcr.io/distroless/base-debian12
COPY --from=install /out/secureai /usr/local/bin/secureai
ENTRYPOINT ["secureai"]

Pin SECUREAI_VERSION in the install step if you want reproducible images. See CI integration for pipeline-level recipes.

Upgrading

Re-run the installer. It overwrites the existing binary in place.

Terminal
curl -fsSL https://get.corelayersecurity.com/install.sh | sh

Uninstalling

Remove the binary and the credential directory:

Terminal
secureai logout
rm -f "$(command -v secureai)"
rm -rf ~/.secureai

What lives in ~/.secureai

  • credentials.json. Your CLI session: server, token, email, name, and role. Written with owner-only permissions.

Removing the directory logs you out on that machine. It does not revoke anything server-side. For that, see CLI access.

Requirements

Requirement
Operating systemmacOS 12+, Linux (glibc or musl), or Windows 10+
Architectureamd64 or arm64
DependenciesNone. The binary is statically linked
NetworkOutbound HTTPS to get.corelayersecurity.com to install, and to your control plane (api.corelayersecurity.com) to run
AccountRequired to run any phase: an invitation to a CoreLayer organisation. Downloading needs nothing.