Pallma Guard
The Security Observability Layer for AI Agents.
pallma-guard
The Security Observability Layer for AI Agents.
Pallma-Guard is a security observability platform designed specifically for the era of AI agents and LLM-powered applications. As agents execute complex tasks, they create a new, dynamic attack surface vulnerable to threats like prompt injection, data leakage, and insecure tool usage.
Pallma-Guard leverages OpenTelemetry to trace every step of an agent's decision-making process—its "chain-of-thought." These traces are then fed into our purpose-built open-source ML models to detect, analyze, and block threats in real-time, giving you unprecedented visibility and control over your AI systems.
✨ Key Features
- 🛡️ Real-time Threat Detection: Identify malicious prompts, data exfiltration attempts, and anomalous agent behavior as it happens.
- 🔎 LLM-Specific Analysis: Go beyond simple text matching. Understand the context of LLM interactions to detect nuanced threats.
- 🔓 Transparent & Auditable Security Models: No black boxes. Our core ML models are fully open-source. Inspect the logic, contribute improvements, or fine-tune them.
- ⚙️ Minimal Configuration: Get started in minutes. Pallma-Guard is designed to work out-of-the-box with no complex rule-writing, providing immediate value right after installation.
- 🔌 OpenTelemetry Native: Seamlessly integrate with your existing observability stack. If you use OTel, you can use Pallma-Guard.
- 🤖 Framework Agnostic: Works with LangChain, LangGraph, LlamaIndex, Haystack, LiteLLM, CrewAI.
🤔 Why Pallma-Guard?
Traditional security tools (WAFs, APMs) are blind to the internal logic of AI agents. They see an API call, but not the malicious prompt that caused it.
Even newer AI security solutions can operate as a "black box," asking you to trust their proprietary logic. Pallma-Guard is different. Our commitment to open-source extends to our core security models. This transparency allows for community auditing, eliminates vendor lock-in, and empowers you to understand exactly how your agents are being protected.
Prerequisites
Before running pallma, ensure you have the following installed:
- Python 3.12+
- Docker and Docker Compose
- uv (Python package manager)
Installation
The easiest way to install pallma-guard is either by using pip or pipx,
pip
pip install pallma-guard
pipx
pipx install pallma-guard
Manual installation
-
Clone the repository:
git clone https://github.com/pallma-ai/pallma.git cd pallma
-
Install dependencies:
Install dependencies (CLI):
make install(Optional) Install dependencies (CLI + SDK):
make install-sdk -
Activate the virtual environment:
source .venv/bin/activate
Running the Application
The project includes a CLI tool for easy management:
# Start all services
pallma start
# Display real-time statistics
pallma display
# Stop all services
pallma stop
The display command shows real-time statistics including:
- Total number of messages
- Percentage of allow/block decisions
- Real-time updates as messages arrive
Services
The application consists of the following services:
- Zookeeper: Apache Kafka dependency
- Kafka: Message broker for telemetry data
- OpenTelemetry Collector: Collects and forwards telemetry data to Kafka
- Processor: Processes telemetry data from Kafka
- Predictor: ML service for predictions (requires Hugging Face token)
Development
Development Commands
# Install development dependencies
make install-dev
# Run linting
make lint
# Install specific dependency groups
make install-cli
make install-sdk
# Bump version
make bump-version version=<major|minor|patch>
Releasing a new version
After running the bump_version command, you need to push the changes and tags to the remote repository:
git push --follow-tags
Troubleshooting
- Network issues: Ensure the
pallma-networkDocker network exists - Port conflicts: Check if ports 2181, 9092, 4317, 4318 are available
- Service health: Use
docker-compose psto check service status
License
See LICENSE file for details.
Metadata
Release files for pallma-guard 0.0.3
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 |
|---|---|---|---|---|
| pallma_guard-0.0.3.tar.gz | 196.1 kB | Without provenance | Details for pallma_guard-0.0.3.tar.gz |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| pallma_guard-0.0.3-py3-none-any.whl | Python 3 | none | any | Details for pallma_guard-0.0.3-py3-none-any.whl |
Total release size: 215.3 kB
Release files / pallma_guard-0.0.3.tar.gz
| Download URL | pallma_guard-0.0.3.tar.gz |
|---|---|
| Size | 196.1 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
0f94013229f6d83b95b7b9bf97c2819e4b99ab0a7a29641b3e436b619e0190a7
|
|
BLAKE2b-256 checksum How to use checksums |
09d56295a647b34f31ad99c9c497a3420e5f5d46a77be5c942bef008157838cb
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
uv/0.8.15
|
Release files / pallma_guard-0.0.3-py3-none-any.whl
| Download URL | pallma_guard-0.0.3-py3-none-any.whl |
|---|---|
| Size | 19.2 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
36d0c81c968c903e69b417ad0702becd3ec05867ab190f233013019ae3f52cce
|
|
BLAKE2b-256 checksum How to use checksums |
8c23cca1099182b3ea4683be64bcdf4807fa3cb70c2191860c4f09e8e35290df
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
uv/0.8.15
|
Security for pallma-guard 0.0.3
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.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A 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.