Total requests
–
last 24h
Blocked
–
–
Passed
–
clean requests
Avg latency
–
ms per check
Recent requests
| Time | Verdict | Layer | Threat | ms | Preview |
|---|
Threat breakdown
No threats
Block rate trend
OWASP LLM Top 10
MITRE ATLAS
Blocked requests
| Time | Threat | Layer | Conf | Client | Preview |
|---|
Attack log
No attacks recorded
Select an attack
Click any entry on the left to see full details — exact message, detection reason, which layer fired, confidence score.
Create New Tenant
Full name
Email
Plan
Tenant details
API keys
Loading...
Pass as x-firewall-key: fw_live_… header. Keys are stored as hashes — plaintext shown only at creation.
Custom block rules
Loading...
Substring matches (case-insensitive). Applied at Layer 0 — zero latency. Rules persist across restarts.
Blocked IPs
No blocked IPs
Allow rules
No allow rules
Allow rules override block rules. Use for trusted phrases that should always pass through.
Text detector
Image detector
🖼
Click or drag image here
JPG, PNG, WebP supported
Detection history
| Time | Type | Verdict | Confidence | Reason |
|---|
Haiku classifier
active
Model
Haiku
Cost per check
~$0.0002
Speed
~300ms
Fast and cheap. Catches obvious attacks, clear jailbreaks, direct prompt injection.
Misses subtle social engineering and sophisticated fictional framing.
Misses subtle social engineering and sophisticated fictional framing.
Block threshold (0.0 - 1.0)
0.75
Lower = more aggressive blocking (more false positives). Higher = more permissive (more misses).
Sonnet escalation
disabled
Model
Sonnet 4.6
Cost per check
~$0.003
Speed
~800ms
Only fires when Haiku is uncertain (confidence between the thresholds below).
Catches: subtle social engineering, fictional framing, sophisticated attacks.
Catches: subtle social engineering, fictional framing, sophisticated attacks.
Escalate above (low threshold)
0.40
Block without Sonnet (high threshold)
0.75
Escalation zone
Haiku: clean
Sonnet escalates
Haiku: block
Cost estimator
Haiku only
$0.20
current setting
Two-tier (10% escalation)
$0.23
recommended
Sonnet only
$3.00
not recommended
Rate limits
Per minute
Per hour
Per day
Geo-blocking
Blocked countries (comma separated: RU,CN,KP)
Allowed countries only (leave empty = all allowed)
Time window
Start hour (UTC)
End hour (UTC)
TZ offset (hrs)
Allowed days
Anomaly detection
Duplicate window (secs)
Fuzzing threshold
Duplicate: blocks same message sent twice within N seconds.
Fuzzing: blocks client sending more than N very short messages in a row.
Fuzzing: blocks client sending more than N very short messages in a row.
Blocked user agents
⚡ Quick block — known attack tools
Green = already blocked. Click to toggle.
No blocked user agents
Block specific HTTP clients, bots, or scanning tools by user agent string.
Allow rules
No allow rules
Allow rules override block rules. Use for trusted patterns that should always pass through.
AI Provider
Your firewall inspects every request with Haiku, then forwards to your chosen AI provider.
Change provider without touching any code.
Anthropic
Claude Haiku, Sonnet, Opus
api.anthropic.com
OpenAI
GPT-4, GPT-4o, GPT-3.5
api.openai.com
Google
Gemini Pro, Gemini Ultra
generativelanguage.googleapis.com
Mistral
Mistral Large, Medium, Small
api.mistral.ai
Custom
Any OpenAI-compatible API
your own URL
API Key (stored securely — not shown after saving)
Per-request override
Override provider for individual requests by adding headers:
x-target-url: https://api.openai.com
x-target-key: sk-openai-xxx
x-target-key: sk-openai-xxx
How it works
1. Your request arrives at the firewall
2. Haiku inspects it for threats (your Anthropic key)
3. If clean — forwarded to your chosen AI provider
4. Response returned to your app
Your Anthropic key is always used for security.
Your provider key is used for AI responses.
2. Haiku inspects it for threats (your Anthropic key)
3. If clean — forwarded to your chosen AI provider
4. Response returned to your app
Your Anthropic key is always used for security.
Your provider key is used for AI responses.
Tool calls checked
0
this session
Threats blocked
0
tool + memory
Active agents
0
registered
Policies active
0
enforced
Test tool call
Agent ID
Tool name
Parameters (JSON)
Test memory write
Agent ID
Source
Content to store
Quick policy templates
Read only
Search + browse only. No writes, deletes or exec.
Web research
Browse + read files. No writes or system access.
Customer support
CRM + email only. No file or system access.
Coding assistant
Code files + test runner. No bash or system commands.
Agent threat log
| Time | Agent | Check | Verdict | Threat | Reason |
|---|
Total clients
0
connected via SDK
Active today
0
last 24h
Total requests
0
via SDK
Blocked
0
by firewall
Connected clients
| Client ID | SDK version | First seen | Last seen | Requests | Blocked | Block rate |
|---|
SDK versions
No clients yet
Latest SDK
v0.1.0
pip install ai-firewall
1. Install the SDK
Install the SecuritAi Firewall SDK in your Python project:
pip install ai-firewall
2. Connect to your firewall
Create a client pointing at this firewall:
3. Protect messages
from ai_firewall import FirewallClient, FirewallBlock
try:
fw.inspect("user message here")
# safe — send to Claude
except FirewallBlock as e:
print(f"Blocked: {e.threat_type}")
try:
fw.inspect("user message here")
# safe — send to Claude
except FirewallBlock as e:
print(f"Blocked: {e.threat_type}")
4. Protect agent tool calls
# Check before every tool call
fw.check_tool("my_agent", "web_search", {"query": "news"})
# Check tool results for indirect injection
result = web_search("news")
fw.check_tool_result("my_agent", "web_search", result)
# Or wrap your entire agent in one line
from ai_firewall import protect
safe_agent = protect(my_agent, fw, "my_agent", policy="read_only")
fw.check_tool("my_agent", "web_search", {"query": "news"})
# Check tool results for indirect injection
result = web_search("news")
fw.check_tool_result("my_agent", "web_search", result)
# Or wrap your entire agent in one line
from ai_firewall import protect
safe_agent = protect(my_agent, fw, "my_agent", policy="read_only")
5. Detect AI-generated content
result = fw.detect_text(user_submitted_text)
if result.is_ai_generated:
print(f"AI generated: {result.confidence_pct}")
result = fw.detect_image(base64_image, filename="photo.jpg")
if result.is_ai_generated:
print(f"Generator: {result.generator}")
if result.is_ai_generated:
print(f"AI generated: {result.confidence_pct}")
result = fw.detect_image(base64_image, filename="photo.jpg")
if result.is_ai_generated:
print(f"Generator: {result.generator}")
PIPEDA
✓
Input PII detection
enabled✓
PII redaction before forwarding
enabled✓
Audit log (30 day retention)
enabled✓
Data subject erasure (Art. 17)
supported○
Output PII scanning
enterprise○
Data residency (Canada (North America))
enterpriseNIST AI RMF
✓
PHI pattern detection
enabled✓
Audit log (6 year retention)
enabled✓
Access control logging
enabled○
Business Associate Agreement
enterprise○
PHI encryption at rest
enterprise–
HITECH breach notification
manualSOC 2 / ISO 27001 Type II
✓
CC6: Logical access controls
logged✓
CC7: System operations
logged✓
CC9: Risk mitigation events
logged○
Annual penetration test
roadmap○
Vendor risk assessment
roadmap–
Auditor report
Q3 2026Compliance report
Loading...
This month's usage
Requests inspected
82,341 / 100,000
17,659 remaining82% used
Base plan
$49.00
Overage
$0.00
Est. total
$49.00
Plan
PRO — $49/mo
✓ 100k req/month
✓ LLM classifier
✓ Semantic detection
✓ Conv. analysis
✓ PIPEDA & NIST AI RMF logs
○ Output scanning
○ SOC 2 / ISO 27001 report
○ BAA
✓ LLM classifier
✓ Semantic detection
✓ Conv. analysis
✓ PIPEDA & NIST AI RMF logs
○ Output scanning
○ SOC 2 / ISO 27001 report
○ BAA
Total tenants
–
all accounts
Active
–
active accounts
Total requests
–
all tenants
Suspended
–
inactive accounts
Tenants
| Name | Plan | Status | Keys | Requests | Created | Actions |
|---|
Tenant logs
| Time | Verdict | Layer | Threat | Preview |
|---|