{
  "data": {
    "a": {
      "slug": "llamafirewall",
      "name": "LlamaFirewall",
      "vendor": "Meta",
      "vendorUrl": "https://dev.meta.ai/llama/llama-protections",
      "kind": "framework",
      "category": "guardrails",
      "summary": "LlamaFirewall is Meta's open-source Python library for screening an AI agent's inputs, tool results and outputs. It runs scanners for prompt injection, hidden characters, insecure generated code and goal drift, and returns allow, block or human review.",
      "url": "https://www.anchorterminal.com/tools/llamafirewall",
      "markdownUrl": "https://www.anchorterminal.com/tools/llamafirewall.md",
      "slimMarkdownUrl": "https://www.anchorterminal.com/tools/llamafirewall.min.md",
      "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/llamafirewall.json",
      "repo": "https://github.com/meta-llama/PurpleLlama/tree/main/LlamaFirewall",
      "license": "MIT (library). The Prompt Guard 2 weights it downloads are under the Llama 4 Community Licence",
      "transports": [],
      "packages": [
        {
          "registry": "pypi",
          "name": "llamafirewall"
        }
      ],
      "auth": "none",
      "authNotes": "The library has no account or key of its own. The Prompt Guard scanner needs a Hugging Face token for an account Meta has approved for the gated `meta-llama/Llama-Prompt-Guard-2-86M` weights. AlignmentCheck and the PII scanner need `TOGETHER_API_KEY` for Together AI. The regex, hidden ASCII and CodeShield scanners need neither.",
      "pricing": "free",
      "pricingNotes": "Free under the MIT licence, with nothing to buy from Meta and no hosted version found. The cost is the owner's compute, plus Together AI's own charges when AlignmentCheck or the PII scanner is switched on. Those were not priced here.",
      "priceSummary": "Free · OSS",
      "where": "library",
      "x402": {
        "level": "no",
        "evidence": "No x402, MPP or L402 in the docs or the source. LlamaFirewall is a library the owner runs, with no payment route (checked 2026-10-08).",
        "endpoints": []
      },
      "toolCount": null,
      "popularity": {
        "githubStars": 4423,
        "npmWeekly": null,
        "pypiWeekly": 1029,
        "asOf": "2026-10-08"
      },
      "docsUrl": "https://meta-llama.github.io/PurpleLlama/LlamaFirewall/",
      "capabilities": [
        "guard.injection",
        "guard.pii",
        "guard.policy",
        "guard.self-host"
      ],
      "tags": [
        "framework",
        "open-source",
        "self-hosted",
        "local",
        "python",
        "free",
        "gated",
        "no-telemetry",
        "stale-release"
      ],
      "lastRelease": "2025-05-29",
      "graded": true,
      "anchor": {
        "graded": true,
        "score": 50.8,
        "grade": "D",
        "agentReady": false,
        "rank": 682,
        "ranked": true,
        "rankOf": 842,
        "categoryRank": 13,
        "methodology": "0.4",
        "run": "2026-10-01",
        "scores": {
          "ergonomics": 60,
          "maintenance": 15,
          "payments": 50,
          "reliability": 53,
          "schema": 49,
          "security": 56,
          "transparency": 58
        },
        "pending": [
          "performance",
          "tasks"
        ],
        "assessment": {
          "confidence": "medium",
          "date": "2026-10-08"
        },
        "negative": 0,
        "verdict": "One `scan()` call runs several checks on the owner's machine and returns a short typed result. The last PyPI release is 1.0.3 from 29 May 2025, and its Prompt Guard loader imports a `huggingface_hub` class that current versions no longer export, so a fresh install needs older pins. The classifier weights also need Meta's manual approval.",
        "bestFor": "A Python agent team that wants injection, hidden-character and generated-code checks in process, is willing to pin dependencies or install from main, and can get the gated weights.",
        "strengths": [
          "Six scanner types sit behind one call, set per message role (user, assistant, tool, system, memory) in a plain mapping",
          "`ScanResult` is four typed fields (`decision`, `reason`, `score`, `status`), with decisions limited to allow, block or human review",
          "Prompt Guard, CodeShield, regex and hidden-character scanners run locally, and no telemetry code was found in the source",
          "MIT licence for the library, with tests run in public CI on Python 3.10 and 3.12 that passed on main on 29 September 2026",
          "`scan_replay` checks a whole conversation trace, and AlignmentCheck compares each agent step with the first user message"
        ],
        "weaknesses": [
          "No PyPI release since 1.0.3 on 29 May 2025, and no changelog, tags or deprecation notes were found",
          "The 1.0.3 wheel imports `HfFolder` from `huggingface_hub`, which version 2.2.0 no longer exports. Main fixed the scanner on 26 March 2026, unreleased",
          "The Prompt Guard 2 weights are gated on Hugging Face with manual review, and the loader calls an interactive `login()` when no token is set",
          "Prompt Guard input is truncated at 512 tokens in the library, so later text in a long tool result is not scored",
          "AlignmentCheck and the PII scanner send the conversation to Together AI by default, and `create_scanner` passes no option to change the model or endpoint",
          "The custom scanner guide names a `BaseScanner` class that is not in the source, and LlamaFirewall issues from June and July 2025 have no reply"
        ],
        "agentNotes": [
          "Pin `huggingface_hub` below 1.0 and a matching `transformers` 4.x before importing the Prompt Guard scanner from the 1.0.3 wheel, or install from main",
          "Get access to `meta-llama/Llama-Prompt-Guard-2-86M` and set a Hugging Face token first. Without one the loader prompts for a login and a headless run stalls",
          "Call `scan_async` inside a running event loop. `scan()` wraps `asyncio.run` and fails there. `scan_async` returns score 0.0 and reason `default` on every allow",
          "Split text longer than 512 tokens yourself before a Prompt Guard scan. The library truncates and does not chunk",
          "Do not feed a block `reason` back to the model. The Prompt Guard reason quotes the full scanned text, and the hidden ASCII reason decodes the hidden payload"
        ],
        "metrics": {
          "kind": "local",
          "measured": false
        },
        "reviewCount": 0,
        "avgRating": 0,
        "history": [
          {
            "basis": "public evidence",
            "confidence": "medium",
            "grade": "D",
            "methodology": "0.4",
            "pending": [
              "performance",
              "tasks"
            ],
            "run": "2026-10-01",
            "runLabel": "October 2026 research run",
            "score": 50.8
          }
        ],
        "editorialScores": {
          "ergonomics": 60,
          "maintenance": 15,
          "payments": 50,
          "reliability": 53,
          "schema": 49,
          "security": 56,
          "transparency": 56
        },
        "provenanceScore": 60
      },
      "connect": {
        "install": "pip install llamafirewall\nllamafirewall configure"
      },
      "letme": {
        "capability": "https://letme.dev/guard.injection",
        "tool": "https://letme.dev/llamafirewall"
      },
      "sameCompany": [
        "llama-guard"
      ],
      "area": "models",
      "provenance": {
        "legalEntity": "Meta Platforms, Inc.",
        "domain": "llama.com",
        "domainRegistered": "1994-11-01",
        "domainNote": "A Python library the owner runs, not a service. Code is on github.com under the meta-llama organisation, docs on meta-llama.github.io, and Meta's Llama Protections page lists it.",
        "endpointOnVendorDomain": null,
        "terms": "",
        "privacy": "",
        "statusPage": "",
        "changelog": "",
        "securityTxt": "none",
        "checked": "2026-10-08",
        "notes": [
          "The MIT licence in the LlamaFirewall folder is the document that governs use of the library, so it is recorded as the terms. Its copyright line reads Meta Platforms, Inc. and affiliates.",
          "The Prompt Guard 2 weights the library downloads are under the Llama 4 Community Licence, a separate document, and the repository root carries a Llama 3.2 licence file.",
          "No privacy policy governs the library, because the owner runs it. The privacy field is left out. The Hugging Face access form for the weights says details entered are handled under the Meta Privacy Policy.",
          "AlignmentCheck and the PII scanner send data to Together AI under the owner's own Together account. Meta publishes no data statement for that path.",
          "www.llama.com/llama-protections redirected to dev.meta.ai/llama/llama-protections on 8 October 2026, which names LlamaFirewall and links its paper. RDAP gives 1 November 1994 as the registration date of llama.com.",
          "No status page, because nothing is hosted. No changelog, release notes or version tags were found in the repository.",
          "security.txt returns 404 on meta-llama.github.io and dev.meta.ai. SECURITY.md in the LlamaFirewall folder sends reports to bugbounty.meta.com."
        ],
        "score": 60
      },
      "pageJsonUrl": "https://www.anchorterminal.com/tools/llamafirewall.json"
    },
    "answer": "OpenAI Guardrails scores 69.5 (B) on agent readiness against LlamaFirewall's 50.8 (D), and leads in every scored category.",
    "b": {
      "slug": "openai-guardrails",
      "name": "OpenAI Guardrails",
      "vendor": "OpenAI",
      "vendorUrl": "https://openai.com",
      "kind": "framework",
      "category": "guardrails",
      "summary": "OpenAI's open-source Python library that wraps the OpenAI client and runs configured checks on inputs, outputs and tool calls, including moderation, jailbreak, prompt injection, personal data, URL and off-topic checks. It is labelled a preview.",
      "url": "https://www.anchorterminal.com/tools/openai-guardrails",
      "markdownUrl": "https://www.anchorterminal.com/tools/openai-guardrails.md",
      "slimMarkdownUrl": "https://www.anchorterminal.com/tools/openai-guardrails.min.md",
      "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/openai-guardrails.json",
      "repo": "https://github.com/openai/openai-guardrails-python",
      "license": "MIT",
      "transports": [
        "http"
      ],
      "packages": [
        {
          "registry": "pypi",
          "name": "openai-guardrails"
        },
        {
          "registry": "npm",
          "name": "@openai/guardrails"
        }
      ],
      "auth": "api-key",
      "authNotes": "No credential of its own. The wrapped client takes an OpenAI API key from `OPENAI_API_KEY` or the constructor, an Azure OpenAI key through `GuardrailsAzureOpenAI`, or the key of any OpenAI-compatible endpoint set with `base_url`, such as a local Ollama server (https://openai.github.io/openai-guardrails-python/quickstart/).",
      "pricing": "free",
      "pricingNotes": "Free under the MIT licence, with no hosted or paid edition and no account of its own. The README states that Guardrails calls paid OpenAI APIs. Each LLM-based check is one extra model call billed at OpenAI's rates, the moderation check is documented as no cost, and the keyword, URL, secret key and personal data checks run locally (https://github.com/openai/openai-guardrails-python).",
      "priceSummary": "Free · OSS",
      "where": "library",
      "x402": {
        "level": "no",
        "evidence": "No x402, MPP or L402 in the README or docs (checked 2026-10-08).",
        "endpoints": []
      },
      "toolCount": null,
      "popularity": {
        "githubStars": 259,
        "npmWeekly": 18502,
        "pypiWeekly": 104530,
        "asOf": "2026-10-08"
      },
      "docsUrl": "https://openai.github.io/openai-guardrails-python/",
      "capabilities": [
        "guard.injection",
        "guard.pii",
        "guard.moderation",
        "guard.policy",
        "guard.self-host"
      ],
      "tags": [
        "official",
        "framework",
        "open-source",
        "self-hosted",
        "local",
        "python",
        "typescript",
        "free",
        "preview",
        "openai-compatible"
      ],
      "lastRelease": "2026-09-10",
      "graded": true,
      "anchor": {
        "graded": true,
        "score": 69.5,
        "grade": "B",
        "agentReady": false,
        "rank": 175,
        "ranked": true,
        "rankOf": 842,
        "categoryRank": 4,
        "methodology": "0.4",
        "run": "2026-10-01",
        "scores": {
          "ergonomics": 73,
          "maintenance": 89,
          "payments": 60,
          "reliability": 73,
          "schema": 66,
          "security": 59,
          "transparency": 76
        },
        "pending": [
          "performance",
          "tasks"
        ],
        "assessment": {
          "confidence": "medium",
          "date": "2026-10-08"
        },
        "negative": 0,
        "verdict": "MIT-licensed wrapper that adds twelve configurable checks to OpenAI client calls from one JSON file, with tool-level injection checks for the Agents SDK. The README labels it a preview at version 0.3.3, and by default a check that fails to run is reported as passed unless `raise_guardrail_errors=True` is set.",
        "bestFor": "Teams already on the OpenAI client or Agents SDK that want several checks from one config file with little code.",
        "strengths": [
          "MIT licence, source on GitHub, and three PyPI releases in the 90 days to 8 October 2026 (0.3.0, 0.3.2, 0.3.3)",
          "Twelve built-in checks set in one versioned JSON file across pre-flight, input and output stages",
          "`GuardrailAgent` runs the prompt injection check before and after every tool call in the OpenAI Agents SDK",
          "CI runs ruff, mypy, pyright and tests on Python 3.11 to 3.14, with CodeQL, Dependabot and SHA-pinned actions",
          "The jailbreak page publishes ROC AUC, precision, recall and latency per model on a 4,000-conversation sample"
        ],
        "weaknesses": [
          "By default a check that fails to run returns `tripwire_triggered=False`, so the request continues. Strict mode is opt-in",
          "The README titles the package a preview, the version is 0.3.3, and no release was published between 15 December 2025 and 21 July 2026",
          "With `stream=True` the output checks run alongside the stream, and the docs say violating content may appear briefly",
          "The docs' own table gives the default jailbreak model, `gpt-4.1-mini`, a recall of 0.000 at a 1 per cent false positive rate",
          "LLM-based checks add a billed model call each. The docs list a median of 1,538 ms for `gpt-4.1-mini` on the jailbreak check",
          "Pull requests from non-collaborators are not accepted, and CHANGELOG.md starts at 0.3.3"
        ],
        "agentNotes": [
          "Pass `raise_guardrail_errors=True` to the client. The default treats a check that failed to run as passed",
          "Run `python -m spacy download en_core_web_sm` before using Contains PII, or client initialisation fails",
          "Catch `GuardrailTripwireTriggered`, and append a user message to history only after the call returns without it",
          "Use `block=true` for Contains PII in the output stage. Masking works only in the pre-flight stage",
          "Keep `stream=False` where output must be checked before it is shown, and budget one extra model call per LLM-based check"
        ],
        "metrics": {
          "kind": "local",
          "measured": false
        },
        "reviewCount": 0,
        "avgRating": 0,
        "history": [
          {
            "basis": "public evidence",
            "confidence": "medium",
            "grade": "B",
            "methodology": "0.4",
            "pending": [
              "performance",
              "tasks"
            ],
            "run": "2026-10-01",
            "runLabel": "October 2026 research run",
            "score": 69.5
          }
        ],
        "editorialScores": {
          "ergonomics": 73,
          "maintenance": 89,
          "payments": 60,
          "reliability": 73,
          "schema": 66,
          "security": 59,
          "transparency": 65
        },
        "provenanceScore": 87
      },
      "connect": {
        "install": "pip install openai-guardrails\npython -m spacy download en_core_web_sm   # only for Contains PII"
      },
      "letme": {
        "capability": "https://letme.dev/guard.injection",
        "tool": "https://letme.dev/openai-guardrails"
      },
      "sameCompany": [
        "openai-api",
        "openai-embeddings",
        "openai-moderation",
        "openai-image-api",
        "openai-sora",
        "openai-agents-sdk",
        "openai-decisions-api",
        "openai-codex"
      ],
      "area": "models",
      "provenance": {
        "legalEntity": "OpenAI (as named in the LICENSE copyright line and the PyPI author field)",
        "domain": "openai.com",
        "domainRegistered": "2007-01-19",
        "domainNote": "A library, not a service. The code is on github.com under the openai organisation, the docs on openai.github.io and the configuration wizard on guardrails.openai.com.",
        "endpointOnVendorDomain": null,
        "terms": "",
        "privacy": "",
        "statusPage": "",
        "changelog": "https://github.com/openai/openai-guardrails-python/blob/main/CHANGELOG.md",
        "securityTxt": "valid",
        "checked": "2026-10-08",
        "notes": [
          "The library is governed by the MIT licence in the repository. The model and moderation calls it makes are OpenAI API calls on the user's own key, under OpenAI's API terms.",
          "https://openai.com/policies/services-agreement/ and https://openai.com/policies/privacy-policy/ answered HTTP 403 to us on 8 October 2026, so the terms and privacy fields are left out as unread.",
          "https://openai.com/.well-known/security.txt is PGP-signed and lists a Bugcrowd contact, a disclosure address and a policy link. It has no Expires line. The copy at cdn.openai.com/security.txt that SECURITY.md links carries an Expires date of 17 January 2024.",
          "No status page applies to the library. The OpenAI API it calls has one at https://status.openai.com.",
          "RDAP gives 19 January 2007 as the registration date of openai.com. The repository was created on 9 April 2025 and the first PyPI release is dated 6 October 2025."
        ],
        "score": 87
      },
      "pageJsonUrl": "https://www.anchorterminal.com/tools/openai-guardrails.json"
    },
    "facts": [
      {
        "a": "Agent framework",
        "b": "Agent framework",
        "name": "Kind"
      },
      {
        "a": "Meta",
        "b": "OpenAI",
        "name": "Vendor"
      },
      {
        "a": "no (local only)",
        "b": "no (local only)",
        "name": "Hosted endpoint"
      },
      {
        "a": "",
        "b": "HTTP",
        "name": "Transports"
      },
      {
        "a": "None",
        "b": "API key",
        "name": "Auth"
      },
      {
        "a": "Free",
        "b": "Free",
        "name": "Pricing"
      },
      {
        "a": "no",
        "b": "no",
        "name": "x402"
      },
      {
        "a": "MIT (library). The Prompt Guard 2 weights it downloads are under the Llama 4 Community Licence",
        "b": "MIT",
        "name": "Licence"
      },
      {
        "a": "no",
        "b": "no",
        "name": "Read-only variant documented"
      },
      {
        "a": "no",
        "b": "no",
        "name": "llms.txt"
      },
      {
        "a": "2025-05-29",
        "b": "2026-09-10",
        "name": "Last release"
      },
      {
        "a": "no document linked",
        "b": "no document linked",
        "name": "Terms last updated"
      },
      {
        "a": "no document linked",
        "b": "no document linked",
        "name": "Privacy policy last updated"
      },
      {
        "a": "",
        "b": "",
        "name": "Customer content may train models"
      },
      {
        "a": "",
        "b": "",
        "name": "Terms restrict automated access"
      },
      {
        "a": "",
        "b": "",
        "name": "Terms restrict benchmarking"
      },
      {
        "a": "",
        "b": "",
        "name": "Terms or service can change without notice"
      },
      {
        "a": "",
        "b": "",
        "name": "Arbitration or class-action waiver"
      },
      {
        "a": "4.4k stars, 1k PyPI/wk",
        "b": "259 stars, 19k npm/wk, 105k PyPI/wk",
        "name": "Popularity"
      }
    ],
    "faq": [
      {
        "answer": "OpenAI Guardrails scores 69.5 (B) on agent readiness against LlamaFirewall's 50.8 (D), and leads in every scored category.",
        "question": "Which is better for AI agents, LlamaFirewall or OpenAI Guardrails?"
      },
      {
        "answer": "Yes. LlamaFirewall is open source (MIT (library). The Prompt Guard 2 weights it downloads are under the Llama 4 Community Licence). OpenAI Guardrails is open source (MIT).",
        "question": "Are LlamaFirewall and OpenAI Guardrails open source?"
      }
    ],
    "goodFor": [
      {
        "aheadOn": null,
        "also": [
          "No key needed to call it"
        ],
        "goodFor": "A Python agent team that wants injection, hidden-character and generated-code checks in process, is willing to pin dependencies or install from main, and can get the gated weights.",
        "slug": "llamafirewall",
        "watchFor": "No PyPI release since 1.0.3 on 29 May 2025, and no changelog, tags or deprecation notes were found"
      },
      {
        "aheadOn": [
          "Reliability, 73 against 53",
          "Schema \u0026 documentation, 66 against 49",
          "Agent ergonomics, 73 against 60",
          "Payments \u0026 pricing, 60 against 50",
          "Maintenance \u0026 community, 89 against 15",
          "Transparency \u0026 trust, 76 against 58"
        ],
        "also": null,
        "goodFor": "Teams already on the OpenAI client or Agents SDK that want several checks from one config file with little code.",
        "slug": "openai-guardrails",
        "watchFor": "By default a check that fails to run returns `tripwire_triggered=False`, so the request continues. Strict mode is opt-in"
      }
    ],
    "job": {
      "capability": "guard.injection",
      "name": "Guard injection"
    },
    "others": [
      {
        "json": "https://www.anchorterminal.com/compare/amazon-bedrock-guardrails-vs-llamafirewall.json",
        "title": "Amazon Bedrock Guardrails vs LlamaFirewall",
        "url": "https://www.anchorterminal.com/compare/amazon-bedrock-guardrails-vs-llamafirewall"
      },
      {
        "json": "https://www.anchorterminal.com/compare/amazon-bedrock-guardrails-vs-openai-guardrails.json",
        "title": "Amazon Bedrock Guardrails vs OpenAI Guardrails",
        "url": "https://www.anchorterminal.com/compare/amazon-bedrock-guardrails-vs-openai-guardrails"
      },
      {
        "json": "https://www.anchorterminal.com/compare/azure-ai-content-safety-vs-llamafirewall.json",
        "title": "Azure AI Content Safety (Prompt Shields) vs LlamaFirewall",
        "url": "https://www.anchorterminal.com/compare/azure-ai-content-safety-vs-llamafirewall"
      },
      {
        "json": "https://www.anchorterminal.com/compare/azure-ai-content-safety-vs-openai-guardrails.json",
        "title": "Azure AI Content Safety (Prompt Shields) vs OpenAI Guardrails",
        "url": "https://www.anchorterminal.com/compare/azure-ai-content-safety-vs-openai-guardrails"
      },
      {
        "json": "https://www.anchorterminal.com/compare/cisco-ai-defense-inspection-vs-llamafirewall.json",
        "title": "Cisco AI Defense Inspection API vs LlamaFirewall",
        "url": "https://www.anchorterminal.com/compare/cisco-ai-defense-inspection-vs-llamafirewall"
      },
      {
        "json": "https://www.anchorterminal.com/compare/cisco-ai-defense-inspection-vs-openai-guardrails.json",
        "title": "Cisco AI Defense Inspection API vs OpenAI Guardrails",
        "url": "https://www.anchorterminal.com/compare/cisco-ai-defense-inspection-vs-openai-guardrails"
      },
      {
        "json": "https://www.anchorterminal.com/compare/google-model-armor-vs-llamafirewall.json",
        "title": "Google Cloud Model Armor vs LlamaFirewall",
        "url": "https://www.anchorterminal.com/compare/google-model-armor-vs-llamafirewall"
      },
      {
        "json": "https://www.anchorterminal.com/compare/google-model-armor-vs-openai-guardrails.json",
        "title": "Google Cloud Model Armor vs OpenAI Guardrails",
        "url": "https://www.anchorterminal.com/compare/google-model-armor-vs-openai-guardrails"
      },
      {
        "json": "https://www.anchorterminal.com/compare/granite-guardian-vs-llamafirewall.json",
        "title": "Granite Guardian vs LlamaFirewall",
        "url": "https://www.anchorterminal.com/compare/granite-guardian-vs-llamafirewall"
      },
      {
        "json": "https://www.anchorterminal.com/compare/guardrails-ai-vs-llamafirewall.json",
        "title": "Guardrails AI vs LlamaFirewall",
        "url": "https://www.anchorterminal.com/compare/guardrails-ai-vs-llamafirewall"
      },
      {
        "json": "https://www.anchorterminal.com/compare/guardrails-ai-vs-openai-guardrails.json",
        "title": "Guardrails AI vs OpenAI Guardrails",
        "url": "https://www.anchorterminal.com/compare/guardrails-ai-vs-openai-guardrails"
      },
      {
        "json": "https://www.anchorterminal.com/compare/lakera-guard-vs-llamafirewall.json",
        "title": "Lakera Guard (Check Point AI Guardrails) vs LlamaFirewall",
        "url": "https://www.anchorterminal.com/compare/lakera-guard-vs-llamafirewall"
      },
      {
        "json": "https://www.anchorterminal.com/compare/lakera-guard-vs-openai-guardrails.json",
        "title": "Lakera Guard (Check Point AI Guardrails) vs OpenAI Guardrails",
        "url": "https://www.anchorterminal.com/compare/lakera-guard-vs-openai-guardrails"
      },
      {
        "json": "https://www.anchorterminal.com/compare/llamafirewall-vs-nemo-guardrails.json",
        "title": "LlamaFirewall vs NVIDIA NeMo Guardrails",
        "url": "https://www.anchorterminal.com/compare/llamafirewall-vs-nemo-guardrails"
      },
      {
        "json": "https://www.anchorterminal.com/compare/llamafirewall-vs-prisma-airs.json",
        "title": "LlamaFirewall vs Prisma AIRS AI Runtime Security API",
        "url": "https://www.anchorterminal.com/compare/llamafirewall-vs-prisma-airs"
      },
      {
        "json": "https://www.anchorterminal.com/compare/nemo-guardrails-vs-openai-guardrails.json",
        "title": "NVIDIA NeMo Guardrails vs OpenAI Guardrails",
        "url": "https://www.anchorterminal.com/compare/nemo-guardrails-vs-openai-guardrails"
      },
      {
        "json": "https://www.anchorterminal.com/compare/openai-guardrails-vs-prisma-airs.json",
        "title": "OpenAI Guardrails vs Prisma AIRS AI Runtime Security API",
        "url": "https://www.anchorterminal.com/compare/openai-guardrails-vs-prisma-airs"
      },
      {
        "json": "https://www.anchorterminal.com/compare/granite-guardian-vs-openai-guardrails.json",
        "title": "Granite Guardian vs OpenAI Guardrails",
        "url": "https://www.anchorterminal.com/compare/granite-guardian-vs-openai-guardrails"
      },
      {
        "json": "https://www.anchorterminal.com/compare/llama-guard-vs-openai-guardrails.json",
        "title": "Llama Guard 4 vs OpenAI Guardrails",
        "url": "https://www.anchorterminal.com/compare/llama-guard-vs-openai-guardrails"
      },
      {
        "json": "https://www.anchorterminal.com/compare/mistral-moderation-vs-openai-guardrails.json",
        "title": "Mistral Moderation API vs OpenAI Guardrails",
        "url": "https://www.anchorterminal.com/compare/mistral-moderation-vs-openai-guardrails"
      },
      {
        "json": "https://www.anchorterminal.com/compare/openai-guardrails-vs-openai-moderation.json",
        "title": "OpenAI Guardrails vs OpenAI Moderation API",
        "url": "https://www.anchorterminal.com/compare/openai-guardrails-vs-openai-moderation"
      },
      {
        "json": "https://www.anchorterminal.com/compare/llamafirewall-vs-microsoft-presidio.json",
        "title": "LlamaFirewall vs Presidio",
        "url": "https://www.anchorterminal.com/compare/llamafirewall-vs-microsoft-presidio"
      },
      {
        "json": "https://www.anchorterminal.com/compare/llamafirewall-vs-mistral-moderation.json",
        "title": "LlamaFirewall vs Mistral Moderation API",
        "url": "https://www.anchorterminal.com/compare/llamafirewall-vs-mistral-moderation"
      },
      {
        "json": "https://www.anchorterminal.com/compare/microsoft-presidio-vs-openai-guardrails.json",
        "title": "Presidio vs OpenAI Guardrails",
        "url": "https://www.anchorterminal.com/compare/microsoft-presidio-vs-openai-guardrails"
      },
      {
        "json": "https://www.anchorterminal.com/compare/llama-guard-vs-llamafirewall.json",
        "title": "Llama Guard 4 vs LlamaFirewall",
        "url": "https://www.anchorterminal.com/compare/llama-guard-vs-llamafirewall"
      }
    ],
    "scores": [
      {
        "by": 20,
        "edge": "openai-guardrails",
        "key": "reliability",
        "llamafirewall": 53,
        "name": "Reliability",
        "openai-guardrails": 73,
        "weight": 16
      },
      {
        "key": "performance",
        "name": "Performance",
        "pending": true,
        "weight": 10
      },
      {
        "by": 17,
        "edge": "openai-guardrails",
        "key": "schema",
        "llamafirewall": 49,
        "name": "Schema \u0026 documentation",
        "openai-guardrails": 66,
        "weight": 13
      },
      {
        "by": 13,
        "edge": "openai-guardrails",
        "key": "ergonomics",
        "llamafirewall": 60,
        "name": "Agent ergonomics",
        "openai-guardrails": 73,
        "weight": 13
      },
      {
        "by": 3,
        "edge": "openai-guardrails",
        "key": "security",
        "llamafirewall": 56,
        "name": "Security \u0026 auth",
        "openai-guardrails": 59,
        "weight": 14
      },
      {
        "by": 10,
        "edge": "openai-guardrails",
        "key": "payments",
        "llamafirewall": 50,
        "name": "Payments \u0026 pricing",
        "openai-guardrails": 60,
        "weight": 10
      },
      {
        "key": "tasks",
        "name": "Task success",
        "pending": true,
        "weight": 10
      },
      {
        "by": 74,
        "edge": "openai-guardrails",
        "key": "maintenance",
        "llamafirewall": 15,
        "name": "Maintenance \u0026 community",
        "openai-guardrails": 89,
        "weight": 7
      },
      {
        "by": 18,
        "edge": "openai-guardrails",
        "key": "transparency",
        "llamafirewall": 58,
        "name": "Transparency \u0026 trust",
        "openai-guardrails": 76,
        "weight": 7
      }
    ],
    "summary": "OpenAI Guardrails scores 69.5 (B) on agent readiness against LlamaFirewall's 50.8 (D), and leads in every scored category. Both do guard injection.",
    "verdicts": {
      "llamafirewall": "One `scan()` call runs several checks on the owner's machine and returns a short typed result. The last PyPI release is 1.0.3 from 29 May 2025, and its Prompt Guard loader imports a `huggingface_hub` class that current versions no longer export, so a fresh install needs older pins. The classifier weights also need Meta's manual approval.",
      "openai-guardrails": "MIT-licensed wrapper that adds twelve configurable checks to OpenAI client calls from one JSON file, with tool-level injection checks for the Agents SDK. The README labels it a preview at version 0.3.3, and by default a check that fails to run is reported as passed unless `raise_guardrail_errors=True` is set."
    }
  },
  "kind": "anchor.page",
  "links": {
    "api": "https://www.anchorterminal.com/api/v1/index.json",
    "html": "https://www.anchorterminal.com/compare/llamafirewall-vs-openai-guardrails",
    "json": "https://www.anchorterminal.com/compare/llamafirewall-vs-openai-guardrails.json",
    "llms": "https://www.anchorterminal.com/llms.txt",
    "markdown": "https://www.anchorterminal.com/compare/llamafirewall-vs-openai-guardrails.md",
    "slim": "https://www.anchorterminal.com/compare/llamafirewall-vs-openai-guardrails.min.md"
  },
  "markdown": "OpenAI Guardrails scores 69.5 (B) on agent readiness against LlamaFirewall's 50.8 (D), and leads in every scored category. Both do guard injection.\n\n- LlamaFirewall: grade D, 50.8/100, rank #682 of 842. Markdown https://www.anchorterminal.com/tools/llamafirewall.md · JSON https://www.anchorterminal.com/api/v1/tools/llamafirewall.json\n- OpenAI Guardrails: grade B, 69.5/100, rank #175 of 842. Markdown https://www.anchorterminal.com/tools/openai-guardrails.md · JSON https://www.anchorterminal.com/api/v1/tools/openai-guardrails.json\n\n## Which one, for what\n\n### LlamaFirewall (D)\n\nGood for: A Python agent team that wants injection, hidden-character and generated-code checks in process, is willing to pin dependencies or install from main, and can get the gated weights.\n\nAlso in its favour:\n- No key needed to call it\n\nWatch for: No PyPI release since 1.0.3 on 29 May 2025, and no changelog, tags or deprecation notes were found\n\n### OpenAI Guardrails (B)\n\nGood for: Teams already on the OpenAI client or Agents SDK that want several checks from one config file with little code.\n\nAhead on:\n- Reliability, 73 against 53\n- Schema \u0026 documentation, 66 against 49\n- Agent ergonomics, 73 against 60\n- Payments \u0026 pricing, 60 against 50\n- Maintenance \u0026 community, 89 against 15\n- Transparency \u0026 trust, 76 against 58\n\nWatch for: By default a check that fails to run returns `tripwire_triggered=False`, so the request continues. Strict mode is opt-in\n\n\n## Score by category\n\n| Category | Weight | LlamaFirewall | OpenAI Guardrails | Edge |\n| --- | --- | --- | --- | --- |\n| Reliability | 16% (20 this run) | 53 | 73 | OpenAI Guardrails +20 |\n| Performance | 10%, pending | pending | pending | not scored in this run |\n| Schema \u0026 documentation | 13% (16.2 this run) | 49 | 66 | OpenAI Guardrails +17 |\n| Agent ergonomics | 13% (16.2 this run) | 60 | 73 | OpenAI Guardrails +13 |\n| Security \u0026 auth | 14% (17.5 this run) | 56 | 59 | OpenAI Guardrails +3 |\n| Payments \u0026 pricing | 10% (12.5 this run) | 50 | 60 | OpenAI Guardrails +10 |\n| Task success | 10%, pending | pending | pending | not scored in this run |\n| Maintenance \u0026 community | 7% (8.8 this run) | 15 | 89 | OpenAI Guardrails +74 |\n| Transparency \u0026 trust | 7% (8.8 this run) | 58 | 76 | OpenAI Guardrails +18 |\n| Negative events | ≤15 | 0 | 0 | |\n| **Total** | | **50.8 · D** | **69.5 · B** | |\n\n## Facts side by side\n\n| Fact | LlamaFirewall | OpenAI Guardrails |\n| --- | --- | --- |\n| Kind | Agent framework | Agent framework |\n| Vendor | Meta | OpenAI |\n| Hosted endpoint | no (local only) | no (local only) |\n| Transports |  | HTTP |\n| Auth | None | API key |\n| Pricing | Free | Free |\n| x402 | no | no |\n| Licence | MIT (library). The Prompt Guard 2 weights it downloads are under the Llama 4 Community Licence | MIT |\n| Read-only variant documented | no | no |\n| llms.txt | no | no |\n| Last release | 2025-05-29 | 2026-09-10 |\n| Terms last updated | no document linked | no document linked |\n| Privacy policy last updated | no document linked | no document linked |\n| Customer content may train models |  |  |\n| Terms restrict automated access |  |  |\n| Terms restrict benchmarking |  |  |\n| Terms or service can change without notice |  |  |\n| Arbitration or class-action waiver |  |  |\n| Popularity | 4.4k stars, 1k PyPI/wk | 259 stars, 19k npm/wk, 105k PyPI/wk |\n\n## Verdicts\n\n**LlamaFirewall.** One `scan()` call runs several checks on the owner's machine and returns a short typed result. The last PyPI release is 1.0.3 from 29 May 2025, and its Prompt Guard loader imports a `huggingface_hub` class that current versions no longer export, so a fresh install needs older pins. The classifier weights also need Meta's manual approval.\n\n**OpenAI Guardrails.** MIT-licensed wrapper that adds twelve configurable checks to OpenAI client calls from one JSON file, with tool-level injection checks for the Agents SDK. The README labels it a preview at version 0.3.3, and by default a check that fails to run is reported as passed unless `raise_guardrail_errors=True` is set.\n\n## Before you call either\n\n### LlamaFirewall\n\n1. Pin `huggingface_hub` below 1.0 and a matching `transformers` 4.x before importing the Prompt Guard scanner from the 1.0.3 wheel, or install from main\n2. Get access to `meta-llama/Llama-Prompt-Guard-2-86M` and set a Hugging Face token first. Without one the loader prompts for a login and a headless run stalls\n3. Call `scan_async` inside a running event loop. `scan()` wraps `asyncio.run` and fails there. `scan_async` returns score 0.0 and reason `default` on every allow\n4. Split text longer than 512 tokens yourself before a Prompt Guard scan. The library truncates and does not chunk\n5. Do not feed a block `reason` back to the model. The Prompt Guard reason quotes the full scanned text, and the hidden ASCII reason decodes the hidden payload\n\n### OpenAI Guardrails\n\n1. Pass `raise_guardrail_errors=True` to the client. The default treats a check that failed to run as passed\n2. Run `python -m spacy download en_core_web_sm` before using Contains PII, or client initialisation fails\n3. Catch `GuardrailTripwireTriggered`, and append a user message to history only after the call returns without it\n4. Use `block=true` for Contains PII in the output stage. Masking works only in the pre-flight stage\n5. Keep `stream=False` where output must be checked before it is shown, and budget one extra model call per LLM-based check\n\n## Questions\n\n### Which is better for AI agents, LlamaFirewall or OpenAI Guardrails?\n\nOpenAI Guardrails scores 69.5 (B) on agent readiness against LlamaFirewall's 50.8 (D), and leads in every scored category.\n\n### Are LlamaFirewall and OpenAI Guardrails open source?\n\nYes. LlamaFirewall is open source (MIT (library). The Prompt Guard 2 weights it downloads are under the Llama 4 Community Licence). OpenAI Guardrails is open source (MIT).\n\n\n## For agents\n\n- This comparison as JSON: https://www.anchorterminal.com/compare/llamafirewall-vs-openai-guardrails.json, and with the fewest tokens: https://www.anchorterminal.com/compare/llamafirewall-vs-openai-guardrails.min.md\n- Over MCP at https://www.anchorterminal.com/mcp (no key): `compare_tools {\"a\": \"llamafirewall\", \"b\": \"openai-guardrails\"}`. From a terminal: `anchor compare llamafirewall openai-guardrails`\n- Each listing in full: https://www.anchorterminal.com/api/v1/tools/llamafirewall.json and https://www.anchorterminal.com/api/v1/tools/openai-guardrails.json\n\n## Other comparisons with LlamaFirewall or OpenAI Guardrails\n\n- [Amazon Bedrock Guardrails vs LlamaFirewall](https://www.anchorterminal.com/compare/amazon-bedrock-guardrails-vs-llamafirewall.md)\n- [Amazon Bedrock Guardrails vs OpenAI Guardrails](https://www.anchorterminal.com/compare/amazon-bedrock-guardrails-vs-openai-guardrails.md)\n- [Azure AI Content Safety (Prompt Shields) vs LlamaFirewall](https://www.anchorterminal.com/compare/azure-ai-content-safety-vs-llamafirewall.md)\n- [Azure AI Content Safety (Prompt Shields) vs OpenAI Guardrails](https://www.anchorterminal.com/compare/azure-ai-content-safety-vs-openai-guardrails.md)\n- [Cisco AI Defense Inspection API vs LlamaFirewall](https://www.anchorterminal.com/compare/cisco-ai-defense-inspection-vs-llamafirewall.md)\n- [Cisco AI Defense Inspection API vs OpenAI Guardrails](https://www.anchorterminal.com/compare/cisco-ai-defense-inspection-vs-openai-guardrails.md)\n- [Google Cloud Model Armor vs LlamaFirewall](https://www.anchorterminal.com/compare/google-model-armor-vs-llamafirewall.md)\n- [Google Cloud Model Armor vs OpenAI Guardrails](https://www.anchorterminal.com/compare/google-model-armor-vs-openai-guardrails.md)\n- [Granite Guardian vs LlamaFirewall](https://www.anchorterminal.com/compare/granite-guardian-vs-llamafirewall.md)\n- [Guardrails AI vs LlamaFirewall](https://www.anchorterminal.com/compare/guardrails-ai-vs-llamafirewall.md)\n- [Guardrails AI vs OpenAI Guardrails](https://www.anchorterminal.com/compare/guardrails-ai-vs-openai-guardrails.md)\n- [Lakera Guard (Check Point AI Guardrails) vs LlamaFirewall](https://www.anchorterminal.com/compare/lakera-guard-vs-llamafirewall.md)\n- [Lakera Guard (Check Point AI Guardrails) vs OpenAI Guardrails](https://www.anchorterminal.com/compare/lakera-guard-vs-openai-guardrails.md)\n- [LlamaFirewall vs NVIDIA NeMo Guardrails](https://www.anchorterminal.com/compare/llamafirewall-vs-nemo-guardrails.md)\n- [LlamaFirewall vs Prisma AIRS AI Runtime Security API](https://www.anchorterminal.com/compare/llamafirewall-vs-prisma-airs.md)\n- [NVIDIA NeMo Guardrails vs OpenAI Guardrails](https://www.anchorterminal.com/compare/nemo-guardrails-vs-openai-guardrails.md)\n- [OpenAI Guardrails vs Prisma AIRS AI Runtime Security API](https://www.anchorterminal.com/compare/openai-guardrails-vs-prisma-airs.md)\n- [Granite Guardian vs OpenAI Guardrails](https://www.anchorterminal.com/compare/granite-guardian-vs-openai-guardrails.md)\n- [Llama Guard 4 vs OpenAI Guardrails](https://www.anchorterminal.com/compare/llama-guard-vs-openai-guardrails.md)\n- [Mistral Moderation API vs OpenAI Guardrails](https://www.anchorterminal.com/compare/mistral-moderation-vs-openai-guardrails.md)\n- [OpenAI Guardrails vs OpenAI Moderation API](https://www.anchorterminal.com/compare/openai-guardrails-vs-openai-moderation.md)\n- [LlamaFirewall vs Presidio](https://www.anchorterminal.com/compare/llamafirewall-vs-microsoft-presidio.md)\n- [LlamaFirewall vs Mistral Moderation API](https://www.anchorterminal.com/compare/llamafirewall-vs-mistral-moderation.md)\n- [Presidio vs OpenAI Guardrails](https://www.anchorterminal.com/compare/microsoft-presidio-vs-openai-guardrails.md)\n- [Llama Guard 4 vs LlamaFirewall](https://www.anchorterminal.com/compare/llama-guard-vs-llamafirewall.md)\n",
  "meta": {
    "attribution": "Anchor Terminal (https://www.anchorterminal.com)",
    "docs": "https://www.anchorterminal.com/docs/",
    "generatedAt": "2026-10-09",
    "license": "CC-BY-4.0",
    "method": "https://www.anchorterminal.com/benchmark/",
    "methodology": "0.4",
    "openapi": "https://www.anchorterminal.com/openapi.json",
    "preview": false,
    "run": "2026-10-01",
    "runLabel": "October 2026 research run"
  },
  "page": {
    "breadcrumbs": [
      {
        "name": "Home",
        "url": "https://www.anchorterminal.com/"
      },
      {
        "name": "Compare",
        "url": "https://www.anchorterminal.com/compare/"
      },
      {
        "name": "LlamaFirewall vs OpenAI Guardrails",
        "url": ""
      }
    ],
    "description": "OpenAI Guardrails scores 69.5 (B) on agent readiness against LlamaFirewall's 50.8 (D), and leads in every scored category. Both do guard injection. Category scores, facts, verdicts and agent notes side by side.",
    "facts": [
      "LlamaFirewall D 50.8",
      "OpenAI Guardrails B 69.5",
      "scores"
    ],
    "h1": "LlamaFirewall vs OpenAI Guardrails",
    "image": "https://www.anchorterminal.com/assets/og/compare-llamafirewall-vs-openai-guardrails.png",
    "path": "/compare/llamafirewall-vs-openai-guardrails",
    "published": "2026-10-01",
    "section": "tools",
    "title": "LlamaFirewall vs OpenAI Guardrails for AI agents, D 50.8 vs B 69.5",
    "toc": null,
    "updated": "2026-10-09",
    "url": "https://www.anchorterminal.com/compare/llamafirewall-vs-openai-guardrails"
  },
  "tokens": {
    "markdown": 2600,
    "slim": 530
  },
  "version": 1
}
