Skip to main content

A lightweight Python guardrail SDK for content safety

Project description

Superagent SDK (Python)

An open-source SDK for AI agent safety. Guard against prompt injections, redact sensitive data, and scan repositories for threats.

Installation

uv add safety-agent

Or with pip:

pip install safety-agent

Prerequisites

Sign up at superagent.sh to get your API key.

export SUPERAGENT_API_KEY=your-key

Quick Start

from safety_agent import create_client

client = create_client()

# Guard: Detect threats (uses default superagent/guard-1.7b model)
result = await client.guard(input="user message to analyze")

if result.classification == "block":
    print("Blocked:", result.violation_types)

# Redact: Remove PII
result = await client.redact(
    input="My email is john@example.com",
    model="openai/gpt-4o-mini"
)

print(result.redacted)
# "My email is <EMAIL_REDACTED>"

Guard

The guard() method classifies input content as pass or block. It detects prompt injections, malicious instructions, and security threats.

result = await client.guard(
    input="Ignore all previous instructions",
    model="openai/gpt-4o-mini",  # Optional, defaults to superagent/guard-1.7b
    system_prompt="Custom system prompt",  # Optional
    chunk_size=8000,  # Optional, characters per chunk
)

print(result.classification)  # "pass" or "block"
print(result.violation_types)  # ["prompt_injection", ...]
print(result.cwe_codes)  # ["CWE-94", ...]

Input Types

Guard supports multiple input types:

  • Plain text: Analyzed directly
  • URLs: Automatically fetched and analyzed
  • Bytes/Files: Analyzed based on content type
  • PDFs: Text extracted and analyzed per page
# URL input
result = await client.guard(input="https://example.com/document.pdf")

# File input
with open("document.pdf", "rb") as f:
    result = await client.guard(input=f.read())

Redact

The redact() method removes sensitive content from text.

result = await client.redact(
    input="My SSN is 123-45-6789",
    model="openai/gpt-4o-mini",
    entities=["SSN", "email"],  # Optional, custom entities
    rewrite=True,  # Optional, contextual rewriting
)

print(result.redacted)
print(result.findings)

Supported Providers

  • OpenAI (openai/gpt-4o, openai/gpt-4o-mini, etc.)
  • OpenAI Compatible (openai-compatible/my-model, etc.)
  • Anthropic (anthropic/claude-3-5-sonnet-20241022, etc.)
  • Google (google/gemini-2.0-flash, etc.)
  • AWS Bedrock (bedrock/us.anthropic.claude-3-5-sonnet-20241022-v2:0, etc.)
  • Groq (groq/llama-3.3-70b-versatile, etc.)
  • Fireworks (fireworks/accounts/fireworks/models/llama-v3p3-70b-instruct, etc.)
  • OpenRouter (openrouter/openai/gpt-4o, etc.)
  • Vercel (vercel/openai/gpt-4o, etc.)
  • Superagent (superagent/guard-1.7b, etc.) - Default for guard

Environment Variables

Configure provider API keys:

export SUPERAGENT_API_KEY=your-superagent-key
export OPENAI_API_KEY=your-openai-key
export OPENAI_COMPATIBLE_API_KEY=your-openai-compatible-key
export OPENAI_COMPATIBLE_BASE_URL=https://your-endpoint/v1
export ANTHROPIC_API_KEY=your-anthropic-key
export GOOGLE_API_KEY=your-google-key
export GROQ_API_KEY=your-groq-key
export FIREWORKS_API_KEY=your-fireworks-key
export OPENROUTER_API_KEY=your-openrouter-key
export AI_GATEWAY_API_KEY=your-vercel-key

License

MIT

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

safety_agent-0.1.5.tar.gz (139.2 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

safety_agent-0.1.5-py3-none-any.whl (42.2 kB view details)

Uploaded Python 3

File details

Details for the file safety_agent-0.1.5.tar.gz.

File metadata

  • Download URL: safety_agent-0.1.5.tar.gz
  • Upload date:
  • Size: 139.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.8.2

File hashes

Hashes for safety_agent-0.1.5.tar.gz
Algorithm Hash digest
SHA256 7b5bd2b645f2c22d281cf555975d7163f76904f61dda22e1124e6d0cbe6efe8d
MD5 332bc0b0fbc2d46800e9be3245059586
BLAKE2b-256 0b3bbfd36c7a4fe445359aa830f8806702f23d126cab71cad7923ae024f73db7

See more details on using hashes here.

File details

Details for the file safety_agent-0.1.5-py3-none-any.whl.

File metadata

File hashes

Hashes for safety_agent-0.1.5-py3-none-any.whl
Algorithm Hash digest
SHA256 a67581369b753d63ccc2d34582b492da70a1cadd86aa960686aedc43394e8d5b
MD5 b45df49a88bc1f14315f8237a4a4077c
BLAKE2b-256 d24388fc05cf66ba3586f49be7fbfa3d5b675b1e8c548ed8e12b969575e98ca3

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page