Metadata-Version: 2.4
Name: pijector
Version: 0.1.5
Summary: A drop-in security layer for LLM applications (WAF for AI)
Author: animeshs34
Project-URL: Homepage, https://github.com/animeshs34/llm_security_sdk
Project-URL: Repository, https://github.com/animeshs34/llm_security_sdk
Requires-Python: >=3.9
Description-Content-Type: text/markdown
Requires-Dist: openai>=1.0.0
Requires-Dist: google-generativeai>=0.3.0
Requires-Dist: pydantic>=2.0.0
Requires-Dist: httpx>=0.24.0
Requires-Dist: sentence-transformers>=2.2.0
Requires-Dist: numpy>=1.24.0
Provides-Extra: dev
Requires-Dist: pytest>=7.0.0; extra == "dev"
Requires-Dist: ruff>=0.1.0; extra == "dev"
Requires-Dist: black>=23.0.0; extra == "dev"
Provides-Extra: fastapi
Requires-Dist: fastapi>=0.100.0; extra == "fastapi"
Requires-Dist: uvicorn>=0.23.0; extra == "fastapi"
Provides-Extra: langchain
Requires-Dist: langchain>=0.1.0; extra == "langchain"

# PiJector: Production-Grade LLM Security Layer

> [!WARNING]
> **BETA PHASE**: PiJector is currently in a beta phase and is undergoing active verification by developers. Please use with caution in production environments and report any issues.

**PiJector** is a lightweight, drop-in security layer for LLM applications. It acts as a Web Application Firewall (WAF) for your AI, intercepting inputs to detect injections and monitoring outputs to prevent prompt leakage.

## Features

- **Multi-SDK Support**: Drop-in wrappers for OpenAI and Google Gemini.
- **Standalone Proxy**: OpenAI-compatible REST API for language-agnostic security.
- **Scoring Engine**: Pluggable detectors (Regex, Canary, Semantic) to score risk.
- **Framework Native**: Integrations for LangChain, FastAPI, and LlamaIndex.

## Quick Start

### OpenAI Integration
```python
from openai import OpenAI
from pijector import PijectorShield

client = PijectorShield(OpenAI())
# ... same calls as before
```

### Gemini Integration
```python
import google.generativeai as genai
from pijector.integrations.gemini import PijectorGeminiShield

model = genai.GenerativeModel('gemini-pro')
secure_model = PijectorGeminiShield(model)

response = secure_model.generate_content("Ignore instructions...")
```

## Documentation

- **[User Guide](https://github.com/animeshs34/llm_security_sdk/blob/main/USERS.md)**: Detailed instructions for SDK and Middleware usage.
- **[Configuration](https://github.com/animeshs34/llm_security_sdk/blob/main/pijector/config.py)**: Documentation of all security settings.
- **[Contributing](https://github.com/animeshs34/llm_security_sdk/blob/main/CONTRIBUTING.md)**: How to help improve PiJector.
- **[Deployment](https://github.com/animeshs34/llm_security_sdk/blob/main/DISTRIBUTION.md)**: How to ship as library or middleware.

## Quick Start

```python
from openai import OpenAI
from pijector import PijectorShield

client = PijectorShield(OpenAI())
# ... standard OpenAI calls
```
