{
  "data": {
    "a": {
      "slug": "agentgate",
      "name": "AgentGate",
      "vendor": "Mohit Singh (mohitdebian)",
      "vendorUrl": "https://github.com/mohitdebian/AgentGate",
      "kind": "http-api",
      "category": "guardrails",
      "summary": "AgentGate is an open-source, self-hosted gateway that checks an agent's tool calls before they run. A small local classifier scores each call and a YAML policy returns allow, deny or ask, through a REST API or an MCP stdio wrapper.",
      "url": "https://www.anchorterminal.com/tools/agentgate",
      "markdownUrl": "https://www.anchorterminal.com/tools/agentgate.md",
      "slimMarkdownUrl": "https://www.anchorterminal.com/tools/agentgate.min.md",
      "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/agentgate.json",
      "repo": "https://github.com/mohitdebian/AgentGate",
      "license": "MIT",
      "transports": [
        "http",
        "stdio"
      ],
      "packages": [],
      "auth": "none",
      "authNotes": "No account. The agent endpoints (`/v1/sessions`, `/v1/assess`) are open unless the owner sets `AG_AGENT_KEY`, then need `Authorization: Bearer \u003ckey\u003e` or `x-agent-key`. Dashboard endpoints need `AG_DASHBOARD_KEY`, which falls back to `dev-key-123` when unset and is also accepted as a `?token=` query parameter. The checkpoint and shadow-summary endpoints have no auth check in the source.",
      "pricing": "free",
      "pricingNotes": "Free under MIT with nothing to buy. The owner runs four containers (Postgres, the Python decision service, the Fastify proxy and the dashboard), with an NVIDIA GPU recommended for the classifier and a CPU path in the code.",
      "priceSummary": "Free · OSS",
      "where": "local",
      "x402": {
        "level": "no",
        "evidence": "No x402, MPP or L402 in the source, the docs or the wiki (checked 2026-10-15). The project has no paid tier.",
        "endpoints": []
      },
      "toolCount": null,
      "popularity": {
        "githubStars": 0,
        "npmWeekly": null,
        "pypiWeekly": null,
        "asOf": "2026-10-15"
      },
      "docsUrl": "https://github.com/mohitdebian/AgentGate/wiki/Client-Integration-Guide",
      "openapi": "https://github.com/mohitdebian/AgentGate/blob/main/docs/openapi.yaml",
      "capabilities": [
        "guard.policy",
        "guard.injection",
        "guard.self-host"
      ],
      "tags": [
        "open-source",
        "self-hosted",
        "local",
        "free",
        "no-card",
        "mit",
        "typescript",
        "python",
        "mcp",
        "docker",
        "openapi"
      ],
      "graded": true,
      "anchor": {
        "graded": true,
        "score": 48.5,
        "grade": "D",
        "agentReady": false,
        "rank": 883,
        "ranked": true,
        "rankOf": 1094,
        "categoryRank": 16,
        "methodology": "0.4",
        "run": "2026-10-01",
        "scores": {
          "ergonomics": 53,
          "maintenance": 28,
          "payments": 60,
          "reliability": 44,
          "schema": 47,
          "security": 49,
          "transparency": 56
        },
        "pending": [
          "performance",
          "tasks"
        ],
        "assessment": {
          "confidence": "medium",
          "date": "2026-10-15"
        },
        "negative": 0,
        "verdict": "An agent or its host can send each tool call to one REST endpoint, or wrap an MCP server, and get allow, deny or ask from a local classifier and a YAML policy, with an audit log and approval queue. The project is three days old, auth is off by default, and no detection accuracy is published.",
        "bestFor": "A team that wants a self-hosted check between an agent and its shell, database or webhook tools, with a human approval queue.",
        "strengths": [
          "One documented call, `POST /v1/assess`, returns a verdict, reason codes and four head probabilities",
          "Fail-closed defaults. A model error or timeout falls back to ask, and unmatched tools default to ask",
          "Decisions are logged in Postgres with redacted arguments, a SHA-256 of the full arguments and approval reviewer notes",
          "MIT code and MIT model weights on Hugging Face with no gate, run entirely on the owner's machines",
          "Shadow mode and policy replay let an operator test a policy against past decisions before enforcing it"
        ],
        "weaknesses": [
          "Agent endpoints need no key unless `AG_AGENT_KEY` is set, the proxy binds 0.0.0.0:8080, and the dashboard key defaults to `dev-key-123`",
          "Checkpoint revert, which runs git on the proxy's workspace, has no auth check in the source of 15 October 2026",
          "No tagged release, an empty changelog and version 0.1.0, three days after the first commit",
          "The MCP wrapper treats `allow_with_checkpoint` as an error and does not send the agent key to `/v1/assess`",
          "No published accuracy or false-positive rate for the classifier, trained in 60 steps per its model card"
        ],
        "agentNotes": [
          "Create a session with the user's real goal first. The goal-alignment head scores every later call against it",
          "Pass earlier tool results in `history_override` with `untrusted: true` for web or email content, or the injection head sees only the action",
          "On `ask`, stop and tell the user the `decision_id`. Polling `/v1/decisions/:id` needs the dashboard key",
          "Treat `allow_with_checkpoint` as allow and keep the `checkpoint_id` for an undo",
          "Expect HTTP 404 with `not_found` for an unknown session and 401 when the owner has set an agent key"
        ],
        "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": 48.5
          }
        ],
        "editorialScores": {
          "ergonomics": 53,
          "maintenance": 28,
          "payments": 60,
          "reliability": 44,
          "schema": 47,
          "security": 49,
          "transparency": 59
        },
        "provenanceScore": 53
      },
      "connect": {
        "install": "git clone https://github.com/mohitdebian/AgentGate.git \u0026\u0026 cd AgentGate \u0026\u0026 docker compose up -d",
        "http": "curl -s -X POST http://localhost:8080/v1/assess -H \"Content-Type: application/json\" -d '{\"session_id\":\"\u003cid from POST /v1/sessions\u003e\",\"action\":{\"tool\":\"bash_exec\",\"arguments\":{\"command\":\"rm -rf /var/www\"}}}'",
        "config": {
          "mcpServers": {
            "postgres": {
              "args": [
                "/path/to/AgentGate/proxy/dist/src/mcp.js",
                "npx",
                "-y",
                "@modelcontextprotocol/server-postgres",
                "postgresql://user:pass@localhost:5432/production"
              ],
              "command": "node",
              "env": {
                "AGENTGATE_URL": "http://localhost:8080"
              }
            }
          }
        }
      },
      "letme": {
        "capability": "https://letme.dev/guard.policy",
        "tool": "https://letme.dev/agentgate"
      },
      "area": "models",
      "provenance": {
        "legalEntity": "Mohit Singh (individual)",
        "domain": "",
        "domainRegistered": "",
        "endpointOnVendorDomain": null,
        "terms": "",
        "privacy": "",
        "statusPage": "",
        "changelog": "https://github.com/mohitdebian/AgentGate/blob/main/CHANGELOG.md",
        "securityTxt": "none",
        "checked": "2026-10-15",
        "notes": [
          "The licence file reads Copyright (c) 2026 Mohit Singh. The GitHub account mohitdebian links to mohitbuilds.in, a personal developer page.",
          "No terms or privacy policy. The software runs on the owner's machines, so there is no vendor endpoint or status page to check.",
          "SECURITY.md routes reports to GitHub private vulnerability reporting or a personal email, with a 48-hour acknowledgement target. No security.txt, since the project has no website.",
          "CHANGELOG.md holds a single Unreleased line, \"Initial scaffolding for Phase 1\"."
        ],
        "score": 53
      },
      "pageJsonUrl": "https://www.anchorterminal.com/tools/agentgate.json"
    },
    "answer": "Presidio scores 66 (B) on agent readiness against AgentGate's 48.5 (D), and leads in 6 of 7 scored categories.",
    "b": {
      "slug": "microsoft-presidio",
      "name": "Presidio",
      "vendor": "Data Privacy Stack",
      "vendorUrl": "https://dataprivacystack.org",
      "kind": "sdk",
      "category": "guardrails",
      "summary": "Open-source Python library and Docker services that detect personal data in text and images and replace, mask, hash or encrypt it. Created at Microsoft and run since June 2026 by the community organisation Data Privacy Stack.",
      "url": "https://www.anchorterminal.com/tools/microsoft-presidio",
      "markdownUrl": "https://www.anchorterminal.com/tools/microsoft-presidio.md",
      "slimMarkdownUrl": "https://www.anchorterminal.com/tools/microsoft-presidio.min.md",
      "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/microsoft-presidio.json",
      "repo": "https://github.com/data-privacy-stack/presidio",
      "license": "MIT",
      "transports": [
        "http"
      ],
      "packages": [
        {
          "registry": "pypi",
          "name": "presidio-analyzer"
        },
        {
          "registry": "pypi",
          "name": "presidio-anonymizer"
        },
        {
          "registry": "pypi",
          "name": "presidio-image-redactor"
        },
        {
          "registry": "pypi",
          "name": "presidio"
        }
      ],
      "auth": "none",
      "authNotes": "None. The Python library runs in the caller's process, and the REST containers accept any caller. The FAQ states the endpoints have no built-in authentication by design and should sit behind a gateway, reverse proxy or service mesh (https://presidio.dataprivacystack.org/faq/). Optional recognisers that call Azure AI Language, Azure Health Data Services or a language model take those services' own credentials.",
      "pricing": "free",
      "pricingNotes": "Free under the MIT licence, with no hosted or paid option from the project and no account needed. The cost is the compute to run it, plus any outside service an optional recogniser is configured to call (https://github.com/data-privacy-stack/presidio/blob/main/LICENSE).",
      "priceSummary": "Free · OSS",
      "where": "local",
      "x402": {
        "level": "no",
        "evidence": "No x402, MPP or L402 in the docs or the source (checked 2026-10-08).",
        "endpoints": []
      },
      "toolCount": null,
      "popularity": {
        "githubStars": 11231,
        "npmWeekly": null,
        "pypiWeekly": 1217281,
        "asOf": "2026-10-08"
      },
      "docsUrl": "https://presidio.dataprivacystack.org",
      "openapi": "https://presidio.dataprivacystack.org/api-docs/api-docs.yml",
      "capabilities": [
        "guard.pii",
        "guard.self-host"
      ],
      "tags": [
        "sdk",
        "open-source",
        "self-hosted",
        "local",
        "python",
        "free",
        "docker",
        "openapi",
        "pii",
        "community-governed"
      ],
      "lastRelease": "2026-07-22",
      "graded": true,
      "anchor": {
        "graded": true,
        "score": 66,
        "grade": "B",
        "agentReady": false,
        "rank": 325,
        "ranked": true,
        "rankOf": 1094,
        "categoryRank": 6,
        "methodology": "0.4",
        "run": "2026-10-01",
        "scores": {
          "ergonomics": 69,
          "maintenance": 63,
          "payments": 60,
          "reliability": 78,
          "schema": 69,
          "security": 53,
          "transparency": 65
        },
        "pending": [
          "performance",
          "tasks"
        ],
        "assessment": {
          "confidence": "medium",
          "date": "2026-10-08"
        },
        "negative": 0,
        "verdict": "MIT-licensed personal data detector with a public OpenAPI document, tests on Python 3.10 to 3.14 and about 1.2 million weekly PyPI downloads. The REST containers have no authentication, the project states no SLA or support, and it covers personal data only, with no prompt injection or content moderation checks.",
        "bestFor": "Detecting and masking personal data in prompts, outputs, logs and images on the owner's own machines, with detection tuned by entity, threshold and custom recognisers.",
        "strengths": [
          "MIT licence, source on GitHub, and nothing to buy. No account, key or card is needed to install or run it",
          "OpenAPI 3.0 document for the analyser and anonymiser REST services, with request examples and 400 and 422 error shapes",
          "CI runs each package on Python 3.10, 3.11, 3.12, 3.13 and 3.14, with CodeQL and Dependabot configured",
          "Detection is tunable per call with an entity list, a score threshold, an allow list and ad hoc recognisers",
          "Anonymiser operators cover replace, redact, mask, hash, encrypt and custom functions, and encrypted values can be reversed with the key"
        ],
        "weaknesses": [
          "The REST containers have no authentication by design. The FAQ says to put a gateway or proxy in front",
          "SUPPORT.md states no SLA and no official support. The project is run by volunteers since leaving Microsoft",
          "One release in the 90 days to 8 October 2026 (2.2.364 on 22 July), and CHANGELOG.md has no section for it",
          "Covers personal data only. No prompt injection, jailbreak or content moderation checks",
          "The README warns that detection is automated and may miss personal data, so other protections are still needed",
          "98 open pull requests, and most issues opened since 20 September 2026 had no reply on 8 October"
        ],
        "agentNotes": [
          "Install from PyPI or pull images from ghcr.io/data-privacy-stack. The mcr.microsoft.com/presidio-* images are no longer updated",
          "Download a spaCy model (python -m spacy download en_core_web_lg) before the first `AnalyzerEngine()` call, or use the Docker image",
          "Send both text and language to `/analyze`. A request missing either returns HTTP 500 with a JSON error field",
          "Pass entities and score_threshold to limit results. Many country-specific recognisers are disabled by default and need enabling in the registry YAML",
          "Keep the containers on a private network or behind your own authenticating proxy. They accept any caller"
        ],
        "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": 66
          }
        ],
        "editorialScores": {
          "ergonomics": 69,
          "maintenance": 63,
          "payments": 60,
          "reliability": 78,
          "schema": 69,
          "security": 53,
          "transparency": 76
        },
        "provenanceScore": 53
      },
      "connect": {
        "install": "pip install presidio-analyzer presidio-anonymizer\npython -m spacy download en_core_web_lg",
        "http": "docker run -d -p 5002:3000 ghcr.io/data-privacy-stack/presidio-analyzer:latest\ncurl -X POST http://localhost:5002/analyze \\\n  -H \"Content-Type: application/json\" \\\n  -d '{\"text\": \"My phone number is 555-123-4567.\", \"language\": \"en\"}'"
      },
      "letme": {
        "capability": "https://letme.dev/guard.pii",
        "tool": "https://letme.dev/microsoft-presidio"
      },
      "area": "models",
      "provenance": {
        "legalEntity": "Data Privacy Stack (community organisation, no legal entity stated)",
        "domain": "dataprivacystack.org",
        "domainRegistered": "2026-04-13",
        "domainNote": "A library and self-hosted containers, not a service. Code is on github.com under the data-privacy-stack organisation and docs on presidio.dataprivacystack.org.",
        "endpointOnVendorDomain": null,
        "terms": "",
        "privacy": "",
        "statusPage": "",
        "changelog": "https://github.com/data-privacy-stack/presidio/blob/main/CHANGELOG.md",
        "securityTxt": "none",
        "checked": "2026-10-08",
        "notes": [
          "Presidio was created at Microsoft. The transition notice says it is now a community-governed project under Data Privacy Stack and is not owned or operated by a commercial entity. The blog post announcing the move is dated 29 June 2026.",
          "github.com/microsoft/presidio answers 301 to github.com/data-privacy-stack/presidio, and microsoft.github.io/presidio shows a moved notice.",
          "The LICENSE copyright line reads Presidio Contributors. The FAQ says usage terms are the repository's licence and that there is no warranty or SLA.",
          "No privacy policy was found on dataprivacystack.org or the docs site. Nothing is hosted, so the field is left out.",
          "security.txt returns 404 on dataprivacystack.org and presidio.dataprivacystack.org. SECURITY.md uses GitHub private vulnerability reporting.",
          "RDAP gives 2026-04-13 as the registration date of dataprivacystack.org. The repository was created on 4 May 2018."
        ],
        "score": 53
      },
      "pageJsonUrl": "https://www.anchorterminal.com/tools/microsoft-presidio.json",
      "live": {
        "slug": "microsoft-presidio",
        "versions": [
          {
            "registry": "github",
            "name": "data-privacy-stack/presidio",
            "version": "2.2.364",
            "released": "2026-07-22",
            "seenAt": "2026-10-15T00:06:08.484428083Z"
          },
          {
            "registry": "pypi",
            "name": "presidio",
            "version": "2.2.364",
            "released": "2026-07-22",
            "seenAt": "2026-10-15T00:06:06.485232689Z"
          },
          {
            "registry": "pypi",
            "name": "presidio-analyzer",
            "version": "2.2.364",
            "released": "2026-07-22",
            "seenAt": "2026-10-15T00:06:02.403145524Z"
          },
          {
            "registry": "pypi",
            "name": "presidio-anonymizer",
            "version": "2.2.364",
            "released": "2026-07-22",
            "seenAt": "2026-10-15T00:06:02.595196455Z"
          },
          {
            "registry": "pypi",
            "name": "presidio-image-redactor",
            "version": "0.0.60",
            "released": "2026-07-22",
            "seenAt": "2026-10-15T00:06:04.484224786Z"
          }
        ],
        "githubStars": 11331,
        "pypiWeekly": 1256963,
        "securityTxt": {
          "url": "https://dataprivacystack.org/.well-known/security.txt",
          "state": "none",
          "checkedAt": "2026-10-14T15:47:42.680884488Z"
        },
        "domain": {
          "domain": "dataprivacystack.org",
          "registered": "2026-04-13",
          "source": "https://rdap.publicinterestregistry.org/rdap/domain/dataprivacystack.org",
          "checkedAt": "2026-10-11T13:17:35.110657913Z"
        },
        "pages": [
          {
            "url": "https://raw.githubusercontent.com/data-privacy-stack/presidio/main/CHANGELOG.md",
            "kind": "changelog",
            "status": 304,
            "checkedAt": "2026-10-14T21:06:49.582078573Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "609d3fe25dbc"
          }
        ],
        "updatedAt": "2026-10-15T00:06:08.484428083Z"
      }
    },
    "facts": [
      {
        "a": "HTTP API",
        "b": "SDK + MCP",
        "name": "Kind"
      },
      {
        "a": "Mohit Singh (mohitdebian)",
        "b": "Data Privacy Stack",
        "name": "Vendor"
      },
      {
        "a": "no (local only)",
        "b": "no (local only)",
        "name": "Hosted endpoint"
      },
      {
        "a": "HTTP, stdio",
        "b": "HTTP",
        "name": "Transports"
      },
      {
        "a": "None",
        "b": "None",
        "name": "Auth"
      },
      {
        "a": "Free",
        "b": "Free",
        "name": "Pricing"
      },
      {
        "a": "no",
        "b": "no",
        "name": "x402"
      },
      {
        "a": "MIT",
        "b": "MIT",
        "name": "Licence"
      },
      {
        "a": "no",
        "b": "no",
        "name": "Read-only variant documented"
      },
      {
        "a": "no",
        "b": "no",
        "name": "llms.txt"
      },
      {
        "a": "none",
        "b": "2026-07-22",
        "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": "0 stars",
        "b": "11k stars, 1.2M PyPI/wk",
        "name": "Popularity"
      }
    ],
    "faq": [
      {
        "answer": "Presidio scores 66 (B) on agent readiness against AgentGate's 48.5 (D), and leads in 6 of 7 scored categories.",
        "question": "Which is better for AI agents, AgentGate or Presidio?"
      },
      {
        "answer": "AgentGate runs on your own machine, with no hosted endpoint listed. No hosted endpoint is listed for Presidio.",
        "question": "Can an agent call AgentGate and Presidio without installing anything?"
      },
      {
        "answer": "Yes. AgentGate is open source (MIT). Presidio is open source (MIT).",
        "question": "Are AgentGate and Presidio open source?"
      }
    ],
    "goodFor": [
      {
        "aheadOn": null,
        "also": [
          "Runs on your own machine",
          "Free to start without a card"
        ],
        "goodFor": "A team that wants a self-hosted check between an agent and its shell, database or webhook tools, with a human approval queue.",
        "slug": "agentgate",
        "watchFor": "Agent endpoints need no key unless `AG_AGENT_KEY` is set, the proxy binds 0.0.0.0:8080, and the dashboard key defaults to `dev-key-123`"
      },
      {
        "aheadOn": [
          "Reliability, 78 against 44",
          "Schema \u0026 documentation, 69 against 47",
          "Agent ergonomics, 69 against 53",
          "Maintenance \u0026 community, 63 against 28",
          "Transparency \u0026 trust, 65 against 56"
        ],
        "also": null,
        "goodFor": "Detecting and masking personal data in prompts, outputs, logs and images on the owner's own machines, with detection tuned by entity, threshold and custom recognisers.",
        "slug": "microsoft-presidio",
        "watchFor": "The REST containers have no authentication by design. The FAQ says to put a gateway or proxy in front"
      }
    ],
    "job": {
      "capability": "guard.self-host",
      "name": "Self-hosted guardrails"
    },
    "others": [
      {
        "json": "https://www.anchorterminal.com/compare/agentgate-vs-amazon-bedrock-guardrails.json",
        "title": "AgentGate vs Amazon Bedrock Guardrails",
        "url": "https://www.anchorterminal.com/compare/agentgate-vs-amazon-bedrock-guardrails"
      },
      {
        "json": "https://www.anchorterminal.com/compare/agentgate-vs-azure-ai-content-safety.json",
        "title": "AgentGate vs Azure AI Content Safety (Prompt Shields)",
        "url": "https://www.anchorterminal.com/compare/agentgate-vs-azure-ai-content-safety"
      },
      {
        "json": "https://www.anchorterminal.com/compare/agentgate-vs-cisco-ai-defense-inspection.json",
        "title": "AgentGate vs Cisco AI Defense Inspection API",
        "url": "https://www.anchorterminal.com/compare/agentgate-vs-cisco-ai-defense-inspection"
      },
      {
        "json": "https://www.anchorterminal.com/compare/agentgate-vs-google-model-armor.json",
        "title": "AgentGate vs Google Cloud Model Armor",
        "url": "https://www.anchorterminal.com/compare/agentgate-vs-google-model-armor"
      },
      {
        "json": "https://www.anchorterminal.com/compare/agentgate-vs-granite-guardian.json",
        "title": "AgentGate vs Granite Guardian",
        "url": "https://www.anchorterminal.com/compare/agentgate-vs-granite-guardian"
      },
      {
        "json": "https://www.anchorterminal.com/compare/agentgate-vs-guardrails-ai.json",
        "title": "AgentGate vs Guardrails AI",
        "url": "https://www.anchorterminal.com/compare/agentgate-vs-guardrails-ai"
      },
      {
        "json": "https://www.anchorterminal.com/compare/agentgate-vs-lakera-guard.json",
        "title": "AgentGate vs Lakera Guard (Check Point AI Guardrails)",
        "url": "https://www.anchorterminal.com/compare/agentgate-vs-lakera-guard"
      },
      {
        "json": "https://www.anchorterminal.com/compare/agentgate-vs-llama-guard.json",
        "title": "AgentGate vs Llama Guard 4",
        "url": "https://www.anchorterminal.com/compare/agentgate-vs-llama-guard"
      },
      {
        "json": "https://www.anchorterminal.com/compare/agentgate-vs-llamafirewall.json",
        "title": "AgentGate vs LlamaFirewall",
        "url": "https://www.anchorterminal.com/compare/agentgate-vs-llamafirewall"
      },
      {
        "json": "https://www.anchorterminal.com/compare/agentgate-vs-mistral-moderation.json",
        "title": "AgentGate vs Mistral Moderation API",
        "url": "https://www.anchorterminal.com/compare/agentgate-vs-mistral-moderation"
      },
      {
        "json": "https://www.anchorterminal.com/compare/agentgate-vs-nemo-guardrails.json",
        "title": "AgentGate vs NVIDIA NeMo Guardrails",
        "url": "https://www.anchorterminal.com/compare/agentgate-vs-nemo-guardrails"
      },
      {
        "json": "https://www.anchorterminal.com/compare/agentgate-vs-openai-guardrails.json",
        "title": "AgentGate vs OpenAI Guardrails",
        "url": "https://www.anchorterminal.com/compare/agentgate-vs-openai-guardrails"
      },
      {
        "json": "https://www.anchorterminal.com/compare/agentgate-vs-prisma-airs.json",
        "title": "AgentGate vs Prisma AIRS AI Runtime Security API",
        "url": "https://www.anchorterminal.com/compare/agentgate-vs-prisma-airs"
      },
      {
        "json": "https://www.anchorterminal.com/compare/amazon-bedrock-guardrails-vs-microsoft-presidio.json",
        "title": "Amazon Bedrock Guardrails vs Presidio",
        "url": "https://www.anchorterminal.com/compare/amazon-bedrock-guardrails-vs-microsoft-presidio"
      },
      {
        "json": "https://www.anchorterminal.com/compare/cisco-ai-defense-inspection-vs-microsoft-presidio.json",
        "title": "Cisco AI Defense Inspection API vs Presidio",
        "url": "https://www.anchorterminal.com/compare/cisco-ai-defense-inspection-vs-microsoft-presidio"
      },
      {
        "json": "https://www.anchorterminal.com/compare/google-model-armor-vs-microsoft-presidio.json",
        "title": "Google Cloud Model Armor vs Presidio",
        "url": "https://www.anchorterminal.com/compare/google-model-armor-vs-microsoft-presidio"
      },
      {
        "json": "https://www.anchorterminal.com/compare/guardrails-ai-vs-microsoft-presidio.json",
        "title": "Guardrails AI vs Presidio",
        "url": "https://www.anchorterminal.com/compare/guardrails-ai-vs-microsoft-presidio"
      },
      {
        "json": "https://www.anchorterminal.com/compare/lakera-guard-vs-microsoft-presidio.json",
        "title": "Lakera Guard (Check Point AI Guardrails) vs Presidio",
        "url": "https://www.anchorterminal.com/compare/lakera-guard-vs-microsoft-presidio"
      },
      {
        "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/microsoft-presidio-vs-mistral-moderation.json",
        "title": "Presidio vs Mistral Moderation API",
        "url": "https://www.anchorterminal.com/compare/microsoft-presidio-vs-mistral-moderation"
      },
      {
        "json": "https://www.anchorterminal.com/compare/microsoft-presidio-vs-nemo-guardrails.json",
        "title": "Presidio vs NVIDIA NeMo Guardrails",
        "url": "https://www.anchorterminal.com/compare/microsoft-presidio-vs-nemo-guardrails"
      },
      {
        "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/microsoft-presidio-vs-prisma-airs.json",
        "title": "Presidio vs Prisma AIRS AI Runtime Security API",
        "url": "https://www.anchorterminal.com/compare/microsoft-presidio-vs-prisma-airs"
      },
      {
        "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"
      },
      {
        "json": "https://www.anchorterminal.com/compare/llama-guard-vs-microsoft-presidio.json",
        "title": "Llama Guard 4 vs Presidio",
        "url": "https://www.anchorterminal.com/compare/llama-guard-vs-microsoft-presidio"
      }
    ],
    "scores": [
      {
        "agentgate": 44,
        "by": 34,
        "edge": "microsoft-presidio",
        "key": "reliability",
        "microsoft-presidio": 78,
        "name": "Reliability",
        "weight": 16
      },
      {
        "key": "performance",
        "name": "Performance",
        "pending": true,
        "weight": 10
      },
      {
        "agentgate": 47,
        "by": 22,
        "edge": "microsoft-presidio",
        "key": "schema",
        "microsoft-presidio": 69,
        "name": "Schema \u0026 documentation",
        "weight": 13
      },
      {
        "agentgate": 53,
        "by": 16,
        "edge": "microsoft-presidio",
        "key": "ergonomics",
        "microsoft-presidio": 69,
        "name": "Agent ergonomics",
        "weight": 13
      },
      {
        "agentgate": 49,
        "by": 4,
        "edge": "microsoft-presidio",
        "key": "security",
        "microsoft-presidio": 53,
        "name": "Security \u0026 auth",
        "weight": 14
      },
      {
        "agentgate": 60,
        "by": 0,
        "edge": "",
        "key": "payments",
        "microsoft-presidio": 60,
        "name": "Payments \u0026 pricing",
        "weight": 10
      },
      {
        "key": "tasks",
        "name": "Task success",
        "pending": true,
        "weight": 10
      },
      {
        "agentgate": 28,
        "by": 35,
        "edge": "microsoft-presidio",
        "key": "maintenance",
        "microsoft-presidio": 63,
        "name": "Maintenance \u0026 community",
        "weight": 7
      },
      {
        "agentgate": 56,
        "by": 9,
        "edge": "microsoft-presidio",
        "key": "transparency",
        "microsoft-presidio": 65,
        "name": "Transparency \u0026 trust",
        "weight": 7
      }
    ],
    "summary": "Presidio scores 66 (B) on agent readiness against AgentGate's 48.5 (D), and leads in 6 of 7 scored categories. Both do self-hosted guardrails.",
    "verdicts": {
      "agentgate": "An agent or its host can send each tool call to one REST endpoint, or wrap an MCP server, and get allow, deny or ask from a local classifier and a YAML policy, with an audit log and approval queue. The project is three days old, auth is off by default, and no detection accuracy is published.",
      "microsoft-presidio": "MIT-licensed personal data detector with a public OpenAPI document, tests on Python 3.10 to 3.14 and about 1.2 million weekly PyPI downloads. The REST containers have no authentication, the project states no SLA or support, and it covers personal data only, with no prompt injection or content moderation checks."
    }
  },
  "kind": "anchor.page",
  "links": {
    "api": "https://www.anchorterminal.com/api/v1/index.json",
    "html": "https://www.anchorterminal.com/compare/agentgate-vs-microsoft-presidio",
    "json": "https://www.anchorterminal.com/compare/agentgate-vs-microsoft-presidio.json",
    "llms": "https://www.anchorterminal.com/llms.txt",
    "markdown": "https://www.anchorterminal.com/compare/agentgate-vs-microsoft-presidio.md",
    "slim": "https://www.anchorterminal.com/compare/agentgate-vs-microsoft-presidio.min.md"
  },
  "markdown": "Presidio scores 66 (B) on agent readiness against AgentGate's 48.5 (D), and leads in 6 of 7 scored categories. Both do self-hosted guardrails.\n\n- AgentGate: grade D, 48.5/100, rank #883 of 1094. Markdown https://www.anchorterminal.com/tools/agentgate.md · JSON https://www.anchorterminal.com/api/v1/tools/agentgate.json\n- Presidio: grade B, 66/100, rank #325 of 1094. Markdown https://www.anchorterminal.com/tools/microsoft-presidio.md · JSON https://www.anchorterminal.com/api/v1/tools/microsoft-presidio.json\n- Best guardrails and safety filters for AI agents: https://www.anchorterminal.com/best/guardrails/index.md\n- All 132 guardrails comparisons: https://www.anchorterminal.com/compare/guardrails/index.md\n\n## Which one, for what\n\n### AgentGate (D)\n\nGood for: A team that wants a self-hosted check between an agent and its shell, database or webhook tools, with a human approval queue.\n\nAlso in its favour:\n- Runs on your own machine\n- Free to start without a card\n\nWatch for: Agent endpoints need no key unless `AG_AGENT_KEY` is set, the proxy binds 0.0.0.0:8080, and the dashboard key defaults to `dev-key-123`\n\n### Presidio (B)\n\nGood for: Detecting and masking personal data in prompts, outputs, logs and images on the owner's own machines, with detection tuned by entity, threshold and custom recognisers.\n\nAhead on:\n- Reliability, 78 against 44\n- Schema \u0026 documentation, 69 against 47\n- Agent ergonomics, 69 against 53\n- Maintenance \u0026 community, 63 against 28\n- Transparency \u0026 trust, 65 against 56\n\nWatch for: The REST containers have no authentication by design. The FAQ says to put a gateway or proxy in front\n\n\n## Score by category\n\n| Category | Weight | AgentGate | Presidio | Edge |\n| --- | --- | --- | --- | --- |\n| Reliability | 16% (20 this run) | 44 | 78 | Presidio +34 |\n| Performance | 10%, pending | pending | pending | not scored in this run |\n| Schema \u0026 documentation | 13% (16.2 this run) | 47 | 69 | Presidio +22 |\n| Agent ergonomics | 13% (16.2 this run) | 53 | 69 | Presidio +16 |\n| Security \u0026 auth | 14% (17.5 this run) | 49 | 53 | Presidio +4 |\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) | 28 | 63 | Presidio +35 |\n| Transparency \u0026 trust | 7% (8.8 this run) | 56 | 65 | Presidio +9 |\n| Negative events | ≤15 | 0 | 0 | |\n| **Total** | | **48.5 · D** | **66 · B** | |\n\n## Facts side by side\n\n| Fact | AgentGate | Presidio |\n| --- | --- | --- |\n| Kind | HTTP API | SDK + MCP |\n| Vendor | Mohit Singh (mohitdebian) | Data Privacy Stack |\n| Hosted endpoint | no (local only) | no (local only) |\n| Transports | HTTP, stdio | HTTP |\n| Auth | None | None |\n| Pricing | Free | Free |\n| x402 | no | no |\n| Licence | MIT | MIT |\n| Read-only variant documented | no | no |\n| llms.txt | no | no |\n| Last release | none | 2026-07-22 |\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 | 0 stars | 11k stars, 1.2M PyPI/wk |\n\n## Verdicts\n\n**AgentGate.** An agent or its host can send each tool call to one REST endpoint, or wrap an MCP server, and get allow, deny or ask from a local classifier and a YAML policy, with an audit log and approval queue. The project is three days old, auth is off by default, and no detection accuracy is published.\n\n**Presidio.** MIT-licensed personal data detector with a public OpenAPI document, tests on Python 3.10 to 3.14 and about 1.2 million weekly PyPI downloads. The REST containers have no authentication, the project states no SLA or support, and it covers personal data only, with no prompt injection or content moderation checks.\n\n## Before you call either\n\n### AgentGate\n\n1. Create a session with the user's real goal first. The goal-alignment head scores every later call against it\n2. Pass earlier tool results in `history_override` with `untrusted: true` for web or email content, or the injection head sees only the action\n3. On `ask`, stop and tell the user the `decision_id`. Polling `/v1/decisions/:id` needs the dashboard key\n4. Treat `allow_with_checkpoint` as allow and keep the `checkpoint_id` for an undo\n5. Expect HTTP 404 with `not_found` for an unknown session and 401 when the owner has set an agent key\n\n### Presidio\n\n1. Install from PyPI or pull images from ghcr.io/data-privacy-stack. The mcr.microsoft.com/presidio-* images are no longer updated\n2. Download a spaCy model (python -m spacy download en_core_web_lg) before the first `AnalyzerEngine()` call, or use the Docker image\n3. Send both text and language to `/analyze`. A request missing either returns HTTP 500 with a JSON error field\n4. Pass entities and score_threshold to limit results. Many country-specific recognisers are disabled by default and need enabling in the registry YAML\n5. Keep the containers on a private network or behind your own authenticating proxy. They accept any caller\n\n## Questions\n\n### Which is better for AI agents, AgentGate or Presidio?\n\nPresidio scores 66 (B) on agent readiness against AgentGate's 48.5 (D), and leads in 6 of 7 scored categories.\n\n### Can an agent call AgentGate and Presidio without installing anything?\n\nAgentGate runs on your own machine, with no hosted endpoint listed. No hosted endpoint is listed for Presidio.\n\n### Are AgentGate and Presidio open source?\n\nYes. AgentGate is open source (MIT). Presidio is open source (MIT).\n\n\n## For agents\n\n- This comparison as JSON: https://www.anchorterminal.com/compare/agentgate-vs-microsoft-presidio.json, and with the fewest tokens: https://www.anchorterminal.com/compare/agentgate-vs-microsoft-presidio.min.md\n- Over MCP at https://www.anchorterminal.com/mcp (no key): `compare_tools {\"a\": \"agentgate\", \"b\": \"microsoft-presidio\"}`. From a terminal: `anchor compare agentgate microsoft-presidio`\n- Each listing in full: https://www.anchorterminal.com/api/v1/tools/agentgate.json and https://www.anchorterminal.com/api/v1/tools/microsoft-presidio.json\n\n## Other comparisons with AgentGate or Presidio\n\n- [AgentGate vs Amazon Bedrock Guardrails](https://www.anchorterminal.com/compare/agentgate-vs-amazon-bedrock-guardrails.md)\n- [AgentGate vs Azure AI Content Safety (Prompt Shields)](https://www.anchorterminal.com/compare/agentgate-vs-azure-ai-content-safety.md)\n- [AgentGate vs Cisco AI Defense Inspection API](https://www.anchorterminal.com/compare/agentgate-vs-cisco-ai-defense-inspection.md)\n- [AgentGate vs Google Cloud Model Armor](https://www.anchorterminal.com/compare/agentgate-vs-google-model-armor.md)\n- [AgentGate vs Granite Guardian](https://www.anchorterminal.com/compare/agentgate-vs-granite-guardian.md)\n- [AgentGate vs Guardrails AI](https://www.anchorterminal.com/compare/agentgate-vs-guardrails-ai.md)\n- [AgentGate vs Lakera Guard (Check Point AI Guardrails)](https://www.anchorterminal.com/compare/agentgate-vs-lakera-guard.md)\n- [AgentGate vs Llama Guard 4](https://www.anchorterminal.com/compare/agentgate-vs-llama-guard.md)\n- [AgentGate vs LlamaFirewall](https://www.anchorterminal.com/compare/agentgate-vs-llamafirewall.md)\n- [AgentGate vs Mistral Moderation API](https://www.anchorterminal.com/compare/agentgate-vs-mistral-moderation.md)\n- [AgentGate vs NVIDIA NeMo Guardrails](https://www.anchorterminal.com/compare/agentgate-vs-nemo-guardrails.md)\n- [AgentGate vs OpenAI Guardrails](https://www.anchorterminal.com/compare/agentgate-vs-openai-guardrails.md)\n- [AgentGate vs Prisma AIRS AI Runtime Security API](https://www.anchorterminal.com/compare/agentgate-vs-prisma-airs.md)\n- [Amazon Bedrock Guardrails vs Presidio](https://www.anchorterminal.com/compare/amazon-bedrock-guardrails-vs-microsoft-presidio.md)\n- [Cisco AI Defense Inspection API vs Presidio](https://www.anchorterminal.com/compare/cisco-ai-defense-inspection-vs-microsoft-presidio.md)\n- [Google Cloud Model Armor vs Presidio](https://www.anchorterminal.com/compare/google-model-armor-vs-microsoft-presidio.md)\n- [Guardrails AI vs Presidio](https://www.anchorterminal.com/compare/guardrails-ai-vs-microsoft-presidio.md)\n- [Lakera Guard (Check Point AI Guardrails) vs Presidio](https://www.anchorterminal.com/compare/lakera-guard-vs-microsoft-presidio.md)\n- [LlamaFirewall vs Presidio](https://www.anchorterminal.com/compare/llamafirewall-vs-microsoft-presidio.md)\n- [Presidio vs Mistral Moderation API](https://www.anchorterminal.com/compare/microsoft-presidio-vs-mistral-moderation.md)\n- [Presidio vs NVIDIA NeMo Guardrails](https://www.anchorterminal.com/compare/microsoft-presidio-vs-nemo-guardrails.md)\n- [Presidio vs OpenAI Guardrails](https://www.anchorterminal.com/compare/microsoft-presidio-vs-openai-guardrails.md)\n- [Presidio vs Prisma AIRS AI Runtime Security API](https://www.anchorterminal.com/compare/microsoft-presidio-vs-prisma-airs.md)\n- [Granite Guardian vs Presidio](https://www.anchorterminal.com/compare/granite-guardian-vs-microsoft-presidio.md)\n- [Llama Guard 4 vs Presidio](https://www.anchorterminal.com/compare/llama-guard-vs-microsoft-presidio.md)\n",
  "meta": {
    "attribution": "Anchor Terminal (https://www.anchorterminal.com)",
    "attributionRequired": true,
    "credit": "CC BY 4.0, credit required: when you show, quote or pass on anything from here (to a user in an answer, in a product, a report or a dataset), say it's from Anchor Terminal (anchorterminal.com) and link the page or API address you took it from. Reviews also credit their author.",
    "docs": "https://www.anchorterminal.com/docs/",
    "generatedAt": "2026-10-15",
    "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",
    "terms": "https://www.anchorterminal.com/terms/#data"
  },
  "page": {
    "breadcrumbs": [
      {
        "name": "Home",
        "url": "https://www.anchorterminal.com/"
      },
      {
        "name": "Compare",
        "url": "https://www.anchorterminal.com/compare/"
      },
      {
        "name": "AgentGate vs Presidio",
        "url": ""
      }
    ],
    "description": "Presidio scores 66 (B) to AgentGate's 48.5 (D) for self-hosted guardrails. Prices, MCP, x402, uptime and agent notes side by side.",
    "facts": [
      "AgentGate D 48.5",
      "Presidio B 66",
      "scores"
    ],
    "h1": "AgentGate vs Presidio",
    "image": "https://www.anchorterminal.com/assets/og/compare-agentgate-vs-microsoft-presidio.png",
    "path": "/compare/agentgate-vs-microsoft-presidio",
    "published": "2026-10-01",
    "section": "tools",
    "title": "AgentGate vs Presidio for AI agents in 2026: scores and prices",
    "toc": null,
    "updated": "2026-10-15",
    "url": "https://www.anchorterminal.com/compare/agentgate-vs-microsoft-presidio"
  },
  "tokens": {
    "markdown": 2500,
    "slim": 530
  },
  "version": 1
}
