{
  "data": {
    "a": {
      "slug": "granite-guardian",
      "name": "Granite Guardian",
      "vendor": "IBM",
      "vendorUrl": "https://www.ibm.com/granite",
      "kind": "model",
      "category": "guardrails",
      "summary": "Granite Guardian is IBM's family of open-weight judge models. The current 8-billion-parameter release answers yes or no on whether a prompt, response, retrieved context or function call meets a built-in or custom criterion, and the owner runs it.",
      "url": "https://www.anchorterminal.com/tools/granite-guardian",
      "markdownUrl": "https://www.anchorterminal.com/tools/granite-guardian.md",
      "slimMarkdownUrl": "https://www.anchorterminal.com/tools/granite-guardian.min.md",
      "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/granite-guardian.json",
      "repo": "https://github.com/ibm-granite/granite-guardian",
      "license": "Apache 2.0 for the weights and the repository",
      "transports": [
        "http"
      ],
      "packages": [],
      "auth": "none",
      "authNotes": "No account or key is needed to download or run the model. The Hugging Face repository is not gated. A vLLM or Ollama server has whatever authentication the owner adds.",
      "pricing": "free",
      "pricingNotes": "Free to download and run under the Apache 2.0 licence, with the owner's hardware as the cost. IBM's watsonx.ai lists only the earlier `ibm/granite-guardian-3-8b`, marked deprecated, at $0.0002 per 1,000 input or output tokens (checked 2026-10-08). Version 4.1 is not on that list.",
      "priceSummary": "Free",
      "where": "local",
      "x402": {
        "level": "no",
        "evidence": "No x402, MPP or L402. Granite Guardian is a model the owner runs, with no payment route (checked 2026-10-08).",
        "endpoints": []
      },
      "toolCount": null,
      "popularity": {
        "githubStars": 182,
        "npmWeekly": null,
        "pypiWeekly": null,
        "asOf": "2026-10-08"
      },
      "docsUrl": "https://www.ibm.com/granite/docs/models/guardian",
      "capabilities": [
        "guard.moderation",
        "guard.policy",
        "guard.injection",
        "guard.self-host"
      ],
      "tags": [
        "model",
        "open-weights",
        "self-hosted",
        "local",
        "free",
        "apache-2.0",
        "judge",
        "rag",
        "python",
        "ollama"
      ],
      "lastRelease": "2026-04-29",
      "graded": true,
      "anchor": {
        "graded": true,
        "score": 60.1,
        "grade": "C",
        "agentReady": false,
        "rank": 478,
        "ranked": true,
        "rankOf": 842,
        "categoryRank": 10,
        "methodology": "0.4",
        "run": "2026-10-01",
        "scores": {
          "ergonomics": 69,
          "maintenance": 47,
          "payments": 60,
          "reliability": 56,
          "schema": 60,
          "security": 58,
          "transparency": 70
        },
        "pending": [
          "performance",
          "tasks"
        ],
        "assessment": {
          "confidence": "medium",
          "date": "2026-10-08"
        },
        "negative": 0,
        "verdict": "One ungated Apache 2.0 model judges harm, jailbreaks, RAG groundedness, function-call errors and custom criteria, with signed weights and published evaluation code. It is trained and tested on English only, each call checks one criterion, the 4.1 prompt format differs from 3.x, and IBM's watsonx.ai lists only the deprecated 3.0 model.",
        "bestFor": "A team with a GPU that wants one English-language judge for harm, jailbreaks, RAG groundedness, function-call checks and house rules, under a permissive licence with no gate.",
        "strengths": [
          "Weights are ungated on Hugging Face under the Apache 2.0 licence, with IBM's own GGUF builds and an Ollama library entry",
          "Built-in criteria cover harm, social bias, jailbreaking, violence, profanity, sexual content, unethical behaviour, three RAG checks and function-call hallucination",
          "A custom criterion is one natural-language sentence in the prompt, and the answer is `yes` or `no` inside `\u003cscore\u003e` tags",
          "The repository's `evaluation` folder reproduces the card's benchmark figures for versions 3.0 to 4.1",
          "Weights carry a sigstore signature in `model.sig`, and IBM documents how to verify it"
        ],
        "weaknesses": [
          "Trained and tested on English only, per the model card",
          "Each call judges one criterion, so checking several risks takes several calls or a separate LoRA adapter built on the 3.2 model",
          "Version 4.1 moved the criterion into a `\u003cguardian\u003e` block in the last user message, where 3.x cookbooks pass `guardian_config`",
          "The repository has no CI, no tests and no `SECURITY.md`, and an issue asking for one has been open since 9 February 2025",
          "The card's out-of-distribution safety F1 is 0.79 without thinking, below the 0.81 it reports for version 3.3",
          "IBM's watsonx.ai model list has only `ibm/granite-guardian-3-8b`, marked deprecated, so 4.1 has no hosted endpoint from IBM that we found"
        ],
        "agentNotes": [
          "Append the `\u003cguardian\u003e` block as the final user message, with the mode line, `### Criteria:` and `### Scoring Schema:`. Copy the strings from the model card, because no package builds them",
          "Use the no-think instruction for gating and parse `\u003cscore\u003e`. Think mode writes a reasoning trace first, and the card's examples allow up to 2,048 output tokens",
          "Treat `yes` as the criterion being met, which for built-in criteria means the risk is present. Treat a missing `\u003cscore\u003e` tag as a failed check",
          "Pass retrieved text through `documents=` and tool schemas through `available_tools=` in `apply_chat_template`, not inside the message text",
          "Under Ollama, set `num_ctx` in the request options. IBM's docs say the default context is short and long requests are truncated"
        ],
        "metrics": {
          "kind": "local",
          "measured": false
        },
        "reviewCount": 0,
        "avgRating": 0,
        "history": [
          {
            "basis": "public evidence",
            "confidence": "medium",
            "grade": "C",
            "methodology": "0.4",
            "pending": [
              "performance",
              "tasks"
            ],
            "run": "2026-10-01",
            "runLabel": "October 2026 research run",
            "score": 60.1
          }
        ],
        "editorialScores": {
          "ergonomics": 69,
          "maintenance": 47,
          "payments": 60,
          "reliability": 56,
          "schema": 60,
          "security": 58,
          "transparency": 67
        },
        "provenanceScore": 73
      },
      "connect": {
        "install": "pip install transformers torch vllm",
        "http": "curl http://localhost:11434/api/chat \\\n  -d '{\"model\": \"granite4.1-guardian:8b\", \"messages\": [{\"role\": \"user\", \"content\": \"Hello!\"}]}'"
      },
      "letme": {
        "capability": "https://letme.dev/guard.moderation",
        "tool": "https://letme.dev/granite-guardian"
      },
      "area": "models",
      "provenance": {
        "legalEntity": "International Business Machines Corporation",
        "domain": "ibm.com",
        "domainRegistered": "1986-03-19",
        "endpointOnVendorDomain": null,
        "terms": "",
        "privacy": "",
        "statusPage": "",
        "changelog": "",
        "securityTxt": "valid",
        "checked": "2026-10-08",
        "notes": [
          "IBM's naming guidance for Granite names International Business Machines Corporation as the developer and trademark owner.",
          "The Apache 2.0 licence in the repository is the document that governs use of the weights, so it is recorded as the terms. The Hugging Face repository declares the same licence in its metadata and has no licence file of its own.",
          "No privacy policy governs the model, because the owner runs it and no input reaches IBM. The privacy field is left out.",
          "www.ibm.com/.well-known/security.txt is present with PSIRT, HackerOne and email contacts and expires on 8 November 2026.",
          "RDAP gives 19 March 1986 as the registration date of ibm.com.",
          "IBM hosts no endpoint for version 4.1 that we found, so there is no status page. The repository has no changelog file. Dated notes sit in the README under What's New.",
          "Weights are on huggingface.co under the ibm-granite organisation and the code is at github.com/ibm-granite/granite-guardian, both off ibm.com."
        ],
        "score": 73
      },
      "pageJsonUrl": "https://www.anchorterminal.com/tools/granite-guardian.json"
    },
    "answer": "OpenAI Guardrails scores 69.5 (B) on agent readiness against Granite Guardian's 60.1 (C), and leads in 6 of 7 scored categories.",
    "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": "Model API",
        "b": "Agent framework",
        "name": "Kind"
      },
      {
        "a": "IBM",
        "b": "OpenAI",
        "name": "Vendor"
      },
      {
        "a": "no (local only)",
        "b": "no (local only)",
        "name": "Hosted endpoint"
      },
      {
        "a": "HTTP",
        "b": "HTTP",
        "name": "Transports"
      },
      {
        "a": "None",
        "b": "API key",
        "name": "Auth"
      },
      {
        "a": "Free",
        "b": "Free",
        "name": "Pricing"
      },
      {
        "a": "no",
        "b": "no",
        "name": "x402"
      },
      {
        "a": "Apache 2.0 for the weights and the repository",
        "b": "MIT",
        "name": "Licence"
      },
      {
        "a": "no",
        "b": "no",
        "name": "Read-only variant documented"
      },
      {
        "a": "no",
        "b": "no",
        "name": "llms.txt"
      },
      {
        "a": "2026-04-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": "182 stars",
        "b": "259 stars, 19k npm/wk, 105k PyPI/wk",
        "name": "Popularity"
      }
    ],
    "faq": [
      {
        "answer": "OpenAI Guardrails scores 69.5 (B) on agent readiness against Granite Guardian's 60.1 (C), and leads in 6 of 7 scored categories.",
        "question": "Which is better for AI agents, Granite Guardian or OpenAI Guardrails?"
      },
      {
        "answer": "No hosted endpoint is listed for Granite Guardian. No hosted endpoint is listed for OpenAI Guardrails.",
        "question": "Can an agent call Granite Guardian and OpenAI Guardrails without installing anything?"
      },
      {
        "answer": "No open-source release is listed for Granite Guardian. OpenAI Guardrails is open source (MIT).",
        "question": "Are Granite Guardian and OpenAI Guardrails open source?"
      }
    ],
    "goodFor": [
      {
        "aheadOn": null,
        "also": [
          "No key needed to call it"
        ],
        "goodFor": "A team with a GPU that wants one English-language judge for harm, jailbreaks, RAG groundedness, function-call checks and house rules, under a permissive licence with no gate.",
        "slug": "granite-guardian",
        "watchFor": "Trained and tested on English only, per the model card"
      },
      {
        "aheadOn": [
          "Reliability, 73 against 56",
          "Schema \u0026 documentation, 66 against 60",
          "Maintenance \u0026 community, 89 against 47",
          "Transparency \u0026 trust, 76 against 70"
        ],
        "also": [
          "Open source"
        ],
        "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.moderation",
      "name": "Guard moderation"
    },
    "others": [
      {
        "json": "https://www.anchorterminal.com/compare/amazon-bedrock-guardrails-vs-granite-guardian.json",
        "title": "Amazon Bedrock Guardrails vs Granite Guardian",
        "url": "https://www.anchorterminal.com/compare/amazon-bedrock-guardrails-vs-granite-guardian"
      },
      {
        "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-granite-guardian.json",
        "title": "Azure AI Content Safety (Prompt Shields) vs Granite Guardian",
        "url": "https://www.anchorterminal.com/compare/azure-ai-content-safety-vs-granite-guardian"
      },
      {
        "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-granite-guardian.json",
        "title": "Cisco AI Defense Inspection API vs Granite Guardian",
        "url": "https://www.anchorterminal.com/compare/cisco-ai-defense-inspection-vs-granite-guardian"
      },
      {
        "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-granite-guardian.json",
        "title": "Google Cloud Model Armor vs Granite Guardian",
        "url": "https://www.anchorterminal.com/compare/google-model-armor-vs-granite-guardian"
      },
      {
        "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-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-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-openai-guardrails.json",
        "title": "LlamaFirewall vs OpenAI Guardrails",
        "url": "https://www.anchorterminal.com/compare/llamafirewall-vs-openai-guardrails"
      },
      {
        "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-guardrails-ai.json",
        "title": "Granite Guardian vs Guardrails AI",
        "url": "https://www.anchorterminal.com/compare/granite-guardian-vs-guardrails-ai"
      },
      {
        "json": "https://www.anchorterminal.com/compare/granite-guardian-vs-lakera-guard.json",
        "title": "Granite Guardian vs Lakera Guard (Check Point AI Guardrails)",
        "url": "https://www.anchorterminal.com/compare/granite-guardian-vs-lakera-guard"
      },
      {
        "json": "https://www.anchorterminal.com/compare/granite-guardian-vs-llama-guard.json",
        "title": "Granite Guardian vs Llama Guard 4",
        "url": "https://www.anchorterminal.com/compare/granite-guardian-vs-llama-guard"
      },
      {
        "json": "https://www.anchorterminal.com/compare/granite-guardian-vs-mistral-moderation.json",
        "title": "Granite Guardian vs Mistral Moderation API",
        "url": "https://www.anchorterminal.com/compare/granite-guardian-vs-mistral-moderation"
      },
      {
        "json": "https://www.anchorterminal.com/compare/granite-guardian-vs-nemo-guardrails.json",
        "title": "Granite Guardian vs NVIDIA NeMo Guardrails",
        "url": "https://www.anchorterminal.com/compare/granite-guardian-vs-nemo-guardrails"
      },
      {
        "json": "https://www.anchorterminal.com/compare/granite-guardian-vs-openai-moderation.json",
        "title": "Granite Guardian vs OpenAI Moderation API",
        "url": "https://www.anchorterminal.com/compare/granite-guardian-vs-openai-moderation"
      },
      {
        "json": "https://www.anchorterminal.com/compare/granite-guardian-vs-prisma-airs.json",
        "title": "Granite Guardian vs Prisma AIRS AI Runtime Security API",
        "url": "https://www.anchorterminal.com/compare/granite-guardian-vs-prisma-airs"
      },
      {
        "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/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/granite-guardian-vs-microsoft-presidio.json",
        "title": "Granite Guardian vs Presidio",
        "url": "https://www.anchorterminal.com/compare/granite-guardian-vs-microsoft-presidio"
      }
    ],
    "scores": [
      {
        "by": 17,
        "edge": "openai-guardrails",
        "granite-guardian": 56,
        "key": "reliability",
        "name": "Reliability",
        "openai-guardrails": 73,
        "weight": 16
      },
      {
        "key": "performance",
        "name": "Performance",
        "pending": true,
        "weight": 10
      },
      {
        "by": 6,
        "edge": "openai-guardrails",
        "granite-guardian": 60,
        "key": "schema",
        "name": "Schema \u0026 documentation",
        "openai-guardrails": 66,
        "weight": 13
      },
      {
        "by": 4,
        "edge": "openai-guardrails",
        "granite-guardian": 69,
        "key": "ergonomics",
        "name": "Agent ergonomics",
        "openai-guardrails": 73,
        "weight": 13
      },
      {
        "by": 1,
        "edge": "openai-guardrails",
        "granite-guardian": 58,
        "key": "security",
        "name": "Security \u0026 auth",
        "openai-guardrails": 59,
        "weight": 14
      },
      {
        "by": 0,
        "edge": "",
        "granite-guardian": 60,
        "key": "payments",
        "name": "Payments \u0026 pricing",
        "openai-guardrails": 60,
        "weight": 10
      },
      {
        "key": "tasks",
        "name": "Task success",
        "pending": true,
        "weight": 10
      },
      {
        "by": 42,
        "edge": "openai-guardrails",
        "granite-guardian": 47,
        "key": "maintenance",
        "name": "Maintenance \u0026 community",
        "openai-guardrails": 89,
        "weight": 7
      },
      {
        "by": 6,
        "edge": "openai-guardrails",
        "granite-guardian": 70,
        "key": "transparency",
        "name": "Transparency \u0026 trust",
        "openai-guardrails": 76,
        "weight": 7
      }
    ],
    "summary": "OpenAI Guardrails scores 69.5 (B) on agent readiness against Granite Guardian's 60.1 (C), and leads in 6 of 7 scored categories. Both do guard moderation.",
    "verdicts": {
      "granite-guardian": "One ungated Apache 2.0 model judges harm, jailbreaks, RAG groundedness, function-call errors and custom criteria, with signed weights and published evaluation code. It is trained and tested on English only, each call checks one criterion, the 4.1 prompt format differs from 3.x, and IBM's watsonx.ai lists only the deprecated 3.0 model.",
      "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/granite-guardian-vs-openai-guardrails",
    "json": "https://www.anchorterminal.com/compare/granite-guardian-vs-openai-guardrails.json",
    "llms": "https://www.anchorterminal.com/llms.txt",
    "markdown": "https://www.anchorterminal.com/compare/granite-guardian-vs-openai-guardrails.md",
    "slim": "https://www.anchorterminal.com/compare/granite-guardian-vs-openai-guardrails.min.md"
  },
  "markdown": "OpenAI Guardrails scores 69.5 (B) on agent readiness against Granite Guardian's 60.1 (C), and leads in 6 of 7 scored categories. Both do guard moderation.\n\n- Granite Guardian: grade C, 60.1/100, rank #478 of 842. Markdown https://www.anchorterminal.com/tools/granite-guardian.md · JSON https://www.anchorterminal.com/api/v1/tools/granite-guardian.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### Granite Guardian (C)\n\nGood for: A team with a GPU that wants one English-language judge for harm, jailbreaks, RAG groundedness, function-call checks and house rules, under a permissive licence with no gate.\n\nAlso in its favour:\n- No key needed to call it\n\nWatch for: Trained and tested on English only, per the model card\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 56\n- Schema \u0026 documentation, 66 against 60\n- Maintenance \u0026 community, 89 against 47\n- Transparency \u0026 trust, 76 against 70\n\nAlso in its favour:\n- Open source\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 | Granite Guardian | OpenAI Guardrails | Edge |\n| --- | --- | --- | --- | --- |\n| Reliability | 16% (20 this run) | 56 | 73 | OpenAI Guardrails +17 |\n| Performance | 10%, pending | pending | pending | not scored in this run |\n| Schema \u0026 documentation | 13% (16.2 this run) | 60 | 66 | OpenAI Guardrails +6 |\n| Agent ergonomics | 13% (16.2 this run) | 69 | 73 | OpenAI Guardrails +4 |\n| Security \u0026 auth | 14% (17.5 this run) | 58 | 59 | OpenAI Guardrails +1 |\n| Payments \u0026 pricing | 10% (12.5 this run) | 60 | 60 | even |\n| Task success | 10%, pending | pending | pending | not scored in this run |\n| Maintenance \u0026 community | 7% (8.8 this run) | 47 | 89 | OpenAI Guardrails +42 |\n| Transparency \u0026 trust | 7% (8.8 this run) | 70 | 76 | OpenAI Guardrails +6 |\n| Negative events | ≤15 | 0 | 0 | |\n| **Total** | | **60.1 · C** | **69.5 · B** | |\n\n## Facts side by side\n\n| Fact | Granite Guardian | OpenAI Guardrails |\n| --- | --- | --- |\n| Kind | Model API | Agent framework |\n| Vendor | IBM | OpenAI |\n| Hosted endpoint | no (local only) | no (local only) |\n| Transports | HTTP | HTTP |\n| Auth | None | API key |\n| Pricing | Free | Free |\n| x402 | no | no |\n| Licence | Apache 2.0 for the weights and the repository | MIT |\n| Read-only variant documented | no | no |\n| llms.txt | no | no |\n| Last release | 2026-04-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 | 182 stars | 259 stars, 19k npm/wk, 105k PyPI/wk |\n\n## Verdicts\n\n**Granite Guardian.** One ungated Apache 2.0 model judges harm, jailbreaks, RAG groundedness, function-call errors and custom criteria, with signed weights and published evaluation code. It is trained and tested on English only, each call checks one criterion, the 4.1 prompt format differs from 3.x, and IBM's watsonx.ai lists only the deprecated 3.0 model.\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### Granite Guardian\n\n1. Append the `\u003cguardian\u003e` block as the final user message, with the mode line, `### Criteria:` and `### Scoring Schema:`. Copy the strings from the model card, because no package builds them\n2. Use the no-think instruction for gating and parse `\u003cscore\u003e`. Think mode writes a reasoning trace first, and the card's examples allow up to 2,048 output tokens\n3. Treat `yes` as the criterion being met, which for built-in criteria means the risk is present. Treat a missing `\u003cscore\u003e` tag as a failed check\n4. Pass retrieved text through `documents=` and tool schemas through `available_tools=` in `apply_chat_template`, not inside the message text\n5. Under Ollama, set `num_ctx` in the request options. IBM's docs say the default context is short and long requests are truncated\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, Granite Guardian or OpenAI Guardrails?\n\nOpenAI Guardrails scores 69.5 (B) on agent readiness against Granite Guardian's 60.1 (C), and leads in 6 of 7 scored categories.\n\n### Can an agent call Granite Guardian and OpenAI Guardrails without installing anything?\n\nNo hosted endpoint is listed for Granite Guardian. No hosted endpoint is listed for OpenAI Guardrails.\n\n### Are Granite Guardian and OpenAI Guardrails open source?\n\nNo open-source release is listed for Granite Guardian. OpenAI Guardrails is open source (MIT).\n\n\n## For agents\n\n- This comparison as JSON: https://www.anchorterminal.com/compare/granite-guardian-vs-openai-guardrails.json, and with the fewest tokens: https://www.anchorterminal.com/compare/granite-guardian-vs-openai-guardrails.min.md\n- Over MCP at https://www.anchorterminal.com/mcp (no key): `compare_tools {\"a\": \"granite-guardian\", \"b\": \"openai-guardrails\"}`. From a terminal: `anchor compare granite-guardian openai-guardrails`\n- Each listing in full: https://www.anchorterminal.com/api/v1/tools/granite-guardian.json and https://www.anchorterminal.com/api/v1/tools/openai-guardrails.json\n\n## Other comparisons with Granite Guardian or OpenAI Guardrails\n\n- [Amazon Bedrock Guardrails vs Granite Guardian](https://www.anchorterminal.com/compare/amazon-bedrock-guardrails-vs-granite-guardian.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 Granite Guardian](https://www.anchorterminal.com/compare/azure-ai-content-safety-vs-granite-guardian.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 Granite Guardian](https://www.anchorterminal.com/compare/cisco-ai-defense-inspection-vs-granite-guardian.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 Granite Guardian](https://www.anchorterminal.com/compare/google-model-armor-vs-granite-guardian.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 OpenAI Guardrails](https://www.anchorterminal.com/compare/guardrails-ai-vs-openai-guardrails.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 OpenAI Guardrails](https://www.anchorterminal.com/compare/llamafirewall-vs-openai-guardrails.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 Guardrails AI](https://www.anchorterminal.com/compare/granite-guardian-vs-guardrails-ai.md)\n- [Granite Guardian vs Lakera Guard (Check Point AI Guardrails)](https://www.anchorterminal.com/compare/granite-guardian-vs-lakera-guard.md)\n- [Granite Guardian vs Llama Guard 4](https://www.anchorterminal.com/compare/granite-guardian-vs-llama-guard.md)\n- [Granite Guardian vs Mistral Moderation API](https://www.anchorterminal.com/compare/granite-guardian-vs-mistral-moderation.md)\n- [Granite Guardian vs NVIDIA NeMo Guardrails](https://www.anchorterminal.com/compare/granite-guardian-vs-nemo-guardrails.md)\n- [Granite Guardian vs OpenAI Moderation API](https://www.anchorterminal.com/compare/granite-guardian-vs-openai-moderation.md)\n- [Granite Guardian vs Prisma AIRS AI Runtime Security API](https://www.anchorterminal.com/compare/granite-guardian-vs-prisma-airs.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- [Presidio vs OpenAI Guardrails](https://www.anchorterminal.com/compare/microsoft-presidio-vs-openai-guardrails.md)\n- [Granite Guardian vs Presidio](https://www.anchorterminal.com/compare/granite-guardian-vs-microsoft-presidio.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": "Granite Guardian vs OpenAI Guardrails",
        "url": ""
      }
    ],
    "description": "OpenAI Guardrails scores 69.5 (B) on agent readiness against Granite Guardian's 60.1 (C), and leads in 6 of 7 scored categories. Both do guard moderation. Category scores, facts, verdicts and agent notes side by side.",
    "facts": [
      "Granite Guardian C 60.1",
      "OpenAI Guardrails B 69.5",
      "scores"
    ],
    "h1": "Granite Guardian vs OpenAI Guardrails",
    "image": "https://www.anchorterminal.com/assets/og/compare-granite-guardian-vs-openai-guardrails.png",
    "path": "/compare/granite-guardian-vs-openai-guardrails",
    "published": "2026-10-01",
    "section": "tools",
    "title": "Granite Guardian vs OpenAI Guardrails for AI agents, C 60.1 vs B 69.5",
    "toc": null,
    "updated": "2026-10-09",
    "url": "https://www.anchorterminal.com/compare/granite-guardian-vs-openai-guardrails"
  },
  "tokens": {
    "markdown": 2650,
    "slim": 530
  },
  "version": 1
}
