AI safety designed for local devices and server deployments
Personalised constitutional safety evaluation for robots, laptops, servers, and IoT.
Runs locally on your hardware. Open source, Apache 2.0 licensed.
python -m pip install creed-guardian==2.1.0 Package status: PyPI currently serves only the unsafe 0.1.1 preview. The pinned 2.1.0 command will fail until the repaired candidate is published and verified.
Local AI Safety for Everyone
Apache-Licensed Local Core
No Creed Space subscription or usage meter applies to the local Guardian code. Hardware, model downloads, cloud providers, and hosted services have separate terms and costs.
Privacy First
Local-mode checked text is not sent to Creed Space. Setup downloads, update checks, optional sign-in, cloud sync, and external links may use the network.
Works Offline
Evaluation runs locally after setup. Suitable for air-gapped environments.
High Recall
Designed to catch obvious safety violations with high recall. Benchmark notes are published as they clear release review.
Five model tiers for local Guardian use
Guardian can select a default tier based on available memory where supported. You can also choose a tier explicitly.
| Tier | Model | Size | RAM | Capacity | Best For |
|---|---|---|---|---|---|
1.5b 2B model | qwen3.5:2b | ~1.5GB | 2GB | Lightweight | IoT, Raspberry Pi, Edge |
3b 4B model | qwen3.5:4b | ~2-3GB | 4GB | Recommended | Default: Laptops, Dev Machines |
7b 9B model | qwen3.5:9b | ~6GB | 8GB | Higher context | Servers, Dev Machines |
14b 14B model | qwen2.5:14b | ~9GB | 12GB | High capacity | Higher-capacity local checks |
32b 32B model | qwen2.5:32b | ~20GB | 24GB | Maximum local | Maximum local capacity |
import asyncio
from creed_guardian import Guardian
# Uses the default 3b tier (Qwen 3.5 4B)
guardian = Guardian()
# Opt in to RAM-based selection where supported
guardian = Guardian(tier="auto")
# Or specify explicitly
guardian = Guardian(tier="1.5b") # Small local tier
guardian = Guardian(tier="3b") # Default local tier
guardian = Guardian(tier="7b") # Larger local tier
guardian = Guardian(tier="14b") # Qwen 2.5 14B: high capacity
guardian = Guardian(tier="32b") # Qwen 2.5 32B: maximum local capacity
# Check an action
async def main():
result = await guardian.check(
action="Delete all files in /home",
context="User said: clean up my downloads"
)
if result.allowed:
execute_action()
else:
print(f"Blocked: {result.reason}")
asyncio.run(main())Model labels, sizes, and defaults are release-candidate values. Verify the current Guardian README before publishing deployment guidance.
Local and optional hosted capabilities
This table describes source capabilities, not hosted-service entitlements. Fleet, cloud sync, analytics, reporting, and support depend on the active deployment and service terms. Learn more about our mission.
Common Questions
What does the local licence cover?
The core local mode is available under the Apache 2.0 license, so you can use it in products without a Guardian royalty. Hosted services and external model providers can have separate account, usage, and cost terms.
How are Fleet access and charges determined?
Fleet is a hosted governance capability with deployment-specific account, availability, usage, and cost terms. Check the active service interface and approved terms.
What happens to uncertain cases?
They're blocked by default (fail-closed), which is the safe baseline. If you connect Guardian to a cloud API key, you can optionally escalate edge cases to a more capable model for nuanced evaluation.
Can I use Guardian commercially?
Yes. Apache 2.0 licensed. Use it in products, sell those products, no royalties. Keep the license and notices that ship with it.
How capable is the default local tier?
The default model (Qwen 3.5 4B) is the recommended local baseline for everyday checks. Larger tiers trade memory and download size for more local capacity. We publish benchmark notes as they clear release review.
What are compiled rule checks?
Structural rules in your profile (length limits, blocklists, format requirements) compile to deterministic code that runs without an LLM. These checks are near-zero cost, perfectly consistent, and execute in microseconds. The LLM is reserved for nuanced, context-dependent judgments.
Three Steps to a Local Check
Install Ollama
Use Ollama's official platform installerInstall Guardian
python -m pip install creed-guardian==2.1.0 Package status: PyPI currently serves only the unsafe 0.1.1 preview. The pinned 2.1.0 command will fail until the repaired candidate is published and verified.
Not using Python? Download the desktop app.
Use It
python -c "import asyncio; from creed_guardian import Guardian; g = Guardian(); print(asyncio.run(g.check('test')))"