CLI and CI
Use Fortifie from your terminal.
The Fortifie CLI is the same product as the website and the editor MCP, through one more door. Sign in, then assess or harden a build you own. Self-serve protection today is JavaScript. Mac apps are supported but may take longer. Other platforms are coming soon. The build is uploaded, never launched, and deleted after the run.
Install
The CLI is not on PyPI yet. Install the published 0.2.1 wheel. Python 3.9 or newer, no other packages required.
python3 -m pip install https://fortifie.xyz/cli/fortifie-0.2.1-py3-none-any.whl
fortifie --version
To verify the file first:
curl -fsSL -o fortifie-0.2.1-py3-none-any.whl \
https://fortifie.xyz/cli/fortifie-0.2.1-py3-none-any.whl
echo "43532dca42b0451b2d2636d3381d181f20b52f9c1786d24921f95a6a1d86b560 fortifie-0.2.1-py3-none-any.whl" | sha256sum -c -
python3 -m pip install ./fortifie-0.2.1-py3-none-any.whl
SHA-256 of the 0.2.1 wheel: 43532dca42b0451b2d2636d3381d181f20b52f9c1786d24921f95a6a1d86b560. Files: wheel, SHA256SUMS. The previous 0.2.0 wheel remains available.
Connect your account
CLI and MCP calls need a Solo or Studio API key. Free accounts cannot issue keys. The CLI never prints the key.
fortifie login
fortifie whoami
fortifie login opens https://fortifie.xyz/account/connect. You enter a short code, and the CLI stores a key at ~/.config/fortifie/credentials. Or create a key on the API keys page and set FORTIFIE_API_KEY.
Commands
fortifie assess fixture://owned-js-sample
fortifie harden ./app.js --authorized "Acme Inc, 2026-11-13" --out app.js.hardened
fortifie ci-release ./app.js --authorized "Acme Inc, 2026-11-13"
fortifie status <run_id>
fortifie audit <run_id>
Default server: https://fortifie-mcp.fly.dev. harden and ci-release need an authorization record in the shape Name or Org, YYYY-MM-DD. A run that needs human review never writes a hardened file (exit 3 by default).
Hosted assess can scan a fixture or a raw JavaScript file. A Mac app scan, on the website or from the CLI, runs on our Mac build machine, which is not always online, and is refused if that machine is off. fortifie harden works on JavaScript from the CLI. Mach-O and .app harden from the CLI still needs a recorded scan ref; the website job queue is the self-serve path for those, when the Mac is on.
GitHub Actions and GitLab CI
Copy-paste a release workflow that installs this same wheel, then runs fortifie ci-release. Store FORTIFIE_API_KEY as a secret or a masked CI variable. The job should refuse to publish if the hardened file was not written.
Examples also ship with the CLI package. There is no GitHub Marketplace action yet, and pip install fortifie from PyPI is not available yet.