armor
armor is the Python package and CLI for the broader armor project, a
defense-in-depth security layer for LLM agents. It sits between your agent and
its inputs, outputs, and tool calls, then blocks common prompt injection,
canary exfiltration, obfuscation, jailbreak, tool-abuse, and multi-turn attack
patterns before they reach the user or host tools.
This package is published as armor-ai because the bare armor package name is
used by an unrelated project. The Python import name and CLI remain armor.
Install
pip install armor-ai
Start the daemon:
armor daemon --socket /tmp/armor.sock --db /tmp/armor.db
Run a quick input check:
echo "ignore previous instructions" | armor check input --socket /tmp/armor.sock --session-id demo
Python SDK
from armor import ArmorClient
client = ArmorClient(socket_path="/tmp/armor.sock")
verdict = client.check_input("ignore previous instructions", session_id="demo")
if verdict.blocked:
print("blocked")
Async clients and integration examples for Anthropic, OpenAI, LangChain, Claude Code hooks, and custom agents are available in the project repository. The repository also contains the Docker path, architecture docs, full spec, and maintainer workflows; this PyPI page focuses on the installable Python package.
What armor checks
- User input: instruction overrides, jailbreak templates, encoding requests, prompt-injection phrasing, and topic shifts.
- Model output: canary leakage, encoded payloads, suspicious destinations, entropy spikes, and multi-turn partial exfiltration.
- Tool calls: parameter-schema violations, dangerous shell commands, command injection patterns, rate anomalies, and tool-chain abuse.
- Sessions: rolling risk scoring, state escalation, cooldown, and operator unblock audit records.
Preview status
armor is a public preview, not a v1.0 production guarantee. The core daemon,
CLI, SDK, Docker path, detector pipeline, and forensic logging are implemented,
but v1.0 readiness still requires broader external validation, real-service SDK
example verification, and additional detection-floor evidence.
Important limitations:
- It defends in-band prompt and tool-call attacks, not host compromise.
- The validator LLM fails open on timeout to protect availability.
- The evaluation corpus is English-heavy.
- There is no built-in web UI.
- It assumes one trusted-agent-fleet boundary per daemon.
Project links
- Source and documentation: https://github.com/tkdtaylor/armor
- Issues: https://github.com/tkdtaylor/armor/issues
- Security policy: https://github.com/tkdtaylor/armor/security/policy
- Architecture overview: https://github.com/tkdtaylor/armor/blob/main/docs/architecture/overview.md
- Specification: https://github.com/tkdtaylor/armor/blob/main/docs/spec/SPEC.md
License
armor is licensed under the PolyForm Noncommercial License 1.0.0.
Commercial use requires a separate commercial license. Contact licensing@taylorguard.me.
Metadata
Release files for armor-ai 0.12.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | Actions |
|---|---|---|---|---|
| armor_ai-0.12.0.tar.gz | 159.6 kB | With provenance | Details for armor_ai-0.12.0.tar.gz |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| armor_ai-0.12.0-py3-none-any.whl | Python 3 | none | any | Details for armor_ai-0.12.0-py3-none-any.whl |
Total release size: 335.0 kB
Release files / armor_ai-0.12.0.tar.gz
| Download URL | armor_ai-0.12.0.tar.gz |
|---|---|
| Size | 159.6 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
538416d8c1938099f2fd7f08be8584b2c541affd768f2a307a290ccb60f6a88d
|
|
BLAKE2b-256 checksum How to use checksums |
4b09ac0a4a11b1f1f9ebd92ec9d0e2a636d93503390818b38747298eaccdbc0e
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.12
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on May 24, 2026.
Transparency logRelease files / armor_ai-0.12.0-py3-none-any.whl
| Download URL | armor_ai-0.12.0-py3-none-any.whl |
|---|---|
| Size | 175.4 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
0f1a3e4a279636abef7dc46dd6007620894f70d59d274532fd21e493802047d4
|
|
BLAKE2b-256 checksum How to use checksums |
e99f61d89669352d5038b0d84bfcd159b08e2469ab04907f1655b40047dcd624
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.12
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on May 24, 2026.
Transparency logSecurity for armor-ai 0.12.0
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
Full provenance
All 2 files in this release have been uploaded with provenance metadata.
Attestation for armor_ai-0.12.0.tar.gz
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on May 24, 2026.
Transparency logA note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.