{
 "license": "CC BY 4.0",
 "license_url": "https://creativecommons.org/licenses/by/4.0/",
 "publisher": "LexLint",
 "source": "https://lexlint.io/safeguards",
 "as_of": "2026-10-21",
 "stages": [
  {
   "key": "1",
   "name": "Review",
   "question": "What is wrong with it before it runs?",
   "split": "what is inspected",
   "leaves": [
    "1.1",
    "1.2",
    "1.3",
    "1.4"
   ],
   "law": [
    {
     "label": "CRA Annex I Part I",
     "href": "https://lexlint.io/law/eu#security"
    },
    {
     "label": "AI Act Arts. 9, 10, 11",
     "href": "https://lexlint.io/law/eu#ai"
    },
    {
     "label": "GDPR Arts. 25, 35",
     "href": "https://lexlint.io/l/eu-2016-679"
    }
   ]
  },
  {
   "key": "2",
   "name": "Testing",
   "question": "What goes wrong when we exercise it?",
   "split": "how it is run",
   "leaves": [
    "2.1",
    "2.2"
   ],
   "law": [
    {
     "label": "AI Act Art. 9(6) to (8), Art. 15, Art. 55(1)(a), Art. 60",
     "href": "https://lexlint.io/law/eu#ai"
    },
    {
     "label": "CRA Annex I Part II",
     "href": "https://lexlint.io/law/eu#security"
    },
    {
     "label": "DORA resilience testing",
     "href": "https://lexlint.io/law/eu#security"
    }
   ]
  },
  {
   "key": "3",
   "name": "Runtime",
   "question": "What stops it while it is in use?",
   "split": "where the limit is enforced",
   "leaves": [
    "3.1",
    "3.2",
    "3.3",
    "3.4",
    "3.5",
    "3.6",
    "3.7",
    "3.8"
   ],
   "law": [
    {
     "label": "AI Act Arts. 12, 14, 15, 26",
     "href": "https://lexlint.io/law/eu#ai"
    },
    {
     "label": "GDPR Art. 32",
     "href": "https://lexlint.io/l/eu-2016-679"
    },
    {
     "label": "CRA Annex I Part I",
     "href": "https://lexlint.io/law/eu#security"
    }
   ]
  },
  {
   "key": "4",
   "name": "Incidents",
   "question": "What happens when it goes wrong anyway?",
   "split": "what the incident work is",
   "leaves": [
    "4.1",
    "4.2",
    "4.3",
    "4.4"
   ],
   "law": [
    {
     "label": "AI Act Arts. 20, 72, 73",
     "href": "https://lexlint.io/law/eu#ai"
    },
    {
     "label": "CRA Art. 14",
     "href": "https://lexlint.io/law/eu#security"
    },
    {
     "label": "NIS2 Art. 23",
     "href": "https://lexlint.io/law/eu#security"
    },
    {
     "label": "GDPR Arts. 33, 34",
     "href": "https://lexlint.io/l/eu-2016-679"
    },
    {
     "label": "DORA reporting",
     "href": "https://lexlint.io/law/eu#security"
    }
   ]
  }
 ],
 "leaves": {
  "1.1": "Code and dependencies",
  "1.2": "Agent configuration and declarations",
  "1.3": "Websites and published surfaces",
  "1.4": "Product descriptions",
  "2.1": "Tester-run",
  "2.2": "CI-integrated",
  "3.1": "Execution sandboxes",
  "3.2": "Agent harnesses",
  "3.3": "Gateways",
  "3.4": "Guardrails",
  "3.5": "Policy engines",
  "3.6": "Identity and authorization",
  "3.7": "Admission and owner settings",
  "3.8": "Record-keeping",
  "4.1": "Detection and intake",
  "4.2": "Evidence preservation",
  "4.3": "Clocks, notification and correction",
  "4.4": "Disclosure and advisories"
 },
 "entries": [
  {
   "slug": "adversarial-robustness-toolbox",
   "name": "Adversarial Robustness Toolbox (ART)",
   "org": "LF AI & Data Foundation",
   "org_kind": "foundation",
   "homepage": "https://github.com/Trusted-AI/adversarial-robustness-toolbox",
   "repo": "https://github.com/Trusted-AI/adversarial-robustness-toolbox",
   "license": "MIT",
   "license_class": "osi",
   "description": "A Python library that attacks and defends machine learning models, covering evasion, poisoning, extraction and inference threats.",
   "home": "lfai-data",
   "home_detail": null,
   "maturity": "graduated",
   "tier": "mapped",
   "tier_reason": null,
   "placements": [
    {
     "leaf": "2.1",
     "primary": true,
     "capability": "Runs adversarial attacks of the evasion, poisoning, extraction and inference kinds against a machine learning model so a developer or researcher can evaluate its robustness.",
     "evidence": [
      "e2"
     ]
    }
   ],
   "facets": {
    "concern": [
     "security"
    ],
    "cites_law": false,
    "jurisdictions": [],
    "subject": [
     "ai-model"
    ],
    "user_party": [
     "makes"
    ],
    "run_mode": [
     "by-hand"
    ],
    "test_target": [
     "model-behavior"
    ],
    "inventory_only": false
   },
   "handoffs": [],
   "evidence": {
    "e1": {
     "url": "https://lfaidata.foundation/projects/adversarial-robustness-toolbox/",
     "quote": "Adversarial Robustness Toolbox is a graduated-stage project of the LF AI & Data Foundation.",
     "kind": "foundation-page",
     "captured": "2026-10-20"
    },
    "e2": {
     "url": "https://raw.githubusercontent.com/Trusted-AI/adversarial-robustness-toolbox/main/README.md",
     "quote": "ART provides tools that enable developers and researchers to defend and evaluate Machine Learning models and applications against the adversarial threats of Evasion, Poisoning, Extraction, and Inference.",
     "kind": "readme",
     "captured": "2026-10-20"
    },
    "e3": {
     "url": "https://api.github.com/repos/Trusted-AI/adversarial-robustness-toolbox",
     "quote": "MIT",
     "kind": "repo-api",
     "captured": "2026-10-20"
    }
   },
   "notes": "Placed in 2.1 because the library is driven by a person in code. Its README also pairs the attacks with defenses; only the testing function is mapped.",
   "as_of": "2026-10-20",
   "leaf": "2.1",
   "lanes": {
    "concern": "security",
    "home": "lfai-data",
    "license": "osi",
    "maturity": "graduated",
    "policy": "na"
   },
   "page": "/safeguards/adversarial-robustness-toolbox",
   "logo": "/safeguards/logos/adversarial-robustness-toolbox.svg"
  },
  {
   "slug": "google-adk",
   "name": "Agent Development Kit",
   "org": "Google",
   "org_kind": "company",
   "homepage": "https://google.github.io/adk-docs/",
   "repo": "https://github.com/google/adk-python",
   "license": "Apache-2.0",
   "license_class": "osi",
   "description": "An agent framework whose callbacks can skip a model or agent step and whose tool confirmation pauses a tool for a yes or no from a person.",
   "home": "none",
   "home_detail": null,
   "maturity": "released",
   "tier": "mapped",
   "tier_reason": null,
   "placements": [
    {
     "leaf": "3.2",
     "primary": true,
     "capability": "Runs developer-defined callbacks at set points in the agent's run that can replace or skip the next step, and pauses a tool for confirmation from a person or supervising system.",
     "evidence": [
      "e1",
      "e2",
      "e3"
     ]
    }
   ],
   "facets": {
    "concern": [
     "safety",
     "security"
    ],
    "cites_law": false,
    "jurisdictions": [],
    "subject": [
     "agent"
    ],
    "user_party": [
     "makes"
    ],
    "run_mode": [
     "at-runtime"
    ],
    "policy_source": [
     "owner-config"
    ],
    "agent_can_bypass": "depends",
    "inventory_only": false
   },
   "handoffs": [
    {
     "artifact": "runtime-records",
     "direction": "produces",
     "format": "OpenTelemetry traces (OTLP exporter, documented for Kotlin)"
    }
   ],
   "evidence": {
    "e1": {
     "url": "https://google.github.io/adk-docs/callbacks/",
     "quote": "They allow you to observe, customize, and even control the agent's behavior at specific, predefined points without modifying the core ADK framework code.",
     "kind": "docs",
     "captured": "2026-10-20"
    },
    "e2": {
     "url": "https://google.github.io/adk-docs/callbacks/",
     "quote": "Useful for handling simple requests directly or enforcing access control.",
     "kind": "docs",
     "captured": "2026-10-20"
    },
    "e3": {
     "url": "https://google.github.io/adk-docs/tools-custom/confirmation/",
     "quote": "Some agent workflows require confirmation for decision making, verification, security, or general oversight.",
     "kind": "docs",
     "captured": "2026-10-20"
    },
    "e4": {
     "url": "https://google.github.io/adk-docs/observability/",
     "quote": "In Kotlin, you can enable comprehensive observability by configuring OpenTelemetry for traces",
     "kind": "docs",
     "captured": "2026-10-20"
    },
    "e5": {
     "url": "https://github.com/google/adk-python/releases",
     "quote": "Release list v2.12.0 v2.11.0 v2.10.0",
     "kind": "release-notes",
     "captured": "2026-10-20"
    },
    "e6": {
     "url": "https://raw.githubusercontent.com/google/adk-python/main/LICENSE",
     "quote": "Apache License Version 2.0, January 2004",
     "kind": "readme",
     "captured": "2026-10-20"
    }
   },
   "notes": null,
   "as_of": "2026-10-20",
   "leaf": "3.2",
   "lanes": {
    "concern": "safety",
    "home": "none",
    "license": "osi",
    "maturity": "released",
    "policy": "owner-config"
   },
   "page": "/safeguards/google-adk",
   "logo": "/safeguards/logos/google-adk.svg"
  },
  {
   "slug": "agent-name-service",
   "name": "Agent Name Service",
   "org": "Agent Name Service project",
   "org_kind": "community",
   "homepage": "https://github.com/agentnameservice/ans",
   "repo": "https://github.com/agentnameservice/ans",
   "license": "MIT",
   "license_class": "osi",
   "description": "An open-source registry and transparency log that registers AI agents under DNS-style names, issues identity certificates and gives offline verification of receipts.",
   "home": "none",
   "home_detail": null,
   "maturity": "released",
   "tier": "mapped",
   "tier_reason": null,
   "placements": [
    {
     "leaf": "3.6",
     "primary": true,
     "capability": "Registers AI agents under versioned names, issues each an identity certificate for mutual TLS between agents, and records their lifecycle events in a transparency log that an offline verifier checks.",
     "evidence": [
      "e2",
      "e3"
     ]
    }
   ],
   "facets": {
    "concern": [
     "security"
    ],
    "cites_law": false,
    "jurisdictions": [],
    "subject": [
     "agent"
    ],
    "user_party": [
     "runs"
    ],
    "run_mode": [
     "at-runtime"
    ],
    "policy_source": [
     "vendor-defaults"
    ],
    "inventory_only": false
   },
   "handoffs": [
    {
     "artifact": "runtime-records",
     "direction": "produces",
     "format": "SCITT COSE_Sign1 receipts"
    }
   ],
   "evidence": {
    "e2": {
     "url": "https://raw.githubusercontent.com/agentnameservice/ans/main/README.md",
     "quote": "is an open-source implementation of the Agent Name Service (ANS), a registry + transparency log for discovering and verifying AI agents by name.",
     "kind": "readme",
     "captured": "2026-10-20"
    },
    "e3": {
     "url": "https://raw.githubusercontent.com/agentnameservice/ans/main/README.md",
     "quote": "Identity certificates signed by a private CA for mTLS between agents",
     "kind": "readme",
     "captured": "2026-10-20"
    },
    "e4": {
     "url": "https://raw.githubusercontent.com/agentnameservice/ans/main/README.md",
     "quote": "SCITT COSE_Sign1 receipts proving the agent's state at a point in time",
     "kind": "readme",
     "captured": "2026-10-20"
    },
    "e5": {
     "url": "https://api.github.com/repos/agentnameservice/ans/releases/latest",
     "quote": "\"html_url\":\"https://github.com/agentnameservice/ans/releases/tag/v0.1.6\"",
     "kind": "release-notes",
     "captured": "2026-10-20"
    },
    "e6": {
     "url": "https://raw.githubusercontent.com/agentnameservice/ans/main/LICENSE",
     "quote": "Permission is hereby granted, free of charge, to any person obtaining a copy",
     "kind": "readme",
     "captured": "2026-10-20"
    }
   },
   "notes": "The Linux Foundation has announced its intent to launch the Agent Name Service as an open standard; until the move is complete the home is none. The entry covers the reference implementation (registry, transparency log, verifier), not the standard.",
   "as_of": "2026-10-20",
   "leaf": "3.6",
   "lanes": {
    "concern": "security",
    "home": "none",
    "license": "osi",
    "maturity": "released",
    "policy": "vendor-defaults"
   },
   "page": "/safeguards/agent-name-service",
   "logo": "/safeguards/logos/agent-name-service.png"
  },
  {
   "slug": "agent-router",
   "name": "Agent Router",
   "org": "Agentic AI Foundation",
   "org_kind": "foundation",
   "homepage": "https://theagentrouter.ai/",
   "repo": "https://github.com/theagentrouter/agent-router",
   "license": "Apache-2.0",
   "license_class": "osi",
   "description": "An open-source gateway that fronts model providers and MCP servers with access control by token scopes, claims, tool and CEL rules, or an external authorization service.",
   "home": "aaif",
   "home_detail": null,
   "maturity": "growth",
   "tier": "mapped",
   "tier_reason": null,
   "placements": [
    {
     "leaf": "3.3",
     "primary": true,
     "capability": "Sits on the request path between agents and their models, MCP tools and other agents, and allows or denies tool calls by token scopes, claims, tool names and CEL rules, or by an external authorization service.",
     "evidence": [
      "e3",
      "e4",
      "e5",
      "e6",
      "e7"
     ]
    }
   ],
   "facets": {
    "concern": [
     "security"
    ],
    "cites_law": false,
    "jurisdictions": [],
    "subject": [
     "agent",
     "ai-system"
    ],
    "user_party": [
     "runs"
    ],
    "run_mode": [
     "at-runtime"
    ],
    "policy_source": [
     "owner-config",
     "pdp-callout"
    ],
    "traffic_seen": [
     "model",
     "tool",
     "agent-to-agent"
    ],
    "agent_can_bypass": "depends",
    "inventory_only": false
   },
   "handoffs": [],
   "evidence": {
    "e1": {
     "url": "https://github.com/aaif/project-proposals/issues/18",
     "quote": "The proposal has been reviewed and approved for inclusion in the foundation. Growth contribution-agreement/signed",
     "kind": "foundation-page",
     "captured": "2026-10-20"
    },
    "e2": {
     "url": "https://github.com/aaif/project-proposals/issues/18",
     "quote": "christinaharter added Growth TC Approved The TC has approved this project for inclusion into the AAIF.",
     "kind": "foundation-page",
     "captured": "2026-10-20"
    },
    "e3": {
     "url": "https://aigateway.envoyproxy.io/",
     "quote": "Your agent gets one OpenAI-compatible API for every model and one router for every MCP tool.",
     "kind": "product-page",
     "captured": "2026-10-20"
    },
    "e4": {
     "url": "https://theagentrouter.ai/docs/capabilities/mcp/",
     "quote": "Agent Router supports fine-grained access control over tool access using a combination of:",
     "kind": "docs",
     "captured": "2026-10-20"
    },
    "e5": {
     "url": "https://theagentrouter.ai/docs/capabilities/mcp/",
     "quote": "request.mcp.params Parsed JSON-RPC parameters",
     "kind": "docs",
     "captured": "2026-10-20"
    },
    "e6": {
     "url": "https://theagentrouter.ai/docs/capabilities/security/",
     "quote": "Integrate with External Authorization Service - Useful for custom logic to your business",
     "kind": "docs",
     "captured": "2026-10-20"
    },
    "e7": {
     "url": "https://theagentrouter.ai/docs/capabilities/security/",
     "quote": "Model Context Protocol (MCP) Gateway Agent2Agent (A2A) Traffic",
     "kind": "docs",
     "captured": "2026-10-20"
    },
    "e8": {
     "url": "https://api.github.com/repos/theagentrouter/agent-router",
     "quote": "Apache-2.0",
     "kind": "repo-api",
     "captured": "2026-10-20"
    }
   },
   "notes": null,
   "as_of": "2026-10-20",
   "leaf": "3.3",
   "lanes": {
    "concern": "security",
    "home": "aaif",
    "license": "osi",
    "maturity": "incubating",
    "policy": "pdp-callout"
   },
   "page": "/safeguards/agent-router",
   "logo": "/safeguards/logos/agent-router.svg"
  },
  {
   "slug": "agent-sandbox",
   "name": "Agent Sandbox",
   "org": "Cloud Native Computing Foundation",
   "org_kind": "foundation",
   "homepage": "https://agent-sandbox.sigs.k8s.io",
   "repo": "https://github.com/kubernetes-sigs/agent-sandbox",
   "license": "Apache-2.0",
   "license_class": "osi",
   "description": "A Kubernetes Sandbox resource and controller for isolated, stateful workloads such as AI agent runtimes, delegating isolation to runtimes like gVisor or Kata Containers.",
   "home": "cncf",
   "home_detail": null,
   "maturity": "graduated",
   "tier": "mapped",
   "tier_reason": null,
   "placements": [
    {
     "leaf": "3.1",
     "primary": true,
     "capability": "Manages single-pod sandboxes for agent runtimes through a Sandbox resource and delegates low-level isolation to secure runtimes such as gVisor or Kata Containers.",
     "evidence": [
      "e3",
      "e4"
     ]
    }
   ],
   "facets": {
    "concern": [
     "security"
    ],
    "cites_law": false,
    "jurisdictions": [],
    "subject": [
     "agent"
    ],
    "user_party": [
     "runs"
    ],
    "run_mode": [
     "at-runtime"
    ],
    "policy_source": [
     "owner-config"
    ],
    "agent_can_bypass": "depends",
    "inventory_only": false
   },
   "handoffs": [],
   "evidence": {
    "e1": {
     "url": "https://www.cncf.io/projects/kubernetes/",
     "quote": "Kubernetes was accepted to CNCF on March 10, 2016 at the Incubating maturity level and then moved to the Graduated maturity level on March 6, 2018.",
     "kind": "foundation-page",
     "captured": "2026-10-20"
    },
    "e2": {
     "url": "https://raw.githubusercontent.com/kubernetes-sigs/agent-sandbox/main/README.md",
     "quote": "controller for Kubernetes, under the umbrella of",
     "kind": "readme",
     "captured": "2026-10-20"
    },
    "e3": {
     "url": "https://raw.githubusercontent.com/kubernetes-sigs/agent-sandbox/main/README.md",
     "quote": "It delegates low-level container isolation to secure",
     "kind": "readme",
     "captured": "2026-10-20"
    },
    "e4": {
     "url": "https://raw.githubusercontent.com/kubernetes-sigs/agent-sandbox/main/README.md",
     "quote": "Isolated environments for executing untrusted, LLM-generated code.",
     "kind": "readme",
     "captured": "2026-10-20"
    },
    "e5": {
     "url": "https://raw.githubusercontent.com/kubernetes-sigs/agent-sandbox/main/README.md",
     "quote": "by managing Pods configured to use these runtimes (via `RuntimeClass`)",
     "kind": "readme",
     "captured": "2026-10-20"
    },
    "e6": {
     "url": "https://api.github.com/repos/kubernetes-sigs/agent-sandbox",
     "quote": "Apache-2.0",
     "kind": "repo-api",
     "captured": "2026-10-20"
    }
   },
   "notes": "A Kubernetes SIG project with no CNCF page of its own; home and maturity are Kubernetes' (Graduated), sourced by that page plus the repository's statement that the project sits under a Kubernetes SIG. The project calls itself a sandbox orchestrator, and the isolation boundary comes from the runtime the owner selects.",
   "as_of": "2026-10-20",
   "leaf": "3.1",
   "lanes": {
    "concern": "security",
    "home": "cncf",
    "license": "osi",
    "maturity": "graduated",
    "policy": "owner-config"
   },
   "page": "/safeguards/agent-sandbox",
   "logo": "/safeguards/logos/agent-sandbox.svg"
  },
  {
   "slug": "agent-substrate",
   "name": "Agent Substrate",
   "org": "Cloud Native Computing Foundation",
   "org_kind": "foundation",
   "homepage": "https://github.com/agent-substrate/substrate",
   "repo": "https://github.com/agent-substrate/substrate",
   "license": "Apache-2.0",
   "license_class": "osi",
   "description": "A zero-trust runtime for sandboxed agents on Kubernetes, with microVM and gVisor sandboxes and egress filtering that can call out to external authorization services.",
   "home": "cncf",
   "home_detail": null,
   "maturity": "sandbox",
   "tier": "mapped",
   "tier_reason": null,
   "placements": [
    {
     "leaf": "3.1",
     "primary": true,
     "capability": "Runs agents as actors in microVM or gVisor sandboxes and filters their ingress and egress, with an egress proxy that can call external authorization services.",
     "evidence": [
      "e2",
      "e3",
      "e4"
     ]
    }
   ],
   "facets": {
    "concern": [
     "security"
    ],
    "cites_law": false,
    "jurisdictions": [],
    "subject": [
     "agent"
    ],
    "user_party": [
     "runs"
    ],
    "run_mode": [
     "at-runtime"
    ],
    "policy_source": [
     "pdp-callout"
    ],
    "agent_can_bypass": "depends",
    "inventory_only": false
   },
   "handoffs": [],
   "evidence": {
    "e1": {
     "url": "https://www.cncf.io/projects/agent-substrate/",
     "quote": "Agent Substrate is at the Sandbox maturity level.",
     "kind": "foundation-page",
     "captured": "2026-10-20"
    },
    "e2": {
     "url": "https://raw.githubusercontent.com/agent-substrate/substrate/main/README.md",
     "quote": "Agent Substrate is a security-hardened, zero-trust runtime for sandboxed agents",
     "kind": "readme",
     "captured": "2026-10-20"
    },
    "e3": {
     "url": "https://raw.githubusercontent.com/agent-substrate/substrate/main/README.md",
     "quote": "It supports multiple sandbox technologies, including microVMs and gVisor",
     "kind": "readme",
     "captured": "2026-10-20"
    },
    "e4": {
     "url": "https://raw.githubusercontent.com/agent-substrate/substrate/main/docs/security.md",
     "quote": "Operators can either extend the existing egress proxy using Envoy's `ext_proc` callout mechanism to invoke external inspection and authorization services",
     "kind": "docs",
     "captured": "2026-10-20"
    },
    "e5": {
     "url": "https://api.github.com/repos/agent-substrate/substrate",
     "quote": "Apache-2.0",
     "kind": "repo-api",
     "captured": "2026-10-20"
    }
   },
   "notes": null,
   "as_of": "2026-10-20",
   "leaf": "3.1",
   "lanes": {
    "concern": "security",
    "home": "cncf",
    "license": "osi",
    "maturity": "sandbox",
    "policy": "pdp-callout"
   },
   "page": "/safeguards/agent-substrate",
   "logo": "/safeguards/logos/agent-substrate.png"
  },
  {
   "slug": "agentgateway",
   "name": "agentgateway",
   "org": "Agentic AI Foundation",
   "org_kind": "foundation",
   "homepage": "https://agentgateway.dev/",
   "repo": "https://github.com/agentgateway/agentgateway",
   "license": "Apache-2.0",
   "license_class": "osi",
   "description": "An open-source proxy for service, model, MCP and agent-to-agent traffic, with per-call authorization and tracing.",
   "home": "aaif",
   "home_detail": null,
   "maturity": "growth",
   "tier": "mapped",
   "tier_reason": null,
   "placements": [
    {
     "leaf": "3.3",
     "primary": true,
     "capability": "Sits on the request path between agents and their models, MCP tools and other agents, and allows or denies each call by its own CEL rules or by asking an external authorization server.",
     "evidence": [
      "e2",
      "e3",
      "e4"
     ]
    }
   ],
   "facets": {
    "concern": [
     "security"
    ],
    "cites_law": false,
    "jurisdictions": [],
    "subject": [
     "agent",
     "ai-system"
    ],
    "user_party": [
     "runs"
    ],
    "run_mode": [
     "at-runtime"
    ],
    "policy_source": [
     "owner-config",
     "pdp-callout"
    ],
    "traffic_seen": [
     "model",
     "tool",
     "agent-to-agent"
    ],
    "agent_can_bypass": "depends",
    "inventory_only": false
   },
   "handoffs": [
    {
     "artifact": "runtime-records",
     "direction": "produces",
     "format": "OpenTelemetry traces (OTLP, GenAI semantic conventions)"
    }
   ],
   "evidence": {
    "e1": {
     "url": "https://github.com/aaif/project-proposals/issues/11",
     "quote": "The GB has approved agentgateway as a Growth Stage project for inclusion into the AAIF.",
     "kind": "foundation-page",
     "captured": "2026-10-20"
    },
    "e2": {
     "url": "https://agentgateway.dev/",
     "quote": "Route, secure, observe, and govern services, LLM provider traffic, MCP tools, and agent-to-agent communication without stitching together separate gateways.",
     "kind": "product-page",
     "captured": "2026-10-20"
    },
    "e3": {
     "url": "https://agentgateway.dev/docs/standalone/latest/documentation/configuration/security/external-authz.md",
     "quote": "When authorization decisions need to be made out-of-process, use an external authorization policy.",
     "kind": "docs",
     "captured": "2026-10-20"
    },
    "e4": {
     "url": "https://agentgateway.dev/docs/standalone/latest/documentation/configuration/security/mcp-authz.md",
     "quote": "Route-level HTTP policies, such as `authorization` and `localRateLimit`, can also read `mcp.sessionId` and `mcp.tool.arguments` when the request arrives.",
     "kind": "docs",
     "captured": "2026-10-20"
    },
    "e5": {
     "url": "https://agentgateway.dev/docs/standalone/latest/documentation/observability/traces/setup.md",
     "quote": "Agentgateway natively exports distributed traces over OTLP (OpenTelemetry Protocol).",
     "kind": "docs",
     "captured": "2026-10-20"
    },
    "e6": {
     "url": "https://api.github.com/repos/agentgateway/agentgateway",
     "quote": "Apache-2.0",
     "kind": "repo-api",
     "captured": "2026-10-20"
    },
    "e7": {
     "url": "https://agentgateway.dev/docs/standalone/latest/documentation/configuration/security/external-authz.md",
     "quote": "Options for including the request body in the authorization request",
     "kind": "docs",
     "captured": "2026-10-20"
    }
   },
   "notes": null,
   "as_of": "2026-10-20",
   "leaf": "3.3",
   "lanes": {
    "concern": "security",
    "home": "aaif",
    "license": "osi",
    "maturity": "incubating",
    "policy": "pdp-callout"
   },
   "page": "/safeguards/agentgateway",
   "logo": "/safeguards/logos/agentgateway.svg"
  },
  {
   "slug": "agntcy",
   "name": "AGNTCY",
   "org": "Linux Foundation",
   "org_kind": "foundation",
   "homepage": "https://agntcy.org/",
   "repo": "https://github.com/agntcy/identity-service",
   "license": "Apache-2.0",
   "license_class": "osi",
   "description": "Open-source components for AI agents covering identity with access policies, a directory, secure messaging, and observability and evaluation.",
   "home": "lf-other",
   "home_detail": "AGNTCY, a Linux Foundation project",
   "maturity": "released",
   "tier": "mapped",
   "tier_reason": null,
   "placements": [
    {
     "leaf": "3.6",
     "primary": true,
     "capability": "Registers agentic services to establish their identities, verifies their digital identities, and lets the owner define task-based access control policies that govern what they may access.",
     "evidence": [
      "e2",
      "e3"
     ]
    },
    {
     "leaf": "3.8",
     "primary": false,
     "capability": "Records each action and outcome of the AI agents in a multi-agent application through an instrumentation library and a schema, for later review and evaluation.",
     "evidence": [
      "e4"
     ]
    }
   ],
   "facets": {
    "concern": [
     "security"
    ],
    "cites_law": false,
    "jurisdictions": [],
    "subject": [
     "agent"
    ],
    "user_party": [
     "runs"
    ],
    "run_mode": [
     "at-runtime"
    ],
    "policy_source": [
     "owner-config"
    ],
    "inventory_only": false
   },
   "handoffs": [],
   "evidence": {
    "e1": {
     "url": "https://www.linuxfoundation.org/press/linux-foundation-welcomes-the-agntcy-project-to-standardize-open-multi-agent-system-infrastructure-and-break-down-ai-agent-silos",
     "quote": "have joined as formative members of the AGNTCY project under Linux Foundation governance",
     "kind": "foundation-page",
     "captured": "2026-10-20"
    },
    "e2": {
     "url": "https://raw.githubusercontent.com/agntcy/identity-service/main/README.md",
     "quote": "AGNTCY Identity Service serves as the central hub for managing and verifying digital identities for your Agentic Services.",
     "kind": "readme",
     "captured": "2026-10-20"
    },
    "e3": {
     "url": "https://raw.githubusercontent.com/agntcy/identity-service/main/README.md",
     "quote": "Define TBAC (Task-Based Access Control) policies to govern access and permissions.",
     "kind": "readme",
     "captured": "2026-10-20"
    },
    "e4": {
     "url": "https://docs.agntcy.org/obs-and-eval/observe-and-eval/index.md",
     "quote": "it provides visibility into the execution of a MAS by recording each action taken, along with its outcome, by the agents",
     "kind": "docs",
     "captured": "2026-10-20"
    },
    "e5": {
     "url": "https://api.github.com/repos/agntcy/identity-service/releases/latest",
     "quote": "\"html_url\":\"https://github.com/agntcy/identity-service/releases/tag/v0.0.73\"",
     "kind": "release-notes",
     "captured": "2026-10-20"
    },
    "e6": {
     "url": "https://api.github.com/repos/agntcy/identity-service",
     "quote": "Apache-2.0",
     "kind": "repo-api",
     "captured": "2026-10-20"
    }
   },
   "notes": null,
   "as_of": "2026-10-20",
   "leaf": "3.6",
   "lanes": {
    "concern": "security",
    "home": "lf-other",
    "license": "osi",
    "maturity": "released",
    "policy": "owner-config"
   },
   "page": "/safeguards/agntcy",
   "logo": "/safeguards/logos/agntcy.png"
  },
  {
   "slug": "ai-fairness-360",
   "name": "AI Fairness 360 (AIF360)",
   "org": "LF AI & Data Foundation",
   "org_kind": "foundation",
   "homepage": null,
   "repo": "https://github.com/Trusted-AI/AIF360",
   "license": "Apache-2.0",
   "license_class": "osi",
   "description": "A Python and R library with metrics that test datasets and machine learning models for bias, and algorithms that mitigate it.",
   "home": "lfai-data",
   "home_detail": null,
   "maturity": "incubating",
   "tier": "mapped",
   "tier_reason": null,
   "placements": [
    {
     "leaf": "2.1",
     "primary": true,
     "capability": "Measures bias in datasets and machine learning models with a set of fairness metrics that a developer runs and reads.",
     "evidence": [
      "e2"
     ]
    }
   ],
   "facets": {
    "concern": [
     "safety"
    ],
    "cites_law": false,
    "jurisdictions": [],
    "subject": [
     "ai-model"
    ],
    "user_party": [
     "makes"
    ],
    "run_mode": [
     "by-hand"
    ],
    "test_target": [
     "model-behavior"
    ],
    "inventory_only": false
   },
   "handoffs": [],
   "evidence": {
    "e1": {
     "url": "https://lfaidata.foundation/projects/ai-fairness-360/",
     "quote": "AI Fairness 360 is an incubation-stage project of the LF AI & Data Foundation.",
     "kind": "foundation-page",
     "captured": "2026-10-20"
    },
    "e2": {
     "url": "https://raw.githubusercontent.com/Trusted-AI/AIF360/main/README.md",
     "quote": "a comprehensive set of metrics for datasets and models to test for biases",
     "kind": "readme",
     "captured": "2026-10-20"
    },
    "e3": {
     "url": "https://api.github.com/repos/Trusted-AI/AIF360",
     "quote": "Apache-2.0",
     "kind": "repo-api",
     "captured": "2026-10-20"
    }
   },
   "notes": "Concern is safety because bias is a way a system can harm people with no attacker involved. The library also ships mitigation algorithms; only the testing function is mapped.",
   "as_of": "2026-10-20",
   "leaf": "2.1",
   "lanes": {
    "concern": "safety",
    "home": "lfai-data",
    "license": "osi",
    "maturity": "incubating",
    "policy": "na"
   },
   "page": "/safeguards/ai-fairness-360",
   "logo": "/safeguards/logos/ai-fairness-360.svg"
  },
  {
   "slug": "allstar",
   "name": "Allstar",
   "org": "Open Source Security Foundation",
   "org_kind": "foundation",
   "homepage": "https://github.com/ossf/allstar",
   "repo": "https://github.com/ossf/allstar",
   "license": "Apache-2.0",
   "license_class": "osi",
   "description": "Monitors GitHub organizations and repositories for adherence to security settings, opens an issue on a violation and can revert some settings automatically.",
   "home": "openssf",
   "home_detail": null,
   "maturity": "incubating",
   "tier": "mapped",
   "tier_reason": null,
   "placements": [
    {
     "leaf": "3.7",
     "primary": true,
     "capability": "Checks GitHub organization and repository settings against security policies the owner selects, opens an issue when a policy is violated and, for some policies, reverts the setting.",
     "evidence": [
      "e3",
      "e4",
      "e5"
     ]
    }
   ],
   "facets": {
    "concern": [
     "security"
    ],
    "cites_law": false,
    "jurisdictions": [],
    "subject": [
     "software"
    ],
    "user_party": [
     "runs"
    ],
    "run_mode": [
     "at-runtime",
     "in-ci"
    ],
    "policy_source": [
     "owner-config"
    ],
    "inventory_only": false
   },
   "handoffs": [],
   "evidence": {
    "e1": {
     "url": "https://raw.githubusercontent.com/ossf/tac/main/README.md",
     "quote": "| OpenSSF Scorecard | [GitHub](https://github.com/ossf/scorecard) | https://securityscorecards.dev/ | Best Practices WG | [Incubating](process/project-lifecycle-documents/openssf_scorecard_incubating_stage.md) |",
     "kind": "foundation-page",
     "captured": "2026-10-20"
    },
    "e2": {
     "url": "https://raw.githubusercontent.com/ossf/allstar/main/README.md",
     "quote": "Allstar, the OpenSSF Scorecard subproject, itself continues to be",
     "kind": "readme",
     "captured": "2026-10-20"
    },
    "e3": {
     "url": "https://raw.githubusercontent.com/ossf/allstar/main/README.md",
     "quote": "Allstar is a GitHub App that continuously monitors GitHub organizations or repositories for adherence to security best practices.",
     "kind": "readme",
     "captured": "2026-10-20"
    },
    "e4": {
     "url": "https://raw.githubusercontent.com/ossf/allstar/main/README.md",
     "quote": "You can choose which security policies to monitor at both the organization and repository level",
     "kind": "readme",
     "captured": "2026-10-20"
    },
    "e5": {
     "url": "https://raw.githubusercontent.com/ossf/allstar/main/README.md",
     "quote": "For some security policies, Allstar can also automatically change the project setting that caused the violation",
     "kind": "readme",
     "captured": "2026-10-20"
    },
    "e6": {
     "url": "https://api.github.com/repos/ossf/allstar",
     "quote": "Apache-2.0",
     "kind": "repo-api",
     "captured": "2026-10-20"
    }
   },
   "notes": "No separate row in the OpenSSF project table: it takes the incubating level of its parent, the Scorecard project. The OpenSSF-hosted GitHub App is retired; an owner now runs it as a GitHub Action or as a background service.",
   "as_of": "2026-10-20",
   "leaf": "3.7",
   "lanes": {
    "concern": "security",
    "home": "openssf",
    "license": "osi",
    "maturity": "incubating",
    "policy": "owner-config"
   },
   "page": "/safeguards/allstar",
   "logo": null
  },
  {
   "slug": "amazon-bedrock-agentcore-gateway",
   "name": "Amazon Bedrock AgentCore Gateway",
   "org": "Amazon Web Services",
   "org_kind": "company",
   "homepage": "https://docs.aws.amazon.com/bedrock-agentcore/latest/devguide/gateway.html",
   "repo": null,
   "license": null,
   "license_class": "proprietary",
   "description": "A managed AWS gateway that turns APIs and Lambda functions into MCP tools, fronts agent-to-agent traffic and routes model requests through one endpoint.",
   "home": "vendor",
   "home_detail": null,
   "maturity": "ga",
   "tier": "listed",
   "tier_reason": "Listed, not drawn: no documented handoff and no foundation home places it on the map.",
   "placements": [
    {
     "leaf": "3.3",
     "primary": true,
     "capability": "Sits between agents and their tools, other agents and model providers, converting services into MCP tools, passing agent-to-agent traffic through, and authenticating callers at ingress and egress.",
     "evidence": [
      "e1",
      "e2",
      "e3",
      "e4",
      "e5"
     ]
    }
   ],
   "facets": {
    "concern": [
     "security"
    ],
    "cites_law": false,
    "jurisdictions": [],
    "subject": [
     "agent",
     "ai-system"
    ],
    "user_party": [
     "runs"
    ],
    "run_mode": [
     "at-runtime"
    ],
    "policy_source": [
     "owner-config"
    ],
    "traffic_seen": [
     "model",
     "tool",
     "agent-to-agent"
    ],
    "agent_can_bypass": "depends",
    "inventory_only": false
   },
   "handoffs": [],
   "evidence": {
    "e1": {
     "url": "https://docs.aws.amazon.com/bedrock-agentcore/latest/devguide/gateway.html",
     "quote": "Amazon Bedrock AgentCore Gateway is a fully managed AI gateway that provides a single, secure entry point for agentic traffic",
     "kind": "docs",
     "captured": "2026-10-20"
    },
    "e2": {
     "url": "https://docs.aws.amazon.com/bedrock-agentcore/latest/devguide/gateway.html",
     "quote": "fronts other agents and HTTP services through passthrough targets (including Agent-to-Agent (A2A) traffic)",
     "kind": "docs",
     "captured": "2026-10-20"
    },
    "e3": {
     "url": "https://docs.aws.amazon.com/bedrock-agentcore/latest/devguide/gateway.html",
     "quote": "converts APIs, Lambda functions, and existing services into Model Context Protocol (MCP)-compatible tools",
     "kind": "docs",
     "captured": "2026-10-20"
    },
    "e4": {
     "url": "https://docs.aws.amazon.com/bedrock-agentcore/latest/devguide/gateway.html",
     "quote": "routes inference requests across multiple model providers through a unified, model-based routing endpoint",
     "kind": "docs",
     "captured": "2026-10-20"
    },
    "e5": {
     "url": "https://docs.aws.amazon.com/bedrock-agentcore/latest/devguide/gateway.html",
     "quote": "is the only solution that provides both comprehensive ingress authentication and egress authentication in a fully managed service",
     "kind": "docs",
     "captured": "2026-10-20"
    },
    "e6": {
     "url": "https://docs.aws.amazon.com/bedrock-agentcore/latest/devguide/policy.html",
     "quote": "create policy engines, create and store deterministic policies in them and associate policy engines with gateways",
     "kind": "docs",
     "captured": "2026-10-20"
    },
    "e7": {
     "url": "https://aws.amazon.com/about-aws/whats-new/2025/10/amazon-bedrock-agentcore-available/",
     "quote": "Amazon Bedrock AgentCore is now generally available",
     "kind": "release-notes",
     "captured": "2026-10-20"
    }
   },
   "notes": null,
   "as_of": "2026-10-20",
   "leaf": "3.3",
   "lanes": {
    "concern": "security",
    "home": "vendor",
    "license": "proprietary",
    "maturity": "ga",
    "policy": "owner-config"
   },
   "page": "/safeguards/amazon-bedrock-agentcore-gateway",
   "logo": "/safeguards/logos/amazon-bedrock-agentcore-gateway.png"
  },
  {
   "slug": "amazon-bedrock-agentcore-policy",
   "name": "Amazon Bedrock AgentCore Policy",
   "org": "Amazon Web Services",
   "org_kind": "company",
   "homepage": "https://docs.aws.amazon.com/bedrock-agentcore/latest/devguide/policy.html",
   "repo": null,
   "license": null,
   "license_class": "proprietary",
   "description": "A managed policy engine that evaluates Cedar policies against each AgentCore Gateway tool call, using the caller identity and the tool input parameters.",
   "home": "vendor",
   "home_detail": null,
   "maturity": "ga",
   "tier": "mapped",
   "tier_reason": null,
   "placements": [
    {
     "leaf": "3.5",
     "primary": true,
     "capability": "Evaluates each request that passes through an AgentCore Gateway against Cedar policies held in a policy engine, using user identity and tool input parameters, before tool access is allowed.",
     "evidence": [
      "e1",
      "e2",
      "e3"
     ]
    }
   ],
   "facets": {
    "concern": [
     "security"
    ],
    "cites_law": false,
    "jurisdictions": [],
    "subject": [
     "agent",
     "ai-system"
    ],
    "user_party": [
     "runs"
    ],
    "run_mode": [
     "at-runtime"
    ],
    "policy_source": [
     "owner-config"
    ],
    "inventory_only": false
   },
   "handoffs": [
    {
     "artifact": "policy",
     "direction": "consumes",
     "format": "Cedar policies"
    }
   ],
   "evidence": {
    "e1": {
     "url": "https://docs.aws.amazon.com/bedrock-agentcore/latest/devguide/policy.html",
     "quote": "Policy in AgentCore intercepts all agent traffic through Amazon Bedrock AgentCore Gateways and evaluates each request against defined policies in the policy engine before allowing tool access.",
     "kind": "docs",
     "captured": "2026-10-20"
    },
    "e2": {
     "url": "https://docs.aws.amazon.com/bedrock-agentcore/latest/devguide/policy.html",
     "quote": "Policies are constructed using Cedar language",
     "kind": "docs",
     "captured": "2026-10-20"
    },
    "e3": {
     "url": "https://docs.aws.amazon.com/bedrock-agentcore/latest/devguide/policy.html",
     "quote": "Policy in AgentCore supports fine-grained permissions based on user identity and tool input parameters",
     "kind": "docs",
     "captured": "2026-10-20"
    },
    "e4": {
     "url": "https://docs.aws.amazon.com/bedrock-agentcore/latest/devguide/policy.html",
     "quote": "create policy engines, create and store deterministic policies in them and associate policy engines with gateways",
     "kind": "docs",
     "captured": "2026-10-20"
    },
    "e5": {
     "url": "https://aws.amazon.com/about-aws/whats-new/2026/03/policy-amazon-bedrock-agentcore-generally-available/",
     "quote": "Policy in Amazon Bedrock AgentCore is now generally available",
     "kind": "release-notes",
     "captured": "2026-10-20"
    }
   },
   "notes": null,
   "as_of": "2026-10-20",
   "leaf": "3.5",
   "lanes": {
    "concern": "security",
    "home": "vendor",
    "license": "proprietary",
    "maturity": "ga",
    "policy": "owner-config"
   },
   "page": "/safeguards/amazon-bedrock-agentcore-policy",
   "logo": "/safeguards/logos/amazon-bedrock-agentcore-policy.png"
  },
  {
   "slug": "ampel",
   "name": "AMPEL",
   "org": "Open Source Security Foundation",
   "org_kind": "foundation",
   "homepage": "https://github.com/policylabs/ampel",
   "repo": "https://github.com/policylabs/ampel",
   "license": "Apache-2.0",
   "license_class": "osi",
   "description": "A supply chain policy engine that checks signed attestations about source code, tools and builds against policies, and can block a process when a policy fails.",
   "home": "openssf",
   "home_detail": null,
   "maturity": "sandbox",
   "tier": "mapped",
   "tier_reason": null,
   "placements": [
    {
     "leaf": "3.7",
     "primary": true,
     "capability": "Evaluates policies written as code against signed attestations, reports the result, and can block a process when a policy evaluates to FAIL.",
     "evidence": [
      "e2",
      "e3",
      "e5"
     ]
    }
   ],
   "facets": {
    "concern": [
     "security"
    ],
    "cites_law": false,
    "jurisdictions": [],
    "subject": [
     "software"
    ],
    "user_party": [
     "makes",
     "runs"
    ],
    "run_mode": [
     "by-hand",
     "in-ci"
    ],
    "policy_source": [
     "owner-config"
    ],
    "inventory_only": false
   },
   "handoffs": [
    {
     "artifact": "provenance",
     "direction": "consumes",
     "format": "in-toto attestations, Sigstore bundles"
    },
    {
     "artifact": "provenance",
     "direction": "produces",
     "format": "SLSA Verification Summary Attestation, in-toto Simple Verification Result"
    }
   ],
   "evidence": {
    "e1": {
     "url": "https://raw.githubusercontent.com/ossf/tac/main/README.md",
     "quote": "| AMPEL | | | Supply Chain Integrity WG | [Sandbox](https://github.com/ossf/tac/blob/main/process/project-lifecycle-documents/AMPEL_sandbox_stage.md) |",
     "kind": "foundation-page",
     "captured": "2026-10-20"
    },
    "e2": {
     "url": "https://raw.githubusercontent.com/carabiner-dev/ampel/main/README.md",
     "quote": "Ampel is a lightweight supply chain policy engine designed to be embedded across the software development lifecycle",
     "kind": "readme",
     "captured": "2026-10-20"
    },
    "e3": {
     "url": "https://raw.githubusercontent.com/carabiner-dev/ampel/main/README.md",
     "quote": "by verifying unforgeable metadata captured in signed attestations",
     "kind": "readme",
     "captured": "2026-10-20"
    },
    "e4": {
     "url": "https://raw.githubusercontent.com/carabiner-dev/ampel/main/README.md",
     "quote": "Ampel uses a model of policies as code.",
     "kind": "readme",
     "captured": "2026-10-20"
    },
    "e5": {
     "url": "https://raw.githubusercontent.com/carabiner-dev/ampel/main/README.md",
     "quote": "Ampel can report the status of a policy or block processes when a policy evaluates to `FAIL`.",
     "kind": "readme",
     "captured": "2026-10-20"
    },
    "e6": {
     "url": "https://raw.githubusercontent.com/carabiner-dev/ampel/main/README.md",
     "quote": "has native verification support for sigstore bundles",
     "kind": "readme",
     "captured": "2026-10-20"
    },
    "e7": {
     "url": "https://raw.githubusercontent.com/carabiner-dev/ampel/main/README.md",
     "quote": "Result attestations can be produced as the full Ampel ResultSet, as a SLSA [Verification Summary Attestation (VSA)](https://slsa.dev/verification_summary/v1) or as an in-toto [Simple Verification Result (SVR)]",
     "kind": "readme",
     "captured": "2026-10-20"
    },
    "e8": {
     "url": "https://api.github.com/repos/policylabs/ampel",
     "quote": "Apache-2.0",
     "kind": "repo-api",
     "captured": "2026-10-20"
    }
   },
   "notes": null,
   "as_of": "2026-10-20",
   "leaf": "3.7",
   "lanes": {
    "concern": "security",
    "home": "openssf",
    "license": "osi",
    "maturity": "sandbox",
    "policy": "owner-config"
   },
   "page": "/safeguards/ampel",
   "logo": "/safeguards/logos/ampel.png"
  },
  {
   "slug": "apache-apisix",
   "name": "Apache APISIX",
   "org": "Apache Software Foundation",
   "org_kind": "foundation",
   "homepage": "https://apisix.apache.org/",
   "repo": "https://github.com/apache/apisix",
   "license": "Apache-2.0",
   "license_class": "osi",
   "description": "An open-source API gateway whose AI plugins proxy LLM traffic and let the operator allow or deny prompts by configured patterns.",
   "home": "apache",
   "home_detail": null,
   "maturity": "top-level",
   "tier": "mapped",
   "tier_reason": null,
   "placements": [
    {
     "leaf": "3.3",
     "primary": true,
     "capability": "Sits between applications and LLM providers through its ai-proxy plugin and lets the operator allow or deny requests by configured regular-expression patterns before they reach the model.",
     "evidence": [
      "e2",
      "e3"
     ]
    }
   ],
   "facets": {
    "concern": [
     "security"
    ],
    "cites_law": false,
    "jurisdictions": [],
    "subject": [
     "ai-system"
    ],
    "user_party": [
     "runs"
    ],
    "run_mode": [
     "at-runtime"
    ],
    "policy_source": [
     "owner-config"
    ],
    "traffic_seen": [
     "model"
    ],
    "agent_can_bypass": "depends",
    "inventory_only": false
   },
   "handoffs": [],
   "evidence": {
    "e1": {
     "url": "https://apisix.apache.org/",
     "quote": "Apache Software Foundation top-level project",
     "kind": "foundation-page",
     "captured": "2026-10-20"
    },
    "e2": {
     "url": "https://apisix.apache.org/docs/apisix/plugins/ai-proxy/",
     "quote": "The ai-proxy Plugin simplifies access to LLM and embedding models by transforming Plugin configurations into the designated request format.",
     "kind": "docs",
     "captured": "2026-10-20"
    },
    "e3": {
     "url": "https://apisix.apache.org/docs/apisix/plugins/ai-prompt-guard/",
     "quote": "It checks the content of requests against user-defined allowed and denied patterns to ensure that only approved inputs are forwarded to the upstream LLM.",
     "kind": "docs",
     "captured": "2026-10-20"
    },
    "e4": {
     "url": "https://api.github.com/repos/apache/apisix",
     "quote": "Apache-2.0",
     "kind": "repo-api",
     "captured": "2026-10-20"
    }
   },
   "notes": null,
   "as_of": "2026-10-20",
   "leaf": "3.3",
   "lanes": {
    "concern": "security",
    "home": "other-foundation",
    "license": "osi",
    "maturity": "graduated",
    "policy": "owner-config"
   },
   "page": "/safeguards/apache-apisix",
   "logo": "/safeguards/logos/apache-apisix.svg"
  },
  {
   "slug": "apache-ranger",
   "name": "Apache Ranger",
   "org": "Apache Software Foundation",
   "org_kind": "foundation",
   "homepage": "https://ranger.apache.org/",
   "repo": "https://github.com/apache/ranger",
   "license": "Apache-2.0",
   "license_class": "osi",
   "description": "A framework that stores access policies in one admin service and has plugins inside data services authorize each request and send audit events.",
   "home": "apache",
   "home_detail": null,
   "maturity": "top-level",
   "tier": "mapped",
   "tier_reason": null,
   "placements": [
    {
     "leaf": "3.5",
     "primary": true,
     "capability": "Holds access policies in a central admin service and evaluates them for each request, either in a plugin inside the protected service or in a separate decision server, and authorizes each request.",
     "evidence": [
      "e2",
      "e3",
      "e4"
     ]
    }
   ],
   "facets": {
    "concern": [
     "security"
    ],
    "cites_law": false,
    "jurisdictions": [],
    "subject": [
     "software"
    ],
    "user_party": [
     "runs"
    ],
    "run_mode": [
     "at-runtime"
    ],
    "policy_source": [
     "owner-config"
    ],
    "inventory_only": false
   },
   "handoffs": [],
   "evidence": {
    "e1": {
     "url": "https://www.apache.org/foundation/leadership.html",
     "quote": "V.P., Apache Ranger Selvamohan Neethiraj",
     "kind": "foundation-page",
     "captured": "2026-10-20"
    },
    "e2": {
     "url": "https://raw.githubusercontent.com/apache/ranger/master/README.md",
     "quote": "Apache Ranger is a framework for centralized, fine-grained authorization and auditing across data and AI platforms.",
     "kind": "readme",
     "captured": "2026-10-20"
    },
    "e3": {
     "url": "https://raw.githubusercontent.com/apache/ranger/master/README.md",
     "quote": "Policies are managed in one place, Ranger Admin, through its web UI or REST API",
     "kind": "readme",
     "captured": "2026-10-20"
    },
    "e4": {
     "url": "https://raw.githubusercontent.com/apache/ranger/master/README.md",
     "quote": "or sending each request to the PDP server",
     "kind": "readme",
     "captured": "2026-10-20"
    },
    "e5": {
     "url": "https://api.github.com/repos/apache/ranger",
     "quote": "Apache-2.0",
     "kind": "repo-api",
     "captured": "2026-10-20"
    }
   },
   "notes": null,
   "as_of": "2026-10-20",
   "leaf": "3.5",
   "lanes": {
    "concern": "security",
    "home": "other-foundation",
    "license": "osi",
    "maturity": "graduated",
    "policy": "owner-config"
   },
   "page": "/safeguards/apache-ranger",
   "logo": "/safeguards/logos/apache-ranger.svg"
  },
  {
   "slug": "apache-rat",
   "name": "Apache RAT",
   "org": "Apache Software Foundation",
   "org_kind": "foundation",
   "homepage": "https://creadur.apache.org/rat/",
   "repo": "https://github.com/apache/creadur-rat",
   "license": "Apache-2.0",
   "license_class": "osi",
   "description": "A tool from Apache Creadur that checks software releases for license headers and other license information.",
   "home": "apache",
   "home_detail": null,
   "maturity": "top-level",
   "tier": "mapped",
   "tier_reason": null,
   "placements": [
    {
     "leaf": "1.1",
     "primary": true,
     "capability": "Checks the files of a software release for licenses, with a special interest in license headers.",
     "evidence": [
      "e1",
      "e2"
     ]
    }
   ],
   "facets": {
    "concern": [
     "legal"
    ],
    "cites_law": false,
    "jurisdictions": [],
    "subject": [
     "software"
    ],
    "user_party": [
     "makes",
     "distributes"
    ],
    "run_mode": [
     "by-hand",
     "in-ci"
    ],
    "inventory_only": false
   },
   "handoffs": [],
   "evidence": {
    "e1": {
     "url": "https://creadur.apache.org/rat/",
     "quote": "Apache RAT is a release audit tool, focused on licenses.",
     "kind": "docs",
     "captured": "2026-10-21"
    },
    "e2": {
     "url": "https://creadur.apache.org/rat/",
     "quote": "Use RAT to improve accuracy and efficiency when checking releases for licenses.",
     "kind": "docs",
     "captured": "2026-10-21"
    },
    "e3": {
     "url": "https://creadur.apache.org/",
     "quote": "Apache Creadur is a top level project of the Apache Software Foundation (ASF)",
     "kind": "foundation-page",
     "captured": "2026-10-21"
    },
    "e4": {
     "url": "https://creadur.apache.org/rat/",
     "quote": "Apache / Creadur / RAT / A Release Audit Tool",
     "kind": "docs",
     "captured": "2026-10-21"
    },
    "e5": {
     "url": "https://api.github.com/repos/apache/creadur-rat",
     "quote": "Apache-2.0",
     "kind": "repo-api",
     "captured": "2026-10-21"
    }
   },
   "notes": "Apache RAT is a module of the Apache Creadur project, which is a top-level Apache project. Its own site calls it a release audit tool; the map says it checks releases.",
   "as_of": "2026-10-21",
   "leaf": "1.1",
   "lanes": {
    "concern": "legal",
    "home": "other-foundation",
    "license": "osi",
    "maturity": "graduated",
    "policy": "na"
   },
   "page": "/safeguards/apache-rat",
   "logo": null
  },
  {
   "slug": "artifact-hub-security-report",
   "name": "Artifact Hub (packages security report)",
   "org": "Cloud Native Computing Foundation",
   "org_kind": "foundation",
   "homepage": "https://artifacthub.io/",
   "repo": "https://github.com/artifacthub/hub",
   "license": "Apache-2.0",
   "license_class": "osi",
   "description": "Artifact Hub's scanner uses Trivy to produce a vulnerability report for the container images used by each version of a published package.",
   "home": "cncf",
   "home_detail": null,
   "maturity": "incubating",
   "tier": "mapped",
   "tier_reason": null,
   "placements": [
    {
     "leaf": "1.1",
     "primary": true,
     "capability": "Scans the container images that published packages use for known vulnerabilities with Trivy and shows a security report for each package version on its detail page.",
     "evidence": [
      "e2",
      "e3"
     ]
    }
   ],
   "facets": {
    "concern": [
     "security"
    ],
    "cites_law": false,
    "jurisdictions": [],
    "subject": [
     "software"
    ],
    "user_party": [
     "distributes"
    ],
    "run_mode": [
     "at-runtime"
    ],
    "inventory_only": false
   },
   "handoffs": [],
   "evidence": {
    "e1": {
     "url": "https://www.cncf.io/projects/artifact-hub/",
     "quote": "moved to the Incubating maturity level on May 30, 2024.",
     "kind": "foundation-page",
     "captured": "2026-10-21"
    },
    "e2": {
     "url": "https://artifacthub.io/docs/topics/security_report/",
     "quote": "Artifact Hub scans containers' images used by packages for security vulnerabilities.",
     "kind": "docs",
     "captured": "2026-10-21"
    },
    "e3": {
     "url": "https://artifacthub.io/docs/topics/security_report/",
     "quote": "The scanner uses Trivy to generate security reports for each of the package's versions.",
     "kind": "docs",
     "captured": "2026-10-21"
    },
    "e4": {
     "url": "https://api.github.com/repos/artifacthub/hub",
     "quote": "Apache-2.0",
     "kind": "repo-api",
     "captured": "2026-10-21"
    }
   },
   "notes": "The entry covers the packages security report only, not Artifact Hub as a package catalog.",
   "as_of": "2026-10-21",
   "leaf": "1.1",
   "lanes": {
    "concern": "security",
    "home": "cncf",
    "license": "osi",
    "maturity": "incubating",
    "policy": "na"
   },
   "page": "/safeguards/artifact-hub-security-report",
   "logo": null
  },
  {
   "slug": "athenz",
   "name": "Athenz",
   "org": "Cloud Native Computing Foundation",
   "org_kind": "foundation",
   "homepage": "https://www.athenz.io/",
   "repo": "https://github.com/AthenZ/athenz",
   "license": "Apache-2.0",
   "license_class": "osi",
   "description": "A platform that gives workloads short-lived X.509 service identities and provides fine-grained access control between services.",
   "home": "cncf",
   "home_detail": null,
   "maturity": "sandbox",
   "tier": "mapped",
   "tier_reason": null,
   "placements": [
    {
     "leaf": "3.6",
     "primary": true,
     "capability": "Issues workloads short-lived X.509 certificates as service identity and provides access control that decides which services may reach which resources.",
     "evidence": [
      "e2",
      "e3"
     ]
    }
   ],
   "facets": {
    "concern": [
     "security"
    ],
    "cites_law": false,
    "jurisdictions": [],
    "subject": [
     "software"
    ],
    "user_party": [
     "runs"
    ],
    "run_mode": [
     "at-runtime"
    ],
    "policy_source": [
     "owner-config"
    ],
    "inventory_only": false
   },
   "handoffs": [],
   "evidence": {
    "e1": {
     "url": "https://www.cncf.io/projects/athenz/",
     "quote": "Athenz was accepted to CNCF on January 26, 2021 at the Sandbox maturity level.",
     "kind": "foundation-page",
     "captured": "2026-10-20"
    },
    "e2": {
     "url": "https://www.athenz.io/",
     "quote": "Open source platform for X.509 certificate based service authentication and fine grained access control in dynamic infrastructures",
     "kind": "product-page",
     "captured": "2026-10-20"
    },
    "e3": {
     "url": "https://www.athenz.io/",
     "quote": "Service identity in the form of short-lived X.509 certificates to all workloads deployed in private or public clouds",
     "kind": "product-page",
     "captured": "2026-10-20"
    },
    "e4": {
     "url": "https://api.github.com/repos/AthenZ/athenz",
     "quote": "Apache-2.0",
     "kind": "repo-api",
     "captured": "2026-10-20"
    }
   },
   "notes": null,
   "as_of": "2026-10-20",
   "leaf": "3.6",
   "lanes": {
    "concern": "security",
    "home": "cncf",
    "license": "osi",
    "maturity": "sandbox",
    "policy": "owner-config"
   },
   "page": "/safeguards/athenz",
   "logo": "/safeguards/logos/athenz.svg"
  },
  {
   "slug": "atlantis-policy-checking",
   "name": "Atlantis (policy checking)",
   "org": "Cloud Native Computing Foundation",
   "org_kind": "foundation",
   "homepage": "https://www.runatlantis.io/",
   "repo": "https://github.com/runatlantis/atlantis",
   "license": "Apache-2.0",
   "license_class": "osi",
   "description": "Atlantis's policy checking runs the owner's Conftest policies against a Terraform plan and blocks the apply while any policy fails, unless the named policy owners approve.",
   "home": "cncf",
   "home_detail": null,
   "maturity": "sandbox",
   "tier": "mapped",
   "tier_reason": null,
   "placements": [
    {
     "leaf": "3.7",
     "primary": true,
     "capability": "Runs server-side Conftest policies, written in Rego by the owner, against a Terraform plan and blocks the apply when a policy fails until the policy set's owners approve it.",
     "evidence": [
      "e2",
      "e3",
      "e4"
     ]
    }
   ],
   "facets": {
    "concern": [
     "security"
    ],
    "cites_law": false,
    "jurisdictions": [],
    "subject": [
     "software"
    ],
    "user_party": [
     "runs"
    ],
    "run_mode": [
     "at-runtime"
    ],
    "policy_source": [
     "owner-config"
    ],
    "inventory_only": false
   },
   "handoffs": [
    {
     "artifact": "policy",
     "direction": "consumes",
     "format": "Conftest policies written in Rego"
    }
   ],
   "evidence": {
    "e1": {
     "url": "https://www.cncf.io/projects/atlantis/",
     "quote": "Atlantis was accepted to CNCF on June 18, 2024 at the Sandbox maturity level.",
     "kind": "foundation-page",
     "captured": "2026-10-21"
    },
    "e2": {
     "url": "https://www.runatlantis.io/docs/policy-checking",
     "quote": "Atlantis supports running server-side conftest policies against the plan output.",
     "kind": "docs",
     "captured": "2026-10-21"
    },
    "e3": {
     "url": "https://www.runatlantis.io/docs/policy-checking",
     "quote": "blocks applies on plans that fail any of the defined conftest policies.",
     "kind": "docs",
     "captured": "2026-10-21"
    },
    "e4": {
     "url": "https://www.runatlantis.io/docs/policy-checking",
     "quote": "Conftest policies are based on Open Policy Agent (OPA) and written in rego",
     "kind": "docs",
     "captured": "2026-10-21"
    },
    "e5": {
     "url": "https://www.runatlantis.io/docs/policy-checking",
     "quote": "Tells atlantis where to fetch the policies from.",
     "kind": "docs",
     "captured": "2026-10-21"
    },
    "e6": {
     "url": "https://api.github.com/repos/runatlantis/atlantis",
     "quote": "Apache-2.0",
     "kind": "repo-api",
     "captured": "2026-10-21"
    }
   },
   "notes": null,
   "as_of": "2026-10-21",
   "leaf": "3.7",
   "lanes": {
    "concern": "security",
    "home": "cncf",
    "license": "osi",
    "maturity": "sandbox",
    "policy": "owner-config"
   },
   "page": "/safeguards/atlantis-policy-checking",
   "logo": null
  },
  {
   "slug": "azure-api-management-ai-gateway",
   "name": "Azure API Management AI gateway",
   "org": "Microsoft",
   "org_kind": "company",
   "homepage": "https://learn.microsoft.com/en-us/azure/api-management/genai-gateway-capabilities",
   "repo": null,
   "license": null,
   "license_class": "proprietary",
   "description": "The AI gateway features of Azure API Management: governance of model, MCP server and A2A agent API traffic, including content safety checks on prompts and tool traffic.",
   "home": "vendor",
   "home_detail": null,
   "maturity": "ga",
   "tier": "listed",
   "tier_reason": "Listed, not drawn: no documented handoff and no foundation home places it on the map.",
   "placements": [
    {
     "leaf": "3.3",
     "primary": true,
     "capability": "Sits in front of language model APIs, remote MCP servers and A2A agent APIs and applies API Management policies, including content safety checks that block a request or response.",
     "evidence": [
      "e1",
      "e2",
      "e3"
     ]
    }
   ],
   "facets": {
    "concern": [
     "security"
    ],
    "cites_law": false,
    "jurisdictions": [],
    "subject": [
     "agent",
     "ai-system"
    ],
    "user_party": [
     "runs"
    ],
    "run_mode": [
     "at-runtime"
    ],
    "policy_source": [
     "owner-config"
    ],
    "traffic_seen": [
     "model",
     "tool",
     "agent-to-agent"
    ],
    "agent_can_bypass": "depends",
    "inventory_only": false
   },
   "handoffs": [],
   "evidence": {
    "e1": {
     "url": "https://learn.microsoft.com/en-us/azure/api-management/genai-gateway-capabilities",
     "quote": "Govern chat completions, responses, and real-time APIs.",
     "kind": "docs",
     "captured": "2026-10-20"
    },
    "e2": {
     "url": "https://learn.microsoft.com/en-us/azure/api-management/genai-gateway-capabilities",
     "quote": "Remote MCP servers and A2A agent APIs",
     "kind": "docs",
     "captured": "2026-10-20"
    },
    "e3": {
     "url": "https://learn.microsoft.com/en-us/azure/api-management/llm-content-safety-policy",
     "quote": "The policy can also enforce content safety checks on requests or responses for MCP tools or A2A Agent APIs managed in API Management.",
     "kind": "docs",
     "captured": "2026-10-20"
    },
    "e4": {
     "url": "https://learn.microsoft.com/en-us/azure/api-management/llm-content-safety-policy",
     "quote": "When you enable the policy and Azure AI Content Safety detects malicious content, API Management blocks the request or response and returns a 403 error code.",
     "kind": "docs",
     "captured": "2026-10-20"
    },
    "e5": {
     "url": "https://learn.microsoft.com/en-us/azure/api-management/genai-gateway-capabilities",
     "quote": "extends API Management's existing API gateway",
     "kind": "docs",
     "captured": "2026-10-20"
    }
   },
   "notes": null,
   "as_of": "2026-10-20",
   "leaf": "3.3",
   "lanes": {
    "concern": "security",
    "home": "vendor",
    "license": "proprietary",
    "maturity": "ga",
    "policy": "owner-config"
   },
   "page": "/safeguards/azure-api-management-ai-gateway",
   "logo": "/safeguards/logos/azure-api-management-ai-gateway.png"
  },
  {
   "slug": "beeai-framework",
   "name": "BeeAI Framework",
   "org": "LF AI & Data Foundation",
   "org_kind": "foundation",
   "homepage": "https://framework.beeai.dev/",
   "repo": "https://github.com/i-am-bee/beeai-framework",
   "license": "Apache-2.0",
   "license_class": "osi",
   "description": "An open-source framework for building multi-agent systems, whose Requirement Agent can ask a person before it runs a named tool.",
   "home": "lfai-data",
   "home_detail": null,
   "maturity": "released",
   "tier": "mapped",
   "tier_reason": null,
   "placements": [
    {
     "leaf": "3.2",
     "primary": true,
     "capability": "Lets an agent builder require approval from the user, or from an external system through a custom handler, before the agent runs a named tool.",
     "evidence": [
      "e3",
      "e4"
     ]
    }
   ],
   "facets": {
    "concern": [
     "security"
    ],
    "cites_law": false,
    "jurisdictions": [],
    "subject": [
     "agent"
    ],
    "user_party": [
     "makes"
    ],
    "run_mode": [
     "at-runtime"
    ],
    "policy_source": [
     "owner-config"
    ],
    "agent_can_bypass": "depends",
    "inventory_only": false
   },
   "handoffs": [],
   "evidence": {
    "e1": {
     "url": "https://lfaidata.foundation/projects/beeai/",
     "quote": "It is hosted by the Linux Foundation under open governance, ensuring transparency, community-driven development, and enterprise-grade stability.",
     "kind": "foundation-page",
     "captured": "2026-10-20"
    },
    "e2": {
     "url": "https://raw.githubusercontent.com/i-am-bee/beeai-framework/main/README.md",
     "quote": "To install the Python library:",
     "kind": "readme",
     "captured": "2026-10-20"
    },
    "e3": {
     "url": "https://framework.beeai.dev/modules/agents/requirement-agent.md",
     "quote": "The following agent first asks the user before it runs the `remove_data` or the `get_data` tool.",
     "kind": "docs",
     "captured": "2026-10-20"
    },
    "e4": {
     "url": "https://framework.beeai.dev/modules/agents/requirement-agent.md",
     "quote": "By default, the approval process is done as a simple prompt in terminal.",
     "kind": "docs",
     "captured": "2026-10-20"
    },
    "e5": {
     "url": "https://api.github.com/repos/i-am-bee/beeai-framework",
     "quote": "Apache-2.0",
     "kind": "repo-api",
     "captured": "2026-10-20"
    }
   },
   "notes": null,
   "as_of": "2026-10-20",
   "leaf": "3.2",
   "lanes": {
    "concern": "security",
    "home": "lfai-data",
    "license": "osi",
    "maturity": "released",
    "policy": "owner-config"
   },
   "page": "/safeguards/beeai-framework",
   "logo": "/safeguards/logos/beeai-framework.svg"
  },
  {
   "slug": "bifrost",
   "name": "Bifrost",
   "org": "Maxim AI",
   "org_kind": "company",
   "homepage": "https://www.getmaxim.ai/bifrost",
   "repo": "https://github.com/maximhq/bifrost",
   "license": "Apache-2.0",
   "license_class": "osi",
   "description": "An open-source gateway with one OpenAI-compatible API for many model providers and an MCP client and server layer, with per-virtual-key tool and model access.",
   "home": "none",
   "home_detail": null,
   "maturity": "released",
   "tier": "mapped",
   "tier_reason": null,
   "placements": [
    {
     "leaf": "3.3",
     "primary": true,
     "capability": "Sits between applications and model providers and MCP servers, and filters which tools and models each request or virtual key can reach.",
     "evidence": [
      "e2",
      "e3",
      "e4"
     ]
    }
   ],
   "facets": {
    "concern": [
     "security"
    ],
    "cites_law": false,
    "jurisdictions": [],
    "subject": [
     "agent",
     "ai-system"
    ],
    "user_party": [
     "runs"
    ],
    "run_mode": [
     "at-runtime"
    ],
    "policy_source": [
     "owner-config"
    ],
    "traffic_seen": [
     "model",
     "tool"
    ],
    "agent_can_bypass": "depends",
    "inventory_only": false
   },
   "handoffs": [
    {
     "artifact": "runtime-records",
     "direction": "produces",
     "format": "OpenTelemetry Protocol (OTLP) traces"
    }
   ],
   "evidence": {
    "e1": {
     "url": "https://api.github.com/repos/maximhq/bifrost",
     "quote": "Apache-2.0",
     "kind": "repo-api",
     "captured": "2026-10-20"
    },
    "e2": {
     "url": "https://raw.githubusercontent.com/maximhq/bifrost/main/README.md",
     "quote": "Single OpenAI-compatible API for all providers",
     "kind": "readme",
     "captured": "2026-10-20"
    },
    "e3": {
     "url": "https://docs.getbifrost.ai/mcp/overview.md",
     "quote": "Control which tools are available per request or per virtual key",
     "kind": "docs",
     "captured": "2026-10-20"
    },
    "e4": {
     "url": "https://docs.getbifrost.ai/features/governance/virtual-keys.md",
     "quote": "Virtual Keys are the primary governance entity in Bifrost.",
     "kind": "docs",
     "captured": "2026-10-20"
    },
    "e6": {
     "url": "https://docs.getbifrost.ai/features/observability/otel.md",
     "quote": "allowing you to send LLM traces to your existing observability infrastructure",
     "kind": "docs",
     "captured": "2026-10-20"
    },
    "e7": {
     "url": "https://github.com/maximhq/bifrost/releases",
     "quote": "Release list Bifrost HTTP v2.3.1 Plugin telemetry v1.9.1",
     "kind": "release-notes",
     "captured": "2026-10-20"
    }
   },
   "notes": null,
   "as_of": "2026-10-20",
   "leaf": "3.3",
   "lanes": {
    "concern": "security",
    "home": "none",
    "license": "osi",
    "maturity": "released",
    "policy": "owner-config"
   },
   "page": "/safeguards/bifrost",
   "logo": "/safeguards/logos/bifrost.png"
  },
  {
   "slug": "bomhort",
   "name": "BOMHort",
   "org": "Open Source Security Foundation",
   "org_kind": "foundation",
   "homepage": "https://docs.bomhort.dev/",
   "repo": "https://github.com/seebom-labs/BOMHort",
   "license": "Apache-2.0",
   "license_class": "osi",
   "description": "A Kubernetes-native platform that ingests SPDX and CycloneDX SBOMs and checks their licenses against a policy and their packages against OSV.",
   "home": "openssf",
   "home_detail": null,
   "maturity": "sandbox",
   "tier": "mapped",
   "tier_reason": null,
   "placements": [
    {
     "leaf": "1.1",
     "primary": true,
     "capability": "Reads SPDX and CycloneDX SBOMs, checks package licenses against a permissive and copyleft policy with reviewed exceptions, and looks packages up in OSV.",
     "evidence": [
      "e2",
      "e3",
      "e4"
     ]
    }
   ],
   "facets": {
    "concern": [
     "security",
     "legal"
    ],
    "cites_law": false,
    "jurisdictions": [],
    "subject": [
     "software"
    ],
    "user_party": [
     "makes",
     "runs"
    ],
    "run_mode": [
     "at-runtime"
    ],
    "inventory_only": false
   },
   "handoffs": [
    {
     "artifact": "inventory",
     "direction": "consumes",
     "format": "SPDX"
    },
    {
     "artifact": "inventory",
     "direction": "consumes",
     "format": "CycloneDX"
    },
    {
     "artifact": "vulnerability-status",
     "direction": "consumes",
     "format": "OSV"
    },
    {
     "artifact": "vulnerability-status",
     "direction": "consumes",
     "format": "OpenVEX"
    }
   ],
   "evidence": {
    "e1": {
     "url": "https://raw.githubusercontent.com/ossf/tac/main/README.md",
     "quote": "| BOMHort | [GitHub](https://github.com/seebom-labs/BOMHort) | https://docs.bomhort.dev/ | WG Supply Chain Integrity | [Sandbox](process/project-lifecycle-documents/BOMHort_sandbox_stage.md) |",
     "kind": "foundation-page",
     "captured": "2026-10-21"
    },
    "e2": {
     "url": "https://raw.githubusercontent.com/seebom-labs/BOMHort/main/README.md",
     "quote": "an externalized permissive/copyleft policy, SPDX expression evaluation, and reviewed exceptions that reload live and apply retroactively to every SBOM already ingested.",
     "kind": "readme",
     "captured": "2026-10-21"
    },
    "e3": {
     "url": "https://raw.githubusercontent.com/seebom-labs/BOMHort/main/README.md",
     "quote": "Ingest 1000+ SPDX and CycloneDX SBOMs",
     "kind": "readme",
     "captured": "2026-10-21"
    },
    "e4": {
     "url": "https://raw.githubusercontent.com/seebom-labs/BOMHort/main/README.md",
     "quote": "OSV batch lookups at ingest, plus a daily refresher",
     "kind": "readme",
     "captured": "2026-10-21"
    },
    "e5": {
     "url": "https://raw.githubusercontent.com/seebom-labs/BOMHort/main/README.md",
     "quote": "OpenVEX statements scoped to the SBOM whose product they describe",
     "kind": "readme",
     "captured": "2026-10-21"
    },
    "e6": {
     "url": "https://api.github.com/repos/seebom-labs/BOMHort",
     "quote": "Apache-2.0",
     "kind": "repo-api",
     "captured": "2026-10-21"
    }
   },
   "notes": "The repository owner is seebom-labs, not the OpenSSF organization; the home rests on the project's row in the OpenSSF TAC table, which lists this repository. Formerly named SeeBOM.",
   "as_of": "2026-10-21",
   "leaf": "1.1",
   "lanes": {
    "concern": "legal",
    "home": "openssf",
    "license": "osi",
    "maturity": "sandbox",
    "policy": "na"
   },
   "page": "/safeguards/bomhort",
   "logo": null
  },
  {
   "slug": "boomi-mcp-gateway",
   "name": "Boomi MCP Gateway",
   "org": "Boomi",
   "org_kind": "company",
   "homepage": "https://help.boomi.com/docs/Atomsphere/AIGateway/MCPGateway/mcpx_overview",
   "repo": null,
   "license": null,
   "license_class": "proprietary",
   "description": "A commercial gateway that fronts MCP servers for agents, with per-agent tool access policies, an approved server catalog and an audit log of tool calls.",
   "home": "vendor",
   "home_detail": null,
   "maturity": "ga",
   "tier": "listed",
   "tier_reason": "Listed, not drawn: no documented handoff and no foundation home places it on the map.",
   "placements": [
    {
     "leaf": "3.3",
     "primary": true,
     "capability": "Sits on the request path between agents and MCP servers, and limits which tools and methods each agent can reach under the owner's policies.",
     "evidence": [
      "e1",
      "e2"
     ]
    },
    {
     "leaf": "3.7",
     "primary": false,
     "capability": "Keeps an organizational catalog in which administrators approve MCP servers before they reach a profile, so users and agents see only approved servers and tools.",
     "evidence": [
      "e3",
      "e4"
     ]
    }
   ],
   "facets": {
    "concern": [
     "security"
    ],
    "cites_law": false,
    "jurisdictions": [],
    "subject": [
     "agent",
     "ai-system"
    ],
    "user_party": [
     "runs"
    ],
    "run_mode": [
     "at-runtime"
    ],
    "policy_source": [
     "owner-config"
    ],
    "traffic_seen": [
     "tool"
    ],
    "agent_can_bypass": "depends",
    "inventory_only": false
   },
   "handoffs": [],
   "evidence": {
    "e1": {
     "url": "https://help.boomi.com/docs/Atomsphere/AIGateway/MCPGateway/mcpx_overview",
     "quote": "MCP Gateway is a lightweight, unified MCP gateway for orchestrating and securing AI agents and applications across multiple MCP servers.",
     "kind": "docs",
     "captured": "2026-10-20"
    },
    "e2": {
     "url": "https://help.boomi.com/docs/Atomsphere/AIGateway/MCPGateway/mcpx_overview",
     "quote": "Policy enforcement : Control which tools and methods are accessible to which agents.",
     "kind": "docs",
     "captured": "2026-10-20"
    },
    "e3": {
     "url": "https://help.boomi.com/docs/Atomsphere/AIGateway/MCPGateway/get-started/enterprise",
     "quote": "Profiles : Assign each team, role, or department a curated subset of approved MCP servers and tools from the Organizational Catalog.",
     "kind": "docs",
     "captured": "2026-10-20"
    },
    "e4": {
     "url": "https://help.boomi.com/docs/Atomsphere/AIGateway/MCPGateway/get-started/enterprise",
     "quote": "Organizational Catalog : Review and approve MCP servers in one curated list before they reach a Profile or a user.",
     "kind": "docs",
     "captured": "2026-10-20"
    }
   },
   "notes": null,
   "as_of": "2026-10-20",
   "leaf": "3.3",
   "lanes": {
    "concern": "security",
    "home": "vendor",
    "license": "proprietary",
    "maturity": "ga",
    "policy": "owner-config"
   },
   "page": "/safeguards/boomi-mcp-gateway",
   "logo": "/safeguards/logos/boomi-mcp-gateway.png"
  },
  {
   "slug": "capsule",
   "name": "Capsule",
   "org": "Cloud Native Computing Foundation",
   "org_kind": "foundation",
   "homepage": "https://projectcapsule.dev/",
   "repo": "https://github.com/projectcapsule/capsule",
   "license": "Apache-2.0",
   "license_class": "osi",
   "description": "A Kubernetes multi-tenancy operator that groups namespaces into tenants and applies tenant-level policies, enforced through admission webhooks.",
   "home": "cncf",
   "home_detail": null,
   "maturity": "sandbox",
   "tier": "mapped",
   "tier_reason": null,
   "placements": [
    {
     "leaf": "3.7",
     "primary": true,
     "capability": "Groups namespaces into tenants on a shared Kubernetes cluster and enforces policies the cluster owner defines per tenant through Kubernetes admission control.",
     "evidence": [
      "e2",
      "e3",
      "e4"
     ]
    }
   ],
   "facets": {
    "concern": [
     "security"
    ],
    "cites_law": false,
    "jurisdictions": [],
    "subject": [
     "software"
    ],
    "user_party": [
     "runs"
    ],
    "run_mode": [
     "at-runtime"
    ],
    "policy_source": [
     "owner-config"
    ],
    "inventory_only": false
   },
   "handoffs": [],
   "evidence": {
    "e1": {
     "url": "https://www.cncf.io/projects/capsule/",
     "quote": "Capsule was accepted to CNCF on December 13, 2022 at the Sandbox maturity level.",
     "kind": "foundation-page",
     "captured": "2026-10-21"
    },
    "e2": {
     "url": "https://raw.githubusercontent.com/projectcapsule/capsule/main/README.md",
     "quote": "Leverage Kubernetes Admission Controllers to enforce the industry security best practices and meet policy requirements.",
     "kind": "readme",
     "captured": "2026-10-21"
    },
    "e3": {
     "url": "https://raw.githubusercontent.com/projectcapsule/capsule/main/README.md",
     "quote": "and other policies defined at the tenant level are automatically inherited by all the namespaces in the tenant",
     "kind": "readme",
     "captured": "2026-10-21"
    },
    "e4": {
     "url": "https://raw.githubusercontent.com/projectcapsule/capsule/main/README.md",
     "quote": "the Capsule Policy Engine keeps the different tenants isolated from each other",
     "kind": "readme",
     "captured": "2026-10-21"
    },
    "e5": {
     "url": "https://api.github.com/repos/projectcapsule/capsule",
     "quote": "Apache-2.0",
     "kind": "repo-api",
     "captured": "2026-10-21"
    }
   },
   "notes": null,
   "as_of": "2026-10-21",
   "leaf": "3.7",
   "lanes": {
    "concern": "security",
    "home": "cncf",
    "license": "osi",
    "maturity": "sandbox",
    "policy": "owner-config"
   },
   "page": "/safeguards/capsule",
   "logo": null
  },
  {
   "slug": "cartography",
   "name": "Cartography",
   "org": "Cloud Native Computing Foundation",
   "org_kind": "foundation",
   "homepage": "https://cartography-cncf.github.io/cartography/",
   "repo": "https://github.com/cartography-cncf/cartography",
   "license": "Apache-2.0",
   "license_class": "osi",
   "description": "A Python tool that records identities, access relationships and AI agent deployments across providers, and changes nothing in the systems it reads.",
   "home": "cncf",
   "home_detail": null,
   "maturity": "sandbox",
   "tier": "listed",
   "tier_reason": "Listed, not drawn: it only keeps an inventory.",
   "placements": [
    {
     "leaf": "3.6",
     "primary": true,
     "capability": "Collects identities, access relationships and AI agent deployments from many providers into one store that an operator queries with its built-in security rules; it records the picture and changes nothing in the systems it reads.",
     "evidence": [
      "e2",
      "e3"
     ]
    }
   ],
   "facets": {
    "concern": [
     "security"
    ],
    "cites_law": false,
    "jurisdictions": [],
    "subject": [
     "software",
     "agent"
    ],
    "user_party": [
     "runs"
    ],
    "run_mode": [
     "by-hand"
    ],
    "policy_source": [
     "vendor-defaults"
    ],
    "inventory_only": true
   },
   "handoffs": [],
   "evidence": {
    "e1": {
     "url": "https://www.cncf.io/projects/cartography/",
     "quote": "Cartography was accepted to CNCF on August 23, 2024 at the Sandbox maturity level.",
     "kind": "foundation-page",
     "captured": "2026-10-20"
    },
    "e2": {
     "url": "https://raw.githubusercontent.com/cartography-cncf/cartography/master/README.md",
     "quote": "What AI agents are running in production, and what permissions do they have?",
     "kind": "readme",
     "captured": "2026-10-20"
    },
    "e3": {
     "url": "https://raw.githubusercontent.com/cartography-cncf/cartography/master/README.md",
     "quote": "Which identities have access to which datastores?",
     "kind": "readme",
     "captured": "2026-10-20"
    },
    "e4": {
     "url": "https://raw.githubusercontent.com/cartography-cncf/cartography/master/README.md",
     "quote": "Once Cartography has populated the reachable Neo4j graph, list, inspect, and run security rules.",
     "kind": "readme",
     "captured": "2026-10-20"
    },
    "e5": {
     "url": "https://api.github.com/repos/cartography-cncf/cartography",
     "quote": "Apache-2.0",
     "kind": "repo-api",
     "captured": "2026-10-20"
    }
   },
   "notes": "Pure inventory, listed and not drawn. The leaf is a judgment call, the closest stage 3 leaf for an identity and access picture that enforces nothing.",
   "as_of": "2026-10-20",
   "leaf": "3.6",
   "lanes": {
    "concern": "security",
    "home": "cncf",
    "license": "osi",
    "maturity": "sandbox",
    "policy": "vendor-defaults"
   },
   "page": "/safeguards/cartography",
   "logo": "/safeguards/logos/cartography.svg"
  },
  {
   "slug": "cdxgen",
   "name": "cdxgen (CycloneDX Generator)",
   "org": "OWASP Foundation",
   "org_kind": "foundation",
   "homepage": "https://cdxgen.github.io/cdxgen/",
   "repo": "https://github.com/cdxgen/cdxgen",
   "license": "Apache-2.0",
   "license_class": "osi",
   "description": "A command-line tool, library and server that generates CycloneDX bills of materials for software, container images and AI/ML assets.",
   "home": "owasp",
   "home_detail": null,
   "maturity": "production",
   "tier": "mapped",
   "tier_reason": null,
   "placements": [
    {
     "leaf": "1.1",
     "primary": true,
     "capability": "Generates CycloneDX bills of materials from source projects and container images, and AI/ML bills of materials covering prompt files, MCP configs and model metadata.",
     "evidence": [
      "e2",
      "e3"
     ]
    }
   ],
   "facets": {
    "concern": [
     "security"
    ],
    "cites_law": false,
    "jurisdictions": [],
    "subject": [
     "software",
     "ai-system"
    ],
    "user_party": [
     "makes",
     "distributes"
    ],
    "run_mode": [
     "by-hand",
     "in-ci"
    ],
    "inventory_only": false
   },
   "handoffs": [
    {
     "artifact": "inventory",
     "direction": "produces",
     "format": "CycloneDX JSON, SPDX 3.0.1 JSON-LD"
    }
   ],
   "evidence": {
    "e1": {
     "url": "https://raw.githubusercontent.com/CycloneDX/cdxgen/master/README.md",
     "quote": "cdxgen is an OWASP Foundation production project.",
     "kind": "readme",
     "captured": "2026-10-20"
    },
    "e2": {
     "url": "https://raw.githubusercontent.com/CycloneDX/cdxgen/master/README.md",
     "quote": "Software (SBOM) - For many languages and container images.",
     "kind": "readme",
     "captured": "2026-10-20"
    },
    "e3": {
     "url": "https://raw.githubusercontent.com/CycloneDX/cdxgen/master/README.md",
     "quote": "AI/ML (AI-BOM) - For prompt files, AI services, MCP configs, and model metadata",
     "kind": "readme",
     "captured": "2026-10-20"
    },
    "e4": {
     "url": "https://raw.githubusercontent.com/CycloneDX/cdxgen/master/README.md",
     "quote": "It generates CycloneDX JSON BOMs and supports SPDX 3.0.1 JSON-LD export.",
     "kind": "readme",
     "captured": "2026-10-20"
    },
    "e5": {
     "url": "https://api.github.com/repos/cdxgen/cdxgen",
     "quote": "Apache-2.0",
     "kind": "repo-api",
     "captured": "2026-10-20"
    }
   },
   "notes": "The OWASP project page lists cdxgen as an \"other\" project with no level, so the level comes from the project's own README. The CycloneDX format itself is an artifact, not an entry.",
   "as_of": "2026-10-20",
   "leaf": "1.1",
   "lanes": {
    "concern": "security",
    "home": "other-foundation",
    "license": "osi",
    "maturity": "graduated",
    "policy": "na"
   },
   "page": "/safeguards/cdxgen",
   "logo": "/safeguards/logos/cdxgen.png"
  },
  {
   "slug": "cedar",
   "name": "Cedar",
   "org": "Cloud Native Computing Foundation",
   "org_kind": "foundation",
   "homepage": "https://www.cedarpolicy.com/",
   "repo": "https://github.com/cedar-policy/cedar",
   "license": "Apache-2.0",
   "license_class": "osi",
   "description": "A policy language and authorization engine that evaluates Cedar policies against a request and returns allow or deny.",
   "home": "cncf",
   "home_detail": null,
   "maturity": "sandbox",
   "tier": "mapped",
   "tier_reason": null,
   "placements": [
    {
     "leaf": "3.5",
     "primary": true,
     "capability": "Evaluates Cedar policies against a request made of a principal, action, resource and context, and returns allow or deny to the application that asked.",
     "evidence": [
      "e2",
      "e3"
     ]
    }
   ],
   "facets": {
    "concern": [
     "security"
    ],
    "cites_law": false,
    "jurisdictions": [],
    "subject": [
     "software"
    ],
    "user_party": [
     "runs"
    ],
    "run_mode": [
     "at-runtime"
    ],
    "policy_source": [
     "owner-config"
    ],
    "inventory_only": false
   },
   "handoffs": [
    {
     "artifact": "policy",
     "direction": "consumes",
     "format": "Cedar policies"
    }
   ],
   "evidence": {
    "e1": {
     "url": "https://www.cncf.io/projects/cedar/",
     "quote": "Cedar was accepted to CNCF on October 8, 2025 at the Sandbox maturity level.",
     "kind": "foundation-page",
     "captured": "2026-10-20"
    },
    "e2": {
     "url": "https://docs.cedarpolicy.com/",
     "quote": "Cedar is a language for writing authorization policies and making authorization decisions based on those policies.",
     "kind": "docs",
     "captured": "2026-10-20"
    },
    "e3": {
     "url": "https://docs.cedarpolicy.com/auth/authorization.html",
     "quote": "Given an authorization request, Cedar’s authorizer returns Allow if the request is granted or Deny if it is rejected, along with some diagnostics.",
     "kind": "docs",
     "captured": "2026-10-20"
    },
    "e4": {
     "url": "https://api.github.com/repos/cedar-policy/cedar",
     "quote": "Apache-2.0",
     "kind": "repo-api",
     "captured": "2026-10-20"
    }
   },
   "notes": null,
   "as_of": "2026-10-20",
   "leaf": "3.5",
   "lanes": {
    "concern": "security",
    "home": "cncf",
    "license": "osi",
    "maturity": "sandbox",
    "policy": "owner-config"
   },
   "page": "/safeguards/cedar",
   "logo": "/safeguards/logos/cedar.svg"
  },
  {
   "slug": "cisco-ai-defense",
   "name": "Cisco AI Defense",
   "org": "Cisco",
   "org_kind": "company",
   "homepage": "https://www.cisco.com/site/us/en/products/security/ai-defense/index.html",
   "repo": null,
   "license": null,
   "license_class": "proprietary",
   "description": "A commercial service that inspects prompts, responses and MCP messages for security and safety violations through an inspection API or a proxy gateway mode.",
   "home": "vendor",
   "home_detail": null,
   "maturity": "ga",
   "tier": "listed",
   "tier_reason": "Listed, not drawn: no documented handoff and no foundation home places it on the map.",
   "placements": [
    {
     "leaf": "3.4",
     "primary": true,
     "capability": "Classifies chat and MCP JSON-RPC messages for security, privacy and safety violations through an inspection API that the calling application or gateway acts on.",
     "evidence": [
      "e2",
      "e3"
     ]
    },
    {
     "leaf": "3.3",
     "primary": false,
     "capability": "Offers a gateway mode that proxies model and MCP traffic, with MCP gateway policies managed through its API.",
     "evidence": [
      "e2",
      "e5"
     ]
    }
   ],
   "facets": {
    "concern": [
     "security"
    ],
    "cites_law": false,
    "jurisdictions": [],
    "subject": [
     "agent",
     "ai-system"
    ],
    "user_party": [
     "runs"
    ],
    "run_mode": [
     "at-runtime"
    ],
    "policy_source": [
     "owner-config"
    ],
    "traffic_seen": [
     "model",
     "tool"
    ],
    "agent_can_bypass": "depends",
    "inventory_only": false
   },
   "handoffs": [],
   "evidence": {
    "e1": {
     "url": "https://www.cisco.com/site/us/en/products/security/ai-defense/index.html",
     "quote": "Get end-to-end protection for enterprises building, using, and innovating with AI.",
     "kind": "product-page",
     "captured": "2026-10-20"
    },
    "e2": {
     "url": "https://raw.githubusercontent.com/cisco-ai-defense/ai-defense-python-sdk/main/README.md",
     "quote": "Supports API mode (inspection) and Gateway mode (proxy).",
     "kind": "readme",
     "captured": "2026-10-20"
    },
    "e3": {
     "url": "https://raw.githubusercontent.com/cisco-ai-defense/ai-defense-python-sdk/main/README.md",
     "quote": "Inspect Model Context Protocol (MCP) JSON-RPC 2.0 messages for security, privacy, and safety violations in AI agent tool calls, resource access, and responses.",
     "kind": "readme",
     "captured": "2026-10-20"
    },
    "e4": {
     "url": "https://www.cisco.com/site/us/en/products/security/ai-defense/index.html",
     "quote": "Block adversarial attacks and harmful responses in real time.",
     "kind": "product-page",
     "captured": "2026-10-20"
    },
    "e5": {
     "url": "https://raw.githubusercontent.com/cisco-ai-defense/ai-defense-python-sdk/main/README.md",
     "quote": "MCPPolicyClient for managing MCP Gateway policies",
     "kind": "readme",
     "captured": "2026-10-20"
    }
   },
   "notes": "The product documentation host was not readable, so the placements rest on the vendor's product page and its SDK README. No MCP catalog was found in those pages. No handoff format is named there, so the entry is listed. The SDK is Apache-2.0; the service is proprietary.",
   "as_of": "2026-10-20",
   "leaf": "3.4",
   "lanes": {
    "concern": "security",
    "home": "vendor",
    "license": "proprietary",
    "maturity": "ga",
    "policy": "owner-config"
   },
   "page": "/safeguards/cisco-ai-defense",
   "logo": null
  },
  {
   "slug": "claude-code",
   "name": "Claude Code",
   "org": "Anthropic",
   "org_kind": "company",
   "homepage": "https://code.claude.com/",
   "repo": null,
   "license": null,
   "license_class": "proprietary",
   "description": "A coding agent with permission modes, allow, ask and deny rules, hooks that can block tool calls, and settings an administrator can enforce.",
   "home": "vendor",
   "home_detail": null,
   "maturity": "ga",
   "tier": "mapped",
   "tier_reason": null,
   "placements": [
    {
     "leaf": "3.2",
     "primary": true,
     "capability": "Asks for approval before tool calls according to the active permission mode and the user's allow, ask and deny rules, and runs hooks that can block a tool call.",
     "evidence": [
      "e2",
      "e3",
      "e4"
     ]
    }
   ],
   "facets": {
    "concern": [
     "safety",
     "security"
    ],
    "cites_law": false,
    "jurisdictions": [],
    "subject": [
     "agent"
    ],
    "user_party": [
     "runs"
    ],
    "run_mode": [
     "at-runtime"
    ],
    "policy_source": [
     "owner-config",
     "pdp-callout"
    ],
    "agent_can_bypass": "depends",
    "inventory_only": false
   },
   "handoffs": [
    {
     "artifact": "runtime-records",
     "direction": "produces",
     "format": "OpenTelemetry (OTel) metrics, events and traces"
    }
   ],
   "evidence": {
    "e1": {
     "url": "https://code.claude.com/docs/en/overview.md",
     "quote": "Claude Code is an agentic coding tool that reads your codebase, edits files, runs commands, and integrates with your development tools.",
     "kind": "docs",
     "captured": "2026-10-20"
    },
    "e2": {
     "url": "https://code.claude.com/docs/en/permissions.md",
     "quote": "Claude Code uses a tiered permission system to balance power and safety.",
     "kind": "docs",
     "captured": "2026-10-20"
    },
    "e3": {
     "url": "https://code.claude.com/docs/en/permissions.md",
     "quote": "Claude Code supports several permission modes that control how it approves tool calls.",
     "kind": "docs",
     "captured": "2026-10-20"
    },
    "e4": {
     "url": "https://code.claude.com/docs/en/hooks.md",
     "quote": "Before a tool call executes. Can block it",
     "kind": "docs",
     "captured": "2026-10-20"
    },
    "e5": {
     "url": "https://code.claude.com/docs/en/permissions.md",
     "quote": "You can check permission settings into version control to share them with every developer in your organization, and each developer can customize their own.",
     "kind": "docs",
     "captured": "2026-10-20"
    },
    "e6": {
     "url": "https://code.claude.com/docs/en/permissions.md",
     "quote": "doesn't cancel a `Read(./.env)` deny from managed settings or any other settings file.",
     "kind": "docs",
     "captured": "2026-10-20"
    },
    "e7": {
     "url": "https://code.claude.com/docs/en/monitoring-usage.md",
     "quote": "Track Claude Code usage, costs, and tool activity across your organization by exporting telemetry data through OpenTelemetry (OTel).",
     "kind": "docs",
     "captured": "2026-10-20"
    },
    "e8": {
     "url": "https://code.claude.com/docs/en/hooks.md",
     "quote": "For HTTP hooks, it arrives as the POST request body.",
     "kind": "docs",
     "captured": "2026-10-20"
    }
   },
   "notes": null,
   "as_of": "2026-10-20",
   "leaf": "3.2",
   "lanes": {
    "concern": "safety",
    "home": "vendor",
    "license": "proprietary",
    "maturity": "ga",
    "policy": "pdp-callout"
   },
   "page": "/safeguards/claude-code",
   "logo": "/safeguards/logos/claude-code.png"
  },
  {
   "slug": "cline",
   "name": "Cline",
   "org": "Cline",
   "org_kind": "company",
   "homepage": "https://cline.bot/",
   "repo": "https://github.com/cline/cline",
   "license": "Apache-2.0",
   "license_class": "osi",
   "description": "An open-source coding agent whose auto-approve settings decide, per tool call, which actions run without asking, with enterprise controls over its YOLO mode.",
   "home": "none",
   "home_detail": null,
   "maturity": "released",
   "tier": "mapped",
   "tier_reason": null,
   "placements": [
    {
     "leaf": "3.2",
     "primary": true,
     "capability": "Checks each tool call against the user's auto-approve settings and asks for approval when the action is not covered.",
     "evidence": [
      "e1",
      "e2"
     ]
    }
   ],
   "facets": {
    "concern": [
     "safety",
     "security"
    ],
    "cites_law": false,
    "jurisdictions": [],
    "subject": [
     "agent"
    ],
    "user_party": [
     "runs"
    ],
    "run_mode": [
     "at-runtime",
     "in-ide"
    ],
    "policy_source": [
     "owner-config"
    ],
    "agent_can_bypass": "depends",
    "inventory_only": false
   },
   "handoffs": [
    {
     "artifact": "runtime-records",
     "direction": "produces",
     "format": "OpenTelemetry Protocol (OTLP) metrics and logs"
    }
   ],
   "evidence": {
    "e1": {
     "url": "https://docs.cline.bot/features/auto-approve.md",
     "quote": "Auto Approve lets you decide which actions Cline can take without prompting you each time.",
     "kind": "docs",
     "captured": "2026-10-20"
    },
    "e2": {
     "url": "https://docs.cline.bot/features/auto-approve.md",
     "quote": "Auto Approve is evaluated per tool call.",
     "kind": "docs",
     "captured": "2026-10-20"
    },
    "e3": {
     "url": "https://api.github.com/repos/cline/cline",
     "quote": "Apache-2.0",
     "kind": "repo-api",
     "captured": "2026-10-20"
    },
    "e4": {
     "url": "https://github.com/cline/cline/releases",
     "quote": "Desktop v0.0.48 Desktop v0.0.48 Latest Latest Compare Choose a tag to compare",
     "kind": "release-notes",
     "captured": "2026-10-20"
    },
    "e5": {
     "url": "https://docs.cline.bot/enterprise-solutions/configuration/infrastructure-configuration/control-other-cline-features/yolo-mode.md",
     "quote": "For Enterprise administrators, this page covers how to control access to YOLO Mode across your organization.",
     "kind": "docs",
     "captured": "2026-10-20"
    },
    "e6": {
     "url": "https://docs.cline.bot/enterprise-solutions/monitoring/opentelemetry.md",
     "quote": "Cline includes opt-in OpenTelemetry support for exporting metrics and logs to your own observability infrastructure",
     "kind": "docs",
     "captured": "2026-10-20"
    }
   },
   "notes": null,
   "as_of": "2026-10-20",
   "leaf": "3.2",
   "lanes": {
    "concern": "safety",
    "home": "none",
    "license": "osi",
    "maturity": "released",
    "policy": "owner-config"
   },
   "page": "/safeguards/cline",
   "logo": "/safeguards/logos/cline.png"
  },
  {
   "slug": "cloud-custodian",
   "name": "Cloud Custodian",
   "org": "Cloud Native Computing Foundation",
   "org_kind": "foundation",
   "homepage": "https://cloudcustodian.io/",
   "repo": "https://github.com/cloud-custodian/cloud-custodian",
   "license": "Apache-2.0",
   "license_class": "osi",
   "description": "A rules engine that runs the owner's YAML policies against public cloud accounts and resources, filtering them and taking actions, and can also check infrastructure as code.",
   "home": "cncf",
   "home_detail": null,
   "maturity": "incubating",
   "tier": "mapped",
   "tier_reason": null,
   "placements": [
    {
     "leaf": "3.7",
     "primary": true,
     "capability": "Runs policies the owner writes in YAML against cloud resources, using each provider's serverless capabilities to apply them in real time, built from filters and actions.",
     "evidence": [
      "e2",
      "e3",
      "e4"
     ]
    },
    {
     "leaf": "1.1",
     "primary": false,
     "capability": "Runs the same policies against infrastructure as code assets to give feedback before deployment.",
     "evidence": [
      "e5"
     ]
    }
   ],
   "facets": {
    "concern": [
     "security"
    ],
    "cites_law": false,
    "jurisdictions": [],
    "subject": [
     "software"
    ],
    "user_party": [
     "runs"
    ],
    "run_mode": [
     "at-runtime",
     "in-ci"
    ],
    "policy_source": [
     "owner-config"
    ],
    "inventory_only": false
   },
   "handoffs": [],
   "evidence": {
    "e1": {
     "url": "https://www.cncf.io/projects/cloud-custodian/",
     "quote": "Cloud Custodian was accepted to CNCF on June 25, 2020 and moved to the Incubating maturity level on September 14, 2022.",
     "kind": "foundation-page",
     "captured": "2026-10-20"
    },
    "e2": {
     "url": "https://raw.githubusercontent.com/cloud-custodian/cloud-custodian/main/README.md",
     "quote": "Cloud Custodian, also known as c7n, is a rules engine for managing public cloud accounts and resources.",
     "kind": "readme",
     "captured": "2026-10-20"
    },
    "e3": {
     "url": "https://raw.githubusercontent.com/cloud-custodian/cloud-custodian/main/README.md",
     "quote": "It integrates with the cloud native serverless capabilities of each provider to provide for real time enforcement of policies",
     "kind": "readme",
     "captured": "2026-10-20"
    },
    "e4": {
     "url": "https://raw.githubusercontent.com/cloud-custodian/cloud-custodian/main/README.md",
     "quote": "Custodian policies are written in simple YAML configuration files",
     "kind": "readme",
     "captured": "2026-10-20"
    },
    "e5": {
     "url": "https://raw.githubusercontent.com/cloud-custodian/cloud-custodian/main/README.md",
     "quote": "Custodian also supports running policies on infrastructure as code assets",
     "kind": "readme",
     "captured": "2026-10-20"
    },
    "e6": {
     "url": "https://api.github.com/repos/cloud-custodian/cloud-custodian",
     "quote": "Apache-2.0",
     "kind": "repo-api",
     "captured": "2026-10-20"
    }
   },
   "notes": null,
   "as_of": "2026-10-20",
   "leaf": "3.7",
   "lanes": {
    "concern": "security",
    "home": "cncf",
    "license": "osi",
    "maturity": "incubating",
    "policy": "owner-config"
   },
   "page": "/safeguards/cloud-custodian",
   "logo": "/safeguards/logos/cloud-custodian.svg"
  },
  {
   "slug": "cloudflare-ai-gateway",
   "name": "Cloudflare AI Gateway",
   "org": "Cloudflare",
   "org_kind": "company",
   "homepage": "https://developers.cloudflare.com/ai-gateway/",
   "repo": null,
   "license": null,
   "license_class": "proprietary",
   "description": "A Cloudflare proxy for model provider requests with guardrails that flag or block harmful prompts and responses, rate limits and OpenTelemetry trace export.",
   "home": "vendor",
   "home_detail": null,
   "maturity": "ga",
   "tier": "mapped",
   "tier_reason": null,
   "placements": [
    {
     "leaf": "3.3",
     "primary": true,
     "capability": "Sits between applications and model providers, applying guardrails to prompts and responses and rate limits, and exports trace spans.",
     "evidence": [
      "e1",
      "e2",
      "e3",
      "e5"
     ]
    }
   ],
   "facets": {
    "concern": [
     "security"
    ],
    "cites_law": false,
    "jurisdictions": [],
    "subject": [
     "agent",
     "ai-system"
    ],
    "user_party": [
     "runs"
    ],
    "run_mode": [
     "at-runtime"
    ],
    "policy_source": [
     "owner-config"
    ],
    "traffic_seen": [
     "model"
    ],
    "agent_can_bypass": "depends",
    "inventory_only": false
   },
   "handoffs": [
    {
     "artifact": "runtime-records",
     "direction": "produces",
     "format": "OpenTelemetry trace spans"
    }
   ],
   "evidence": {
    "e1": {
     "url": "https://developers.cloudflare.com/ai-gateway/llms.txt",
     "quote": "Observe and control your AI applications with analytics, caching, rate limiting",
     "kind": "docs",
     "captured": "2026-10-20"
    },
    "e2": {
     "url": "https://developers.cloudflare.com/ai-gateway/llms.txt",
     "quote": "Evaluate AI Gateway prompts and responses for harmful content",
     "kind": "docs",
     "captured": "2026-10-20"
    },
    "e3": {
     "url": "https://developers.cloudflare.com/ai-gateway/llms.txt",
     "quote": "Enable and configure AI Gateway Guardrails to flag or block harmful content in prompts",
     "kind": "docs",
     "captured": "2026-10-20"
    },
    "e4": {
     "url": "https://developers.cloudflare.com/ai-gateway/llms.txt",
     "quote": "Export AI Gateway trace spans to OpenTelemetry-compatible backends for distributed tracing",
     "kind": "docs",
     "captured": "2026-10-20"
    },
    "e5": {
     "url": "https://developers.cloudflare.com/ai-gateway/llms.txt",
     "quote": "Send requests to multiple AI providers through a single OpenAI-compatible endpoint on AI Gateway.",
     "kind": "docs",
     "captured": "2026-10-20"
    }
   },
   "notes": null,
   "as_of": "2026-10-20",
   "leaf": "3.3",
   "lanes": {
    "concern": "security",
    "home": "vendor",
    "license": "proprietary",
    "maturity": "ga",
    "policy": "owner-config"
   },
   "page": "/safeguards/cloudflare-ai-gateway",
   "logo": "/safeguards/logos/cloudflare-ai-gateway.png"
  },
  {
   "slug": "cloudflare-mcp-server-portals",
   "name": "Cloudflare MCP server portals",
   "org": "Cloudflare",
   "org_kind": "company",
   "homepage": "https://developers.cloudflare.com/cloudflare-one/access-controls/ai-controls/mcp-portals/",
   "repo": null,
   "license": null,
   "license_class": "proprietary",
   "description": "A Cloudflare One feature that puts several MCP servers behind one endpoint, with Access policies per portal and server and a choice of which tools the portal exposes.",
   "home": "vendor",
   "home_detail": null,
   "maturity": "ga",
   "tier": "listed",
   "tier_reason": "Listed, not drawn: no documented handoff and no foundation home places it on the map.",
   "placements": [
    {
     "leaf": "3.3",
     "primary": true,
     "capability": "Centralizes MCP servers onto one HTTP endpoint, requires an Access policy on the portal and each server, and exposes the tools the administrator chooses.",
     "evidence": [
      "e1",
      "e2",
      "e3"
     ]
    }
   ],
   "facets": {
    "concern": [
     "security"
    ],
    "cites_law": false,
    "jurisdictions": [],
    "subject": [
     "agent",
     "ai-system"
    ],
    "user_party": [
     "runs"
    ],
    "run_mode": [
     "at-runtime"
    ],
    "policy_source": [
     "owner-config"
    ],
    "traffic_seen": [
     "tool"
    ],
    "agent_can_bypass": "depends",
    "inventory_only": false
   },
   "handoffs": [],
   "evidence": {
    "e1": {
     "url": "https://developers.cloudflare.com/cloudflare-one/access-controls/ai-controls/mcp-portals/",
     "quote": "An MCP server portal centralizes multiple Model Context Protocol (MCP) servers",
     "kind": "docs",
     "captured": "2026-10-20"
    },
    "e2": {
     "url": "https://developers.cloudflare.com/cloudflare-one/access-controls/ai-controls/mcp-portals/",
     "quote": "An MCP portal and server must both have an attached Access policy.",
     "kind": "docs",
     "captured": "2026-10-20"
    },
    "e3": {
     "url": "https://developers.cloudflare.com/cloudflare-one/access-controls/ai-controls/mcp-portals/",
     "quote": "create an MCP portal with customized tools and policies",
     "kind": "docs",
     "captured": "2026-10-20"
    }
   },
   "notes": null,
   "as_of": "2026-10-20",
   "leaf": "3.3",
   "lanes": {
    "concern": "security",
    "home": "vendor",
    "license": "proprietary",
    "maturity": "ga",
    "policy": "owner-config"
   },
   "page": "/safeguards/cloudflare-mcp-server-portals",
   "logo": "/safeguards/logos/cloudflare-mcp-server-portals.png"
  },
  {
   "slug": "confidential-containers",
   "name": "Confidential Containers",
   "org": "Cloud Native Computing Foundation",
   "org_kind": "foundation",
   "homepage": "https://confidentialcontainers.org/",
   "repo": "https://github.com/confidential-containers/confidential-containers",
   "license": "Apache-2.0",
   "license_class": "osi",
   "description": "Runs Kubernetes pods inside confidential virtual machines on trusted execution hardware, with owner-provisioned Rego policies at several layers.",
   "home": "cncf",
   "home_detail": null,
   "maturity": "incubating",
   "tier": "mapped",
   "tier_reason": null,
   "placements": [
    {
     "leaf": "3.1",
     "primary": true,
     "capability": "Encapsulates pods in confidential virtual machines so sensitive workloads can run on untrusted hosts, and evaluates owner-provisioned Rego policies at several layers, including the key broker that releases secrets.",
     "evidence": [
      "e2",
      "e3",
      "e4"
     ]
    }
   ],
   "facets": {
    "concern": [
     "security"
    ],
    "cites_law": false,
    "jurisdictions": [],
    "subject": [
     "software"
    ],
    "user_party": [
     "runs"
    ],
    "run_mode": [
     "at-runtime"
    ],
    "policy_source": [
     "owner-config"
    ],
    "agent_can_bypass": "depends",
    "inventory_only": false
   },
   "handoffs": [
    {
     "artifact": "policy",
     "direction": "consumes",
     "format": "Rego policies (OPA)"
    }
   ],
   "evidence": {
    "e1": {
     "url": "https://www.cncf.io/projects/confidential-containers/",
     "quote": "Confidential Containers was accepted to CNCF on March 8, 2022 and moved to the Incubating maturity level on July 8, 2026.",
     "kind": "foundation-page",
     "captured": "2026-10-20"
    },
    "e2": {
     "url": "https://confidentialcontainers.org/docs/overview/",
     "quote": "Confidential Containers encapsulates pods inside of confidential virtual machines",
     "kind": "docs",
     "captured": "2026-10-20"
    },
    "e3": {
     "url": "https://confidentialcontainers.org/docs/overview/",
     "quote": "With Confidential Containers, sensitive workloads can be run on untrusted hosts",
     "kind": "docs",
     "captured": "2026-10-20"
    },
    "e4": {
     "url": "https://confidentialcontainers.org/docs/attestation/policies/",
     "quote": "Confidential Containers uses three types of policies to secure workloads at different layers",
     "kind": "docs",
     "captured": "2026-10-20"
    },
    "e5": {
     "url": "https://confidentialcontainers.org/docs/attestation/policies/",
     "quote": "Both types of policies can be provisioned with the KBS Client.",
     "kind": "docs",
     "captured": "2026-10-20"
    },
    "e6": {
     "url": "https://confidentialcontainers.org/docs/attestation/policies/",
     "quote": "package policy import rego . v1 default allow = false",
     "kind": "docs",
     "captured": "2026-10-20"
    },
    "e7": {
     "url": "https://api.github.com/repos/confidential-containers/confidential-containers",
     "quote": "Apache-2.0",
     "kind": "repo-api",
     "captured": "2026-10-20"
    }
   },
   "notes": null,
   "as_of": "2026-10-20",
   "leaf": "3.1",
   "lanes": {
    "concern": "security",
    "home": "cncf",
    "license": "osi",
    "maturity": "incubating",
    "policy": "owner-config"
   },
   "page": "/safeguards/confidential-containers",
   "logo": "/safeguards/logos/confidential-containers.svg"
  },
  {
   "slug": "ibm-contextforge",
   "name": "ContextForge",
   "org": "IBM",
   "org_kind": "company",
   "homepage": "https://ibm.github.io/mcp-context-forge/",
   "repo": "https://github.com/IBM/mcp-context-forge",
   "license": "Apache-2.0",
   "license_class": "osi",
   "description": "An open-source registry and proxy that federates MCP servers, agents and APIs behind one endpoint, with a plugin system that includes external plugin servers.",
   "home": "none",
   "home_detail": null,
   "maturity": "released",
   "tier": "mapped",
   "tier_reason": null,
   "placements": [
    {
     "leaf": "3.3",
     "primary": true,
     "capability": "Sits between AI clients and the MCP servers, agents and APIs it federates, and supports plugins, including external plugin servers that can host a policy engine such as OPA.",
     "evidence": [
      "e2",
      "e3",
      "e4",
      "e5"
     ]
    }
   ],
   "facets": {
    "concern": [
     "security"
    ],
    "cites_law": false,
    "jurisdictions": [],
    "subject": [
     "agent",
     "ai-system"
    ],
    "user_party": [
     "runs"
    ],
    "run_mode": [
     "at-runtime"
    ],
    "policy_source": [
     "owner-config",
     "pdp-callout"
    ],
    "traffic_seen": [
     "tool",
     "agent-to-agent"
    ],
    "agent_can_bypass": "depends",
    "inventory_only": false
   },
   "handoffs": [
    {
     "artifact": "runtime-records",
     "direction": "produces",
     "format": "OpenTelemetry tracing (OTLP backends)"
    }
   ],
   "evidence": {
    "e1": {
     "url": "https://api.github.com/repos/IBM/mcp-context-forge",
     "quote": "Apache-2.0",
     "kind": "repo-api",
     "captured": "2026-10-20"
    },
    "e2": {
     "url": "https://raw.githubusercontent.com/IBM/mcp-context-forge/main/README.md",
     "quote": "is an open source registry and proxy that federates tools, agents, and APIs into one clean endpoint for your AI clients.",
     "kind": "docs",
     "captured": "2026-10-20"
    },
    "e3": {
     "url": "https://raw.githubusercontent.com/IBM/mcp-context-forge/main/README.md",
     "quote": "A2A protocol, OpenAI-compatible and Anthropic agent routing",
     "kind": "readme",
     "captured": "2026-10-20"
    },
    "e4": {
     "url": "https://ibm.github.io/mcp-context-forge/using/plugins/",
     "quote": "Examples: OPA external plugin server, LlamaGuard integration, OpenAI Moderation",
     "kind": "docs",
     "captured": "2026-10-20"
    },
    "e5": {
     "url": "https://ibm.github.io/mcp-context-forge/using/plugins/",
     "quote": "Examples: PIIFilterPlugin , SearchReplacePlugin , DenyListPlugin",
     "kind": "docs",
     "captured": "2026-10-20"
    },
    "e6": {
     "url": "https://raw.githubusercontent.com/IBM/mcp-context-forge/main/README.md",
     "quote": "OpenTelemetry tracing with Phoenix, Jaeger, Zipkin, and other OTLP backends",
     "kind": "readme",
     "captured": "2026-10-20"
    },
    "e8": {
     "url": "https://github.com/IBM/mcp-context-forge/releases",
     "quote": "Release list v1.0.11 - Release 2026-09-28 - MCP Python SDK 2.x",
     "kind": "release-notes",
     "captured": "2026-10-20"
    }
   },
   "notes": null,
   "as_of": "2026-10-20",
   "leaf": "3.3",
   "lanes": {
    "concern": "security",
    "home": "none",
    "license": "osi",
    "maturity": "released",
    "policy": "pdp-callout"
   },
   "page": "/safeguards/ibm-contextforge",
   "logo": "/safeguards/logos/ibm-contextforge.png"
  },
  {
   "slug": "continue",
   "name": "Continue",
   "org": "Continue",
   "org_kind": "company",
   "homepage": "https://continue.dev/",
   "repo": "https://github.com/continuedev/continue",
   "license": "Apache-2.0",
   "license_class": "osi",
   "description": "An open-source coding assistant whose agent mode asks the user to approve each tool call unless that tool's policy is set to automatic, with a read-only plan mode.",
   "home": "none",
   "home_detail": null,
   "maturity": "released",
   "tier": "listed",
   "tier_reason": "Listed, not drawn: no documented handoff and no foundation home places it on the map.",
   "placements": [
    {
     "leaf": "3.2",
     "primary": true,
     "capability": "Asks the user for permission before each tool call in agent mode unless the tool's policy is automatic, and offers a plan mode that includes only read-only tools.",
     "evidence": [
      "e1",
      "e2",
      "e3"
     ]
    }
   ],
   "facets": {
    "concern": [
     "safety",
     "security"
    ],
    "cites_law": false,
    "jurisdictions": [],
    "subject": [
     "agent"
    ],
    "user_party": [
     "runs"
    ],
    "run_mode": [
     "at-runtime",
     "in-ide"
    ],
    "policy_source": [
     "owner-config"
    ],
    "agent_can_bypass": "depends",
    "inventory_only": false
   },
   "handoffs": [],
   "evidence": {
    "e1": {
     "url": "https://docs.continue.dev/ide-extensions/agent/how-it-works",
     "quote": "The user gives permission. This step is skipped if the policy for that tool is set to Automatic",
     "kind": "docs",
     "captured": "2026-10-20"
    },
    "e2": {
     "url": "https://docs.continue.dev/ide-extensions/agent/how-it-works",
     "quote": "In Plan mode, only these read-only tools are available",
     "kind": "docs",
     "captured": "2026-10-20"
    },
    "e3": {
     "url": "https://docs.continue.dev/ide-extensions/agent/quick-start",
     "quote": "You can use tool policies to exclude or make usage automatic for specific tools.",
     "kind": "docs",
     "captured": "2026-10-20"
    },
    "e4": {
     "url": "https://api.github.com/repos/continuedev/continue",
     "quote": "Apache-2.0",
     "kind": "repo-api",
     "captured": "2026-10-20"
    },
    "e5": {
     "url": "https://github.com/continuedev/continue/releases",
     "quote": "v2.0.0-vscode v2.0.0-vscode Latest Latest Compare Choose a tag to compare",
     "kind": "release-notes",
     "captured": "2026-10-20"
    }
   },
   "notes": null,
   "as_of": "2026-10-20",
   "leaf": "3.2",
   "lanes": {
    "concern": "safety",
    "home": "none",
    "license": "osi",
    "maturity": "released",
    "policy": "owner-config"
   },
   "page": "/safeguards/continue",
   "logo": "/safeguards/logos/continue.png"
  },
  {
   "slug": "copa",
   "name": "Copa (Copacetic)",
   "org": "Cloud Native Computing Foundation",
   "org_kind": "foundation",
   "homepage": "https://project-copacetic.github.io/copacetic/website/",
   "repo": "https://github.com/project-copacetic/copacetic",
   "license": "Apache-2.0",
   "license_class": "osi",
   "description": "A command-line tool that patches vulnerable packages in container images from a scanner's vulnerability report, without a full rebuild.",
   "home": "cncf",
   "home_detail": null,
   "maturity": "sandbox",
   "tier": "mapped",
   "tier_reason": null,
   "placements": [
    {
     "leaf": "4.3",
     "primary": true,
     "capability": "Patches vulnerable packages in an existing container image without a full rebuild, working from a vulnerability scanner's results.",
     "evidence": [
      "e2",
      "e3"
     ]
    }
   ],
   "facets": {
    "concern": [
     "security"
    ],
    "cites_law": false,
    "jurisdictions": [],
    "subject": [
     "software"
    ],
    "user_party": [
     "distributes",
     "runs"
    ],
    "run_mode": [
     "by-hand",
     "in-ci"
    ],
    "inventory_only": false
   },
   "handoffs": [
    {
     "artifact": "vulnerability-status",
     "direction": "consumes",
     "format": "vulnerability scanning results from a scanner"
    }
   ],
   "evidence": {
    "e1": {
     "url": "https://project-copacetic.github.io/copacetic/website/",
     "quote": "Copacetic is a Cloud Native Computing Foundation Sandbox project",
     "kind": "product-page",
     "captured": "2026-10-20"
    },
    "e2": {
     "url": "https://project-copacetic.github.io/copacetic/website/",
     "quote": "copa is an Open Source CLI tool written in Go and based on buildkit that can be used to directly patch container images without full rebuilds.",
     "kind": "product-page",
     "captured": "2026-10-20"
    },
    "e3": {
     "url": "https://raw.githubusercontent.com/project-copacetic/copacetic/main/README.md",
     "quote": "`copa` can also patch container images using the vulnerability scanning results from popular tools like",
     "kind": "readme",
     "captured": "2026-10-20"
    },
    "e4": {
     "url": "https://api.github.com/repos/project-copacetic/copacetic",
     "quote": "Apache-2.0",
     "kind": "repo-api",
     "captured": "2026-10-20"
    }
   },
   "notes": "In 4.3 as correction after the fact: patching a component found vulnerable. Home and maturity rest on the project's own statement.",
   "as_of": "2026-10-20",
   "leaf": "4.3",
   "lanes": {
    "concern": "security",
    "home": "cncf",
    "license": "osi",
    "maturity": "sandbox",
    "policy": "na"
   },
   "page": "/safeguards/copa",
   "logo": "/safeguards/logos/copa.svg"
  },
  {
   "slug": "crewai",
   "name": "CrewAI",
   "org": "crewAI, Inc.",
   "org_kind": "company",
   "homepage": "https://docs.crewai.com/",
   "repo": "https://github.com/crewAIInc/crewAI",
   "license": "MIT",
   "license_class": "osi",
   "description": "A multi-agent framework whose task guardrails validate an agent's output before it passes to the next task.",
   "home": "none",
   "home_detail": null,
   "maturity": "released",
   "tier": "listed",
   "tier_reason": "Listed, not drawn: no documented handoff and no foundation home places it on the map.",
   "placements": [
    {
     "leaf": "3.2",
     "primary": true,
     "capability": "Runs a developer-supplied validation function, or an LLM-checked description, on a task's output before it passes to the next task, and retries when validation fails.",
     "evidence": [
      "e1",
      "e2"
     ]
    }
   ],
   "facets": {
    "concern": [
     "safety"
    ],
    "cites_law": false,
    "jurisdictions": [],
    "subject": [
     "agent"
    ],
    "user_party": [
     "makes"
    ],
    "run_mode": [
     "at-runtime"
    ],
    "policy_source": [
     "owner-config"
    ],
    "agent_can_bypass": "depends",
    "inventory_only": false
   },
   "handoffs": [],
   "evidence": {
    "e1": {
     "url": "https://docs.crewai.com/en/concepts/tasks",
     "quote": "Task guardrails provide a way to validate and transform task outputs before they are passed to the next task.",
     "kind": "docs",
     "captured": "2026-10-20"
    },
    "e2": {
     "url": "https://docs.crewai.com/en/concepts/tasks",
     "quote": "Function to validate task output before proceeding to next task.",
     "kind": "docs",
     "captured": "2026-10-20"
    },
    "e3": {
     "url": "https://github.com/crewAIInc/crewAI/releases",
     "quote": "Release list 1.15.28 1.15.27 1.15.26",
     "kind": "release-notes",
     "captured": "2026-10-20"
    },
    "e4": {
     "url": "https://raw.githubusercontent.com/crewAIInc/crewAI/main/README.md",
     "quote": "released under the [MIT License](https://github.com/crewAIInc/crewAI/blob/main/LICENSE)",
     "kind": "readme",
     "captured": "2026-10-20"
    }
   },
   "notes": null,
   "as_of": "2026-10-20",
   "leaf": "3.2",
   "lanes": {
    "concern": "safety",
    "home": "none",
    "license": "osi",
    "maturity": "released",
    "policy": "owner-config"
   },
   "page": "/safeguards/crewai",
   "logo": "/safeguards/logos/crewai.svg"
  },
  {
   "slug": "cri-o-signature-policy",
   "name": "CRI-O (signature verification policy)",
   "org": "Cloud Native Computing Foundation",
   "org_kind": "foundation",
   "homepage": "https://cri-o.io/",
   "repo": "https://github.com/cri-o/cri-o",
   "license": "Apache-2.0",
   "license_class": "osi",
   "description": "CRI-O reads a signature policy file that decides whether an image it has pulled is trusted, with optional per-pod-namespace policies.",
   "home": "cncf",
   "home_detail": null,
   "maturity": "graduated",
   "tier": "mapped",
   "tier_reason": null,
   "placements": [
    {
     "leaf": "3.7",
     "primary": true,
     "capability": "Applies a signature policy file, system-wide or per pod namespace, to decide whether to trust an image on pull.",
     "evidence": [
      "e2",
      "e3"
     ]
    }
   ],
   "facets": {
    "concern": [
     "security"
    ],
    "cites_law": false,
    "jurisdictions": [],
    "subject": [
     "software"
    ],
    "user_party": [
     "runs"
    ],
    "run_mode": [
     "at-runtime"
    ],
    "policy_source": [
     "owner-config"
    ],
    "inventory_only": false
   },
   "handoffs": [],
   "evidence": {
    "e1": {
     "url": "https://www.cncf.io/projects/cri-o/",
     "quote": "then moved to the Graduated maturity level on July 19, 2023.",
     "kind": "foundation-page",
     "captured": "2026-10-21"
    },
    "e2": {
     "url": "https://raw.githubusercontent.com/cri-o/cri-o/main/docs/crio.conf.5.md",
     "quote": "Path to the file which decides what sort of policy we use when deciding whether or not to trust an image that we've pulled.",
     "kind": "docs",
     "captured": "2026-10-21"
    },
    "e3": {
     "url": "https://raw.githubusercontent.com/cri-o/cri-o/main/docs/crio.conf.5.md",
     "quote": "Root path for pod namespace-separated signature policies.",
     "kind": "docs",
     "captured": "2026-10-21"
    },
    "e4": {
     "url": "https://api.github.com/repos/cri-o/cri-o",
     "quote": "Apache-2.0",
     "kind": "repo-api",
     "captured": "2026-10-21"
    }
   },
   "notes": null,
   "as_of": "2026-10-21",
   "leaf": "3.7",
   "lanes": {
    "concern": "security",
    "home": "cncf",
    "license": "osi",
    "maturity": "graduated",
    "policy": "owner-config"
   },
   "page": "/safeguards/cri-o-signature-policy",
   "logo": null
  },
  {
   "slug": "cursor",
   "name": "Cursor",
   "org": "Anysphere",
   "org_kind": "company",
   "homepage": "https://cursor.com/",
   "repo": null,
   "license": null,
   "license_class": "proprietary",
   "description": "An AI code editor whose agent has run modes that decide when it asks for approval, a sandbox for terminal commands, and hooks that can block agent actions.",
   "home": "vendor",
   "home_detail": null,
   "maturity": "ga",
   "tier": "listed",
   "tier_reason": "Listed, not drawn: no documented handoff and no foundation home places it on the map.",
   "placements": [
    {
     "leaf": "3.2",
     "primary": true,
     "capability": "Applies a run mode to the agent's shell, MCP and fetch calls, with an allowlist, a classifier review or approval prompts, and runs hooks that can block agent actions.",
     "evidence": [
      "e2",
      "e3",
      "e4"
     ]
    }
   ],
   "facets": {
    "concern": [
     "safety",
     "security"
    ],
    "cites_law": false,
    "jurisdictions": [],
    "subject": [
     "agent"
    ],
    "user_party": [
     "runs"
    ],
    "run_mode": [
     "at-runtime",
     "in-ide"
    ],
    "policy_source": [
     "owner-config"
    ],
    "agent_can_bypass": "depends",
    "inventory_only": false
   },
   "handoffs": [],
   "evidence": {
    "e2": {
     "url": "https://cursor.com/docs/agent/security/run-modes.md",
     "quote": "Run Modes control how the Cursor agent runs tool calls, and when Cursor interrupts you for approval.",
     "kind": "docs",
     "captured": "2026-10-20"
    },
    "e3": {
     "url": "https://cursor.com/docs/agent/tools/terminal.md",
     "quote": "The sandbox runs terminal commands in a restricted environment that blocks unauthorized file access and network activity.",
     "kind": "docs",
     "captured": "2026-10-20"
    },
    "e4": {
     "url": "https://cursor.com/docs/hooks.md",
     "quote": "Hooks let you observe, control, and extend the agent loop using custom scripts.",
     "kind": "docs",
     "captured": "2026-10-20"
    },
    "e5": {
     "url": "https://cursor.com/docs/hooks.md",
     "quote": "Define hooks in `hooks.json` files at the project or user level",
     "kind": "docs",
     "captured": "2026-10-20"
    },
    "e6": {
     "url": "https://cursor.com/docs/hooks.md",
     "quote": "Command hooks execute shell scripts that receive JSON input via stdin and return JSON output via stdout.",
     "kind": "docs",
     "captured": "2026-10-20"
    },
    "e7": {
     "url": "https://cursor.com/docs/hooks.md",
     "quote": "Block the action (equivalent to returning",
     "kind": "docs",
     "captured": "2026-10-20"
    }
   },
   "notes": null,
   "as_of": "2026-10-20",
   "leaf": "3.2",
   "lanes": {
    "concern": "safety",
    "home": "vendor",
    "license": "proprietary",
    "maturity": "ga",
    "policy": "owner-config"
   },
   "page": "/safeguards/cursor",
   "logo": "/safeguards/logos/cursor.png"
  },
  {
   "slug": "cve-bin-tool",
   "name": "CVE Binary Tool",
   "org": "Open Source Security Foundation",
   "org_kind": "foundation",
   "homepage": "https://cve-bin-tool.readthedocs.io/en/latest/",
   "repo": "https://github.com/ossf/cve-bin-tool",
   "license": "GPL-3.0",
   "license_class": "osi",
   "description": "Finds known vulnerabilities in software by scanning binaries and component lists such as SBOMs against public vulnerability data, and can generate VEX documents.",
   "home": "openssf",
   "home_detail": null,
   "maturity": "sandbox",
   "tier": "mapped",
   "tier_reason": null,
   "placements": [
    {
     "leaf": "1.1",
     "primary": true,
     "capability": "Scans binaries and lists of components, including SBOMs, for known vulnerabilities using public vulnerability data, and can run in a continuous integration system.",
     "evidence": [
      "e2",
      "e3",
      "e8"
     ]
    }
   ],
   "facets": {
    "concern": [
     "security"
    ],
    "cites_law": false,
    "jurisdictions": [],
    "subject": [
     "software"
    ],
    "user_party": [
     "makes",
     "runs"
    ],
    "run_mode": [
     "by-hand",
     "in-ci"
    ],
    "inventory_only": false
   },
   "handoffs": [
    {
     "artifact": "inventory",
     "direction": "consumes",
     "format": "SPDX, CycloneDX"
    },
    {
     "artifact": "vulnerability-status",
     "direction": "produces",
     "format": "CSAF, CycloneDX and OpenVEX VEX"
    }
   ],
   "evidence": {
    "e1": {
     "url": "https://raw.githubusercontent.com/ossf/tac/main/README.md",
     "quote": "| CVE-BIN-TOOL | [GitHub](https://github.com/ossf/cve-bin-tool) | | TBD | [Sandbox](process/project-lifecycle-documents/cve-bin-tool_sandbox_stage.md) |",
     "kind": "foundation-page",
     "captured": "2026-10-20"
    },
    "e2": {
     "url": "https://raw.githubusercontent.com/ossf/cve-bin-tool/main/doc/README.md",
     "quote": "The CVE Binary Tool is a free, open source tool to help you find known vulnerabilities in software",
     "kind": "readme",
     "captured": "2026-10-20"
    },
    "e3": {
     "url": "https://raw.githubusercontent.com/ossf/cve-bin-tool/main/doc/README.md",
     "quote": "It is intended to be used as part of your continuous integration system to enable regular vulnerability scanning",
     "kind": "readme",
     "captured": "2026-10-20"
    },
    "e4": {
     "url": "https://raw.githubusercontent.com/ossf/cve-bin-tool/main/doc/README.md",
     "quote": "Valid SBOM types are [SPDX](https://spdx.dev/specifications/), [CycloneDX](https://cyclonedx.org/specification/overview/), and [SWID]",
     "kind": "readme",
     "captured": "2026-10-20"
    },
    "e5": {
     "url": "https://raw.githubusercontent.com/ossf/cve-bin-tool/main/doc/README.md",
     "quote": "As well as scanning VEX, CVE Binary Tool can be used to generate a VEX from a scan as follows",
     "kind": "readme",
     "captured": "2026-10-20"
    },
    "e6": {
     "url": "https://raw.githubusercontent.com/ossf/cve-bin-tool/main/doc/README.md",
     "quote": "formats are the [CycloneDX](https://cyclonedx.org/capabilities/vex/), [CSAF](https://oasis-open.github.io/csaf-documentation/) and [OpenVEX](https://edu.chainguard.dev/open-source/sbom/what-is-openvex/) VEX formats",
     "kind": "readme",
     "captured": "2026-10-20"
    },
    "e7": {
     "url": "https://api.github.com/repos/ossf/cve-bin-tool",
     "quote": "GPL-3.0",
     "kind": "repo-api",
     "captured": "2026-10-20"
    },
    "e8": {
     "url": "https://raw.githubusercontent.com/ossf/cve-bin-tool/main/doc/README.md",
     "quote": "A binary scanner which helps you determine which packages may have been included as part of a piece of software.",
     "kind": "readme",
     "captured": "2026-10-20"
    }
   },
   "notes": "The tool also lists SWID among the SBOM types it reads.",
   "as_of": "2026-10-20",
   "leaf": "1.1",
   "lanes": {
    "concern": "security",
    "home": "openssf",
    "license": "osi",
    "maturity": "sandbox",
    "policy": "na"
   },
   "page": "/safeguards/cve-bin-tool",
   "logo": null
  },
  {
   "slug": "darnit",
   "name": "Darnit",
   "org": "Open Source Security Foundation",
   "org_kind": "foundation",
   "homepage": "https://github.com/darnitdevorg/darnit",
   "repo": "https://github.com/darnitdevorg/darnit",
   "license": "Apache-2.0",
   "license_class": "osi",
   "description": "A pluggable framework that reviews a project against a standard, starting with the OpenSSF Baseline, and generates signed attestations.",
   "home": "openssf",
   "home_detail": null,
   "maturity": "sandbox",
   "tier": "mapped",
   "tier_reason": null,
   "placements": [
    {
     "leaf": "1.1",
     "primary": true,
     "capability": "Reviews a project's practices against a plugin-defined standard, starting with the OpenSSF Baseline and includes an MCP server for AI assistants.",
     "evidence": [
      "e2",
      "e3",
      "e5"
     ]
    }
   ],
   "facets": {
    "concern": [
     "security"
    ],
    "cites_law": false,
    "jurisdictions": [],
    "subject": [
     "software"
    ],
    "user_party": [
     "makes"
    ],
    "run_mode": [
     "by-hand",
     "agent-plugin"
    ],
    "inventory_only": false
   },
   "handoffs": [
    {
     "artifact": "provenance",
     "direction": "produces",
     "format": "in-toto attestations (signed)"
    }
   ],
   "evidence": {
    "e1": {
     "url": "https://raw.githubusercontent.com/ossf/tac/main/README.md",
     "quote": "| darnit | [GitHub](https://github.com/kusari-oss/darnit) | | Supply Chain Integrity WG | [Sandbox](process/project-lifecycle-documents/darnit_sandbox_stage.md) |",
     "kind": "foundation-page",
     "captured": "2026-10-20"
    },
    "e2": {
     "url": "https://raw.githubusercontent.com/kusari-oss/darnit/main/README.md",
     "quote": "is a pluggable compliance audit framework that helps projects conform to software engineering best practices",
     "kind": "readme",
     "captured": "2026-10-20"
    },
    "e3": {
     "url": "https://raw.githubusercontent.com/kusari-oss/darnit/main/README.md",
     "quote": "plus the OpenSSF Baseline implementation as the first supported standard",
     "kind": "readme",
     "captured": "2026-10-20"
    },
    "e4": {
     "url": "https://raw.githubusercontent.com/kusari-oss/darnit/main/README.md",
     "quote": "Create cryptographically signed in-toto attestations",
     "kind": "readme",
     "captured": "2026-10-20"
    },
    "e5": {
     "url": "https://raw.githubusercontent.com/kusari-oss/darnit/main/README.md",
     "quote": "This repository includes an MCP (Model Context Protocol) server for AI assistant integration",
     "kind": "readme",
     "captured": "2026-10-20"
    },
    "e6": {
     "url": "https://api.github.com/repos/darnitdevorg/darnit",
     "quote": "Apache-2.0",
     "kind": "repo-api",
     "captured": "2026-10-20"
    }
   },
   "notes": "The OpenSSF table lists the repository under its earlier kusari-oss owner.",
   "as_of": "2026-10-20",
   "leaf": "1.1",
   "lanes": {
    "concern": "security",
    "home": "openssf",
    "license": "osi",
    "maturity": "sandbox",
    "policy": "na"
   },
   "page": "/safeguards/darnit",
   "logo": "/safeguards/logos/darnit.png"
  },
  {
   "slug": "defenseclaw",
   "name": "DefenseClaw",
   "org": "Cisco",
   "org_kind": "company",
   "homepage": "https://cisco-ai-defense.github.io/defenseclaw/",
   "repo": "https://github.com/cisco-ai-defense/defenseclaw",
   "license": "Apache-2.0",
   "license_class": "osi",
   "description": "An open-source operator tool that scans skills, MCP servers and plugins before they run and blocks or quarantines them by severity or by an owner's allow and block lists.",
   "home": "none",
   "home_detail": null,
   "maturity": "released",
   "tier": "mapped",
   "tier_reason": null,
   "placements": [
    {
     "leaf": "3.7",
     "primary": true,
     "capability": "Checks a skill, MCP server or plugin when it appears or is installed, and blocks, quarantines, warns or allows it from the scan severity and the owner's block and allow lists.",
     "evidence": [
      "e2",
      "e3",
      "e6"
     ]
    }
   ],
   "facets": {
    "concern": [
     "security"
    ],
    "cites_law": false,
    "jurisdictions": [],
    "subject": [
     "agent",
     "ai-system"
    ],
    "user_party": [
     "runs"
    ],
    "run_mode": [
     "at-runtime"
    ],
    "policy_source": [
     "owner-config"
    ],
    "inventory_only": false
   },
   "handoffs": [
    {
     "artifact": "runtime-records",
     "direction": "produces",
     "format": "OTLP"
    }
   ],
   "evidence": {
    "e1": {
     "url": "https://github.com/cisco-ai-defense/defenseclaw/releases",
     "quote": "Release list 1.0.2 1.0.1 1.0.0 0.8.10 0.8.9",
     "kind": "release-notes",
     "captured": "2026-10-20"
    },
    "e2": {
     "url": "https://cisco-ai-defense.github.io/defenseclaw/docs/policies/admission/",
     "quote": "Admission is the check DefenseClaw runs when a skill, an MCP server or a plugin appears in a watched root, or when you install one with the CLI.",
     "kind": "docs",
     "captured": "2026-10-20"
    },
    "e3": {
     "url": "https://cisco-ai-defense.github.io/defenseclaw/docs/policies/admission/",
     "quote": "A name you deny is blocked without a scan. A name you allow skips the scan.",
     "kind": "docs",
     "captured": "2026-10-20"
    },
    "e4": {
     "url": "https://api.github.com/repos/cisco-ai-defense/defenseclaw",
     "quote": "Apache-2.0",
     "kind": "repo-api",
     "captured": "2026-10-20"
    },
    "e5": {
     "url": "https://cisco-ai-defense.github.io/defenseclaw/docs/get-started/what-is-defenseclaw/",
     "quote": "Every decision lands in an SQLite audit DB and your existing telemetry sinks (OTLP, Splunk, webhooks).",
     "kind": "docs",
     "captured": "2026-10-20"
    },
    "e6": {
     "url": "https://cisco-ai-defense.github.io/defenseclaw/docs/policies/admission/",
     "quote": "The admission block sets what each scan finding does, and asset_policy holds the only block and allow lists.",
     "kind": "docs",
     "captured": "2026-10-20"
    }
   },
   "notes": null,
   "as_of": "2026-10-20",
   "leaf": "3.7",
   "lanes": {
    "concern": "security",
    "home": "none",
    "license": "osi",
    "maturity": "released",
    "policy": "owner-config"
   },
   "page": "/safeguards/defenseclaw",
   "logo": "/safeguards/logos/defenseclaw.png"
  },
  {
   "slug": "disclosure-check",
   "name": "Disclosure Check",
   "org": "Open Source Security Foundation",
   "org_kind": "foundation",
   "homepage": "https://github.com/ossf/disclosure-check",
   "repo": "https://github.com/ossf/disclosure-check",
   "license": "Apache-2.0",
   "license_class": "osi",
   "description": "A tool that looks for the way to report a vulnerability to an open source project, such as a SECURITY.md file or private vulnerability reporting.",
   "home": "none",
   "home_detail": null,
   "maturity": "unreleased",
   "tier": "listed",
   "tier_reason": "Listed, not drawn: it is not yet released, and no documented handoff and no foundation home places it on the map.",
   "placements": [
    {
     "leaf": "4.4",
     "primary": true,
     "capability": "Looks for the contact points and reporting mechanisms an open source project offers for vulnerability reports, so a reporter can find where to send one.",
     "evidence": [
      "e1",
      "e2"
     ]
    }
   ],
   "facets": {
    "concern": [
     "security"
    ],
    "cites_law": false,
    "jurisdictions": [],
    "subject": [
     "software"
    ],
    "user_party": [
     "runs"
    ],
    "run_mode": [
     "by-hand"
    ],
    "inventory_only": false
   },
   "handoffs": [],
   "evidence": {
    "e1": {
     "url": "https://raw.githubusercontent.com/ossf/disclosure-check/main/README.md",
     "quote": "The purpose of Disclosure Check is to automate what a human would do when trying to discover the best way to report a vulnerability to a project.",
     "kind": "readme",
     "captured": "2026-10-21"
    },
    "e2": {
     "url": "https://raw.githubusercontent.com/ossf/disclosure-check/main/README.md",
     "quote": "Disclosure Check works by looking for contact information (email, URLs, etc.) in the following places",
     "kind": "readme",
     "captured": "2026-10-21"
    },
    "e3": {
     "url": "https://github.com/ossf/disclosure-check/releases",
     "quote": "There aren’t any releases here",
     "kind": "release-notes",
     "captured": "2026-10-21"
    },
    "e4": {
     "url": "https://api.github.com/repos/ossf/disclosure-check",
     "quote": "Apache-2.0",
     "kind": "repo-api",
     "captured": "2026-10-21"
    }
   },
   "notes": "The repository has no GitHub releases, though its README says it is distributed through PyPI and Docker Hub. The OpenSSF TAC project table has no row for it, so it has no foundation home here.",
   "as_of": "2026-10-21",
   "leaf": "4.4",
   "lanes": {
    "concern": "security",
    "home": "none",
    "license": "osi",
    "maturity": "not-shipping",
    "policy": "na"
   },
   "page": "/safeguards/disclosure-check",
   "logo": null
  },
  {
   "slug": "docker-mcp-gateway",
   "name": "Docker MCP Gateway",
   "org": "Docker",
   "org_kind": "company",
   "homepage": "https://docs.docker.com/ai/mcp-catalog-and-toolkit/mcp-gateway/",
   "repo": "https://github.com/docker/mcp-gateway",
   "license": "MIT",
   "license_class": "osi",
   "description": "An open-source Docker CLI plugin that runs MCP servers in containers behind one gateway, with secret blocking and per-tool enable and disable.",
   "home": "none",
   "home_detail": null,
   "maturity": "pre-ga",
   "tier": "listed",
   "tier_reason": "Listed, not drawn: it is not yet generally available, and no documented handoff and no foundation home places it on the map.",
   "placements": [
    {
     "leaf": "3.3",
     "primary": true,
     "capability": "Sits between MCP clients and the MCP servers it runs in containers, blocks secrets passing to and from tools and lets the operator disable individual tools.",
     "evidence": [
      "e2",
      "e3",
      "e4"
     ]
    }
   ],
   "facets": {
    "concern": [
     "security"
    ],
    "cites_law": false,
    "jurisdictions": [],
    "subject": [
     "agent",
     "ai-system"
    ],
    "user_party": [
     "runs"
    ],
    "run_mode": [
     "at-runtime"
    ],
    "policy_source": [
     "owner-config"
    ],
    "traffic_seen": [
     "tool"
    ],
    "agent_can_bypass": "depends",
    "inventory_only": false
   },
   "handoffs": [],
   "evidence": {
    "e1": {
     "url": "https://api.github.com/repos/docker/mcp-gateway",
     "quote": "MIT",
     "kind": "repo-api",
     "captured": "2026-10-20"
    },
    "e2": {
     "url": "https://raw.githubusercontent.com/docker/mcp-gateway/main/README.md",
     "quote": "AI models access MCP servers through a single Gateway.",
     "kind": "readme",
     "captured": "2026-10-20"
    },
    "e3": {
     "url": "https://raw.githubusercontent.com/docker/mcp-gateway/main/docs/generator/reference/mcp_gateway_run.md",
     "quote": "Block secrets from being/received sent to/from tools",
     "kind": "docs",
     "captured": "2026-10-20"
    },
    "e4": {
     "url": "https://raw.githubusercontent.com/docker/mcp-gateway/main/docs/generator/reference/docker_mcp_tools_disable.yaml",
     "quote": "disable one or more tools",
     "kind": "docs",
     "captured": "2026-10-20"
    },
    "e5": {
     "url": "https://github.com/docker/mcp-gateway/releases",
     "quote": "v0.44.1 v0.44.1 Pre-release Pre-release Compare",
     "kind": "release-notes",
     "captured": "2026-10-20"
    }
   },
   "notes": "Every release in the repository's list carries the publisher's Pre-release label, so maturity is pre-ga. The run command also accepts interceptors, external programs run before or after a call; no policy language is documented.",
   "as_of": "2026-10-20",
   "leaf": "3.3",
   "lanes": {
    "concern": "security",
    "home": "none",
    "license": "osi",
    "maturity": "not-shipping",
    "policy": "owner-config"
   },
   "page": "/safeguards/docker-mcp-gateway",
   "logo": "/safeguards/logos/docker-mcp-gateway.png"
  },
  {
   "slug": "eclipse-dataspace-components",
   "name": "Eclipse Dataspace Components",
   "org": "Eclipse Foundation",
   "org_kind": "foundation",
   "homepage": "https://projects.eclipse.org/projects/technology.edc",
   "repo": "https://github.com/eclipse-edc/Connector",
   "license": "Apache-2.0",
   "license_class": "osi",
   "description": "A dataspace connector framework with a policy engine that evaluates ODRL policy expressions, through operator-written policy functions, on data exchange.",
   "home": "eclipse",
   "home_detail": null,
   "maturity": "incubation",
   "tier": "mapped",
   "tier_reason": null,
   "placements": [
    {
     "leaf": "3.5",
     "primary": true,
     "capability": "Evaluates ODRL policy expressions for data sharing between organizations by running policy functions that the operator contributes as extensions.",
     "evidence": [
      "e2",
      "e3"
     ]
    }
   ],
   "facets": {
    "concern": [
     "security"
    ],
    "cites_law": false,
    "jurisdictions": [],
    "subject": [
     "software"
    ],
    "user_party": [
     "runs"
    ],
    "run_mode": [
     "at-runtime"
    ],
    "policy_source": [
     "owner-config"
    ],
    "inventory_only": false
   },
   "handoffs": [],
   "evidence": {
    "e1": {
     "url": "https://projects.eclipse.org/projects/technology.edc",
     "quote": "State Incubating Industry Collaborations",
     "kind": "foundation-page",
     "captured": "2026-10-20"
    },
    "e2": {
     "url": "https://eclipse-edc.github.io/documentation/for-adopters/control-plane/policy-engine/",
     "quote": "EDC includes a policy engine for evaluating policy expressions.",
     "kind": "docs",
     "captured": "2026-10-20"
    },
    "e3": {
     "url": "https://eclipse-edc.github.io/documentation/for-adopters/control-plane/policy-engine/",
     "quote": "the EDC policy engine executes code that is contributed as extensions called policy functions",
     "kind": "docs",
     "captured": "2026-10-20"
    },
    "e4": {
     "url": "https://api.github.com/repos/eclipse-edc/Connector",
     "quote": "Apache-2.0",
     "kind": "repo-api",
     "captured": "2026-10-20"
    }
   },
   "notes": null,
   "as_of": "2026-10-20",
   "leaf": "3.5",
   "lanes": {
    "concern": "security",
    "home": "other-foundation",
    "license": "osi",
    "maturity": "incubating",
    "policy": "owner-config"
   },
   "page": "/safeguards/eclipse-dataspace-components",
   "logo": "/safeguards/logos/eclipse-dataspace-components.png"
  },
  {
   "slug": "eclipse-disuko",
   "name": "Eclipse Disuko",
   "org": "Eclipse Foundation",
   "org_kind": "foundation",
   "homepage": "https://projects.eclipse.org/projects/technology.disuko",
   "repo": "https://github.com/eclipse-disuko/disuko",
   "license": "Apache-2.0",
   "license_class": "osi",
   "description": "A web application that reads a project's SBOMs and assesses the FOSS licenses of its components against a policy database and the owner's use cases.",
   "home": "eclipse",
   "home_detail": null,
   "maturity": "incubation",
   "tier": "mapped",
   "tier_reason": null,
   "placements": [
    {
     "leaf": "1.1",
     "primary": true,
     "capability": "Reads the SBOMs uploaded for a software project and assesses the licenses of the components they list against a license and policy database and the owner's own use cases, to show the resulting license obligations.",
     "evidence": [
      "e2",
      "e7"
     ]
    }
   ],
   "facets": {
    "concern": [
     "legal"
    ],
    "cites_law": false,
    "jurisdictions": [],
    "subject": [
     "software"
    ],
    "user_party": [
     "makes",
     "distributes"
    ],
    "run_mode": [
     "by-hand"
    ],
    "inventory_only": false
   },
   "handoffs": [
    {
     "artifact": "inventory",
     "direction": "consumes",
     "format": "SPDX"
    }
   ],
   "evidence": {
    "e1": {
     "url": "https://raw.githubusercontent.com/eclipse-disuko/disuko/main/README.md",
     "quote": "under the umbrella of the [Eclipse Foundation](https://projects.eclipse.org/projects/technology.disuko)",
     "kind": "readme",
     "captured": "2026-10-21"
    },
    "e2": {
     "url": "https://raw.githubusercontent.com/eclipse-disuko/disuko/main/README.md",
     "quote": "focuses on consuming SBOMs and the resulting actions based on their assessment",
     "kind": "readme",
     "captured": "2026-10-21"
    },
    "e4": {
     "url": "https://raw.githubusercontent.com/eclipse-disuko/disuko/main/LICENSE",
     "quote": "Apache License Version 2.0, January 2004",
     "kind": "readme",
     "captured": "2026-10-21"
    },
    "e5": {
     "url": "https://raw.githubusercontent.com/eclipse-disuko/disuko/main/README.md",
     "quote": "The official SPDX schema can be downloaded here",
     "kind": "readme",
     "captured": "2026-10-21"
    },
    "e6": {
     "url": "https://projects.eclipse.org/projects/technology.disuko",
     "quote": "State Incubating Licenses",
     "kind": "foundation-page",
     "captured": "2026-10-21"
    },
    "e7": {
     "url": "https://projects.eclipse.org/projects/technology.disuko",
     "quote": "Eclipse Disuko comes with a license and policy database that helps a project owner to assess FOSS licenses based on self-configured use cases and understand the resulting license obligations.",
     "kind": "foundation-page",
     "captured": "2026-10-21"
    }
   },
   "notes": "The repository lists no releases yet; the stage is the Eclipse project's.",
   "as_of": "2026-10-21",
   "leaf": "1.1",
   "lanes": {
    "concern": "legal",
    "home": "other-foundation",
    "license": "osi",
    "maturity": "incubating",
    "policy": "na"
   },
   "page": "/safeguards/eclipse-disuko",
   "logo": null
  },
  {
   "slug": "eclipse-lmos",
   "name": "Eclipse LMOS",
   "org": "Eclipse Foundation",
   "org_kind": "foundation",
   "homepage": "https://eclipse.dev/lmos",
   "repo": "https://github.com/eclipse-lmos/arc",
   "license": "Apache-2.0",
   "license_class": "osi",
   "description": "An agent platform whose ARC framework lets the developer filter an AI agent's input and output, stop processing with a fixed reply, and rate-limit requests.",
   "home": "eclipse",
   "home_detail": null,
   "maturity": "incubation",
   "tier": "mapped",
   "tier_reason": null,
   "placements": [
    {
     "leaf": "3.2",
     "primary": true,
     "capability": "Runs input and output filters inside an AI agent's own processing loop that can rewrite messages or stop the agent with a fixed reply, and applies a rate limit to the requests the agent handles.",
     "evidence": [
      "e2",
      "e3",
      "e4"
     ]
    }
   ],
   "facets": {
    "concern": [
     "safety"
    ],
    "cites_law": false,
    "jurisdictions": [],
    "subject": [
     "agent"
    ],
    "user_party": [
     "makes"
    ],
    "run_mode": [
     "at-runtime"
    ],
    "policy_source": [
     "owner-config"
    ],
    "agent_can_bypass": "depends",
    "inventory_only": false
   },
   "handoffs": [],
   "evidence": {
    "e1": {
     "url": "https://projects.eclipse.org/node/31619",
     "quote": "State Incubating Industry Collaborations",
     "kind": "foundation-page",
     "captured": "2026-10-20"
    },
    "e2": {
     "url": "https://raw.githubusercontent.com/eclipse-lmos/website/source/docs/arc/01-dsl/filters.md",
     "quote": "Filters can be used change the input and output of the conversation.",
     "kind": "docs",
     "captured": "2026-10-20"
    },
    "e3": {
     "url": "https://raw.githubusercontent.com/eclipse-lmos/website/source/docs/arc/01-dsl/filters.md",
     "quote": "The `breakWith` function can be used to stop the agent from further processing the message",
     "kind": "docs",
     "captured": "2026-10-20"
    },
    "e4": {
     "url": "https://raw.githubusercontent.com/eclipse-lmos/website/source/docs/arc/01-dsl/Features/rate_limiter.md",
     "quote": "The Arc DSL comes with a built-in rate limiter that can be used to limit the number of requests an Agent can process in a given time frame.",
     "kind": "docs",
     "captured": "2026-10-20"
    },
    "e5": {
     "url": "https://raw.githubusercontent.com/eclipse-lmos/arc/main/REUSE.toml",
     "quote": "SPDX-License-Identifier: Apache-2.0",
     "kind": "readme",
     "captured": "2026-10-20"
    }
   },
   "notes": null,
   "as_of": "2026-10-20",
   "leaf": "3.2",
   "lanes": {
    "concern": "safety",
    "home": "other-foundation",
    "license": "osi",
    "maturity": "incubating",
    "policy": "owner-config"
   },
   "page": "/safeguards/eclipse-lmos",
   "logo": "/safeguards/logos/eclipse-lmos.png"
  },
  {
   "slug": "eclipse-steady",
   "name": "Eclipse Steady",
   "org": "Eclipse Foundation",
   "org_kind": "foundation",
   "homepage": "https://projects.eclipse.org/projects/technology.steady",
   "repo": "https://github.com/eclipse-steady/steady",
   "license": "Apache-2.0",
   "license_class": "osi",
   "description": "A tool that analyzes Java applications to detect dependencies on open-source components with known vulnerabilities and to support developers in mitigating them.",
   "home": "eclipse",
   "home_detail": null,
   "maturity": "incubation",
   "tier": "mapped",
   "tier_reason": null,
   "placements": [
    {
     "leaf": "1.1",
     "primary": true,
     "capability": "Analyzes a Java application's dependencies to detect open-source components with known vulnerabilities, so developers can decide how to mitigate them.",
     "evidence": [
      "e2"
     ]
    }
   ],
   "facets": {
    "concern": [
     "security"
    ],
    "cites_law": false,
    "jurisdictions": [],
    "subject": [
     "software"
    ],
    "user_party": [
     "makes"
    ],
    "run_mode": [
     "by-hand"
    ],
    "inventory_only": false
   },
   "handoffs": [],
   "evidence": {
    "e1": {
     "url": "https://raw.githubusercontent.com/eclipse-steady/steady/master/README.md",
     "quote": "Eclipse Steady (Incubator Project)",
     "kind": "readme",
     "captured": "2026-10-21"
    },
    "e2": {
     "url": "https://raw.githubusercontent.com/eclipse-steady/steady/master/README.md",
     "quote": "detect whether they depend on open-source components with known vulnerabilities",
     "kind": "readme",
     "captured": "2026-10-21"
    },
    "e3": {
     "url": "https://raw.githubusercontent.com/eclipse-steady/steady/master/LICENSE",
     "quote": "Apache License Version 2.0, January 2004",
     "kind": "readme",
     "captured": "2026-10-21"
    },
    "e4": {
     "url": "https://projects.eclipse.org/projects/technology.steady",
     "quote": "State Incubating Latest Releases",
     "kind": "foundation-page",
     "captured": "2026-10-21"
    }
   },
   "notes": "The README also describes an optional dynamic analysis that collects evidence of vulnerable code executing; only the dependency detection is placed here.",
   "as_of": "2026-10-21",
   "leaf": "1.1",
   "lanes": {
    "concern": "security",
    "home": "other-foundation",
    "license": "osi",
    "maturity": "incubating",
    "policy": "na"
   },
   "page": "/safeguards/eclipse-steady",
   "logo": null
  },
  {
   "slug": "eclipse-sw360antenna",
   "name": "Eclipse SW360antenna",
   "org": "Eclipse Foundation",
   "org_kind": "foundation",
   "homepage": "https://projects.eclipse.org/projects/technology.sw360.antenna",
   "repo": "https://github.com/eclipse-archived/antenna",
   "license": "EPL-2.0",
   "license_class": "osi",
   "description": "An archived build-time tool that scans a project's dependencies, downloads their sources, validates licenses, and produces an attribution document, a sources archive and a processing report.",
   "home": "eclipse",
   "home_detail": null,
   "maturity": "archived",
   "tier": "listed",
   "tier_reason": "Listed, not drawn: it is archived.",
   "placements": [
    {
     "leaf": "1.1",
     "primary": true,
     "capability": "Scans a project's dependency artifacts, downloads their sources and validates sources and licenses, then produces a third-party attribution document, a sources archive and a processing report.",
     "evidence": [
      "e3"
     ]
    }
   ],
   "facets": {
    "concern": [
     "legal"
    ],
    "cites_law": false,
    "jurisdictions": [],
    "subject": [
     "software"
    ],
    "user_party": [
     "makes",
     "distributes"
    ],
    "run_mode": [
     "by-hand"
    ],
    "inventory_only": false
   },
   "handoffs": [],
   "evidence": {
    "e1": {
     "url": "https://raw.githubusercontent.com/eclipse-archived/antenna/master/README.md",
     "quote": "THIS PROJECT HAS BEEN ARCHIVED",
     "kind": "readme",
     "captured": "2026-10-21"
    },
    "e2": {
     "url": "https://raw.githubusercontent.com/eclipse-archived/antenna/master/README.md",
     "quote": "Or visit us on our [Eclipse Project Site](https://www.eclipse.org/antenna/) for the latest news of the project.",
     "kind": "readme",
     "captured": "2026-10-21"
    },
    "e3": {
     "url": "https://raw.githubusercontent.com/eclipse-archived/antenna/master/README.md",
     "quote": "Antenna scans artifacts of a project, downloads sources for dependencies, validates sources and licenses and creates",
     "kind": "readme",
     "captured": "2026-10-21"
    },
    "e4": {
     "url": "https://raw.githubusercontent.com/eclipse-archived/antenna/master/LICENSE",
     "quote": "Eclipse Public License - v 2.0",
     "kind": "readme",
     "captured": "2026-10-21"
    },
    "e5": {
     "url": "https://projects.eclipse.org/projects/technology.sw360.antenna",
     "quote": "State Archived Latest Releases",
     "kind": "foundation-page",
     "captured": "2026-10-21"
    }
   },
   "notes": "The repository sits in the eclipse-archived organization and its README opens with an archive notice.",
   "as_of": "2026-10-21",
   "leaf": "1.1",
   "lanes": {
    "concern": "legal",
    "home": "other-foundation",
    "license": "osi",
    "maturity": "not-shipping",
    "policy": "na"
   },
   "page": "/safeguards/eclipse-sw360antenna",
   "logo": null
  },
  {
   "slug": "eraser",
   "name": "Eraser",
   "org": "Cloud Native Computing Foundation",
   "org_kind": "foundation",
   "homepage": "https://eraser-dev.github.io/eraser/docs/",
   "repo": "https://github.com/eraser-dev/eraser",
   "license": "Apache-2.0",
   "license_class": "osi",
   "description": "A Kubernetes tool that removes non-running container images from cluster nodes, using vulnerability data to decide which images to delete.",
   "home": "cncf",
   "home_detail": null,
   "maturity": "sandbox",
   "tier": "mapped",
   "tier_reason": null,
   "placements": [
    {
     "leaf": "4.3",
     "primary": true,
     "capability": "Removes non-running images from every node of a cluster, deleting an image when it meets criteria such as a known vulnerability.",
     "evidence": [
      "e2",
      "e3"
     ]
    }
   ],
   "facets": {
    "concern": [
     "security"
    ],
    "cites_law": false,
    "jurisdictions": [],
    "subject": [
     "software"
    ],
    "user_party": [
     "runs"
    ],
    "run_mode": [
     "at-runtime"
    ],
    "inventory_only": false
   },
   "handoffs": [],
   "evidence": {
    "e1": {
     "url": "https://www.cncf.io/projects/eraser/",
     "quote": "Eraser was accepted to CNCF on June 30, 2023 at the Sandbox maturity level.",
     "kind": "foundation-page",
     "captured": "2026-10-20"
    },
    "e2": {
     "url": "https://www.cncf.io/projects/eraser/",
     "quote": "Eraser uses vulnerability data to remove non-running images from all Kubernetes nodes in a cluster.",
     "kind": "foundation-page",
     "captured": "2026-10-20"
    },
    "e3": {
     "url": "https://eraser-dev.github.io/eraser/docs/",
     "quote": "Eraser aims to provide a simple way to determine the state of an image, and delete it if it meets the specified criteria.",
     "kind": "docs",
     "captured": "2026-10-20"
    },
    "e4": {
     "url": "https://api.github.com/repos/eraser-dev/eraser",
     "quote": "Apache-2.0",
     "kind": "repo-api",
     "captured": "2026-10-20"
    }
   },
   "notes": "In 4.3 as correction after the fact: removing images found vulnerable. It acts on images that are not running, so it does not stop a running workload.",
   "as_of": "2026-10-20",
   "leaf": "4.3",
   "lanes": {
    "concern": "security",
    "home": "cncf",
    "license": "osi",
    "maturity": "sandbox",
    "policy": "na"
   },
   "page": "/safeguards/eraser",
   "logo": "/safeguards/logos/eraser.svg"
  },
  {
   "slug": "falco",
   "name": "Falco",
   "org": "Cloud Native Computing Foundation",
   "org_kind": "foundation",
   "homepage": "https://falco.org/",
   "repo": "https://github.com/falcosecurity/falco",
   "license": "Apache-2.0",
   "license_class": "osi",
   "description": "A runtime security tool for Linux that watches kernel events against custom rules and alerts on abnormal behavior and potential threats.",
   "home": "cncf",
   "home_detail": null,
   "maturity": "graduated",
   "tier": "mapped",
   "tier_reason": null,
   "placements": [
    {
     "leaf": "4.1",
     "primary": true,
     "capability": "Observes kernel events such as syscalls against rules the owner writes and raises alerts when it sees abnormal behavior, which is the point at which an incident becomes known.",
     "evidence": [
      "e2",
      "e3"
     ]
    }
   ],
   "facets": {
    "concern": [
     "security"
    ],
    "cites_law": false,
    "jurisdictions": [],
    "subject": [
     "software"
    ],
    "user_party": [
     "runs"
    ],
    "run_mode": [
     "at-runtime"
    ],
    "inventory_only": false
   },
   "handoffs": [],
   "evidence": {
    "e1": {
     "url": "https://www.cncf.io/projects/falco/",
     "quote": "Falco was accepted to CNCF on October 10, 2018, moved to the Incubating maturity level on January 8, 2020, and then moved to the Graduated maturity level on February 29, 2024.",
     "kind": "foundation-page",
     "captured": "2026-10-20"
    },
    "e2": {
     "url": "https://raw.githubusercontent.com/falcosecurity/falco/master/README.md",
     "quote": "It is designed to detect and alert on abnormal behavior and potential security threats in real-time.",
     "kind": "readme",
     "captured": "2026-10-20"
    },
    "e3": {
     "url": "https://raw.githubusercontent.com/falcosecurity/falco/master/README.md",
     "quote": "At its core, Falco is a kernel monitoring and detection agent that observes events, such as syscalls, based on custom rules.",
     "kind": "readme",
     "captured": "2026-10-20"
    },
    "e4": {
     "url": "https://api.github.com/repos/falcosecurity/falco",
     "quote": "Apache-2.0",
     "kind": "repo-api",
     "captured": "2026-10-20"
    }
   },
   "notes": "Detects and alerts; it enforces nothing itself. No handoff format is named in the sources read, and the CNCF home gives it the mapped tier.",
   "as_of": "2026-10-20",
   "leaf": "4.1",
   "lanes": {
    "concern": "security",
    "home": "cncf",
    "license": "osi",
    "maturity": "graduated",
    "policy": "na"
   },
   "page": "/safeguards/falco",
   "logo": "/safeguards/logos/falco.svg"
  },
  {
   "slug": "flux-oci-source-verification",
   "name": "Flux (OCI source verification)",
   "org": "Cloud Native Computing Foundation",
   "org_kind": "foundation",
   "homepage": "https://fluxcd.io/",
   "repo": "https://github.com/fluxcd/flux2",
   "license": "Apache-2.0",
   "license_class": "osi",
   "description": "Flux's OCIRepository source can verify the Cosign or Notation signature of an OCI artifact against keys or identities the owner supplies, and records the result on the object.",
   "home": "cncf",
   "home_detail": null,
   "maturity": "graduated",
   "tier": "mapped",
   "tier_reason": null,
   "placements": [
    {
     "leaf": "3.7",
     "primary": true,
     "capability": "Verifies the Cosign or Notation signature of an OCI artifact that a source object points to, using public keys, a trust policy or OIDC identity matchers the owner supplies, and records the outcome as a condition on that object.",
     "evidence": [
      "e2",
      "e3",
      "e4"
     ]
    }
   ],
   "facets": {
    "concern": [
     "security"
    ],
    "cites_law": false,
    "jurisdictions": [],
    "subject": [
     "software"
    ],
    "user_party": [
     "runs"
    ],
    "run_mode": [
     "at-runtime"
    ],
    "policy_source": [
     "owner-config"
    ],
    "inventory_only": false
   },
   "handoffs": [
    {
     "artifact": "provenance",
     "direction": "consumes",
     "format": "Cosign signatures (including keyless) and Notation signatures"
    }
   ],
   "evidence": {
    "e1": {
     "url": "https://www.cncf.io/projects/flux/",
     "quote": "moved to the Graduated maturity level on November 30, 2022.",
     "kind": "foundation-page",
     "captured": "2026-10-21"
    },
    "e2": {
     "url": "https://fluxcd.io/flux/components/source/ocirepositories/",
     "quote": ".spec.verify is an optional field to enable the verification of Cosign or Notation signatures.",
     "kind": "docs",
     "captured": "2026-10-21"
    },
    "e3": {
     "url": "https://fluxcd.io/flux/components/source/ocirepositories/",
     "quote": "The cosign provider can be used to verify the signature of an OCI artifact using either a known public key or via the Cosign Keyless procedure.",
     "kind": "docs",
     "captured": "2026-10-21"
    },
    "e4": {
     "url": "https://fluxcd.io/flux/components/source/ocirepositories/",
     "quote": "to specify a reference to a Secret in the same namespace as the OCIRepository, containing the Cosign public keys of trusted authors.",
     "kind": "docs",
     "captured": "2026-10-21"
    },
    "e5": {
     "url": "https://api.github.com/repos/fluxcd/flux2",
     "quote": "Apache-2.0",
     "kind": "repo-api",
     "captured": "2026-10-21"
    }
   },
   "notes": null,
   "as_of": "2026-10-21",
   "leaf": "3.7",
   "lanes": {
    "concern": "security",
    "home": "cncf",
    "license": "osi",
    "maturity": "graduated",
    "policy": "owner-config"
   },
   "page": "/safeguards/flux-oci-source-verification",
   "logo": null
  },
  {
   "slug": "fossology",
   "name": "FOSSology",
   "org": "Linux Foundation",
   "org_kind": "foundation",
   "homepage": "https://www.fossology.org/",
   "repo": "https://github.com/fossology/fossology",
   "license": "GPL-2.0",
   "license_class": "osi",
   "description": "An open-source system and toolkit that scans software for licenses, copyrights and export control matters and produces SPDX reports.",
   "home": "lf-other",
   "home_detail": "FOSSology, a Linux Foundation project",
   "maturity": "released",
   "tier": "mapped",
   "tier_reason": null,
   "placements": [
    {
     "leaf": "1.1",
     "primary": true,
     "capability": "Scans source code for licenses, copyright notices and export control matters, from the command line or through a web workflow, so the people who ship software can see what it contains.",
     "evidence": [
      "e2"
     ]
    }
   ],
   "facets": {
    "concern": [
     "legal"
    ],
    "cites_law": false,
    "jurisdictions": [],
    "subject": [
     "software"
    ],
    "user_party": [
     "makes",
     "distributes"
    ],
    "run_mode": [
     "by-hand"
    ],
    "inventory_only": false
   },
   "handoffs": [
    {
     "artifact": "inventory",
     "direction": "produces",
     "format": "SPDX file"
    }
   ],
   "evidence": {
    "e1": {
     "url": "https://www.fossology.org/",
     "quote": "© 2017 FOSSology Workgroup a Linux Foundation Project.",
     "kind": "foundation-page",
     "captured": "2026-10-20"
    },
    "e2": {
     "url": "https://raw.githubusercontent.com/fossology/fossology/master/README.md",
     "quote": "you can run license, copyright, and export control scans from the command line",
     "kind": "readme",
     "captured": "2026-10-20"
    },
    "e3": {
     "url": "https://raw.githubusercontent.com/fossology/fossology/master/README.md",
     "quote": "In one click you can generate an SPDX file or a ReadMe with all the copyrights notices from your software.",
     "kind": "readme",
     "captured": "2026-10-20"
    },
    "e4": {
     "url": "https://github.com/fossology/fossology/releases",
     "quote": "FOSSology 4.7.2 Release FOSSology 4.7.2 Release Latest",
     "kind": "release-notes",
     "captured": "2026-10-20"
    },
    "e5": {
     "url": "https://api.github.com/repos/fossology/fossology",
     "quote": "GPL-2.0",
     "kind": "repo-api",
     "captured": "2026-10-20"
    }
   },
   "notes": "The documentation read names license, copyright and export control scanners but no statute, so cites_law stays false. The project states that it does not give legal advice.",
   "as_of": "2026-10-20",
   "leaf": "1.1",
   "lanes": {
    "concern": "legal",
    "home": "lf-other",
    "license": "osi",
    "maturity": "released",
    "policy": "na"
   },
   "page": "/safeguards/fossology",
   "logo": "/safeguards/logos/fossology.png"
  },
  {
   "slug": "fuzzingbrain",
   "name": "FuzzingBrain",
   "org": "FuzzingBrain",
   "org_kind": "community",
   "homepage": "https://fuzzingbrain.github.io/",
   "repo": "https://github.com/o2lab/afc-crs-all-you-need-is-a-fuzzing-brain",
   "license": "Apache-2.0",
   "license_class": "osi",
   "description": "An LLM-driven system built on OSS-Fuzz that runs coverage-guided fuzzing to find vulnerabilities in a target project and proposes patches.",
   "home": "none",
   "home_detail": null,
   "maturity": "released",
   "tier": "listed",
   "tier_reason": "Listed, not drawn: no documented handoff and no foundation home places it on the map.",
   "placements": [
    {
     "leaf": "2.1",
     "primary": true,
     "capability": "Runs coverage-guided fuzzing on a target project, with LLM agents that reason about where bugs live, build proofs-of-vulnerability and propose patches.",
     "evidence": [
      "e1",
      "e2"
     ]
    }
   ],
   "facets": {
    "concern": [
     "security"
    ],
    "cites_law": false,
    "jurisdictions": [],
    "subject": [
     "software"
    ],
    "user_party": [
     "makes"
    ],
    "run_mode": [
     "by-hand"
    ],
    "test_target": [
     "application"
    ],
    "inventory_only": false
   },
   "handoffs": [],
   "evidence": {
    "e1": {
     "url": "https://raw.githubusercontent.com/o2lab/afc-crs-all-you-need-is-a-fuzzing-brain/main/README.md",
     "quote": "FuzzingBrain is an LLM-powered autonomous system for vulnerability discovery and patching, built on the OSS-Fuzz toolchain.",
     "kind": "readme",
     "captured": "2026-10-21"
    },
    "e2": {
     "url": "https://raw.githubusercontent.com/o2lab/afc-crs-all-you-need-is-a-fuzzing-brain/main/README.md",
     "quote": "specialized agents partition the target, reason about where bugs live, build proofs-of-vulnerability, and propose patches",
     "kind": "readme",
     "captured": "2026-10-21"
    },
    "e3": {
     "url": "https://github.com/o2lab/afc-crs-all-you-need-is-a-fuzzing-brain/releases",
     "quote": "Release list v0.2.1 stable w/ docker v0.1 user friendly (single VM)",
     "kind": "release-notes",
     "captured": "2026-10-21"
    },
    "e4": {
     "url": "https://api.github.com/repos/o2lab/afc-crs-all-you-need-is-a-fuzzing-brain",
     "quote": "Apache-2.0",
     "kind": "repo-api",
     "captured": "2026-10-21"
    }
   },
   "notes": "No OpenSSF TAC row and no OpenSSF statement in the README, so no foundation home. The README documents a command line run, not a CI integration, so it sits in 2.1.",
   "as_of": "2026-10-21",
   "leaf": "2.1",
   "lanes": {
    "concern": "security",
    "home": "none",
    "license": "osi",
    "maturity": "released",
    "policy": "na"
   },
   "page": "/safeguards/fuzzingbrain",
   "logo": null
  },
  {
   "slug": "gemini-cli",
   "name": "Gemini CLI",
   "org": "Google",
   "org_kind": "company",
   "homepage": "https://geminicli.com/",
   "repo": "https://github.com/google-gemini/gemini-cli",
   "license": "Apache-2.0",
   "license_class": "osi",
   "description": "An open-source terminal agent with a policy engine that allows, denies or asks the user about each tool call, and an optional sandbox for shell commands.",
   "home": "none",
   "home_detail": null,
   "maturity": "released",
   "tier": "mapped",
   "tier_reason": null,
   "placements": [
    {
     "leaf": "3.2",
     "primary": true,
     "capability": "Evaluates each tool call against rules that allow it, deny it or ask the user, with rules set by the user, the project or an administrator.",
     "evidence": [
      "e1",
      "e2",
      "e3"
     ]
    }
   ],
   "facets": {
    "concern": [
     "safety",
     "security"
    ],
    "cites_law": false,
    "jurisdictions": [],
    "subject": [
     "agent"
    ],
    "user_party": [
     "runs"
    ],
    "run_mode": [
     "at-runtime"
    ],
    "policy_source": [
     "owner-config"
    ],
    "agent_can_bypass": "depends",
    "inventory_only": false
   },
   "handoffs": [
    {
     "artifact": "runtime-records",
     "direction": "produces",
     "format": "OpenTelemetry logs, metrics and traces"
    }
   ],
   "evidence": {
    "e1": {
     "url": "https://raw.githubusercontent.com/google-gemini/gemini-cli/main/README.md",
     "quote": "Gemini CLI is an open-source AI agent that brings the power of Gemini directly into your terminal.",
     "kind": "readme",
     "captured": "2026-10-20"
    },
    "e2": {
     "url": "https://geminicli.com/docs/reference/policy-engine/",
     "quote": "It allows users and administrators to define rules that determine whether a tool call should be allowed, denied, or require user confirmation.",
     "kind": "docs",
     "captured": "2026-10-20"
    },
    "e3": {
     "url": "https://geminicli.com/docs/reference/policy-engine/",
     "quote": "ask_user : The user is prompted to approve or deny the tool call.",
     "kind": "docs",
     "captured": "2026-10-20"
    },
    "e4": {
     "url": "https://api.github.com/repos/google-gemini/gemini-cli",
     "quote": "Apache-2.0",
     "kind": "repo-api",
     "captured": "2026-10-20"
    },
    "e5": {
     "url": "https://github.com/google-gemini/gemini-cli/releases",
     "quote": "Release v0.64.0 Release v0.64.0 Latest Latest Compare Choose a tag to compare",
     "kind": "release-notes",
     "captured": "2026-10-20"
    },
    "e6": {
     "url": "https://geminicli.com/docs/reference/policy-engine/",
     "quote": "Administrators can enforce system-wide policies (Tier 4) that override all user and default settings.",
     "kind": "docs",
     "captured": "2026-10-20"
    },
    "e7": {
     "url": "https://geminicli.com/docs/cli/telemetry/",
     "quote": "Gemini CLI provides built-in support for OpenTelemetry, transforming every agent interaction into a rich stream of logs, metrics, and traces.",
     "kind": "docs",
     "captured": "2026-10-20"
    }
   },
   "notes": null,
   "as_of": "2026-10-20",
   "leaf": "3.2",
   "lanes": {
    "concern": "safety",
    "home": "none",
    "license": "osi",
    "maturity": "released",
    "policy": "owner-config"
   },
   "page": "/safeguards/gemini-cli",
   "logo": "/safeguards/logos/gemini-cli.png"
  },
  {
   "slug": "github-copilot-agent",
   "name": "GitHub Copilot cloud agent and CLI",
   "org": "GitHub",
   "org_kind": "company",
   "homepage": "https://docs.github.com/en/copilot",
   "repo": null,
   "license": null,
   "license_class": "proprietary",
   "description": "GitHub's coding agents. The CLI asks before each tool use, and the cloud agent works on a restricted branch behind a firewall, with human review before merge.",
   "home": "vendor",
   "home_detail": null,
   "maturity": "ga",
   "tier": "listed",
   "tier_reason": "Listed, not drawn: no documented handoff and no foundation home places it on the map.",
   "placements": [
    {
     "leaf": "3.2",
     "primary": true,
     "capability": "Asks the user to approve tool use in the CLI session, and confines the cloud agent to its own branch, an internet firewall and human review before merge.",
     "evidence": [
      "e2",
      "e3",
      "e4",
      "e5"
     ]
    }
   ],
   "facets": {
    "concern": [
     "safety",
     "security"
    ],
    "cites_law": false,
    "jurisdictions": [],
    "subject": [
     "agent"
    ],
    "user_party": [
     "runs"
    ],
    "run_mode": [
     "at-runtime"
    ],
    "policy_source": [
     "vendor-defaults",
     "owner-config"
    ],
    "agent_can_bypass": "depends",
    "inventory_only": false
   },
   "handoffs": [],
   "evidence": {
    "e1": {
     "url": "https://docs.github.com/en/copilot/concepts/agents/copilot-cli/about-copilot-cli",
     "quote": "GitHub Copilot CLI is available with all Copilot plans.",
     "kind": "docs",
     "captured": "2026-10-20"
    },
    "e2": {
     "url": "https://docs.github.com/en/copilot/concepts/agents/copilot-cli/about-copilot-cli",
     "quote": "Option 1 allows Copilot to run this particular command, this time only.",
     "kind": "docs",
     "captured": "2026-10-20"
    },
    "e3": {
     "url": "https://docs.github.com/en/copilot/concepts/agents/coding-agent/risks-and-mitigations",
     "quote": "Draft pull requests created by Copilot cloud agent must be reviewed and merged by a human.",
     "kind": "docs",
     "captured": "2026-10-20"
    },
    "e4": {
     "url": "https://docs.github.com/en/copilot/concepts/agents/coding-agent/risks-and-mitigations",
     "quote": "the agent can only push to that branch",
     "kind": "docs",
     "captured": "2026-10-20"
    },
    "e5": {
     "url": "https://docs.github.com/en/copilot/how-tos/use-copilot-agents/coding-agent/customize-the-agent-firewall",
     "quote": "By default, Copilot's access to the internet is limited by a firewall.",
     "kind": "docs",
     "captured": "2026-10-20"
    },
    "e6": {
     "url": "https://docs.github.com/en/copilot/concepts/agents/coding-agent/risks-and-mitigations",
     "quote": "Optionally, you can configure Copilot to allow workflows to run automatically.",
     "kind": "docs",
     "captured": "2026-10-20"
    },
    "e7": {
     "url": "https://docs.github.com/en/copilot/how-tos/use-copilot-agents/coding-agent/customize-the-agent-firewall",
     "quote": "Note Copilot code review also supports firewall configuration, at both the organization and repository level",
     "kind": "docs",
     "captured": "2026-10-20"
    }
   },
   "notes": null,
   "as_of": "2026-10-20",
   "leaf": "3.2",
   "lanes": {
    "concern": "safety",
    "home": "vendor",
    "license": "proprietary",
    "maturity": "ga",
    "policy": "owner-config"
   },
   "page": "/safeguards/github-copilot-agent",
   "logo": "/safeguards/logos/github-copilot-agent.png"
  },
  {
   "slug": "git-proxy",
   "name": "GitProxy",
   "org": "FINOS",
   "org_kind": "foundation",
   "homepage": "https://git-proxy.finos.org/",
   "repo": "https://github.com/finos/git-proxy",
   "license": "Apache-2.0",
   "license_class": "osi",
   "description": "A proxy between developers and a Git remote that applies configurable rules, such as license, secret and author checks, to outgoing pushes and can block them.",
   "home": "finos",
   "home_detail": null,
   "maturity": "graduated",
   "tier": "mapped",
   "tier_reason": null,
   "placements": [
    {
     "leaf": "1.1",
     "primary": true,
     "capability": "Sits between a developer and a Git remote and applies rules the owner configures to each outgoing push, such as license, secret and author e-mail checks, and blocks a push that fails them.",
     "evidence": [
      "e2",
      "e3",
      "e5"
     ]
    }
   ],
   "facets": {
    "concern": [
     "security",
     "legal"
    ],
    "cites_law": false,
    "jurisdictions": [],
    "subject": [
     "software"
    ],
    "user_party": [
     "makes"
    ],
    "run_mode": [
     "in-ci"
    ],
    "inventory_only": false
   },
   "handoffs": [],
   "evidence": {
    "e1": {
     "url": "https://raw.githubusercontent.com/finos/git-proxy/main/README.md",
     "quote": "FINOS - Graduated](https://cdn.jsdelivr.net/gh/finos/contrib-toolbox@master/images/badge-graduated.svg)",
     "kind": "readme",
     "captured": "2026-10-21"
    },
    "e2": {
     "url": "https://raw.githubusercontent.com/finos/git-proxy/main/README.md",
     "quote": "GitProxy is an application that stands between developers and a Git remote endpoint",
     "kind": "readme",
     "captured": "2026-10-21"
    },
    "e3": {
     "url": "https://git-proxy.finos.org/",
     "quote": "Apache-2.0, MIT license(s) only No secrets detected No data files found (.csv, .txt, .log)",
     "kind": "product-page",
     "captured": "2026-10-21"
    },
    "e4": {
     "url": "https://api.github.com/repos/finos/git-proxy",
     "quote": "Apache-2.0",
     "kind": "repo-api",
     "captured": "2026-10-21"
    },
    "e5": {
     "url": "https://git-proxy.finos.org/",
     "quote": "Author e-mail address does not match domain Your push has been blocked",
     "kind": "product-page",
     "captured": "2026-10-21"
    }
   },
   "notes": "It handles no model, MCP or agent traffic, so it is not a gateway (3.3). Placed in 1.1 because what it checks is code, licenses and secrets; it applies the checks at push time instead of in a pipeline, so in-ci is the nearest run mode.",
   "as_of": "2026-10-21",
   "leaf": "1.1",
   "lanes": {
    "concern": "legal",
    "home": "finos",
    "license": "osi",
    "maturity": "graduated",
    "policy": "na"
   },
   "page": "/safeguards/git-proxy",
   "logo": null
  },
  {
   "slug": "gittuf",
   "name": "gittuf",
   "org": "Open Source Security Foundation",
   "org_kind": "foundation",
   "homepage": "https://gittuf.dev/",
   "repo": "https://github.com/gittuf/gittuf",
   "license": "Apache-2.0",
   "license_class": "osi",
   "description": "A Git security system that lets repository maintainers set policies on who may change which references, and lets any developer verify independently that changes followed them.",
   "home": "openssf",
   "home_detail": null,
   "maturity": "incubating",
   "tier": "mapped",
   "tier_reason": null,
   "placements": [
    {
     "leaf": "3.7",
     "primary": true,
     "capability": "Holds policy rules for a Git repository's references and files and verifies that changes followed those rules, independently of the hosting forge.",
     "evidence": [
      "e3",
      "e4",
      "e5",
      "e6"
     ]
    }
   ],
   "facets": {
    "concern": [
     "security"
    ],
    "cites_law": false,
    "jurisdictions": [],
    "subject": [
     "software"
    ],
    "user_party": [
     "makes",
     "runs"
    ],
    "run_mode": [
     "by-hand",
     "in-ci"
    ],
    "policy_source": [
     "owner-config"
    ],
    "inventory_only": false
   },
   "handoffs": [],
   "evidence": {
    "e1": {
     "url": "https://raw.githubusercontent.com/ossf/tac/main/README.md",
     "quote": "| gittuf | [GitHub](https://github.com/gittuf/gittuf) | https://gittuf.dev/ | Supply Chain Integrity WG | [Incubating](process/project-lifecycle-documents/gittuf_incubating_stage.md) |",
     "kind": "foundation-page",
     "captured": "2026-10-20"
    },
    "e2": {
     "url": "https://raw.githubusercontent.com/gittuf/gittuf/main/README.md",
     "quote": "gittuf is an incubating project at the [Open Source Security Foundation (OpenSSF)]",
     "kind": "readme",
     "captured": "2026-10-20"
    },
    "e3": {
     "url": "https://raw.githubusercontent.com/gittuf/gittuf/main/README.md",
     "quote": "gittuf is a platform-agnostic Git security system.",
     "kind": "readme",
     "captured": "2026-10-20"
    },
    "e4": {
     "url": "https://raw.githubusercontent.com/gittuf/gittuf/main/README.md",
     "quote": "any developer can independently verify that a repository’s changes followed the expected security policies",
     "kind": "readme",
     "captured": "2026-10-20"
    },
    "e5": {
     "url": "https://raw.githubusercontent.com/gittuf/gittuf/main/docs/get-started.md",
     "quote": "gittuf allows for verifying rules for Git references and files.",
     "kind": "docs",
     "captured": "2026-10-20"
    },
    "e6": {
     "url": "https://raw.githubusercontent.com/gittuf/gittuf/main/docs/get-started.md",
     "quote": "gittuf allows users to specify rules in one or more policy files.",
     "kind": "docs",
     "captured": "2026-10-20"
    },
    "e7": {
     "url": "https://api.github.com/repos/gittuf/gittuf",
     "quote": "Apache-2.0",
     "kind": "repo-api",
     "captured": "2026-10-20"
    }
   },
   "notes": "The project's own README calls it beta software. Its rules are signed metadata in the repository, not an external Rego or Cedar bundle.",
   "as_of": "2026-10-20",
   "leaf": "3.7",
   "lanes": {
    "concern": "security",
    "home": "openssf",
    "license": "osi",
    "maturity": "incubating",
    "policy": "owner-config"
   },
   "page": "/safeguards/gittuf",
   "logo": "/safeguards/logos/gittuf.png"
  },
  {
   "slug": "google-agent-gateway",
   "name": "Google Agent Gateway",
   "org": "Google Cloud",
   "org_kind": "company",
   "homepage": "https://docs.cloud.google.com/gemini-enterprise-agent-platform/govern/gateways/agent-gateway-overview",
   "repo": null,
   "license": null,
   "license_class": "proprietary",
   "description": "The networking enforcement point of the Gemini Enterprise Agent Platform: policy checks on agent, tool and MCP traffic, with IAM access policies and a custom authorization callout.",
   "home": "vendor",
   "home_detail": null,
   "maturity": "ga",
   "tier": "listed",
   "tier_reason": "Listed, not drawn: no documented handoff and no foundation home places it on the map.",
   "placements": [
    {
     "leaf": "3.3",
     "primary": true,
     "capability": "Acts as the network entry and exit point for agent interactions, applying IAM access policies, Model Armor filters and delegated authorization decisions to MCP, A2A, REST and gRPC traffic.",
     "evidence": [
      "e1",
      "e2"
     ]
    }
   ],
   "facets": {
    "concern": [
     "security"
    ],
    "cites_law": false,
    "jurisdictions": [],
    "subject": [
     "agent",
     "ai-system"
    ],
    "user_party": [
     "runs"
    ],
    "run_mode": [
     "at-runtime"
    ],
    "policy_source": [
     "owner-config",
     "pdp-callout"
    ],
    "traffic_seen": [
     "tool",
     "agent-to-agent"
    ],
    "agent_can_bypass": "depends",
    "inventory_only": false
   },
   "handoffs": [],
   "evidence": {
    "e1": {
     "url": "https://docs.cloud.google.com/gemini-enterprise-agent-platform/govern/gateways/agent-gateway-overview",
     "quote": "Agent Gateway is the key enforcement component of Agent Platform. It acts as the network entry and exit point for all agentic interactions.",
     "kind": "docs",
     "captured": "2026-10-20"
    },
    "e2": {
     "url": "https://docs.cloud.google.com/gemini-enterprise-agent-platform/govern/gateways/agent-gateway-overview",
     "quote": "translates protocols (such as MCP, REST, and gRPC), and applies policy checks to all traffic.",
     "kind": "docs",
     "captured": "2026-10-20"
    },
    "e3": {
     "url": "https://docs.cloud.google.com/gemini-enterprise-agent-platform/govern/gateways/agent-gateway-overview",
     "quote": "By default, all connections are blocked unless an explicit IAM policy grants access.",
     "kind": "docs",
     "captured": "2026-10-20"
    },
    "e4": {
     "url": "https://docs.cloud.google.com/gemini-enterprise-agent-platform/govern/gateways/agent-gateway-overview",
     "quote": "Custom authorization extensions that let you delegate authorization decisions to third-party systems by using Service Extensions.",
     "kind": "docs",
     "captured": "2026-10-20"
    },
    "e5": {
     "url": "https://docs.cloud.google.com/gemini-enterprise-agent-platform/release-notes",
     "quote": "Agent Gateway in General Availability",
     "kind": "release-notes",
     "captured": "2026-10-20"
    }
   },
   "notes": null,
   "as_of": "2026-10-20",
   "leaf": "3.3",
   "lanes": {
    "concern": "security",
    "home": "vendor",
    "license": "proprietary",
    "maturity": "ga",
    "policy": "pdp-callout"
   },
   "page": "/safeguards/google-agent-gateway",
   "logo": "/safeguards/logos/google-agent-gateway.png"
  },
  {
   "slug": "google-apigee-ai-gateway",
   "name": "Google Apigee AI gateway and MCP",
   "org": "Google Cloud",
   "org_kind": "company",
   "homepage": "https://docs.cloud.google.com/apigee/docs/api-platform/get-started/ai-capabilities",
   "repo": null,
   "license": null,
   "license_class": "proprietary",
   "description": "The AI gateway and MCP features of Apigee: model and MCP tool call governance with OAuth, Model Armor filtering and token limits, with OpenTelemetry trace export.",
   "home": "vendor",
   "home_detail": null,
   "maturity": "ga",
   "tier": "mapped",
   "tier_reason": null,
   "placements": [
    {
     "leaf": "3.3",
     "primary": true,
     "capability": "Sits in front of LLM and MCP traffic and applies Apigee policies, including OAuth authentication on MCP proxies and Model Armor prompt filtering.",
     "evidence": [
      "e1",
      "e2",
      "e3"
     ]
    }
   ],
   "facets": {
    "concern": [
     "security"
    ],
    "cites_law": false,
    "jurisdictions": [],
    "subject": [
     "agent",
     "ai-system"
    ],
    "user_party": [
     "runs"
    ],
    "run_mode": [
     "at-runtime"
    ],
    "policy_source": [
     "owner-config"
    ],
    "traffic_seen": [
     "model",
     "tool"
    ],
    "agent_can_bypass": "depends",
    "inventory_only": false
   },
   "handoffs": [
    {
     "artifact": "runtime-records",
     "direction": "produces",
     "format": "OpenTelemetry trace export"
    }
   ],
   "evidence": {
    "e1": {
     "url": "https://docs.cloud.google.com/apigee/docs/api-platform/get-started/ai-capabilities",
     "quote": "Apigee provides AI gateway related features to govern and optimize your AI traffic",
     "kind": "docs",
     "captured": "2026-10-20"
    },
    "e2": {
     "url": "https://docs.cloud.google.com/apigee/docs/api-platform/get-started/ai-capabilities",
     "quote": "Apply Apigee policies to traffic that is not fronted by an Apigee proxy, including an AI agent's model and MCP tool calls.",
     "kind": "docs",
     "captured": "2026-10-20"
    },
    "e3": {
     "url": "https://docs.cloud.google.com/apigee/docs/api-platform/get-started/ai-capabilities",
     "quote": "Add an OAuth V2 security policy to ensure all requests to your MCP proxy are authenticated and authorized.",
     "kind": "docs",
     "captured": "2026-10-20"
    },
    "e4": {
     "url": "https://docs.cloud.google.com/apigee/docs/release-notes",
     "quote": "With this release, Model Context Protocol (MCP) in Apigee is generally available",
     "kind": "release-notes",
     "captured": "2026-10-20"
    },
    "e5": {
     "url": "https://docs.cloud.google.com/apigee/docs/release-notes",
     "quote": "Added observability metrics for the OpenTelemetry trace export pipeline, reporting spans exported, export latency, batch size, and dropped spans.",
     "kind": "release-notes",
     "captured": "2026-10-20"
    }
   },
   "notes": null,
   "as_of": "2026-10-20",
   "leaf": "3.3",
   "lanes": {
    "concern": "security",
    "home": "vendor",
    "license": "proprietary",
    "maturity": "ga",
    "policy": "owner-config"
   },
   "page": "/safeguards/google-apigee-ai-gateway",
   "logo": "/safeguards/logos/google-apigee-ai-gateway.png"
  },
  {
   "slug": "goose",
   "name": "goose",
   "org": "Agentic AI Foundation",
   "org_kind": "foundation",
   "homepage": "https://goose-docs.ai/",
   "repo": "https://github.com/aaif-goose/goose",
   "license": "Apache-2.0",
   "license_class": "osi",
   "description": "An open-source AI agent with permission modes that range from fully autonomous to approval before every tool use.",
   "home": "aaif",
   "home_detail": null,
   "maturity": "released",
   "tier": "mapped",
   "tier_reason": null,
   "placements": [
    {
     "leaf": "3.2",
     "primary": true,
     "capability": "Runs the user's chosen permission mode inside the agent loop, from asking for confirmation before any tool or extension use to approving low-risk actions automatically and flagging the rest.",
     "evidence": [
      "e2",
      "e3"
     ]
    }
   ],
   "facets": {
    "concern": [
     "safety",
     "security"
    ],
    "cites_law": false,
    "jurisdictions": [],
    "subject": [
     "agent"
    ],
    "user_party": [
     "runs"
    ],
    "run_mode": [
     "at-runtime"
    ],
    "policy_source": [
     "owner-config"
    ],
    "agent_can_bypass": "depends",
    "inventory_only": false
   },
   "handoffs": [],
   "evidence": {
    "e1": {
     "url": "https://aaif.io/projects/goose/",
     "quote": "PROJECT goose An open source, extensible AI agent that goes beyond code suggestions.",
     "kind": "foundation-page",
     "captured": "2026-10-20"
    },
    "e2": {
     "url": "https://goose-docs.ai/docs/guides/goose-permissions",
     "quote": "goose asks for confirmation before using any tools or extensions",
     "kind": "docs",
     "captured": "2026-10-20"
    },
    "e3": {
     "url": "https://goose-docs.ai/docs/guides/goose-permissions",
     "quote": "goose uses a risk-based approach to automatically approve low-risk actions and flag others for approval",
     "kind": "docs",
     "captured": "2026-10-20"
    },
    "e4": {
     "url": "https://github.com/aaif-goose/goose/releases",
     "quote": "Releases · aaif-goose/goose Release list v1.55.0 v1.54.0 v1.53.0",
     "kind": "release-notes",
     "captured": "2026-10-20"
    },
    "e5": {
     "url": "https://api.github.com/repos/aaif-goose/goose",
     "quote": "Apache-2.0",
     "kind": "repo-api",
     "captured": "2026-10-20"
    },
    "e6": {
     "url": "https://goose-docs.ai/docs/guides/goose-permissions",
     "quote": "Which goose mode would you like to configure?",
     "kind": "docs",
     "captured": "2026-10-20"
    }
   },
   "notes": null,
   "as_of": "2026-10-20",
   "leaf": "3.2",
   "lanes": {
    "concern": "safety",
    "home": "aaif",
    "license": "osi",
    "maturity": "released",
    "policy": "owner-config"
   },
   "page": "/safeguards/goose",
   "logo": "/safeguards/logos/goose.png"
  },
  {
   "slug": "gramine",
   "name": "Gramine",
   "org": "Confidential Computing Consortium",
   "org_kind": "foundation",
   "homepage": "https://gramineproject.io/",
   "repo": "https://github.com/gramineproject/gramine",
   "license": "LGPL-3.0",
   "license_class": "osi",
   "description": "A library OS that runs unmodified applications inside Intel SGX enclaves, with a manifest file that sets the application's isolation policies.",
   "home": "lf-other",
   "home_detail": "Gramine, a Confidential Computing Consortium project (an open community under the Linux Foundation)",
   "maturity": "released",
   "tier": "mapped",
   "tier_reason": null,
   "placements": [
    {
     "leaf": "3.1",
     "primary": true,
     "capability": "Runs unmodified applications inside Intel SGX enclaves and applies isolation policies that the owner sets in a manifest file.",
     "evidence": [
      "e2",
      "e3"
     ]
    }
   ],
   "facets": {
    "concern": [
     "security"
    ],
    "cites_law": false,
    "jurisdictions": [],
    "subject": [
     "software"
    ],
    "user_party": [
     "runs"
    ],
    "run_mode": [
     "at-runtime"
    ],
    "policy_source": [
     "owner-config"
    ],
    "agent_can_bypass": "depends",
    "inventory_only": false
   },
   "handoffs": [],
   "evidence": {
    "e1": {
     "url": "https://confidentialcomputing.io/",
     "quote": "An open community under the Linux Foundation dedicated to accelerating the adoption of Trusted Execution Environment (TEE) technologies and standards.",
     "kind": "foundation-page",
     "captured": "2026-10-20"
    },
    "e2": {
     "url": "https://gramineproject.io/",
     "quote": "Gramine runs unmodified applications inside Intel SGX.",
     "kind": "product-page",
     "captured": "2026-10-20"
    },
    "e3": {
     "url": "https://gramineproject.io/",
     "quote": "Developers provide a manifest file to configure the application environment and isolation policies, Gramine automatically does the rest.",
     "kind": "product-page",
     "captured": "2026-10-20"
    },
    "e4": {
     "url": "https://confidentialcomputing.io/",
     "quote": "The CCC maintains open-source SDKs, attestation specifications, and frameworks (Enarx, Gramine, Open Enclave)",
     "kind": "foundation-page",
     "captured": "2026-10-20"
    },
    "e5": {
     "url": "https://github.com/gramineproject/gramine/releases",
     "quote": "Release list v1.9 v1.8 v1.7 v1.6.2 v1.6.1",
     "kind": "release-notes",
     "captured": "2026-10-20"
    },
    "e6": {
     "url": "https://raw.githubusercontent.com/gramineproject/gramine/master/LICENSE.txt",
     "quote": "GNU LESSER GENERAL PUBLIC LICENSE Version 3, 29 June 2007",
     "kind": "readme",
     "captured": "2026-10-20"
    }
   },
   "notes": null,
   "as_of": "2026-10-20",
   "leaf": "3.1",
   "lanes": {
    "concern": "security",
    "home": "lf-other",
    "license": "osi",
    "maturity": "released",
    "policy": "owner-config"
   },
   "page": "/safeguards/gramine",
   "logo": "/safeguards/logos/gramine.png"
  },
  {
   "slug": "gravitee-agent-management",
   "name": "Gravitee Agent Management",
   "org": "Gravitee",
   "org_kind": "company",
   "homepage": "https://documentation.gravitee.io/gravitee-gamma/agent-management/overview",
   "repo": null,
   "license": null,
   "license_class": "proprietary",
   "description": "Gravitee Gamma Agent Management: one control plane for LLM, MCP and agent-to-agent traffic, with guardrails and per-tool policies on proxies.",
   "home": "vendor",
   "home_detail": null,
   "maturity": "ga",
   "tier": "listed",
   "tier_reason": "Listed, not drawn: no documented handoff and no foundation home places it on the map.",
   "placements": [
    {
     "leaf": "3.3",
     "primary": true,
     "capability": "Sits in front of model providers, MCP servers and agents as LLM, MCP and A2A proxies, applying guardrails, PII filtering, rate limits and per-tool policies.",
     "evidence": [
      "e1",
      "e2",
      "e3"
     ]
    }
   ],
   "facets": {
    "concern": [
     "security"
    ],
    "cites_law": false,
    "jurisdictions": [],
    "subject": [
     "agent",
     "ai-system"
    ],
    "user_party": [
     "runs"
    ],
    "run_mode": [
     "at-runtime"
    ],
    "policy_source": [
     "owner-config"
    ],
    "traffic_seen": [
     "model",
     "tool",
     "agent-to-agent"
    ],
    "agent_can_bypass": "depends",
    "inventory_only": false
   },
   "handoffs": [],
   "evidence": {
    "e1": {
     "url": "https://documentation.gravitee.io/gravitee-gamma/agent-management/overview.md",
     "quote": "Agent Management governs LLM, MCP, and agent-to-agent traffic from one control plane.",
     "kind": "docs",
     "captured": "2026-10-20"
    },
    "e2": {
     "url": "https://documentation.gravitee.io/gravitee-gamma/agent-management/build/mcp-proxies/configure-your-mcp/design/add-policies-to-mcp-server/apply-policies-to-tool-invocations.md",
     "quote": "applying rate limits or role-based access control to a specific, high-value tool",
     "kind": "docs",
     "captured": "2026-10-20"
    },
    "e3": {
     "url": "https://documentation.gravitee.io/gravitee-gamma/agent-management/build/llm-proxies/configure-an-llm-proxy.md",
     "quote": "Configure guardrails, PII filtering, rate limiting, security plans, and structured output on an LLM Proxy.",
     "kind": "docs",
     "captured": "2026-10-20"
    }
   },
   "notes": null,
   "as_of": "2026-10-20",
   "leaf": "3.3",
   "lanes": {
    "concern": "security",
    "home": "vendor",
    "license": "proprietary",
    "maturity": "ga",
    "policy": "owner-config"
   },
   "page": "/safeguards/gravitee-agent-management",
   "logo": "/safeguards/logos/gravitee-agent-management.png"
  },
  {
   "slug": "guac",
   "name": "GUAC",
   "org": "Open Source Security Foundation",
   "org_kind": "foundation",
   "homepage": "https://guac.sh/",
   "repo": "https://github.com/guacsec/guac",
   "license": "Apache-2.0",
   "license_class": "osi",
   "description": "Aggregates software security metadata, including SBOMs and vulnerability data, into a graph database that can be queried to inform policy and risk decisions.",
   "home": "openssf",
   "home_detail": null,
   "maturity": "incubating",
   "tier": "mapped",
   "tier_reason": null,
   "placements": [
    {
     "leaf": "1.1",
     "primary": true,
     "capability": "Ingests SBOMs and vulnerability data about software artifacts into one graph database, so a team can query which dependencies and vulnerabilities affect what it ships.",
     "evidence": [
      "e3",
      "e4"
     ]
    }
   ],
   "facets": {
    "concern": [
     "security"
    ],
    "cites_law": false,
    "jurisdictions": [],
    "subject": [
     "software"
    ],
    "user_party": [
     "runs"
    ],
    "run_mode": [
     "by-hand"
    ],
    "inventory_only": false
   },
   "handoffs": [
    {
     "artifact": "inventory",
     "direction": "consumes",
     "format": "SPDX, CycloneDX"
    },
    {
     "artifact": "vulnerability-status",
     "direction": "consumes",
     "format": "OSV"
    }
   ],
   "evidence": {
    "e1": {
     "url": "https://raw.githubusercontent.com/ossf/tac/main/README.md",
     "quote": "| GUAC | [GitHub](https://github.com/guacsec/guac) | https://guac.sh | Supply Chain Integrity WG | [Incubating](process/project-lifecycle-documents/guac_incubating.md) |",
     "kind": "foundation-page",
     "captured": "2026-10-20"
    },
    "e2": {
     "url": "https://raw.githubusercontent.com/guacsec/guac/main/README.md",
     "quote": "GUAC is an [OpenSSF](https://openssf.org) incubating project under the",
     "kind": "readme",
     "captured": "2026-10-20"
    },
    "e3": {
     "url": "https://raw.githubusercontent.com/guacsec/guac/main/README.md",
     "quote": "aggregates software security metadata into a high fidelity graph database",
     "kind": "readme",
     "captured": "2026-10-20"
    },
    "e4": {
     "url": "https://raw.githubusercontent.com/guacsec/guac/main/README.md",
     "quote": "Querying this graph can drive higher-level organizational outcomes such as audit, policy, risk management",
     "kind": "readme",
     "captured": "2026-10-20"
    },
    "e5": {
     "url": "https://raw.githubusercontent.com/guacsec/guac-docs/main/guac/sbom-ingestion.md",
     "quote": "GUAC supports a variety of SBOM formats, making it compatible with several tools and standards",
     "kind": "docs",
     "captured": "2026-10-20"
    },
    "e6": {
     "url": "https://raw.githubusercontent.com/guacsec/guac-docs/main/guac/certifier-osv.md",
     "quote": "Scans dependencies using SBOMs and cross-references with OSV's vulnerability catalog",
     "kind": "docs",
     "captured": "2026-10-20"
    },
    "e7": {
     "url": "https://api.github.com/repos/guacsec/guac",
     "quote": "Apache-2.0",
     "kind": "repo-api",
     "captured": "2026-10-20"
    }
   },
   "notes": null,
   "as_of": "2026-10-20",
   "leaf": "1.1",
   "lanes": {
    "concern": "security",
    "home": "openssf",
    "license": "osi",
    "maturity": "incubating",
    "policy": "na"
   },
   "page": "/safeguards/guac",
   "logo": "/safeguards/logos/guac.png"
  },
  {
   "slug": "harbor",
   "name": "Harbor",
   "org": "Cloud Native Computing Foundation",
   "org_kind": "foundation",
   "homepage": "https://goharbor.io/",
   "repo": "https://github.com/goharbor/harbor",
   "license": "Apache-2.0",
   "license_class": "osi",
   "description": "A container registry that scans images for vulnerabilities and, per project, blocks pulls of images whose vulnerabilities reach a severity the project administrator selects.",
   "home": "cncf",
   "home_detail": null,
   "maturity": "graduated",
   "tier": "mapped",
   "tier_reason": null,
   "placements": [
    {
     "leaf": "3.7",
     "primary": true,
     "capability": "Scans images for vulnerabilities and, when a project administrator selects a severity level, refuses to serve images at or above it, so vulnerable images are stopped before they run.",
     "evidence": [
      "e2",
      "e3"
     ]
    }
   ],
   "facets": {
    "concern": [
     "security"
    ],
    "cites_law": false,
    "jurisdictions": [],
    "subject": [
     "software"
    ],
    "user_party": [
     "runs"
    ],
    "run_mode": [
     "at-runtime"
    ],
    "policy_source": [
     "owner-config"
    ],
    "inventory_only": false
   },
   "handoffs": [],
   "evidence": {
    "e1": {
     "url": "https://www.cncf.io/projects/harbor/",
     "quote": "Harbor was accepted to CNCF on July 31, 2018, moved to the Incubating maturity level on November 14, 2018, and then moved to the Graduated maturity level on June 15, 2020.",
     "kind": "foundation-page",
     "captured": "2026-10-20"
    },
    "e2": {
     "url": "https://raw.githubusercontent.com/goharbor/harbor/main/README.md",
     "quote": "Harbor scans images regularly for vulnerabilities and has policy checks to prevent vulnerable images from being deployed.",
     "kind": "readme",
     "captured": "2026-10-20"
    },
    "e3": {
     "url": "https://goharbor.io/docs/main/working-with-projects/project-configuration/",
     "quote": "Select the severity level of vulnerabilities to prevent images from running.",
     "kind": "docs",
     "captured": "2026-10-20"
    },
    "e4": {
     "url": "https://api.github.com/repos/goharbor/harbor",
     "quote": "Apache-2.0",
     "kind": "repo-api",
     "captured": "2026-10-20"
    }
   },
   "notes": "Placed in 3.7 for the vulnerability gate on image pulls; the registry itself is generic infrastructure and only that documented gate is the leaf function.",
   "as_of": "2026-10-20",
   "leaf": "3.7",
   "lanes": {
    "concern": "security",
    "home": "cncf",
    "license": "osi",
    "maturity": "graduated",
    "policy": "owner-config"
   },
   "page": "/safeguards/harbor",
   "logo": "/safeguards/logos/harbor.svg"
  },
  {
   "slug": "harness2",
   "name": "Harness²",
   "org": "Google Research",
   "org_kind": "research-lab",
   "homepage": "https://github.com/google-research/harness2",
   "repo": "https://github.com/google-research/harness2",
   "license": "Apache-2.0",
   "license_class": "osi",
   "description": "A research framework that proposes, probes and composes edits to an agent harness, guardrails among its eight editable components.",
   "home": "none",
   "home_detail": null,
   "maturity": "unreleased",
   "tier": "listed",
   "tier_reason": "Listed, not drawn: it is not yet released, and no documented handoff and no foundation home places it on the map.",
   "placements": [
    {
     "leaf": "3.2",
     "primary": true,
     "capability": "Optimizes an agent harness by proposing edits to its components, including guardrails, and keeping the refined harness; it does not itself limit an agent.",
     "evidence": [
      "e1",
      "e2"
     ]
    }
   ],
   "facets": {
    "concern": [
     "safety"
    ],
    "cites_law": false,
    "jurisdictions": [],
    "subject": [
     "agent"
    ],
    "user_party": [
     "makes"
    ],
    "run_mode": [
     "by-hand"
    ],
    "policy_source": [
     "owner-config"
    ],
    "agent_can_bypass": "depends",
    "inventory_only": false
   },
   "handoffs": [],
   "evidence": {
    "e1": {
     "url": "https://raw.githubusercontent.com/google-research/harness2/main/README.md",
     "quote": "Harness² exposes eight editable components around the model: **system prompt, guardrails, memory, tool guidance, subagents, skills, scripts, and plugins**.",
     "kind": "readme",
     "captured": "2026-10-20"
    },
    "e2": {
     "url": "https://raw.githubusercontent.com/google-research/harness2/main/README.md",
     "quote": "propose edits, probe their effects on the same task, and compose a refined harness from behavioral contrasts between executions",
     "kind": "readme",
     "captured": "2026-10-20"
    },
    "e3": {
     "url": "https://github.com/google-research/harness2/releases",
     "quote": "You can create a release to package software, along with release notes and links to binary files",
     "kind": "release-notes",
     "captured": "2026-10-20"
    },
    "e4": {
     "url": "https://raw.githubusercontent.com/google-research/harness2/main/LICENSE",
     "quote": "Apache License Version 2.0, January 2004",
     "kind": "readme",
     "captured": "2026-10-20"
    }
   },
   "notes": null,
   "as_of": "2026-10-20",
   "leaf": "3.2",
   "lanes": {
    "concern": "safety",
    "home": "none",
    "license": "osi",
    "maturity": "not-shipping",
    "policy": "owner-config"
   },
   "page": "/safeguards/harness2",
   "logo": "/safeguards/logos/harness2.png"
  },
  {
   "slug": "helm-provenance",
   "name": "Helm (provenance and integrity)",
   "org": "Cloud Native Computing Foundation",
   "org_kind": "foundation",
   "homepage": "https://helm.sh/",
   "repo": "https://github.com/helm/helm",
   "license": "Apache-2.0",
   "license_class": "osi",
   "description": "Helm's chart verification checks a chart archive against its OpenPGP-signed provenance file, so a user can tell whether the archive was altered and whether the signer is trusted.",
   "home": "cncf",
   "home_detail": null,
   "maturity": "graduated",
   "tier": "mapped",
   "tier_reason": null,
   "placements": [
    {
     "leaf": "3.7",
     "primary": true,
     "capability": "Verifies a chart package against its signed provenance file and the signer's key in the user's keyring, with a verify command and a verify flag on install, and reports a mismatch as a sign the archive was tampered with.",
     "evidence": [
      "e2",
      "e3",
      "e4"
     ]
    }
   ],
   "facets": {
    "concern": [
     "security"
    ],
    "cites_law": false,
    "jurisdictions": [],
    "subject": [
     "software"
    ],
    "user_party": [
     "runs"
    ],
    "run_mode": [
     "by-hand"
    ],
    "policy_source": [
     "owner-config"
    ],
    "inventory_only": false
   },
   "handoffs": [
    {
     "artifact": "provenance",
     "direction": "consumes",
     "format": "Helm provenance file (.prov, signed with OpenPGP)"
    }
   ],
   "evidence": {
    "e1": {
     "url": "https://www.cncf.io/projects/helm/",
     "quote": "then moved to the Graduated maturity level on May 1, 2020.",
     "kind": "foundation-page",
     "captured": "2026-10-21"
    },
    "e2": {
     "url": "https://helm.sh/docs/topics/provenance/",
     "quote": "The file hashes in the provenance file do not match the hash of the archive file. This indicates that the archive has been tampered with.",
     "kind": "docs",
     "captured": "2026-10-21"
    },
    "e3": {
     "url": "https://helm.sh/docs/topics/provenance/",
     "quote": "To verify during an install, use the --verify flag.",
     "kind": "docs",
     "captured": "2026-10-21"
    },
    "e4": {
     "url": "https://helm.sh/docs/topics/provenance/",
     "quote": "The key used to sign the file is not in your keyring.",
     "kind": "docs",
     "captured": "2026-10-21"
    },
    "e5": {
     "url": "https://api.github.com/repos/helm/helm",
     "quote": "Apache-2.0",
     "kind": "repo-api",
     "captured": "2026-10-21"
    }
   },
   "notes": null,
   "as_of": "2026-10-21",
   "leaf": "3.7",
   "lanes": {
    "concern": "security",
    "home": "cncf",
    "license": "osi",
    "maturity": "graduated",
    "policy": "owner-config"
   },
   "page": "/safeguards/helm-provenance",
   "logo": null
  },
  {
   "slug": "higress",
   "name": "Higress",
   "org": "Cloud Native Computing Foundation",
   "org_kind": "foundation",
   "homepage": "https://higress.ai/",
   "repo": "https://github.com/higress-group/higress",
   "license": "Apache-2.0",
   "license_class": "osi",
   "description": "An open-source gateway built on Istio and Envoy that fronts model providers and hosted MCP servers, with authentication, rate limiting and audit logs for tool calls.",
   "home": "cncf",
   "home_detail": null,
   "maturity": "sandbox",
   "tier": "mapped",
   "tier_reason": null,
   "placements": [
    {
     "leaf": "3.3",
     "primary": true,
     "capability": "Sits on the request path between agents and their model providers and MCP tools, applying authentication strategies, content safety checks, rate limiting and audit logging to the calls it carries.",
     "evidence": [
      "e2",
      "e3",
      "e4",
      "e5",
      "e7"
     ]
    }
   ],
   "facets": {
    "concern": [
     "security"
    ],
    "cites_law": false,
    "jurisdictions": [],
    "subject": [
     "agent",
     "ai-system"
    ],
    "user_party": [
     "runs"
    ],
    "run_mode": [
     "at-runtime"
    ],
    "policy_source": [
     "owner-config"
    ],
    "traffic_seen": [
     "model",
     "tool"
    ],
    "agent_can_bypass": "depends",
    "inventory_only": false
   },
   "handoffs": [],
   "evidence": {
    "e1": {
     "url": "https://www.cncf.io/projects/higress/",
     "quote": "Higress was accepted to CNCF on March 15, 2026 at the Sandbox maturity level.",
     "kind": "foundation-page",
     "captured": "2026-10-20"
    },
    "e2": {
     "url": "https://raw.githubusercontent.com/higress-group/higress/main/README.md",
     "quote": "It also supports hosting MCP (Model Context Protocol) Servers through its plugin mechanism, enabling AI Agents to easily call various tools and services.",
     "kind": "readme",
     "captured": "2026-10-20"
    },
    "e3": {
     "url": "https://higress.ai/en/",
     "quote": "Connect model APIs, MCP tools, and Kubernetes inference workloads through one gateway",
     "kind": "product-page",
     "captured": "2026-10-20"
    },
    "e4": {
     "url": "https://raw.githubusercontent.com/higress-group/higress/main/README.md",
     "quote": "supporting WAF and various authentication strategies, such as key-auth, hmac-auth, jwt-auth, basic-auth, oidc, etc.",
     "kind": "readme",
     "captured": "2026-10-20"
    },
    "e5": {
     "url": "https://higress.ai/en/",
     "quote": "Bring AI content safety into the gateway path without application changes.",
     "kind": "product-page",
     "captured": "2026-10-20"
    },
    "e7": {
     "url": "https://raw.githubusercontent.com/higress-group/higress/main/README.md",
     "quote": "Fine-grained rate limiting to prevent abuse - Comprehensive audit logs for all tool calls",
     "kind": "readme",
     "captured": "2026-10-20"
    },
    "e6": {
     "url": "https://api.github.com/repos/higress-group/higress",
     "quote": "Apache-2.0",
     "kind": "repo-api",
     "captured": "2026-10-20"
    }
   },
   "notes": null,
   "as_of": "2026-10-20",
   "leaf": "3.3",
   "lanes": {
    "concern": "security",
    "home": "cncf",
    "license": "osi",
    "maturity": "sandbox",
    "policy": "owner-config"
   },
   "page": "/safeguards/higress",
   "logo": "/safeguards/logos/higress.svg"
  },
  {
   "slug": "hyperlight",
   "name": "Hyperlight",
   "org": "Cloud Native Computing Foundation",
   "org_kind": "foundation",
   "homepage": "https://github.com/hyperlight-dev/hyperlight",
   "repo": "https://github.com/hyperlight-dev/hyperlight",
   "license": "Apache-2.0",
   "license_class": "osi",
   "description": "A lightweight virtual machine monitor, embedded as a library, that runs untrusted code in hypervisor-isolated micro VMs with no host filesystem or network access by default.",
   "home": "cncf",
   "home_detail": null,
   "maturity": "sandbox",
   "tier": "mapped",
   "tier_reason": null,
   "placements": [
    {
     "leaf": "3.1",
     "primary": true,
     "capability": "Runs untrusted guest code in hypervisor-isolated micro VMs that an application embeds as a library, with guests sandboxed by default.",
     "evidence": [
      "e2",
      "e3"
     ]
    }
   ],
   "facets": {
    "concern": [
     "security"
    ],
    "cites_law": false,
    "jurisdictions": [],
    "subject": [
     "software"
    ],
    "user_party": [
     "makes",
     "runs"
    ],
    "run_mode": [
     "at-runtime"
    ],
    "policy_source": [
     "vendor-defaults"
    ],
    "agent_can_bypass": "depends",
    "inventory_only": false
   },
   "handoffs": [],
   "evidence": {
    "e1": {
     "url": "https://www.cncf.io/projects/hyperlight/",
     "quote": "Hyperlight was accepted to CNCF on March 4, 2025 at the Sandbox maturity level.",
     "kind": "foundation-page",
     "captured": "2026-10-20"
    },
    "e2": {
     "url": "https://raw.githubusercontent.com/hyperlight-dev/hyperlight/main/README.md",
     "quote": "Hyperlight lets you safely run untrusted code inside hypervisor-isolated micro VMs",
     "kind": "readme",
     "captured": "2026-10-20"
    },
    "e3": {
     "url": "https://raw.githubusercontent.com/hyperlight-dev/hyperlight/main/README.md",
     "quote": "Guests are sandboxed by default with no access to the host filesystem, network, etc.",
     "kind": "readme",
     "captured": "2026-10-20"
    },
    "e4": {
     "url": "https://api.github.com/repos/hyperlight-dev/hyperlight",
     "quote": "Apache-2.0",
     "kind": "repo-api",
     "captured": "2026-10-20"
    }
   },
   "notes": "The README marks the project pre-1.0; maturity is the CNCF level.",
   "as_of": "2026-10-20",
   "leaf": "3.1",
   "lanes": {
    "concern": "security",
    "home": "cncf",
    "license": "osi",
    "maturity": "sandbox",
    "policy": "vendor-defaults"
   },
   "page": "/safeguards/hyperlight",
   "logo": "/safeguards/logos/hyperlight.svg"
  },
  {
   "slug": "ibm-api-connect-ai-gateway",
   "name": "IBM API Connect AI Gateway",
   "org": "IBM",
   "org_kind": "company",
   "homepage": "https://www.ibm.com/products/api-connect/ai-gateway",
   "repo": null,
   "license": null,
   "license_class": "proprietary",
   "description": "A commercial API gateway feature that routes calls to AI services under policies for access control, rate limits by requests or tokens, masking and audit trails, extended to LLM and MCP traffic.",
   "home": "vendor",
   "home_detail": null,
   "maturity": "ga",
   "tier": "listed",
   "tier_reason": "Listed, not drawn: no documented handoff and no foundation home places it on the map.",
   "placements": [
    {
     "leaf": "3.3",
     "primary": true,
     "capability": "Sits on the request path between applications and AI services, and applies the owner's API policies such as access control, data masking and token-based rate limits to the calls it carries.",
     "evidence": [
      "e1",
      "e2",
      "e3"
     ]
    }
   ],
   "facets": {
    "concern": [
     "security"
    ],
    "cites_law": false,
    "jurisdictions": [],
    "subject": [
     "ai-system"
    ],
    "user_party": [
     "runs"
    ],
    "run_mode": [
     "at-runtime"
    ],
    "policy_source": [
     "owner-config"
    ],
    "traffic_seen": [
     "model",
     "tool"
    ],
    "agent_can_bypass": "depends",
    "inventory_only": false
   },
   "handoffs": [],
   "evidence": {
    "e1": {
     "url": "https://www.ibm.com/docs/en/api-connect/cloud/10.0.x_saas?topic=definitions-using-ai-gateway-support-apis-ai-applications",
     "quote": "you can centrally manage the use of AI through policy enforcement, data encryption, masking of sensitive data, access control, audit trails and more",
     "kind": "docs",
     "captured": "2026-10-20"
    },
    "e2": {
     "url": "https://www.ibm.com/docs/en/api-connect/cloud/10.0.x_saas?topic=definitions-using-ai-gateway-support-apis-ai-applications",
     "quote": "The AI Gateway enforces defined rate limits on APIs and API plans",
     "kind": "docs",
     "captured": "2026-10-20"
    },
    "e3": {
     "url": "https://www.ibm.com/products/api-connect/ai-gateway",
     "quote": "the Interact Gateway helps mediate and govern LLM and MCP traffic in real time without relying on centralized gateways.",
     "kind": "product-page",
     "captured": "2026-10-20"
    },
    "e4": {
     "url": "https://www.ibm.com/docs/en/api-connect/cloud/10.0.x_saas?topic=definitions-using-ai-gateway-support-apis-ai-applications",
     "quote": "can use all of the existing policies and logic constructs provided by API Connect",
     "kind": "docs",
     "captured": "2026-10-20"
    }
   },
   "notes": "The 12.1 product page names the capability the DataPower Interact Gateway and extends it to MCP traffic; the policy details come from the earlier AI Gateway documentation page. No handoff format is named in the pages read, so the entry is listed.",
   "as_of": "2026-10-20",
   "leaf": "3.3",
   "lanes": {
    "concern": "security",
    "home": "vendor",
    "license": "proprietary",
    "maturity": "ga",
    "policy": "owner-config"
   },
   "page": "/safeguards/ibm-api-connect-ai-gateway",
   "logo": "/safeguards/logos/ibm-api-connect-ai-gateway.png"
  },
  {
   "slug": "in-toto",
   "name": "in-toto",
   "org": "Cloud Native Computing Foundation",
   "org_kind": "foundation",
   "homepage": "https://in-toto.io/",
   "repo": "https://github.com/in-toto/in-toto",
   "license": "Apache-2.0",
   "license_class": "osi",
   "description": "A framework and command-line tools that record who performed each software supply chain step and verify the result against an owner-signed layout.",
   "home": "cncf",
   "home_detail": null,
   "maturity": "graduated",
   "tier": "mapped",
   "tier_reason": null,
   "placements": [
    {
     "leaf": "3.7",
     "primary": true,
     "capability": "Verifies a final product against a signed layout of authorized steps and functionaries, with signed link metadata from each step as evidence.",
     "evidence": [
      "e2",
      "e3"
     ]
    }
   ],
   "facets": {
    "concern": [
     "security"
    ],
    "cites_law": false,
    "jurisdictions": [],
    "subject": [
     "software"
    ],
    "user_party": [
     "makes",
     "distributes",
     "runs"
    ],
    "run_mode": [
     "by-hand",
     "in-ci"
    ],
    "policy_source": [
     "owner-config"
    ],
    "inventory_only": false
   },
   "handoffs": [
    {
     "artifact": "provenance",
     "direction": "produces",
     "format": "in-toto link metadata and signed layouts"
    },
    {
     "artifact": "provenance",
     "direction": "consumes",
     "format": "in-toto link metadata and signed layouts"
    }
   ],
   "evidence": {
    "e1": {
     "url": "https://www.cncf.io/projects/in-toto/",
     "quote": "in-toto was accepted to CNCF on August 14, 2019, moved to the Incubating maturity level on March 10, 2022, and then moved to the Graduated maturity level on February 10, 2025.",
     "kind": "foundation-page",
     "captured": "2026-10-20"
    },
    "e2": {
     "url": "https://in-toto.io/docs/getting-started/",
     "quote": "Use in-toto-verify on the final product to verify that the layout was signed with the project owner’s private key(s)",
     "kind": "docs",
     "captured": "2026-10-20"
    },
    "e3": {
     "url": "https://in-toto.io/docs/getting-started/",
     "quote": "The layout, signed by the project owners, together with the links, signed by the designated functionaries, are released as part of the final product",
     "kind": "docs",
     "captured": "2026-10-20"
    },
    "e4": {
     "url": "https://raw.githubusercontent.com/in-toto/in-toto/develop/LICENSE",
     "quote": "Licensed under the Apache License, Version 2.0",
     "kind": "readme",
     "captured": "2026-10-20"
    }
   },
   "notes": null,
   "as_of": "2026-10-20",
   "leaf": "3.7",
   "lanes": {
    "concern": "security",
    "home": "cncf",
    "license": "osi",
    "maturity": "graduated",
    "policy": "owner-config"
   },
   "page": "/safeguards/in-toto",
   "logo": "/safeguards/logos/in-toto.svg"
  },
  {
   "slug": "inclavare-containers",
   "name": "Inclavare Containers",
   "org": "Cloud Native Computing Foundation",
   "org_kind": "foundation",
   "homepage": "https://github.com/inclavare-containers/inclavare-containers",
   "repo": "https://github.com/inclavare-containers/inclavare-containers",
   "license": "Apache-2.0",
   "license_class": "osi",
   "description": "A container runtime that launches protected containers in hardware trusted execution environments (enclaves) to keep an untrusted infrastructure provider away from workload data.",
   "home": "cncf",
   "home_detail": null,
   "maturity": "sandbox",
   "tier": "mapped",
   "tier_reason": null,
   "placements": [
    {
     "leaf": "3.1",
     "primary": true,
     "capability": "Launches containers inside hardware-assisted trusted execution environments (enclaves) so that the infrastructure provider cannot access the workload's data in use.",
     "evidence": [
      "e2",
      "e3"
     ]
    }
   ],
   "facets": {
    "concern": [
     "security"
    ],
    "cites_law": false,
    "jurisdictions": [],
    "subject": [
     "software"
    ],
    "user_party": [
     "runs"
    ],
    "run_mode": [
     "at-runtime"
    ],
    "policy_source": [
     "vendor-defaults"
    ],
    "agent_can_bypass": "depends",
    "inventory_only": false
   },
   "handoffs": [],
   "evidence": {
    "e1": {
     "url": "https://www.cncf.io/projects/inclavare-containers/",
     "quote": "Inclavare Containers was accepted to CNCF on September 14, 2021 at the Sandbox maturity level.",
     "kind": "foundation-page",
     "captured": "2026-10-20"
    },
    "e2": {
     "url": "https://raw.githubusercontent.com/inclavare-containers/inclavare-containers/master/README.md",
     "quote": "Inclavare Containers is an innovation of container runtime with the novel approach for launching protected containers in hardware-assisted Trusted Execution Environment (TEE) technology",
     "kind": "readme",
     "captured": "2026-10-20"
    },
    "e3": {
     "url": "https://raw.githubusercontent.com/inclavare-containers/inclavare-containers/master/README.md",
     "quote": "which can prevent the untrusted entity, such as Cloud Service Provider (CSP), from accessing the sensitive and confidential assets in use",
     "kind": "readme",
     "captured": "2026-10-20"
    },
    "e4": {
     "url": "https://api.github.com/repos/inclavare-containers/inclavare-containers",
     "quote": "Apache-2.0",
     "kind": "repo-api",
     "captured": "2026-10-20"
    }
   },
   "notes": "The boundary protects the workload from the host, not the host from the workload.",
   "as_of": "2026-10-20",
   "leaf": "3.1",
   "lanes": {
    "concern": "security",
    "home": "cncf",
    "license": "osi",
    "maturity": "sandbox",
    "policy": "vendor-defaults"
   },
   "page": "/safeguards/inclavare-containers",
   "logo": "/safeguards/logos/inclavare-containers.svg"
  },
  {
   "slug": "intersectional-fairness",
   "name": "Intersectional Fairness (ISF)",
   "org": "LF AI & Data Foundation",
   "org_kind": "foundation",
   "homepage": null,
   "repo": "https://github.com/intersectional-fairness/isf",
   "license": "Apache-2.0",
   "license_class": "osi",
   "description": "An archived Python library for detecting and mitigating bias that combinations of several protected attributes cause in machine-learning models.",
   "home": "lfai-data",
   "home_detail": null,
   "maturity": "archived",
   "tier": "listed",
   "tier_reason": "Listed, not drawn: it is archived.",
   "placements": [
    {
     "leaf": "2.1",
     "primary": true,
     "capability": "Detects bias in machine-learning models that combinations of multiple protected attributes cause, as a library a developer runs from Python and notebooks.",
     "evidence": [
      "e2",
      "e3"
     ]
    }
   ],
   "facets": {
    "concern": [
     "safety"
    ],
    "cites_law": false,
    "jurisdictions": [],
    "subject": [
     "ai-model"
    ],
    "user_party": [
     "makes"
    ],
    "run_mode": [
     "by-hand"
    ],
    "test_target": [
     "model-behavior"
    ],
    "inventory_only": false
   },
   "handoffs": [],
   "evidence": {
    "e1": {
     "url": "https://lfaidata.foundation/projects/intersectional-fairness/",
     "quote": "It was, per TAC and Governing Board votes, moved to Archival status in April 2026",
     "kind": "foundation-page",
     "captured": "2026-10-21"
    },
    "e2": {
     "url": "https://raw.githubusercontent.com/intersectional-fairness/isf/main/README.md",
     "quote": "Intersectional Fairness (ISF) is a bias detection and mitigation technology for intersectional bias",
     "kind": "readme",
     "captured": "2026-10-21"
    },
    "e3": {
     "url": "https://raw.githubusercontent.com/intersectional-fairness/isf/main/README.md",
     "quote": "The `examples` directory contains a diverse collection of jupyter notebooks",
     "kind": "readme",
     "captured": "2026-10-21"
    },
    "e4": {
     "url": "https://raw.githubusercontent.com/intersectional-fairness/isf/main/LICENSE",
     "quote": "Apache License Version 2.0, January 2004",
     "kind": "readme",
     "captured": "2026-10-21"
    }
   },
   "notes": "Archived, with its code folded into AI Fairness 360 (already in the map). Only its bias detection function is placed.",
   "as_of": "2026-10-21",
   "leaf": "2.1",
   "lanes": {
    "concern": "safety",
    "home": "lfai-data",
    "license": "osi",
    "maturity": "not-shipping",
    "policy": "na"
   },
   "page": "/safeguards/intersectional-fairness",
   "logo": null
  },
  {
   "slug": "jentic-one",
   "name": "Jentic One",
   "org": "Jentic",
   "org_kind": "company",
   "homepage": "https://jentic.com",
   "repo": "https://github.com/jentic/jentic-one",
   "license": "Apache-2.0",
   "license_class": "osi",
   "description": "An open-source broker that agents call instead of holding API keys; it checks the agent's permissions, injects the stored credential and records each execution.",
   "home": "none",
   "home_detail": null,
   "maturity": "public-beta",
   "tier": "listed",
   "tier_reason": "Listed, not drawn: no documented handoff and no foundation home places it on the map.",
   "placements": [
    {
     "leaf": "3.6",
     "primary": true,
     "capability": "Sits between an agent and the APIs it calls, checks the agent's permissions on each call and attaches the stored credential so the agent never holds it.",
     "evidence": [
      "e2",
      "e3"
     ]
    }
   ],
   "facets": {
    "concern": [
     "security"
    ],
    "cites_law": false,
    "jurisdictions": [],
    "subject": [
     "agent",
     "ai-system"
    ],
    "user_party": [
     "runs"
    ],
    "run_mode": [
     "at-runtime"
    ],
    "policy_source": [
     "owner-config"
    ],
    "inventory_only": false
   },
   "handoffs": [],
   "evidence": {
    "e1": {
     "url": "https://api.github.com/repos/jentic/jentic-one",
     "quote": "Apache-2.0",
     "kind": "repo-api",
     "captured": "2026-10-20"
    },
    "e2": {
     "url": "https://raw.githubusercontent.com/jentic/jentic-one/main/README.md",
     "quote": "The Broker checks the agent's permissions, attaches the credential at execution time, and writes an execution record.",
     "kind": "readme",
     "captured": "2026-10-20"
    },
    "e3": {
     "url": "https://raw.githubusercontent.com/jentic/jentic-one/main/README.md",
     "quote": "Register the APIs an agent may use, store the credentials once, and the agent makes its calls through the Broker.",
     "kind": "readme",
     "captured": "2026-10-20"
    },
    "e4": {
     "url": "https://raw.githubusercontent.com/jentic/jentic-one/main/README.md",
     "quote": "**Public Beta.** Schemas and CLI commands can change between 0.x releases.",
     "kind": "readme",
     "captured": "2026-10-20"
    }
   },
   "notes": "Placed in 3.6 because the docs describe a permission check and credential brokering for API calls, not model, MCP or agent-to-agent traffic. It exposes a local MCP server as one client path; the broker is the enforcement point.",
   "as_of": "2026-10-20",
   "leaf": "3.6",
   "lanes": {
    "concern": "security",
    "home": "none",
    "license": "osi",
    "maturity": "public-beta",
    "policy": "owner-config"
   },
   "page": "/safeguards/jentic-one",
   "logo": "/safeguards/logos/jentic-one.svg"
  },
  {
   "slug": "kagent",
   "name": "kagent",
   "org": "Cloud Native Computing Foundation",
   "org_kind": "foundation",
   "homepage": "https://kagent.dev/",
   "repo": "https://github.com/kagent-dev/kagent",
   "license": "Apache-2.0",
   "license_class": "osi",
   "description": "An agent framework with per-agent tool approval gates and agent-initiated questions to a human.",
   "home": "cncf",
   "home_detail": null,
   "maturity": "sandbox",
   "tier": "mapped",
   "tier_reason": null,
   "placements": [
    {
     "leaf": "3.2",
     "primary": true,
     "capability": "Pauses an agent before the tools its owner lists under requireApproval run, and shows an approve or reject choice to a person.",
     "evidence": [
      "e2",
      "e3",
      "e4"
     ]
    }
   ],
   "facets": {
    "concern": [
     "safety",
     "security"
    ],
    "cites_law": false,
    "jurisdictions": [],
    "subject": [
     "agent"
    ],
    "user_party": [
     "runs"
    ],
    "run_mode": [
     "at-runtime"
    ],
    "policy_source": [
     "owner-config"
    ],
    "agent_can_bypass": "depends",
    "inventory_only": false
   },
   "handoffs": [],
   "evidence": {
    "e1": {
     "url": "https://www.cncf.io/projects/kagent/",
     "quote": "kagent was accepted to CNCF on May 22, 2025 at the Sandbox maturity level.",
     "kind": "foundation-page",
     "captured": "2026-10-20"
    },
    "e2": {
     "url": "https://kagent.dev/docs/kagent/concepts/agents",
     "quote": "You can require user approval before an agent executes sensitive tools, and agents can ask users questions when they need clarification.",
     "kind": "docs",
     "captured": "2026-10-20"
    },
    "e3": {
     "url": "https://kagent.dev/docs/kagent/concepts/agents",
     "quote": "Tools listed in requireApproval pause execution and present Approve/Reject buttons in the UI.",
     "kind": "docs",
     "captured": "2026-10-20"
    },
    "e4": {
     "url": "https://kagent.dev/docs/kagent/concepts/agents",
     "quote": "Add requireApproval to your agent’s tool specification to gate destructive operations.",
     "kind": "docs",
     "captured": "2026-10-20"
    },
    "e5": {
     "url": "https://api.github.com/repos/kagent-dev/kagent",
     "quote": "Apache-2.0",
     "kind": "repo-api",
     "captured": "2026-10-20"
    }
   },
   "notes": null,
   "as_of": "2026-10-20",
   "leaf": "3.2",
   "lanes": {
    "concern": "safety",
    "home": "cncf",
    "license": "osi",
    "maturity": "sandbox",
    "policy": "owner-config"
   },
   "page": "/safeguards/kagent",
   "logo": "/safeguards/logos/kagent.svg"
  },
  {
   "slug": "kata-containers",
   "name": "Kata Containers",
   "org": "OpenInfra Foundation",
   "org_kind": "foundation",
   "homepage": "https://katacontainers.io/",
   "repo": "https://github.com/kata-containers/kata-containers",
   "license": "Apache-2.0",
   "license_class": "osi",
   "description": "A container runtime that runs each workload in a lightweight virtual machine to give stronger isolation than a shared-kernel container.",
   "home": "lf-other",
   "home_detail": "Kata Containers, an OpenInfra Foundation project (OpenInfra is part of the Linux Foundation)",
   "maturity": "released",
   "tier": "mapped",
   "tier_reason": null,
   "placements": [
    {
     "leaf": "3.1",
     "primary": true,
     "capability": "Runs container workloads inside lightweight virtual machines, so hardware virtualization adds a second layer of isolation between a workload and the host.",
     "evidence": [
      "e2",
      "e3"
     ]
    }
   ],
   "facets": {
    "concern": [
     "security"
    ],
    "cites_law": false,
    "jurisdictions": [],
    "subject": [
     "software"
    ],
    "user_party": [
     "runs"
    ],
    "run_mode": [
     "at-runtime"
    ],
    "policy_source": [
     "vendor-defaults"
    ],
    "agent_can_bypass": "depends",
    "inventory_only": false
   },
   "handoffs": [],
   "evidence": {
    "e1": {
     "url": "https://openinfra.org/",
     "quote": "As a part of the Linux Foundation , we are a neutral",
     "kind": "foundation-page",
     "captured": "2026-10-20"
    },
    "e2": {
     "url": "https://katacontainers.io/",
     "quote": "stronger workload isolation using hardware virtualization technology as a second layer of defense",
     "kind": "product-page",
     "captured": "2026-10-20"
    },
    "e3": {
     "url": "https://openinfra.org/projects/",
     "quote": "Secure, lightweight CRI compatible virtualized containers.",
     "kind": "foundation-page",
     "captured": "2026-10-20"
    },
    "e5": {
     "url": "https://github.com/kata-containers/kata-containers/releases",
     "quote": "release: Bump version to 3.26.0 by @fidencio in #12406",
     "kind": "release-notes",
     "captured": "2026-10-20"
    },
    "e6": {
     "url": "https://api.github.com/repos/kata-containers/kata-containers",
     "quote": "Apache-2.0",
     "kind": "repo-api",
     "captured": "2026-10-20"
    }
   },
   "notes": "OpenInfra's projects page lists Kata Containers under \"Confirmed projects\", a stage the maturity vocabulary has no value for, so the stage is the plain release. The in-guest kata-agent and any owner-written policy for it were not read, so the entry is the isolation boundary alone.",
   "as_of": "2026-10-20",
   "leaf": "3.1",
   "lanes": {
    "concern": "security",
    "home": "lf-other",
    "license": "osi",
    "maturity": "released",
    "policy": "vendor-defaults"
   },
   "page": "/safeguards/kata-containers",
   "logo": "/safeguards/logos/kata-containers.svg"
  },
  {
   "slug": "keycloak",
   "name": "Keycloak",
   "org": "Cloud Native Computing Foundation",
   "org_kind": "foundation",
   "homepage": "https://www.keycloak.org/",
   "repo": "https://github.com/keycloak/keycloak",
   "license": "Apache-2.0",
   "license_class": "osi",
   "description": "An identity and access management server that authenticates users and services and evaluates fine-grained authorization policies for the resources it protects.",
   "home": "cncf",
   "home_detail": null,
   "maturity": "incubating",
   "tier": "mapped",
   "tier_reason": null,
   "placements": [
    {
     "leaf": "3.6",
     "primary": true,
     "capability": "Authenticates users and services as a single sign-on server and evaluates authorization policies through a policy decision point that resource servers enforce.",
     "evidence": [
      "e2",
      "e3",
      "e4"
     ]
    }
   ],
   "facets": {
    "concern": [
     "security"
    ],
    "cites_law": false,
    "jurisdictions": [],
    "subject": [
     "software"
    ],
    "user_party": [
     "runs"
    ],
    "run_mode": [
     "at-runtime"
    ],
    "policy_source": [
     "owner-config"
    ],
    "inventory_only": false
   },
   "handoffs": [],
   "evidence": {
    "e1": {
     "url": "https://www.cncf.io/projects/keycloak/",
     "quote": "Keycloak was accepted to CNCF on April 10, 2023 at the Incubating maturity level.",
     "kind": "foundation-page",
     "captured": "2026-10-20"
    },
    "e2": {
     "url": "https://www.keycloak.org/docs/latest/server_admin/index.html",
     "quote": "Keycloak is a single sign on solution for web apps and RESTful web services.",
     "kind": "docs",
     "captured": "2026-10-20"
    },
    "e3": {
     "url": "https://www.keycloak.org/docs/latest/authorization_services/index.html",
     "quote": "Keycloak supports fine-grained authorization policies and is able to combine different access control mechanisms such as:",
     "kind": "docs",
     "captured": "2026-10-20"
    },
    "e4": {
     "url": "https://www.keycloak.org/docs/latest/authorization_services/index.html",
     "quote": "Provides a distributable policy decision point to where authorization requests are sent and policies are evaluated accordingly with the permissions being requested.",
     "kind": "docs",
     "captured": "2026-10-20"
    },
    "e5": {
     "url": "https://api.github.com/repos/keycloak/keycloak",
     "quote": "Apache-2.0",
     "kind": "repo-api",
     "captured": "2026-10-20"
    }
   },
   "notes": null,
   "as_of": "2026-10-20",
   "leaf": "3.6",
   "lanes": {
    "concern": "security",
    "home": "cncf",
    "license": "osi",
    "maturity": "incubating",
    "policy": "owner-config"
   },
   "page": "/safeguards/keycloak",
   "logo": "/safeguards/logos/keycloak.svg"
  },
  {
   "slug": "keylime",
   "name": "Keylime",
   "org": "Cloud Native Computing Foundation",
   "org_kind": "foundation",
   "homepage": "https://keylime.dev/",
   "repo": "https://github.com/keylime/keylime",
   "license": "Apache-2.0",
   "license_class": "osi",
   "description": "A remote attestation system that uses TPM hardware to verify the boot state and runtime integrity of remote machines.",
   "home": "cncf",
   "home_detail": null,
   "maturity": "sandbox",
   "tier": "mapped",
   "tier_reason": null,
   "placements": [
    {
     "leaf": "4.1",
     "primary": true,
     "capability": "Runs a verifier that continuously checks the integrity state of remote machines against a hardware root of trust, so a machine that departs from its expected state becomes known.",
     "evidence": [
      "e2",
      "e3"
     ]
    }
   ],
   "facets": {
    "concern": [
     "security"
    ],
    "cites_law": false,
    "jurisdictions": [],
    "subject": [
     "software"
    ],
    "user_party": [
     "runs"
    ],
    "run_mode": [
     "at-runtime"
    ],
    "inventory_only": false
   },
   "handoffs": [],
   "evidence": {
    "e1": {
     "url": "https://www.cncf.io/projects/keylime/",
     "quote": "Keylime was accepted to CNCF on September 22, 2020 at the Sandbox maturity level.",
     "kind": "foundation-page",
     "captured": "2026-10-20"
    },
    "e2": {
     "url": "https://raw.githubusercontent.com/keylime/keylime/master/README.md",
     "quote": "The Verifier continuously verifies the integrity state of the machine that the agent is running on.",
     "kind": "readme",
     "captured": "2026-10-20"
    },
    "e3": {
     "url": "https://keylime.dev/",
     "quote": "Keylime enables users to monitor remote nodes using a hardware based cryptographic root of trust.",
     "kind": "product-page",
     "captured": "2026-10-20"
    },
    "e4": {
     "url": "https://api.github.com/repos/keylime/keylime",
     "quote": "Apache-2.0",
     "kind": "repo-api",
     "captured": "2026-10-20"
    }
   },
   "notes": "A weak fit for 4.1: the sources read describe attestation and integrity monitoring and do not say what happens on a failed check. The Python agent in the repository is deprecated in favor of the Rust agent.",
   "as_of": "2026-10-20",
   "leaf": "4.1",
   "lanes": {
    "concern": "security",
    "home": "cncf",
    "license": "osi",
    "maturity": "sandbox",
    "policy": "na"
   },
   "page": "/safeguards/keylime",
   "logo": "/safeguards/logos/keylime.svg"
  },
  {
   "slug": "kong-ai-gateway",
   "name": "Kong AI Gateway",
   "org": "Kong",
   "org_kind": "company",
   "homepage": "https://developer.konghq.com/ai-gateway/",
   "repo": null,
   "license": null,
   "license_class": "proprietary",
   "description": "Kong's AI Gateway: one control plane for LLM, MCP and A2A traffic with OAuth2 tool scoping, prompt guards, PII redaction and OpenTelemetry export.",
   "home": "vendor",
   "home_detail": null,
   "maturity": "ga",
   "tier": "mapped",
   "tier_reason": null,
   "placements": [
    {
     "leaf": "3.3",
     "primary": true,
     "capability": "Sits in front of LLM, MCP and A2A traffic and applies authentication, tool-scoping, prompt guard and PII redaction policies configured on its entities.",
     "evidence": [
      "e1",
      "e2",
      "e3"
     ]
    }
   ],
   "facets": {
    "concern": [
     "security"
    ],
    "cites_law": false,
    "jurisdictions": [],
    "subject": [
     "agent",
     "ai-system"
    ],
    "user_party": [
     "runs"
    ],
    "run_mode": [
     "at-runtime"
    ],
    "policy_source": [
     "owner-config"
    ],
    "traffic_seen": [
     "model",
     "tool",
     "agent-to-agent"
    ],
    "agent_can_bypass": "depends",
    "inventory_only": false
   },
   "handoffs": [
    {
     "artifact": "runtime-records",
     "direction": "produces",
     "format": "OpenTelemetry span attributes"
    }
   ],
   "evidence": {
    "e1": {
     "url": "https://developer.konghq.com/ai-gateway/",
     "quote": "AI Gateway addresses these challenges with a high-performance control plane that secures, governs, and observes AI-native systems end to end.",
     "kind": "docs",
     "captured": "2026-10-20"
    },
    "e2": {
     "url": "https://developer.konghq.com/ai-gateway/",
     "quote": "Define a single endpoint for any traffic type: LLM, MCP, or A2A.",
     "kind": "docs",
     "captured": "2026-10-20"
    },
    "e3": {
     "url": "https://developer.konghq.com/ai-gateway/",
     "quote": "Scope agent tool calls with OAuth2, so write actions can require tighter access than read actions",
     "kind": "docs",
     "captured": "2026-10-20"
    },
    "e4": {
     "url": "https://developer.konghq.com/ai-gateway/",
     "quote": "Attach governance behavior for authentication, guardrails, transformations, and more.",
     "kind": "docs",
     "captured": "2026-10-20"
    },
    "e5": {
     "url": "https://developer.konghq.com/ai-gateway/",
     "quote": "Per-request OpenTelemetry span attributes for AI traffic.",
     "kind": "docs",
     "captured": "2026-10-20"
    }
   },
   "notes": null,
   "as_of": "2026-10-20",
   "leaf": "3.3",
   "lanes": {
    "concern": "security",
    "home": "vendor",
    "license": "proprietary",
    "maturity": "ga",
    "policy": "owner-config"
   },
   "page": "/safeguards/kong-ai-gateway",
   "logo": "/safeguards/logos/kong-ai-gateway.png"
  },
  {
   "slug": "kuadrant",
   "name": "Kuadrant",
   "org": "Cloud Native Computing Foundation",
   "org_kind": "foundation",
   "homepage": "https://kuadrant.io/",
   "repo": "https://github.com/Kuadrant/mcp-gateway",
   "license": "Apache-2.0",
   "license_class": "osi",
   "description": "Gateway API policies for authentication and authorization, with an Envoy-based MCP gateway that applies tool-level access control to MCP servers.",
   "home": "cncf",
   "home_detail": null,
   "maturity": "sandbox",
   "tier": "mapped",
   "tier_reason": null,
   "placements": [
    {
     "leaf": "3.3",
     "primary": true,
     "capability": "Its MCP gateway routes calls to several MCP servers behind one endpoint, and an AuthPolicy validates the caller's token and limits which tools that caller may reach.",
     "evidence": [
      "e2",
      "e3",
      "e4",
      "e5"
     ]
    }
   ],
   "facets": {
    "concern": [
     "security"
    ],
    "cites_law": false,
    "jurisdictions": [],
    "subject": [
     "agent",
     "ai-system"
    ],
    "user_party": [
     "runs"
    ],
    "run_mode": [
     "at-runtime"
    ],
    "policy_source": [
     "owner-config"
    ],
    "traffic_seen": [
     "tool"
    ],
    "agent_can_bypass": "depends",
    "inventory_only": false
   },
   "handoffs": [],
   "evidence": {
    "e1": {
     "url": "https://www.cncf.io/projects/kuadrant/",
     "quote": "Kuadrant was accepted to CNCF on June 19, 2024 at the Sandbox maturity level.",
     "kind": "foundation-page",
     "captured": "2026-10-20"
    },
    "e2": {
     "url": "https://raw.githubusercontent.com/Kuadrant/mcp-gateway/main/README.md",
     "quote": "An Envoy-based gateway for Model Context Protocol (MCP) servers, enabling aggregation and routing of multiple MCP servers behind a single endpoint.",
     "kind": "readme",
     "captured": "2026-10-20"
    },
    "e3": {
     "url": "https://raw.githubusercontent.com/Kuadrant/mcp-gateway/main/README.md",
     "quote": "Apply AuthPolicy for token validation/exchange on the /mcp endpoint, including tool authorization via keycloak group mappings (both via Keycloak)",
     "kind": "readme",
     "captured": "2026-10-20"
    },
    "e4": {
     "url": "https://raw.githubusercontent.com/Kuadrant/mcp-gateway/main/README.md",
     "quote": "You now should only be able to access tools based on the ACL configuration.",
     "kind": "readme",
     "captured": "2026-10-20"
    },
    "e5": {
     "url": "https://kuadrant.io/",
     "quote": "Teaching an MCP gateway to speak Agent2Agent",
     "kind": "product-page",
     "captured": "2026-10-20"
    },
    "e6": {
     "url": "https://kuadrant.io/",
     "quote": "Protect your services with our flexible and powerful AuthPolicy API that integrates Authentication and Authorization at the Gateway or HTTPRoute level.",
     "kind": "product-page",
     "captured": "2026-10-20"
    },
    "e7": {
     "url": "https://api.github.com/repos/Kuadrant/mcp-gateway",
     "quote": "Apache-2.0",
     "kind": "repo-api",
     "captured": "2026-10-20"
    }
   },
   "notes": null,
   "as_of": "2026-10-20",
   "leaf": "3.3",
   "lanes": {
    "concern": "security",
    "home": "cncf",
    "license": "osi",
    "maturity": "sandbox",
    "policy": "owner-config"
   },
   "page": "/safeguards/kuadrant",
   "logo": "/safeguards/logos/kuadrant.svg"
  },
  {
   "slug": "kuasar",
   "name": "Kuasar",
   "org": "Cloud Native Computing Foundation",
   "org_kind": "foundation",
   "homepage": "https://kuasar.io/",
   "repo": "https://github.com/kuasar-io/kuasar",
   "license": "Apache-2.0",
   "license_class": "osi",
   "description": "A container runtime that supports microVM, app kernel and WebAssembly sandboxers behind one sandbox API, so several sandbox types can run on a single node.",
   "home": "cncf",
   "home_detail": null,
   "maturity": "sandbox",
   "tier": "mapped",
   "tier_reason": null,
   "placements": [
    {
     "leaf": "3.1",
     "primary": true,
     "capability": "Provides MicroVM, App Kernel and Wasm sandboxers behind a standard sandbox API, letting a node run containers in whichever isolation technique the workload needs.",
     "evidence": [
      "e2",
      "e3"
     ]
    }
   ],
   "facets": {
    "concern": [
     "security"
    ],
    "cites_law": false,
    "jurisdictions": [],
    "subject": [
     "software"
    ],
    "user_party": [
     "runs"
    ],
    "run_mode": [
     "at-runtime"
    ],
    "policy_source": [
     "vendor-defaults"
    ],
    "agent_can_bypass": "depends",
    "inventory_only": false
   },
   "handoffs": [],
   "evidence": {
    "e1": {
     "url": "https://www.cncf.io/projects/kuasar/",
     "quote": "Kuasar was accepted to CNCF on December 19, 2023 at the Sandbox maturity level.",
     "kind": "foundation-page",
     "captured": "2026-10-20"
    },
    "e2": {
     "url": "https://raw.githubusercontent.com/kuasar-io/kuasar/main/README.md",
     "quote": "Kuasar is an efficient container runtime that provides cloud-native, all-scenario container solutions by supporting multiple sandbox techniques.",
     "kind": "readme",
     "captured": "2026-10-20"
    },
    "e3": {
     "url": "https://raw.githubusercontent.com/kuasar-io/kuasar/main/README.md",
     "quote": "all of which have been proven to be secure isolation techniques in a multi-tenant environment",
     "kind": "readme",
     "captured": "2026-10-20"
    },
    "e4": {
     "url": "https://api.github.com/repos/kuasar-io/kuasar",
     "quote": "Apache-2.0",
     "kind": "repo-api",
     "captured": "2026-10-20"
    }
   },
   "notes": "The isolation comes from the sandboxer chosen; Kuasar itself documents no policy evaluation.",
   "as_of": "2026-10-20",
   "leaf": "3.1",
   "lanes": {
    "concern": "security",
    "home": "cncf",
    "license": "osi",
    "maturity": "sandbox",
    "policy": "vendor-defaults"
   },
   "page": "/safeguards/kuasar",
   "logo": "/safeguards/logos/kuasar.svg"
  },
  {
   "slug": "kubearmor",
   "name": "KubeArmor",
   "org": "Cloud Native Computing Foundation",
   "org_kind": "foundation",
   "homepage": "https://kubearmor.io/",
   "repo": "https://github.com/kubearmor/KubeArmor",
   "license": "Apache-2.0",
   "license_class": "osi",
   "description": "A runtime security system that restricts process execution, file access and network operations of pods, containers and nodes with owner-written policies enforced through Linux security modules.",
   "home": "cncf",
   "home_detail": null,
   "maturity": "sandbox",
   "tier": "mapped",
   "tier_reason": null,
   "placements": [
    {
     "leaf": "3.1",
     "primary": true,
     "capability": "Restricts the behavior of pods, containers and nodes at the system level and can deny a process execution inline, according to allow, audit or block rules in the owner's policy resource.",
     "evidence": [
      "e2",
      "e3",
      "e4"
     ]
    }
   ],
   "facets": {
    "concern": [
     "security"
    ],
    "cites_law": false,
    "jurisdictions": [],
    "subject": [
     "software"
    ],
    "user_party": [
     "runs"
    ],
    "run_mode": [
     "at-runtime"
    ],
    "policy_source": [
     "owner-config"
    ],
    "agent_can_bypass": "depends",
    "inventory_only": false
   },
   "handoffs": [],
   "evidence": {
    "e1": {
     "url": "https://www.cncf.io/projects/kubearmor/",
     "quote": "KubeArmor was accepted to CNCF on November 16, 2021 at the Sandbox maturity level.",
     "kind": "foundation-page",
     "captured": "2026-10-20"
    },
    "e2": {
     "url": "https://raw.githubusercontent.com/kubearmor/KubeArmor/main/README.md",
     "quote": "KubeArmor is a cloud-native runtime security enforcement system that restricts the behavior",
     "kind": "readme",
     "captured": "2026-10-20"
    },
    "e3": {
     "url": "https://raw.githubusercontent.com/kubearmor/KubeArmor/main/getting-started/differentiation.md",
     "quote": "even before a process is spawned, a rule can deny execution of a process",
     "kind": "docs",
     "captured": "2026-10-20"
    },
    "e4": {
     "url": "https://raw.githubusercontent.com/kubearmor/KubeArmor/main/getting-started/security_policy_specification.md",
     "quote": "Here is the specification of a security policy.",
     "kind": "docs",
     "captured": "2026-10-20"
    },
    "e5": {
     "url": "https://api.github.com/repos/kubearmor/KubeArmor",
     "quote": "Apache-2.0",
     "kind": "repo-api",
     "captured": "2026-10-20"
    }
   },
   "notes": null,
   "as_of": "2026-10-20",
   "leaf": "3.1",
   "lanes": {
    "concern": "security",
    "home": "cncf",
    "license": "osi",
    "maturity": "sandbox",
    "policy": "owner-config"
   },
   "page": "/safeguards/kubearmor",
   "logo": "/safeguards/logos/kubearmor.svg"
  },
  {
   "slug": "kubernetes-admission-control",
   "name": "Kubernetes (admission control)",
   "org": "Cloud Native Computing Foundation",
   "org_kind": "foundation",
   "homepage": "https://kubernetes.io/docs/reference/access-authn-authz/admission-controllers/",
   "repo": "https://github.com/kubernetes/kubernetes",
   "license": "Apache-2.0",
   "license_class": "osi",
   "description": "The admission control stage of the Kubernetes API server, which checks requests against built-in controllers, in-API CEL policies and external admission webhooks before a resource is stored.",
   "home": "cncf",
   "home_detail": null,
   "maturity": "graduated",
   "tier": "mapped",
   "tier_reason": null,
   "placements": [
    {
     "leaf": "3.7",
     "primary": true,
     "capability": "Intercepts each request to the Kubernetes API server before the resource is stored and rejects it when an admission controller, an in-API CEL policy or an external admission webhook fails it.",
     "evidence": [
      "e2",
      "e3",
      "e4"
     ]
    }
   ],
   "facets": {
    "concern": [
     "security"
    ],
    "cites_law": false,
    "jurisdictions": [],
    "subject": [
     "software"
    ],
    "user_party": [
     "runs"
    ],
    "run_mode": [
     "at-runtime"
    ],
    "policy_source": [
     "owner-config",
     "pdp-callout"
    ],
    "inventory_only": false
   },
   "handoffs": [],
   "evidence": {
    "e1": {
     "url": "https://www.cncf.io/projects/kubernetes/",
     "quote": "Kubernetes was accepted to CNCF on March 10, 2016 at the Incubating maturity level and then moved to the Graduated maturity level on March 6, 2018.",
     "kind": "foundation-page",
     "captured": "2026-10-21"
    },
    "e2": {
     "url": "https://kubernetes.io/docs/reference/access-authn-authz/admission-controllers/",
     "quote": "An admission controller is a piece of code that intercepts requests to the Kubernetes API server prior to persistence of the resource, but after the request is authenticated and authorized.",
     "kind": "docs",
     "captured": "2026-10-21"
    },
    "e3": {
     "url": "https://kubernetes.io/docs/reference/access-authn-authz/admission-controllers/",
     "quote": "MutatingAdmissionPolicy and ValidatingAdmissionPolicy provides a way to embed declarative mutation/validation code within the API, without relying on any external HTTP callouts.",
     "kind": "docs",
     "captured": "2026-10-21"
    },
    "e4": {
     "url": "https://kubernetes.io/docs/reference/access-authn-authz/extensible-admission-controllers/",
     "quote": "Admission webhooks are HTTP callbacks that receive admission requests and do something with them.",
     "kind": "docs",
     "captured": "2026-10-21"
    },
    "e5": {
     "url": "https://kubernetes.io/docs/reference/access-authn-authz/extensible-admission-controllers/",
     "quote": "The webhook handles the AdmissionReview request sent by the API servers, and sends back its decision as an AdmissionReview object in the same version it received.",
     "kind": "docs",
     "captured": "2026-10-21"
    },
    "e6": {
     "url": "https://api.github.com/repos/kubernetes/kubernetes",
     "quote": "Apache-2.0",
     "kind": "repo-api",
     "captured": "2026-10-21"
    }
   },
   "notes": null,
   "as_of": "2026-10-21",
   "leaf": "3.7",
   "lanes": {
    "concern": "security",
    "home": "cncf",
    "license": "osi",
    "maturity": "graduated",
    "policy": "pdp-callout"
   },
   "page": "/safeguards/kubernetes-admission-control",
   "logo": null
  },
  {
   "slug": "kubescape",
   "name": "Kubescape",
   "org": "Cloud Native Computing Foundation",
   "org_kind": "foundation",
   "homepage": "https://kubescape.io/",
   "repo": "https://github.com/kubescape/kubescape",
   "license": "Apache-2.0",
   "license_class": "osi",
   "description": "A Kubernetes security platform whose scanner checks clusters, manifests, Helm charts and images for misconfigurations and vulnerabilities against published frameworks.",
   "home": "cncf",
   "home_detail": null,
   "maturity": "incubating",
   "tier": "mapped",
   "tier_reason": null,
   "placements": [
    {
     "leaf": "1.1",
     "primary": true,
     "capability": "Scans clusters, YAML files and Helm charts for misconfigurations against NSA-CISA, MITRE ATT&CK and CIS frameworks, and scans container images for known vulnerabilities.",
     "evidence": [
      "e2",
      "e3"
     ]
    }
   ],
   "facets": {
    "concern": [
     "security"
    ],
    "cites_law": false,
    "jurisdictions": [],
    "subject": [
     "software"
    ],
    "user_party": [
     "makes",
     "runs"
    ],
    "run_mode": [
     "by-hand",
     "in-ci"
    ],
    "inventory_only": false
   },
   "handoffs": [
    {
     "artifact": "findings",
     "direction": "produces",
     "format": "SARIF"
    }
   ],
   "evidence": {
    "e1": {
     "url": "https://www.cncf.io/projects/kubescape/",
     "quote": "Kubescape was accepted to CNCF on December 13, 2022 and moved to the Incubating maturity level on January 13, 2025.",
     "kind": "foundation-page",
     "captured": "2026-10-20"
    },
    "e2": {
     "url": "https://raw.githubusercontent.com/kubescape/kubescape/master/README.md",
     "quote": "Scan clusters, YAML files, and Helm charts against NSA-CISA, MITRE ATT&CK®, and CIS Benchmarks",
     "kind": "readme",
     "captured": "2026-10-20"
    },
    "e3": {
     "url": "https://raw.githubusercontent.com/kubescape/kubescape/master/README.md",
     "quote": "Detect CVEs in container images using",
     "kind": "readme",
     "captured": "2026-10-20"
    },
    "e4": {
     "url": "https://raw.githubusercontent.com/kubescape/kubescape/master/README.md",
     "quote": "SARIF (for GitHub Code Scanning)",
     "kind": "readme",
     "captured": "2026-10-20"
    },
    "e5": {
     "url": "https://api.github.com/repos/kubescape/kubescape",
     "quote": "Apache-2.0",
     "kind": "repo-api",
     "captured": "2026-10-20"
    }
   },
   "notes": "The same README lists admission control with Validating Admission Policies, runtime monitoring, image patching and auto-remediation; those are not placed here because the sources read only name them in a feature table.",
   "as_of": "2026-10-20",
   "leaf": "1.1",
   "lanes": {
    "concern": "security",
    "home": "cncf",
    "license": "osi",
    "maturity": "incubating",
    "policy": "na"
   },
   "page": "/safeguards/kubescape",
   "logo": "/safeguards/logos/kubescape.svg"
  },
  {
   "slug": "kubewarden",
   "name": "Kubewarden",
   "org": "Cloud Native Computing Foundation",
   "org_kind": "foundation",
   "homepage": "https://www.kubewarden.io/",
   "repo": "https://github.com/kubewarden/kubewarden-controller",
   "license": "Apache-2.0",
   "license_class": "osi",
   "description": "A Kubernetes admission controller that evaluates policies packaged as WebAssembly modules, written in languages including Rego, CEL, Rust and Go.",
   "home": "cncf",
   "home_detail": null,
   "maturity": "sandbox",
   "tier": "mapped",
   "tier_reason": null,
   "placements": [
    {
     "leaf": "3.7",
     "primary": true,
     "capability": "Runs as a Kubernetes dynamic admission controller that evaluates WebAssembly policies against each request, and scans existing cluster resources against the registered policies.",
     "evidence": [
      "e2",
      "e3"
     ]
    }
   ],
   "facets": {
    "concern": [
     "security"
    ],
    "cites_law": false,
    "jurisdictions": [],
    "subject": [
     "software"
    ],
    "user_party": [
     "runs"
    ],
    "run_mode": [
     "at-runtime"
    ],
    "policy_source": [
     "owner-config"
    ],
    "inventory_only": false
   },
   "handoffs": [
    {
     "artifact": "policy",
     "direction": "consumes",
     "format": "WebAssembly policies (Rego, CEL, Rust, Go)"
    }
   ],
   "evidence": {
    "e1": {
     "url": "https://www.cncf.io/projects/kubewarden/",
     "quote": "Kubewarden was accepted to CNCF on June 17, 2022 at the Sandbox maturity level.",
     "kind": "foundation-page",
     "captured": "2026-10-20"
    },
    "e2": {
     "url": "https://raw.githubusercontent.com/kubewarden/kubewarden-controller/main/README.md",
     "quote": "The runtime component that evaluates admission policies written in WebAssembly",
     "kind": "readme",
     "captured": "2026-10-20"
    },
    "e3": {
     "url": "https://www.cncf.io/projects/kubewarden/",
     "quote": "Its policies can be written in CEL, Rego (OPA & Gatekeeper flavours), Rust, Go, YAML, and others.",
     "kind": "foundation-page",
     "captured": "2026-10-20"
    },
    "e4": {
     "url": "https://api.github.com/repos/kubewarden/kubewarden-controller",
     "quote": "Apache-2.0",
     "kind": "repo-api",
     "captured": "2026-10-20"
    }
   },
   "notes": null,
   "as_of": "2026-10-20",
   "leaf": "3.7",
   "lanes": {
    "concern": "security",
    "home": "cncf",
    "license": "osi",
    "maturity": "sandbox",
    "policy": "owner-config"
   },
   "page": "/safeguards/kubewarden",
   "logo": "/safeguards/logos/kubewarden.svg"
  },
  {
   "slug": "kyverno",
   "name": "Kyverno",
   "org": "Cloud Native Computing Foundation",
   "org_kind": "foundation",
   "homepage": "https://kyverno.io/",
   "repo": "https://github.com/kyverno/kyverno",
   "license": "Apache-2.0",
   "license_class": "osi",
   "description": "A Kubernetes policy engine that checks resources at admission time against the cluster owner's policies and verifies container image signatures and attestations.",
   "home": "cncf",
   "home_detail": null,
   "maturity": "graduated",
   "tier": "mapped",
   "tier_reason": null,
   "placements": [
    {
     "leaf": "3.7",
     "primary": true,
     "capability": "Runs as a Kubernetes admission controller that checks each resource against policies the cluster owner writes, and verifies image signatures and attestations before a workload is admitted.",
     "evidence": [
      "e2",
      "e3"
     ]
    }
   ],
   "facets": {
    "concern": [
     "security"
    ],
    "cites_law": false,
    "jurisdictions": [],
    "subject": [
     "software"
    ],
    "user_party": [
     "runs"
    ],
    "run_mode": [
     "at-runtime"
    ],
    "policy_source": [
     "owner-config"
    ],
    "inventory_only": false
   },
   "handoffs": [
    {
     "artifact": "provenance",
     "direction": "consumes",
     "format": "image signatures and attestations (Sigstore Cosign, Notary)"
    }
   ],
   "evidence": {
    "e1": {
     "url": "https://www.cncf.io/projects/kyverno/",
     "quote": "Kyverno was accepted to CNCF on November 10, 2020, moved to the Incubating maturity level on July 13, 2022, and then moved to the Graduated maturity level on March 16, 2026.",
     "kind": "foundation-page",
     "captured": "2026-10-20"
    },
    "e2": {
     "url": "https://kyverno.io/docs/introduction/",
     "quote": "enforce policies as a Kubernetes admission controller, CLI-based scanner, and at runtime",
     "kind": "docs",
     "captured": "2026-10-20"
    },
    "e3": {
     "url": "https://kyverno.io/docs/policy-types/image-validating-policy/",
     "quote": "The Kyverno ImageValidatingPolicy type is a Kyverno policy type designed for verifying container image signatures and attestations.",
     "kind": "docs",
     "captured": "2026-10-20"
    },
    "e4": {
     "url": "https://kyverno.io/docs/policy-types/image-validating-policy/",
     "quote": "Kyverno provides specialized functions for verifying image signatures and attestations",
     "kind": "docs",
     "captured": "2026-10-20"
    },
    "e5": {
     "url": "https://api.github.com/repos/kyverno/kyverno",
     "quote": "Apache-2.0",
     "kind": "repo-api",
     "captured": "2026-10-20"
    }
   },
   "notes": null,
   "as_of": "2026-10-20",
   "leaf": "3.7",
   "lanes": {
    "concern": "security",
    "home": "cncf",
    "license": "osi",
    "maturity": "graduated",
    "policy": "owner-config"
   },
   "page": "/safeguards/kyverno",
   "logo": "/safeguards/logos/kyverno.svg"
  },
  {
   "slug": "langgraph",
   "name": "LangGraph",
   "org": "LangChain, Inc.",
   "org_kind": "company",
   "homepage": "https://docs.langchain.com/",
   "repo": "https://github.com/langchain-ai/langgraph",
   "license": "MIT",
   "license_class": "osi",
   "description": "A graph-based agent framework whose interrupt function pauses a running graph for a person's approval or input before it continues.",
   "home": "none",
   "home_detail": null,
   "maturity": "released",
   "tier": "listed",
   "tier_reason": "Listed, not drawn: no documented handoff and no foundation home places it on the map.",
   "placements": [
    {
     "leaf": "3.2",
     "primary": true,
     "capability": "Pauses graph execution at a point the developer chooses in a node, surfaces a value to the caller, and resumes only when the caller replies.",
     "evidence": [
      "e1",
      "e2"
     ]
    }
   ],
   "facets": {
    "concern": [
     "safety",
     "security"
    ],
    "cites_law": false,
    "jurisdictions": [],
    "subject": [
     "agent"
    ],
    "user_party": [
     "makes"
    ],
    "run_mode": [
     "at-runtime"
    ],
    "policy_source": [
     "owner-config"
    ],
    "agent_can_bypass": "depends",
    "inventory_only": false
   },
   "handoffs": [],
   "evidence": {
    "e1": {
     "url": "https://docs.langchain.com/oss/python/langgraph/interrupts.md",
     "quote": "Interrupts allow you to pause graph execution at specific points and wait for external input before continuing.",
     "kind": "docs",
     "captured": "2026-10-20"
    },
    "e2": {
     "url": "https://docs.langchain.com/oss/python/langgraph/interrupts.md",
     "quote": "they can be placed anywhere in your code and can be conditional based on your application logic",
     "kind": "docs",
     "captured": "2026-10-20"
    },
    "e3": {
     "url": "https://github.com/langchain-ai/langgraph/releases",
     "quote": "Latest Latest Compare Choose a tag to compare",
     "kind": "release-notes",
     "captured": "2026-10-20"
    },
    "e4": {
     "url": "https://raw.githubusercontent.com/langchain-ai/langgraph/main/LICENSE",
     "quote": "MIT License Copyright (c) 2024 LangChain, Inc.",
     "kind": "readme",
     "captured": "2026-10-20"
    }
   },
   "notes": null,
   "as_of": "2026-10-20",
   "leaf": "3.2",
   "lanes": {
    "concern": "safety",
    "home": "none",
    "license": "osi",
    "maturity": "released",
    "policy": "owner-config"
   },
   "page": "/safeguards/langgraph",
   "logo": "/safeguards/logos/langgraph.svg"
  },
  {
   "slug": "lasso-mcp-gateway",
   "name": "Lasso MCP Gateway",
   "org": "Lasso Security",
   "org_kind": "company",
   "homepage": "https://www.lasso.security/",
   "repo": "https://github.com/lasso-security/mcp-gateway",
   "license": "MIT",
   "license_class": "osi",
   "description": "An open-source proxy between LLMs and MCP servers that masks sensitive information and blocks MCP servers by reputation score, with optional Lasso guardrails.",
   "home": "none",
   "home_detail": null,
   "maturity": "released",
   "tier": "listed",
   "tier_reason": "Listed, not drawn: no documented handoff and no foundation home places it on the map.",
   "placements": [
    {
     "leaf": "3.3",
     "primary": true,
     "capability": "Sits between LLMs and MCP servers, masks sensitive values in requests and responses and blocks servers whose reputation score falls below a threshold.",
     "evidence": [
      "e2",
      "e3",
      "e4"
     ]
    }
   ],
   "facets": {
    "concern": [
     "security"
    ],
    "cites_law": false,
    "jurisdictions": [],
    "subject": [
     "agent",
     "ai-system"
    ],
    "user_party": [
     "runs"
    ],
    "run_mode": [
     "at-runtime"
    ],
    "policy_source": [
     "owner-config",
     "vendor-defaults"
    ],
    "traffic_seen": [
     "tool"
    ],
    "agent_can_bypass": "depends",
    "inventory_only": false
   },
   "handoffs": [],
   "evidence": {
    "e2": {
     "url": "https://raw.githubusercontent.com/lasso-security/mcp-gateway/main/README.md",
     "quote": "MCP Gateway acts as an intermediary between LLMs and other MCP servers.",
     "kind": "readme",
     "captured": "2026-10-20"
    },
    "e3": {
     "url": "https://raw.githubusercontent.com/lasso-security/mcp-gateway/main/README.md",
     "quote": "Intercepts requests and responses to sanitize sensitive information.",
     "kind": "readme",
     "captured": "2026-10-20"
    },
    "e4": {
     "url": "https://raw.githubusercontent.com/lasso-security/mcp-gateway/main/README.md",
     "quote": "Blocks risky MCPs based on reputation scores (threshold: 30) and security analysis",
     "kind": "readme",
     "captured": "2026-10-20"
    },
    "e5": {
     "url": "https://raw.githubusercontent.com/lasso-security/mcp-gateway/main/README.md",
     "quote": "Specify the plugins to enable (can be used multiple times)",
     "kind": "readme",
     "captured": "2026-10-20"
    },
    "e6": {
     "url": "https://raw.githubusercontent.com/lasso-security/mcp-gateway/main/LICENSE",
     "quote": "MIT License Copyright (c) 2024 Lasso Security, Inc",
     "kind": "readme",
     "captured": "2026-10-20"
    },
    "e7": {
     "url": "https://github.com/lasso-security/mcp-gateway/releases",
     "quote": "Release list Lasso Guardrails v3 API Support MCP Scanner",
     "kind": "release-notes",
     "captured": "2026-10-20"
    }
   },
   "notes": null,
   "as_of": "2026-10-20",
   "leaf": "3.3",
   "lanes": {
    "concern": "security",
    "home": "none",
    "license": "osi",
    "maturity": "released",
    "policy": "owner-config"
   },
   "page": "/safeguards/lasso-mcp-gateway",
   "logo": "/safeguards/logos/lasso-mcp-gateway.png"
  },
  {
   "slug": "lexlint",
   "name": "LexLint",
   "org": "UnGovr",
   "org_kind": "nonprofit",
   "homepage": "https://lexlint.io/",
   "repo": "https://github.com/ungovr/lexlint",
   "license": null,
   "license_class": "proprietary",
   "description": "A lint that reads an app's declared profile and reports the legal obligations that attach to it in each jurisdiction, each cited to a named instrument.",
   "home": "vendor",
   "home_detail": null,
   "maturity": "public-beta",
   "tier": "mapped",
   "tier_reason": null,
   "placements": [
    {
     "leaf": "1.4",
     "primary": true,
     "capability": "Reads a declared app profile and reports the obligations that attach to it, jurisdiction by jurisdiction, each cited to a named instrument with the date the research last read it.",
     "evidence": [
      "e2",
      "e3"
     ]
    },
    {
     "leaf": "1.2",
     "primary": false,
     "capability": "Reads a repository's ACTIVITIES.md, the file that declares the activities its code performs or enables.",
     "evidence": [
      "e4"
     ]
    },
    {
     "leaf": "4.3",
     "primary": false,
     "capability": "Sets out every reporting clock in its law library that an incident involving an agent can start, by jurisdiction, with the party each binds.",
     "evidence": [
      "e5",
      "e6"
     ]
    }
   ],
   "facets": {
    "concern": [
     "security",
     "safety",
     "legal"
    ],
    "legal_topics": [
     "ai",
     "scraping",
     "privacy",
     "security",
     "communications",
     "platform",
     "liability",
     "age"
    ],
    "cites_law": true,
    "jurisdictions": [],
    "subject": [
     "software",
     "ai-system",
     "agent"
    ],
    "user_party": [
     "makes",
     "runs"
    ],
    "run_mode": [
     "agent-plugin",
     "by-hand"
    ],
    "legal_events": [
     "nis2-significant-incident",
     "cra-actively-exploited-vulnerability",
     "safe-trigger"
    ],
    "clock_kind": "legal",
    "inventory_only": false
   },
   "handoffs": [
    {
     "artifact": "declarations",
     "direction": "consumes",
     "format": "ACTIVITIES.md"
    },
    {
     "artifact": "findings",
     "direction": "produces",
     "format": "LexLint findings (obligations per jurisdiction with citations)"
    },
    {
     "artifact": "legal-deadlines",
     "direction": "produces",
     "format": "lexlint.io/clock marks"
    }
   ],
   "evidence": {
    "e1": {
     "url": "https://lexlint.io/",
     "quote": "Lex Lint .io Beta Know the law your code answers to.",
     "kind": "product-page",
     "captured": "2026-10-20"
    },
    "e2": {
     "url": "https://lexlint.io/llms.txt",
     "quote": "LexLint reads a declared app profile and reports the obligations that attach to it, jurisdiction by jurisdiction, each one cited to a named instrument with the date the research last read it.",
     "kind": "docs",
     "captured": "2026-10-20"
    },
    "e3": {
     "url": "https://lexlint.io/",
     "quote": "LexLint returns findings: which obligations apply in each jurisdiction, with citations and freshness dates.",
     "kind": "product-page",
     "captured": "2026-10-20"
    },
    "e4": {
     "url": "https://lexlint.io/activities/activities-md",
     "quote": "Its YAML front matter is the record a validator and a lint read; the Markdown under it is for a person.",
     "kind": "docs",
     "captured": "2026-10-20"
    },
    "e5": {
     "url": "https://lexlint.io/clock",
     "quote": "Every reporting clock in the LexLint law library that an incident involving an agent can start",
     "kind": "product-page",
     "captured": "2026-10-20"
    },
    "e6": {
     "url": "https://lexlint.io/clock",
     "quote": "Most bind the OPERATOR of a service inside the scope of the NIS2 Directive or its national transposition; the CRA binds the MAKER of a product with digital elements, software included.",
     "kind": "product-page",
     "captured": "2026-10-20"
    },
    "e7": {
     "url": "https://lexlint.io/clock",
     "quote": "Every reporting clock in the law library on one time axis, with the SAFE proposal's rungs beside them",
     "kind": "product-page",
     "captured": "2026-10-20"
    }
   },
   "notes": "Published by UnGovr, which also publishes this map; it appears here under the same rules as every other entry. The plugin repository is open source; the lint and the law library run as a hosted service. TestPack (on every commit) and RunPack (on an agent's actions in production) are in development and are not placed. jurisdictions is left empty because the lint reads every jurisdiction in its law library.",
   "as_of": "2026-10-20",
   "leaf": "1.4",
   "lanes": {
    "concern": "legal",
    "home": "vendor",
    "license": "proprietary",
    "maturity": "public-beta",
    "policy": "na"
   },
   "page": "/safeguards/lexlint",
   "logo": "/safeguards/logos/lexlint.svg"
  },
  {
   "slug": "lima",
   "name": "Lima",
   "org": "Cloud Native Computing Foundation",
   "org_kind": "foundation",
   "homepage": "https://lima-vm.io/",
   "repo": "https://github.com/lima-vm/lima",
   "license": "Apache-2.0",
   "license_class": "osi",
   "description": "Runs Linux virtual machines, documented for running AI agents inside a VM so they cannot directly read, write or execute the host's files.",
   "home": "cncf",
   "home_detail": null,
   "maturity": "incubating",
   "tier": "mapped",
   "tier_reason": null,
   "placements": [
    {
     "leaf": "3.1",
     "primary": true,
     "capability": "Runs an AI agent inside a Linux virtual machine so it reaches the host only through the directories the owner chooses to mount, read-only or writable.",
     "evidence": [
      "e2",
      "e3"
     ]
    }
   ],
   "facets": {
    "concern": [
     "security"
    ],
    "cites_law": false,
    "jurisdictions": [],
    "subject": [
     "software",
     "agent"
    ],
    "user_party": [
     "runs"
    ],
    "run_mode": [
     "by-hand"
    ],
    "policy_source": [
     "vendor-defaults",
     "owner-config"
    ],
    "agent_can_bypass": "depends",
    "inventory_only": false
   },
   "handoffs": [],
   "evidence": {
    "e1": {
     "url": "https://www.cncf.io/projects/lima/",
     "quote": "Lima was accepted to CNCF on September 14, 2022 and moved to the Incubating maturity level on October 14, 2025.",
     "kind": "foundation-page",
     "captured": "2026-10-21"
    },
    "e2": {
     "url": "https://lima-vm.io/docs/examples/ai/",
     "quote": "Lima is useful for running AI agents inside a VM, so as to prevent agents from directly reading, writing, or executing the host files.",
     "kind": "docs",
     "captured": "2026-10-21"
    },
    "e3": {
     "url": "https://lima-vm.io/docs/examples/ai/",
     "quote": "it is highly recommended to only mount your project directory (current directory) into the VM",
     "kind": "docs",
     "captured": "2026-10-21"
    },
    "e4": {
     "url": "https://api.github.com/repos/lima-vm/lima",
     "quote": "Apache-2.0",
     "kind": "repo-api",
     "captured": "2026-10-21"
    }
   },
   "notes": null,
   "as_of": "2026-10-21",
   "leaf": "3.1",
   "lanes": {
    "concern": "security",
    "home": "cncf",
    "license": "osi",
    "maturity": "incubating",
    "policy": "owner-config"
   },
   "page": "/safeguards/lima",
   "logo": null
  },
  {
   "slug": "litellm",
   "name": "LiteLLM",
   "org": "BerriAI",
   "org_kind": "company",
   "homepage": "https://docs.litellm.ai/",
   "repo": "https://github.com/BerriAI/litellm",
   "license": "MIT",
   "license_class": "osi",
   "description": "An open-source LLM proxy and MCP gateway that routes model, tool and agent calls with tool allow and deny lists, guardrails and tracing.",
   "home": "none",
   "home_detail": null,
   "maturity": "released",
   "tier": "mapped",
   "tier_reason": null,
   "placements": [
    {
     "leaf": "3.3",
     "primary": true,
     "capability": "Sits on the path between applications and their models, MCP servers and agents, and lets the operator allow or block specific tools and runs guardrails on inputs and outputs.",
     "evidence": [
      "e2",
      "e3",
      "e4",
      "e5",
      "e6"
     ]
    }
   ],
   "facets": {
    "concern": [
     "security"
    ],
    "cites_law": false,
    "jurisdictions": [],
    "subject": [
     "agent",
     "ai-system"
    ],
    "user_party": [
     "runs"
    ],
    "run_mode": [
     "at-runtime"
    ],
    "policy_source": [
     "owner-config"
    ],
    "traffic_seen": [
     "model",
     "tool",
     "agent-to-agent"
    ],
    "agent_can_bypass": "depends",
    "inventory_only": false
   },
   "handoffs": [
    {
     "artifact": "runtime-records",
     "direction": "produces",
     "format": "OpenTelemetry (OTLP exporters)"
    }
   ],
   "evidence": {
    "e1": {
     "url": "https://raw.githubusercontent.com/BerriAI/litellm/main/LICENSE",
     "quote": "Content outside of the above mentioned directories or restrictions above is available under the MIT license as defined below.",
     "kind": "readme",
     "captured": "2026-10-20"
    },
    "e2": {
     "url": "https://docs.litellm.ai/docs/mcp",
     "quote": "LiteLLM namespaces multiple MCP servers by prefixing each tool name with its MCP server name",
     "kind": "docs",
     "captured": "2026-10-20"
    },
    "e3": {
     "url": "https://docs.litellm.ai/docs/mcp",
     "quote": "Route, control, and observe LLM traffic",
     "kind": "docs",
     "captured": "2026-10-20"
    },
    "e4": {
     "url": "https://docs.litellm.ai/docs/mcp",
     "quote": "Register and invoke A2A agents",
     "kind": "docs",
     "captured": "2026-10-20"
    },
    "e5": {
     "url": "https://docs.litellm.ai/docs/mcp_control",
     "quote": "Use disallowed_tools to block specific tools. All other tools will be available.",
     "kind": "docs",
     "captured": "2026-10-20"
    },
    "e6": {
     "url": "https://docs.litellm.ai/docs/proxy/guardrails/quick_start",
     "quote": "Run before LLM call, on input",
     "kind": "docs",
     "captured": "2026-10-20"
    },
    "e7": {
     "url": "https://docs.litellm.ai/docs/observability/opentelemetry_integration",
     "quote": "Install the OpenTelemetry SDK: uv add opentelemetry-api opentelemetry-sdk opentelemetry-exporter-otlp",
     "kind": "docs",
     "captured": "2026-10-20"
    },
    "e8": {
     "url": "https://github.com/BerriAI/litellm/releases",
     "quote": "Release list v1.104.4 v1.107.0-rc.2 v1.107.0-rc.1 v1.106.0",
     "kind": "release-notes",
     "captured": "2026-10-20"
    }
   },
   "notes": null,
   "as_of": "2026-10-20",
   "leaf": "3.3",
   "lanes": {
    "concern": "security",
    "home": "none",
    "license": "osi",
    "maturity": "released",
    "policy": "owner-config"
   },
   "page": "/safeguards/litellm",
   "logo": "/safeguards/logos/litellm.png"
  },
  {
   "slug": "llamaindex-agents",
   "name": "LlamaIndex agents",
   "org": "LlamaIndex",
   "org_kind": "company",
   "homepage": "https://developers.llamaindex.ai/",
   "repo": "https://github.com/run-llama/llama_index",
   "license": "MIT",
   "license_class": "osi",
   "description": "An agent framework whose workflow events let a tool stop and wait for a person's confirmation before a dangerous task proceeds.",
   "home": "none",
   "home_detail": null,
   "maturity": "released",
   "tier": "listed",
   "tier_reason": "Listed, not drawn: no documented handoff and no foundation home places it on the map.",
   "placements": [
    {
     "leaf": "3.2",
     "primary": true,
     "capability": "Lets a tool emit an input-required event and wait for a human response event before the task continues.",
     "evidence": [
      "e1",
      "e2"
     ]
    }
   ],
   "facets": {
    "concern": [
     "safety"
    ],
    "cites_law": false,
    "jurisdictions": [],
    "subject": [
     "agent"
    ],
    "user_party": [
     "makes"
    ],
    "run_mode": [
     "at-runtime"
    ],
    "policy_source": [
     "owner-config"
    ],
    "agent_can_bypass": "depends",
    "inventory_only": false
   },
   "handoffs": [],
   "evidence": {
    "e1": {
     "url": "https://developers.llamaindex.ai/python/framework/understanding/agent/human_in_the_loop/",
     "quote": "This is useful for tasks that require human input, such as confirming a tool call or providing feedback.",
     "kind": "docs",
     "captured": "2026-10-20"
    },
    "e2": {
     "url": "https://developers.llamaindex.ai/python/framework/understanding/agent/human_in_the_loop/",
     "quote": "We have built-in InputRequiredEvent and HumanResponseEvent events to use for this purpose.",
     "kind": "docs",
     "captured": "2026-10-20"
    },
    "e3": {
     "url": "https://github.com/run-llama/llama_index/releases",
     "quote": "Latest Latest Compare Choose a tag to compare",
     "kind": "release-notes",
     "captured": "2026-10-20"
    },
    "e4": {
     "url": "https://raw.githubusercontent.com/run-llama/llama_index/main/LICENSE",
     "quote": "The MIT License Copyright (c) Jerry Liu",
     "kind": "readme",
     "captured": "2026-10-20"
    }
   },
   "notes": null,
   "as_of": "2026-10-20",
   "leaf": "3.2",
   "lanes": {
    "concern": "safety",
    "home": "none",
    "license": "osi",
    "maturity": "released",
    "policy": "owner-config"
   },
   "page": "/safeguards/llamaindex-agents",
   "logo": "/safeguards/logos/llamaindex-agents.svg"
  },
  {
   "slug": "lunar-mcpx",
   "name": "Lunar MCPX",
   "org": "Lunar.dev",
   "org_kind": "company",
   "homepage": "https://lunar.dev",
   "repo": "https://github.com/TheLunarCompany/lunar",
   "license": "MIT",
   "license_class": "osi",
   "description": "An open-source aggregator that puts several MCP servers behind one gateway endpoint, from a project that also describes tool-access control for agent traffic.",
   "home": "none",
   "home_detail": null,
   "maturity": "released",
   "tier": "listed",
   "tier_reason": "Listed, not drawn: no documented handoff and no foundation home places it on the map.",
   "placements": [
    {
     "leaf": "3.3",
     "primary": true,
     "capability": "Aggregates several MCP servers behind one gateway endpoint; the parent project describes controlling tool access with fine-grained rules.",
     "evidence": [
      "e2",
      "e3",
      "e4"
     ]
    }
   ],
   "facets": {
    "concern": [
     "security"
    ],
    "cites_law": false,
    "jurisdictions": [],
    "subject": [
     "agent",
     "ai-system"
    ],
    "user_party": [
     "runs"
    ],
    "run_mode": [
     "at-runtime"
    ],
    "policy_source": [
     "owner-config"
    ],
    "traffic_seen": [
     "tool"
    ],
    "agent_can_bypass": "depends",
    "inventory_only": false
   },
   "handoffs": [],
   "evidence": {
    "e1": {
     "url": "https://raw.githubusercontent.com/TheLunarCompany/lunar/main/LICENSE",
     "quote": "MIT License Copyright (c) 2023 Lunar.dev",
     "kind": "readme",
     "captured": "2026-10-20"
    },
    "e2": {
     "url": "https://raw.githubusercontent.com/TheLunarCompany/lunar/main/README.md",
     "quote": "Control tool access, throttle agent actions, and govern agentic traffic with fine-grained rules.",
     "kind": "readme",
     "captured": "2026-10-20"
    },
    "e3": {
     "url": "https://raw.githubusercontent.com/TheLunarCompany/lunar/main/mcpx/README.md",
     "quote": "Lunar MCPX is an MCP server which serves as an aggregator for other MCP servers.",
     "kind": "readme",
     "captured": "2026-10-20"
    },
    "e4": {
     "url": "https://raw.githubusercontent.com/TheLunarCompany/lunar/main/README.md",
     "quote": "consolidating multiple MCP servers into a single gateway, enhancing security, observability, and management",
     "kind": "readme",
     "captured": "2026-10-20"
    },
    "e6": {
     "url": "https://raw.githubusercontent.com/TheLunarCompany/lunar/main/mcpx/README.md",
     "quote": "https://img.shields.io/badge/version-v0.2.28--0afe9d8-blue.svg",
     "kind": "readme",
     "captured": "2026-10-20"
    }
   },
   "notes": "Thin evidence: the MCPX README documents aggregation only, and the policy sentence comes from the parent project README, which covers the Lunar Proxy too. The README also says the project is free for non-production and personal use while the license file is MIT. docs.lunar.dev now serves Boomi documentation, which is not cited because it describes another edition.",
   "as_of": "2026-10-20",
   "leaf": "3.3",
   "lanes": {
    "concern": "security",
    "home": "none",
    "license": "osi",
    "maturity": "released",
    "policy": "owner-config"
   },
   "page": "/safeguards/lunar-mcpx",
   "logo": "/safeguards/logos/lunar-mcpx.svg"
  },
  {
   "slug": "mastra",
   "name": "Mastra",
   "org": "Kepler Software, Inc.",
   "org_kind": "company",
   "homepage": "https://mastra.ai/",
   "repo": "https://github.com/mastra-ai/mastra",
   "license": "Apache-2.0",
   "license_class": "osi",
   "description": "A TypeScript agent framework whose tools can require approval, pausing the agent run until a person approves or declines.",
   "home": "none",
   "home_detail": null,
   "maturity": "released",
   "tier": "mapped",
   "tier_reason": null,
   "placements": [
    {
     "leaf": "3.2",
     "primary": true,
     "capability": "Pauses an agent run at a tool the developer marked as requiring approval and resumes it when the call is approved or declined.",
     "evidence": [
      "e1",
      "e2"
     ]
    }
   ],
   "facets": {
    "concern": [
     "safety",
     "security"
    ],
    "cites_law": false,
    "jurisdictions": [],
    "subject": [
     "agent"
    ],
    "user_party": [
     "makes"
    ],
    "run_mode": [
     "at-runtime"
    ],
    "policy_source": [
     "owner-config"
    ],
    "agent_can_bypass": "depends",
    "inventory_only": false
   },
   "handoffs": [
    {
     "artifact": "runtime-records",
     "direction": "produces",
     "format": "OpenTelemetry-compatible tracing"
    }
   ],
   "evidence": {
    "e1": {
     "url": "https://mastra.ai/docs/agents/agent-approval",
     "quote": "check for the tool-call-approval chunk in the stream to approve or decline the action",
     "kind": "docs",
     "captured": "2026-10-20"
    },
    "e2": {
     "url": "https://mastra.ai/docs/agents/agent-approval",
     "quote": "Human-in-the-loop uses snapshots to capture request state.",
     "kind": "docs",
     "captured": "2026-10-20"
    },
    "e3": {
     "url": "https://mastra.ai/docs/observability/overview",
     "quote": "Mastra also supports external tracing providers like Langfuse, Datadog, and any OpenTelemetry-compatible platform.",
     "kind": "docs",
     "captured": "2026-10-20"
    },
    "e4": {
     "url": "https://github.com/mastra-ai/mastra/releases",
     "quote": "Release list October 15, 2026 October 14, 2026",
     "kind": "release-notes",
     "captured": "2026-10-20"
    },
    "e5": {
     "url": "https://raw.githubusercontent.com/mastra-ai/mastra/main/LICENSE.md",
     "quote": "Licensed under the Apache License, Version 2.0 (the \"License\")",
     "kind": "readme",
     "captured": "2026-10-20"
    }
   },
   "notes": null,
   "as_of": "2026-10-20",
   "leaf": "3.2",
   "lanes": {
    "concern": "safety",
    "home": "none",
    "license": "osi",
    "maturity": "released",
    "policy": "owner-config"
   },
   "page": "/safeguards/mastra",
   "logo": "/safeguards/logos/mastra.png"
  },
  {
   "slug": "mcp-gateway-registry",
   "name": "MCP Gateway Registry",
   "org": "agentic-community",
   "org_kind": "community",
   "homepage": "https://agentic-community.github.io/mcp-gateway-registry/",
   "repo": "https://github.com/agentic-community/mcp-gateway-registry",
   "license": "Apache-2.0",
   "license_class": "osi",
   "description": "A reverse proxy and registry for MCP servers that validates OAuth access with fine-grained scopes and keeps an inventory and audit trail of the servers and agents behind it.",
   "home": "none",
   "home_detail": null,
   "maturity": "released",
   "tier": "mapped",
   "tier_reason": null,
   "placements": [
    {
     "leaf": "3.3",
     "primary": true,
     "capability": "Sits on the path between agents and MCP servers as a reverse proxy that validates authentication, routes to backends and applies scopes the owner defines.",
     "evidence": [
      "e2",
      "e3",
      "e4"
     ]
    }
   ],
   "facets": {
    "concern": [
     "security"
    ],
    "cites_law": false,
    "jurisdictions": [],
    "subject": [
     "agent",
     "software"
    ],
    "user_party": [
     "runs"
    ],
    "run_mode": [
     "at-runtime"
    ],
    "policy_source": [
     "owner-config"
    ],
    "traffic_seen": [
     "tool"
    ],
    "agent_can_bypass": "depends",
    "inventory_only": false
   },
   "handoffs": [
    {
     "artifact": "runtime-records",
     "direction": "produces",
     "format": "OTLP"
    }
   ],
   "evidence": {
    "e1": {
     "url": "https://github.com/aaif/project-proposals/issues/29",
     "quote": "Proposal is being actively reviewed by AAIF staff or prepared for a TC meeting.",
     "kind": "foundation-page",
     "captured": "2026-10-20"
    },
    "e2": {
     "url": "https://raw.githubusercontent.com/agentic-community/mcp-gateway-registry/main/README.md",
     "quote": "a generic nginx reverse proxy: TLS, auth validation, routing to backends",
     "kind": "readme",
     "captured": "2026-10-20"
    },
    "e3": {
     "url": "https://raw.githubusercontent.com/agentic-community/mcp-gateway-registry/main/README.md",
     "quote": "OAuth against your existing IdP (Keycloak, Entra ID, Okta, Auth0, Cognito, PingFederate) with fine-grained",
     "kind": "readme",
     "captured": "2026-10-20"
    },
    "e4": {
     "url": "https://raw.githubusercontent.com/agentic-community/mcp-gateway-registry/main/README.md",
     "quote": "you can connect OAuth-protected SaaS MCP servers such as Slack, Atlassian, and GitHub",
     "kind": "readme",
     "captured": "2026-10-20"
    },
    "e5": {
     "url": "https://raw.githubusercontent.com/agentic-community/mcp-gateway-registry/main/docs/OBSERVABILITY.md",
     "quote": "OTLP push to your collector or vendor.",
     "kind": "docs",
     "captured": "2026-10-20"
    },
    "e6": {
     "url": "https://github.com/agentic-community/mcp-gateway-registry/releases",
     "quote": "Root-Endpoint Routing Latest Latest Compare Choose a tag to compare",
     "kind": "release-notes",
     "captured": "2026-10-20"
    },
    "e7": {
     "url": "https://raw.githubusercontent.com/agentic-community/mcp-gateway-registry/main/LICENSE",
     "quote": "Apache License Version 2.0, January 2004",
     "kind": "readme",
     "captured": "2026-10-20"
    }
   },
   "notes": null,
   "as_of": "2026-10-20",
   "leaf": "3.3",
   "lanes": {
    "concern": "security",
    "home": "none",
    "license": "osi",
    "maturity": "released",
    "policy": "owner-config"
   },
   "page": "/safeguards/mcp-gateway-registry",
   "logo": "/safeguards/logos/mcp-gateway-registry.png"
  },
  {
   "slug": "microsoft-agent-framework",
   "name": "Microsoft Agent Framework",
   "org": "Microsoft",
   "org_kind": "company",
   "homepage": "https://learn.microsoft.com/en-us/agent-framework/",
   "repo": "https://github.com/microsoft/agent-framework",
   "license": "MIT",
   "license_class": "osi",
   "description": "An agent framework whose function tools can require human approval before they run, with a middleware system and OpenTelemetry traces.",
   "home": "none",
   "home_detail": null,
   "maturity": "released",
   "tier": "mapped",
   "tier_reason": null,
   "placements": [
    {
     "leaf": "3.2",
     "primary": true,
     "capability": "Lets a developer mark each function tool as requiring human approval before it executes, and wraps agent requests in middleware.",
     "evidence": [
      "e1",
      "e2",
      "e3"
     ]
    }
   ],
   "facets": {
    "concern": [
     "safety",
     "security"
    ],
    "cites_law": false,
    "jurisdictions": [],
    "subject": [
     "agent"
    ],
    "user_party": [
     "makes"
    ],
    "run_mode": [
     "at-runtime"
    ],
    "policy_source": [
     "owner-config"
    ],
    "agent_can_bypass": "depends",
    "inventory_only": false
   },
   "handoffs": [
    {
     "artifact": "runtime-records",
     "direction": "produces",
     "format": "OpenTelemetry traces, logs and metrics (GenAI semantic conventions)"
    }
   ],
   "evidence": {
    "e1": {
     "url": "https://learn.microsoft.com/en-us/agent-framework/agents/tools/tool-approval",
     "quote": "When agents require any user input, for example to approve a function call, this is referred to as a human-in-the-loop pattern.",
     "kind": "docs",
     "captured": "2026-10-20"
    },
    "e2": {
     "url": "https://learn.microsoft.com/en-us/agent-framework/agents/tools/tool-approval",
     "quote": "whether it requires human approval before being executed",
     "kind": "docs",
     "captured": "2026-10-20"
    },
    "e3": {
     "url": "https://raw.githubusercontent.com/microsoft/agent-framework/main/README.md",
     "quote": "Flexible middleware system for request/response processing, exception handling, and custom pipelines",
     "kind": "readme",
     "captured": "2026-10-20"
    },
    "e4": {
     "url": "https://learn.microsoft.com/en-us/agent-framework/agents/observability",
     "quote": "Agent Framework emits traces, logs, and metrics according to the OpenTelemetry GenAI Semantic Conventions",
     "kind": "docs",
     "captured": "2026-10-20"
    },
    "e5": {
     "url": "https://github.com/microsoft/agent-framework/releases",
     "quote": "Latest Latest Compare Choose a tag to compare",
     "kind": "release-notes",
     "captured": "2026-10-20"
    },
    "e6": {
     "url": "https://raw.githubusercontent.com/microsoft/agent-framework/main/LICENSE",
     "quote": "MIT License Copyright (c) Microsoft Corporation.",
     "kind": "readme",
     "captured": "2026-10-20"
    }
   },
   "notes": null,
   "as_of": "2026-10-20",
   "leaf": "3.2",
   "lanes": {
    "concern": "safety",
    "home": "none",
    "license": "osi",
    "maturity": "released",
    "policy": "owner-config"
   },
   "page": "/safeguards/microsoft-agent-framework",
   "logo": null
  },
  {
   "slug": "microsoft-agent-governance-toolkit",
   "name": "Microsoft Agent Governance Toolkit",
   "org": "Microsoft",
   "org_kind": "company",
   "homepage": null,
   "repo": "https://github.com/microsoft/agent-governance-toolkit",
   "license": "MIT",
   "license_class": "osi",
   "description": "An open-source toolkit that checks each agent tool call against a policy in application code before it runs, with YAML policies and Rego or Cedar policies.",
   "home": "none",
   "home_detail": null,
   "maturity": "public-beta",
   "tier": "listed",
   "tier_reason": "Listed, not drawn: no documented handoff and no foundation home places it on the map.",
   "placements": [
    {
     "leaf": "3.2",
     "primary": true,
     "capability": "Intercepts an agent's tool calls, messages and delegations in application code and allows or denies each against a policy written in YAML, Rego or Cedar.",
     "evidence": [
      "e2",
      "e3",
      "e4"
     ]
    }
   ],
   "facets": {
    "concern": [
     "security"
    ],
    "cites_law": false,
    "jurisdictions": [],
    "subject": [
     "agent",
     "ai-system"
    ],
    "user_party": [
     "runs"
    ],
    "run_mode": [
     "at-runtime"
    ],
    "policy_source": [
     "owner-config",
     "imported-bundle"
    ],
    "agent_can_bypass": "depends",
    "inventory_only": false
   },
   "handoffs": [],
   "evidence": {
    "e1": {
     "url": "https://api.github.com/repos/microsoft/agent-governance-toolkit",
     "quote": "MIT",
     "kind": "repo-api",
     "captured": "2026-10-20"
    },
    "e2": {
     "url": "https://raw.githubusercontent.com/microsoft/agent-governance-toolkit/main/README.md",
     "quote": "Every tool call, message send, and delegation is intercepted in deterministic application code",
     "kind": "readme",
     "captured": "2026-10-20"
    },
    "e3": {
     "url": "https://raw.githubusercontent.com/microsoft/agent-governance-toolkit/main/docs/tutorials/08-opa-rego-cedar-policies.md",
     "quote": "Rego policies reference a bundle and query.",
     "kind": "docs",
     "captured": "2026-10-20"
    },
    "e4": {
     "url": "https://raw.githubusercontent.com/microsoft/agent-governance-toolkit/main/README.md",
     "quote": "evaluates the YAML policy, logs the decision to an audit trail",
     "kind": "readme",
     "captured": "2026-10-20"
    },
    "e5": {
     "url": "https://raw.githubusercontent.com/microsoft/agent-governance-toolkit/main/README.md",
     "quote": "production-quality public preview releases. May have breaking changes before GA.",
     "kind": "readme",
     "captured": "2026-10-20"
    }
   },
   "notes": null,
   "as_of": "2026-10-20",
   "leaf": "3.2",
   "lanes": {
    "concern": "security",
    "home": "none",
    "license": "osi",
    "maturity": "public-beta",
    "policy": "imported-bundle"
   },
   "page": "/safeguards/microsoft-agent-governance-toolkit",
   "logo": null
  },
  {
   "slug": "minder",
   "name": "Minder",
   "org": "Open Source Security Foundation",
   "org_kind": "foundation",
   "homepage": "https://mindersec.dev/",
   "repo": "https://github.com/mindersec/minder",
   "license": "Apache-2.0",
   "license_class": "osi",
   "description": "A platform that enrolls repositories, evaluates them against security policies and rules, and raises alerts or applies automatic remediation.",
   "home": "openssf",
   "home_detail": null,
   "maturity": "sandbox",
   "tier": "mapped",
   "tier_reason": null,
   "placements": [
    {
     "leaf": "3.7",
     "primary": true,
     "capability": "Evaluates enrolled repositories and artifacts against the rules in a profile, in predefined or custom rules, then raises an alert or applies automatic remediation when a rule fails.",
     "evidence": [
      "e2",
      "e3",
      "e4"
     ]
    }
   ],
   "facets": {
    "concern": [
     "security"
    ],
    "cites_law": false,
    "jurisdictions": [],
    "subject": [
     "software"
    ],
    "user_party": [
     "makes",
     "runs"
    ],
    "run_mode": [
     "at-runtime"
    ],
    "policy_source": [
     "vendor-defaults",
     "owner-config"
    ],
    "inventory_only": false
   },
   "handoffs": [
    {
     "artifact": "provenance",
     "direction": "consumes",
     "format": "package signatures (Sigstore)"
    }
   ],
   "evidence": {
    "e1": {
     "url": "https://raw.githubusercontent.com/ossf/tac/main/README.md",
     "quote": "| Minder | [GitHub](https://github.com/mindersec/minder) | https://mindersec.dev/ | ORBIT WG | [Sandbox](process/project-lifecycle-documents/minder_sandbox_stage.md) |",
     "kind": "foundation-page",
     "captured": "2026-10-20"
    },
    "e2": {
     "url": "https://docs.mindersec.dev/",
     "quote": "Minder allows users to enroll repositories and define policy to ensure repositories and artifacts are configured consistently and securely.",
     "kind": "docs",
     "captured": "2026-10-20"
    },
    "e3": {
     "url": "https://docs.mindersec.dev/",
     "quote": "Policies can be set to alert only or autoremediate.",
     "kind": "docs",
     "captured": "2026-10-20"
    },
    "e4": {
     "url": "https://raw.githubusercontent.com/mindersec/minder/main/docs/docs/understand/key_concepts.md",
     "quote": "Minder currently supports two rule evaluation engines: `rego` and `jq`.",
     "kind": "docs",
     "captured": "2026-10-20"
    },
    "e5": {
     "url": "https://docs.mindersec.dev/",
     "quote": "Minder provides a predefined set of rules and can also be configured to apply custom rules.",
     "kind": "docs",
     "captured": "2026-10-20"
    },
    "e6": {
     "url": "https://docs.mindersec.dev/",
     "quote": "Continuously verify that packages are signed to ensure they're tamper-proof, using the open source project Sigstore.",
     "kind": "docs",
     "captured": "2026-10-20"
    },
    "e7": {
     "url": "https://api.github.com/repos/mindersec/minder",
     "quote": "Apache-2.0",
     "kind": "repo-api",
     "captured": "2026-10-20"
    }
   },
   "notes": null,
   "as_of": "2026-10-20",
   "leaf": "3.7",
   "lanes": {
    "concern": "security",
    "home": "openssf",
    "license": "osi",
    "maturity": "sandbox",
    "policy": "owner-config"
   },
   "page": "/safeguards/minder",
   "logo": "/safeguards/logos/minder.png"
  },
  {
   "slug": "mintmcp",
   "name": "MintMCP",
   "org": "Mintive",
   "org_kind": "company",
   "homepage": "https://www.mintive.com/",
   "repo": null,
   "license": null,
   "license_class": "proprietary",
   "description": "A commercial MCP and LLM gateway, now sold as Mintive, with an approved-server catalog, role-based tool sets, model allow lists and built-in screening of tool calls.",
   "home": "vendor",
   "home_detail": null,
   "maturity": "ga",
   "tier": "listed",
   "tier_reason": "Listed, not drawn: no documented handoff and no foundation home places it on the map.",
   "placements": [
    {
     "leaf": "3.3",
     "primary": true,
     "capability": "Sits on the request path for MCP tool calls and model calls, limits agents to approved servers, role-based tool sets and allowed models, and screens tool calls for prompt injection and sensitive data.",
     "evidence": [
      "e2",
      "e3",
      "e4"
     ]
    }
   ],
   "facets": {
    "concern": [
     "security"
    ],
    "cites_law": false,
    "jurisdictions": [],
    "subject": [
     "agent",
     "ai-system"
    ],
    "user_party": [
     "runs"
    ],
    "run_mode": [
     "at-runtime"
    ],
    "policy_source": [
     "owner-config",
     "vendor-defaults"
    ],
    "traffic_seen": [
     "model",
     "tool"
    ],
    "agent_can_bypass": "depends",
    "inventory_only": false
   },
   "handoffs": [],
   "evidence": {
    "e1": {
     "url": "https://www.mintive.com/docs/intro",
     "quote": "Mintive brings five products under one platform, so the groups, identities, and audit trail you set up once apply to every agent",
     "kind": "docs",
     "captured": "2026-10-20"
    },
    "e2": {
     "url": "https://www.mintive.com/docs/intro",
     "quote": "Approve the MCP servers your team can use and bundle tools by role, so agents reach only what you permit",
     "kind": "docs",
     "captured": "2026-10-20"
    },
    "e3": {
     "url": "https://www.mintive.com/docs/intro",
     "quote": "Mint Guard screens every MCP gateway tool call in real time for prompt injection and sensitive data.",
     "kind": "docs",
     "captured": "2026-10-20"
    },
    "e4": {
     "url": "https://www.mintive.com/docs/intro",
     "quote": "Route model calls through Mintive with per-team budgets, allowed models, and multiple providers",
     "kind": "docs",
     "captured": "2026-10-20"
    },
    "e5": {
     "url": "https://www.mintive.com/docs/intro",
     "quote": "Mintive maintains the detection policy, so your team doesn't write rules.",
     "kind": "docs",
     "captured": "2026-10-20"
    }
   },
   "notes": null,
   "as_of": "2026-10-20",
   "leaf": "3.3",
   "lanes": {
    "concern": "security",
    "home": "vendor",
    "license": "proprietary",
    "maturity": "ga",
    "policy": "owner-config"
   },
   "page": "/safeguards/mintmcp",
   "logo": "/safeguards/logos/mintmcp.png"
  },
  {
   "slug": "monocle",
   "name": "Monocle",
   "org": "LF AI & Data Foundation",
   "org_kind": "foundation",
   "homepage": null,
   "repo": "https://github.com/monocle2ai/monocle",
   "license": "Apache-2.0",
   "license_class": "osi",
   "description": "A Python tracing SDK that records agent runs, tool calls and model invocations of a GenAI application as OpenTelemetry spans.",
   "home": "lfai-data",
   "home_detail": null,
   "maturity": "incubating",
   "tier": "mapped",
   "tier_reason": null,
   "placements": [
    {
     "leaf": "3.8",
     "primary": true,
     "capability": "Records the agent runs, tool calls and LLM interactions of a running GenAI application as OpenTelemetry spans that other systems can read.",
     "evidence": [
      "e2",
      "e3"
     ]
    }
   ],
   "facets": {
    "concern": [
     "security"
    ],
    "cites_law": false,
    "jurisdictions": [],
    "subject": [
     "agent",
     "ai-system"
    ],
    "user_party": [
     "makes",
     "runs"
    ],
    "run_mode": [
     "at-runtime"
    ],
    "inventory_only": false
   },
   "handoffs": [
    {
     "artifact": "runtime-records",
     "direction": "produces",
     "format": "OTLP-compatible OpenTelemetry spans"
    }
   ],
   "evidence": {
    "e1": {
     "url": "https://lfaidata.foundation/projects/monocle/",
     "quote": "It graduated to Incubation tier in July 2026.",
     "kind": "foundation-page",
     "captured": "2026-10-20"
    },
    "e2": {
     "url": "https://raw.githubusercontent.com/monocle2ai/monocle/main/README.md",
     "quote": "Each file contains an array of OpenTelemetry spans capturing agent runs, tool calls, and LLM interactions.",
     "kind": "readme",
     "captured": "2026-10-20"
    },
    "e3": {
     "url": "https://raw.githubusercontent.com/monocle2ai/monocle/main/README.md",
     "quote": "defines entities such as agents, prompts, responses, tools, and vector operations, and maps them to standardized span attributes",
     "kind": "readme",
     "captured": "2026-10-20"
    },
    "e4": {
     "url": "https://raw.githubusercontent.com/monocle2ai/monocle/main/README.md",
     "quote": "Monocle emits standard OTLP spans so you can send them to any observability backend",
     "kind": "readme",
     "captured": "2026-10-20"
    },
    "e5": {
     "url": "https://api.github.com/repos/monocle2ai/monocle",
     "quote": "Apache-2.0",
     "kind": "repo-api",
     "captured": "2026-10-20"
    }
   },
   "notes": "What is recorded follows the metamodel the project ships. Its separate test package, monocle-test-tools, is not mapped.",
   "as_of": "2026-10-20",
   "leaf": "3.8",
   "lanes": {
    "concern": "security",
    "home": "lfai-data",
    "license": "osi",
    "maturity": "incubating",
    "policy": "na"
   },
   "page": "/safeguards/monocle",
   "logo": "/safeguards/logos/monocle.svg"
  },
  {
   "slug": "mulesoft-omni-gateway",
   "name": "MuleSoft Omni Gateway",
   "org": "Salesforce",
   "org_kind": "company",
   "homepage": "https://docs.mulesoft.com/gateway/",
   "repo": null,
   "license": null,
   "license_class": "proprietary",
   "description": "MuleSoft's Envoy-based gateway with policies for MCP, A2A and LLM traffic, including Cedar access rules on MCP tools and an external authorization callout.",
   "home": "vendor",
   "home_detail": null,
   "maturity": "ga",
   "tier": "listed",
   "tier_reason": "Listed, not drawn: no documented handoff and no foundation home places it on the map.",
   "placements": [
    {
     "leaf": "3.3",
     "primary": true,
     "capability": "Sits in front of APIs, MCP servers, agents and LLMs and applies policies such as Cedar access rules on MCP tools, resources and prompts, and forwards requests to an external authorization service.",
     "evidence": [
      "e1",
      "e2",
      "e3",
      "e5",
      "e6"
     ]
    }
   ],
   "facets": {
    "concern": [
     "security"
    ],
    "cites_law": false,
    "jurisdictions": [],
    "subject": [
     "agent",
     "ai-system"
    ],
    "user_party": [
     "runs"
    ],
    "run_mode": [
     "at-runtime"
    ],
    "policy_source": [
     "owner-config",
     "pdp-callout"
    ],
    "traffic_seen": [
     "model",
     "tool",
     "agent-to-agent"
    ],
    "agent_can_bypass": "depends",
    "inventory_only": false
   },
   "handoffs": [],
   "evidence": {
    "e1": {
     "url": "https://docs.mulesoft.com/llms.txt",
     "quote": "Omni Gateway (formerly Flex Gateway) is an Envoy-based, ultrafast lightweight API gateway designed to manage and secure APIs running anywhere.",
     "kind": "docs",
     "captured": "2026-10-20"
    },
    "e2": {
     "url": "https://docs.mulesoft.com/gateway/latest/policies-included-mcp-attribute-access-control",
     "quote": "The MCP Attribute-Based Access Control policy controls access to server tools, resources, and prompts based on user information such as Tiers, IP, Headers, or Claims.",
     "kind": "docs",
     "captured": "2026-10-20"
    },
    "e3": {
     "url": "https://docs.mulesoft.com/gateway/latest/policies-included-mcp-attribute-access-control",
     "quote": "Use the Cedar policy language to define access rules.",
     "kind": "docs",
     "captured": "2026-10-20"
    },
    "e4": {
     "url": "https://docs.mulesoft.com/gateway/latest/policies-included-external-authorization",
     "quote": "The External Authorization policy forwards incoming client HTTP requests to an external gRPC or HTTP authorization service to determine if the client HTTP request is authorized to access the upstream service.",
     "kind": "docs",
     "captured": "2026-10-20"
    },
    "e5": {
     "url": "https://docs.mulesoft.com/gateway/llms.txt",
     "quote": "A2A Personally Identifiable Information (PII) Detector Policy",
     "kind": "docs",
     "captured": "2026-10-20"
    },
    "e6": {
     "url": "https://docs.mulesoft.com/gateway/llms.txt",
     "quote": "LLM PII Detection Policy",
     "kind": "docs",
     "captured": "2026-10-20"
    }
   },
   "notes": null,
   "as_of": "2026-10-20",
   "leaf": "3.3",
   "lanes": {
    "concern": "security",
    "home": "vendor",
    "license": "proprietary",
    "maturity": "ga",
    "policy": "pdp-callout"
   },
   "page": "/safeguards/mulesoft-omni-gateway",
   "logo": "/safeguards/logos/mulesoft-omni-gateway.png"
  },
  {
   "slug": "nono",
   "name": "nono",
   "org": "Always Further, Inc",
   "org_kind": "company",
   "homepage": "https://nono.sh/",
   "repo": "https://github.com/nolabs-ai/nono",
   "license": "Apache-2.0",
   "license_class": "osi",
   "description": "A runtime security tool that runs each tool an AI agent calls in its own kernel-enforced sandbox under permissions the owner sets, and keeps a tamper-evident record of the session.",
   "home": "none",
   "home_detail": null,
   "maturity": "released",
   "tier": "mapped",
   "tier_reason": null,
   "placements": [
    {
     "leaf": "3.1",
     "primary": true,
     "capability": "Runs each tool an agent calls in its own ephemeral execution sandbox, isolated from the agent and other tools, with permissions for files, network access, environment variables and credentials that the owner sets in profiles.",
     "evidence": [
      "e2",
      "e3"
     ]
    },
    {
     "leaf": "3.8",
     "primary": false,
     "capability": "Keeps a tamper-evident record of agent sessions and security decisions, with integrity verification and optional signing.",
     "evidence": [
      "e4"
     ]
    }
   ],
   "facets": {
    "concern": [
     "security"
    ],
    "cites_law": false,
    "jurisdictions": [],
    "subject": [
     "agent",
     "software"
    ],
    "user_party": [
     "runs"
    ],
    "run_mode": [
     "at-runtime"
    ],
    "policy_source": [
     "owner-config"
    ],
    "agent_can_bypass": "depends",
    "inventory_only": false
   },
   "handoffs": [
    {
     "artifact": "provenance",
     "direction": "consumes",
     "format": "Sigstore signatures"
    }
   ],
   "evidence": {
    "e1": {
     "url": "https://github.com/aaif/project-proposals/issues/61",
     "quote": "New Project Proposal; has not yet been reviewed by AAIF staff or the TC.",
     "kind": "foundation-page",
     "captured": "2026-10-20"
    },
    "e2": {
     "url": "https://raw.githubusercontent.com/nolabs-ai/nono/main/README.md",
     "quote": "Run each tool in its own ephemeral sandbox, isolated from the agent and other tools, with explicit permissions for files, network access, environment variables, and credentials.",
     "kind": "readme",
     "captured": "2026-10-20"
    },
    "e3": {
     "url": "https://raw.githubusercontent.com/nolabs-ai/nono/main/README.md",
     "quote": "Define them in composable profiles and enforce rules such as",
     "kind": "readme",
     "captured": "2026-10-20"
    },
    "e4": {
     "url": "https://raw.githubusercontent.com/nolabs-ai/nono/main/README.md",
     "quote": "Keep a tamper-evident record of agent sessions and security decisions, with integrity verification and optional signing.",
     "kind": "readme",
     "captured": "2026-10-20"
    },
    "e5": {
     "url": "https://raw.githubusercontent.com/nolabs-ai/nono/main/README.md",
     "quote": "Verify the origin and integrity of skills, hooks, and instruction files with Sigstore.",
     "kind": "readme",
     "captured": "2026-10-20"
    },
    "e6": {
     "url": "https://github.com/nolabs-ai/nono/releases",
     "quote": "Release list v0.80.0 v0.79.0 v0.78.0 v0.77.0 v0.76.0",
     "kind": "release-notes",
     "captured": "2026-10-20"
    },
    "e7": {
     "url": "https://raw.githubusercontent.com/nolabs-ai/nono/main/LICENSE",
     "quote": "Apache License Version 2.0, January 2004",
     "kind": "readme",
     "captured": "2026-10-20"
    }
   },
   "notes": null,
   "as_of": "2026-10-20",
   "leaf": "3.1",
   "lanes": {
    "concern": "security",
    "home": "none",
    "license": "osi",
    "maturity": "released",
    "policy": "owner-config"
   },
   "page": "/safeguards/nono",
   "logo": "/safeguards/logos/nono.png"
  },
  {
   "slug": "notary-project",
   "name": "Notary Project (Notation)",
   "org": "Cloud Native Computing Foundation",
   "org_kind": "foundation",
   "homepage": "https://notaryproject.dev/",
   "repo": "https://github.com/notaryproject/notation",
   "license": "Apache-2.0",
   "license_class": "osi",
   "description": "Specifications and the Notation command-line tool for signing software artifacts and checking those signatures against a trust policy.",
   "home": "cncf",
   "home_detail": null,
   "maturity": "incubating",
   "tier": "mapped",
   "tier_reason": null,
   "placements": [
    {
     "leaf": "3.7",
     "primary": true,
     "capability": "Signs artifacts and validates their signatures against a trust policy the owner sets, so a system can decide which validated artifacts it allows to be used.",
     "evidence": [
      "e2",
      "e5"
     ]
    }
   ],
   "facets": {
    "concern": [
     "security"
    ],
    "cites_law": false,
    "jurisdictions": [],
    "subject": [
     "software"
    ],
    "user_party": [
     "makes",
     "distributes",
     "runs"
    ],
    "run_mode": [
     "by-hand",
     "in-ci"
    ],
    "policy_source": [
     "owner-config"
    ],
    "inventory_only": false
   },
   "handoffs": [
    {
     "artifact": "provenance",
     "direction": "produces",
     "format": "COSE and JWS signatures"
    },
    {
     "artifact": "provenance",
     "direction": "consumes",
     "format": "COSE and JWS signatures"
    }
   ],
   "evidence": {
    "e1": {
     "url": "https://www.cncf.io/projects/notary-project/",
     "quote": "Notary Project was accepted to CNCF on October 24, 2017 at the Incubating maturity level.",
     "kind": "foundation-page",
     "captured": "2026-10-20"
    },
    "e2": {
     "url": "https://notaryproject.dev/",
     "quote": "Signing and validating software artifacts, ensure they have not been tampered with",
     "kind": "product-page",
     "captured": "2026-10-20"
    },
    "e3": {
     "url": "https://notaryproject.dev/",
     "quote": "COSE and JWS signature format Not only images, it allows to sign and verify any software artifacts",
     "kind": "product-page",
     "captured": "2026-10-20"
    },
    "e4": {
     "url": "https://api.github.com/repos/notaryproject/notation",
     "quote": "Apache-2.0",
     "kind": "repo-api",
     "captured": "2026-10-20"
    },
    "e5": {
     "url": "https://notaryproject.dev/",
     "quote": "Able to custom trust policy and determine if a signed artifact is considered authentic",
     "kind": "product-page",
     "captured": "2026-10-20"
    }
   },
   "notes": null,
   "as_of": "2026-10-20",
   "leaf": "3.7",
   "lanes": {
    "concern": "security",
    "home": "cncf",
    "license": "osi",
    "maturity": "incubating",
    "policy": "owner-config"
   },
   "page": "/safeguards/notary-project",
   "logo": "/safeguards/logos/notary-project.svg"
  },
  {
   "slug": "obot",
   "name": "Obot",
   "org": "Obot AI",
   "org_kind": "company",
   "homepage": "https://obot.ai",
   "repo": "https://github.com/obot-platform/obot",
   "license": "MIT",
   "license_class": "osi",
   "description": "An open-source platform with MCP and LLM gateways that control access by user and group, restrict callable models and let webhook or MCP filters inspect, reject or modify calls.",
   "home": "none",
   "home_detail": null,
   "maturity": "released",
   "tier": "listed",
   "tier_reason": "Listed, not drawn: no documented handoff and no foundation home places it on the map.",
   "placements": [
    {
     "leaf": "3.3",
     "primary": true,
     "capability": "Proxies MCP servers and model providers, limits servers, tools and models by user or group, and lets operator filters inspect, reject or modify each MCP request and response.",
     "evidence": [
      "e2",
      "e3",
      "e4",
      "e5",
      "e6"
     ]
    }
   ],
   "facets": {
    "concern": [
     "security"
    ],
    "cites_law": false,
    "jurisdictions": [],
    "subject": [
     "agent",
     "ai-system"
    ],
    "user_party": [
     "runs"
    ],
    "run_mode": [
     "at-runtime"
    ],
    "policy_source": [
     "owner-config",
     "pdp-callout"
    ],
    "traffic_seen": [
     "model",
     "tool"
    ],
    "agent_can_bypass": "depends",
    "inventory_only": false
   },
   "handoffs": [],
   "evidence": {
    "e2": {
     "url": "https://raw.githubusercontent.com/obot-platform/obot/main/README.md",
     "quote": "The MCP Gateway is a single governed entry point to every MCP server a user is allowed to reach.",
     "kind": "readme",
     "captured": "2026-10-20"
    },
    "e3": {
     "url": "https://raw.githubusercontent.com/obot-platform/obot/main/README.md",
     "quote": "Inspect, reject, or modify MCP requests and responses with MCP or webhook filters.",
     "kind": "readme",
     "captured": "2026-10-20"
    },
    "e4": {
     "url": "https://raw.githubusercontent.com/obot-platform/obot/main/README.md",
     "quote": "Control server and tool access by user or identity-provider group.",
     "kind": "readme",
     "captured": "2026-10-20"
    },
    "e5": {
     "url": "https://raw.githubusercontent.com/obot-platform/obot/main/README.md",
     "quote": "Restrict the models visible and callable by each user through Model Access Policies.",
     "kind": "readme",
     "captured": "2026-10-20"
    },
    "e6": {
     "url": "https://raw.githubusercontent.com/obot-platform/obot/main/README.md",
     "quote": "The LLM Gateway presents provider-compatible endpoints that AI clients use to reach approved models.",
     "kind": "readme",
     "captured": "2026-10-20"
    },
    "e7": {
     "url": "https://raw.githubusercontent.com/obot-platform/obot/main/LICENSE",
     "quote": "MIT License Copyright © 2026 Obot AI, Inc",
     "kind": "readme",
     "captured": "2026-10-20"
    },
    "e8": {
     "url": "https://github.com/obot-platform/obot/releases",
     "quote": "Release list v0.27.0 v0.27.0-rc2 v0.27.0-rc1",
     "kind": "release-notes",
     "captured": "2026-10-20"
    }
   },
   "notes": null,
   "as_of": "2026-10-20",
   "leaf": "3.3",
   "lanes": {
    "concern": "security",
    "home": "none",
    "license": "osi",
    "maturity": "released",
    "policy": "pdp-callout"
   },
   "page": "/safeguards/obot",
   "logo": "/safeguards/logos/obot.png"
  },
  {
   "slug": "observal",
   "name": "Observal",
   "org": "Observal",
   "org_kind": "community",
   "homepage": "https://observal.io/",
   "repo": "https://github.com/Observal/Observal",
   "license": "Apache-2.0",
   "license_class": "osi",
   "description": "A self-hosted registry where admins review and approve skills, MCP servers and agents before developers install them, with session traces and audit logs.",
   "home": "none",
   "home_detail": null,
   "maturity": "released",
   "tier": "listed",
   "tier_reason": "Listed, not drawn: no documented handoff and no foundation home places it on the map.",
   "placements": [
    {
     "leaf": "3.7",
     "primary": true,
     "capability": "Holds agents, skills and MCP servers in a registry where reviewers approve each version under a review policy before developers install it.",
     "evidence": [
      "e2",
      "e3"
     ]
    },
    {
     "leaf": "3.8",
     "primary": false,
     "capability": "Records agent session traces and an audit log with filters and CSV export.",
     "evidence": [
      "e4",
      "e5"
     ]
    }
   ],
   "facets": {
    "concern": [
     "security"
    ],
    "cites_law": false,
    "jurisdictions": [],
    "subject": [
     "agent"
    ],
    "user_party": [
     "runs"
    ],
    "run_mode": [
     "at-runtime"
    ],
    "policy_source": [
     "owner-config"
    ],
    "inventory_only": false
   },
   "handoffs": [],
   "evidence": {
    "e1": {
     "url": "https://github.com/aaif/project-proposals/issues/59",
     "quote": "New Project Proposal; has not yet been reviewed by AAIF staff or the TC.",
     "kind": "foundation-page",
     "captured": "2026-10-20"
    },
    "e2": {
     "url": "https://raw.githubusercontent.com/Observal/Observal/main/README.md",
     "quote": "Review submissions, approve internal agents, inspect version diffs, and give developers one trusted place to install from.",
     "kind": "readme",
     "captured": "2026-10-20"
    },
    "e3": {
     "url": "https://raw.githubusercontent.com/Observal/Observal/main/README.md",
     "quote": "once the review policy and required checks are satisfied, a reviewer can publish the version, or policy can publish it automatically.",
     "kind": "readme",
     "captured": "2026-10-20"
    },
    "e4": {
     "url": "https://raw.githubusercontent.com/Observal/Observal/main/README.md",
     "quote": "Session traces provide the underlying evidence for debugging and auditing.",
     "kind": "readme",
     "captured": "2026-10-20"
    },
    "e5": {
     "url": "https://raw.githubusercontent.com/Observal/Observal/main/README.md",
     "quote": "Audit log with filter syntax",
     "kind": "readme",
     "captured": "2026-10-20"
    },
    "e6": {
     "url": "https://github.com/Observal/Observal/releases",
     "quote": "Release list Observal v1.15.1 Observal v1.15.0",
     "kind": "release-notes",
     "captured": "2026-10-20"
    },
    "e7": {
     "url": "https://raw.githubusercontent.com/Observal/Observal/main/LICENSE",
     "quote": "Apache License Version 2.0, January 2004",
     "kind": "readme",
     "captured": "2026-10-20"
    }
   },
   "notes": null,
   "as_of": "2026-10-20",
   "leaf": "3.7",
   "lanes": {
    "concern": "security",
    "home": "none",
    "license": "osi",
    "maturity": "released",
    "policy": "owner-config"
   },
   "page": "/safeguards/observal",
   "logo": "/safeguards/logos/observal.png"
  },
  {
   "slug": "occlum",
   "name": "Occlum",
   "org": "Confidential Computing Consortium",
   "org_kind": "foundation",
   "homepage": "https://occlum.io/",
   "repo": "https://github.com/occlum/occlum",
   "license": "BSD-3-Clause",
   "license_class": "osi",
   "description": "A library operating system for Intel SGX that runs unmodified applications inside enclaves, with an optional memory-protection-keys feature for fault isolation.",
   "home": "lf-other",
   "home_detail": "Occlum, a Confidential Computing Consortium project (an open community under the Linux Foundation)",
   "maturity": "released",
   "tier": "mapped",
   "tier_reason": null,
   "placements": [
    {
     "leaf": "3.1",
     "primary": true,
     "capability": "Runs legacy applications inside Intel SGX enclaves, which protects the confidentiality and integrity of the workload, with optional Protection Keys for Userspace fault isolation inside the library OS.",
     "evidence": [
      "e3",
      "e4"
     ]
    }
   ],
   "facets": {
    "concern": [
     "security"
    ],
    "cites_law": false,
    "jurisdictions": [],
    "subject": [
     "software"
    ],
    "user_party": [
     "runs"
    ],
    "run_mode": [
     "at-runtime"
    ],
    "policy_source": [
     "vendor-defaults"
    ],
    "agent_can_bypass": "depends",
    "inventory_only": false
   },
   "handoffs": [],
   "evidence": {
    "e1": {
     "url": "https://confidentialcomputing.io/2023/01/",
     "quote": "CCC projects Gramine, Occlum, and Open Enclave SDK all rely on separate implementations of “Remote Attestation TLS.”",
     "kind": "foundation-page",
     "captured": "2026-10-21"
    },
    "e2": {
     "url": "https://github.com/occlum/occlum/releases",
     "quote": "Release list 0.31.0 0.30.1 0.30.0 0.29.7 0.29.6",
     "kind": "release-notes",
     "captured": "2026-10-21"
    },
    "e3": {
     "url": "https://raw.githubusercontent.com/occlum/occlum/master/README.md",
     "quote": "thus protecting the confidentiality and integrity of user workloads transparently",
     "kind": "readme",
     "captured": "2026-10-21"
    },
    "e4": {
     "url": "https://raw.githubusercontent.com/occlum/occlum/master/README.md",
     "quote": "Occlum offers an optional [**PKU**](./docs/pku_manual.md) (Protection Keys",
     "kind": "readme",
     "captured": "2026-10-21"
    },
    "e5": {
     "url": "https://raw.githubusercontent.com/occlum/occlum/master/LICENSE",
     "quote": "Occlum is licensed under BSD License.",
     "kind": "readme",
     "captured": "2026-10-21"
    },
    "e6": {
     "url": "https://raw.githubusercontent.com/occlum/occlum/master/LICENSE",
     "quote": "Neither the name of copyright holder nor the names of its contributors may be used to endorse or promote products derived from this software",
     "kind": "readme",
     "captured": "2026-10-21"
    }
   },
   "notes": null,
   "as_of": "2026-10-21",
   "leaf": "3.1",
   "lanes": {
    "concern": "security",
    "home": "lf-other",
    "license": "osi",
    "maturity": "released",
    "policy": "vendor-defaults"
   },
   "page": "/safeguards/occlum",
   "logo": null
  },
  {
   "slug": "opa-gatekeeper",
   "name": "OPA Gatekeeper",
   "org": "Cloud Native Computing Foundation",
   "org_kind": "foundation",
   "homepage": "https://open-policy-agent.github.io/gatekeeper/website/docs/",
   "repo": "https://github.com/open-policy-agent/gatekeeper",
   "license": "Apache-2.0",
   "license_class": "osi",
   "description": "A Kubernetes admission webhook, built on Open Policy Agent, that enforces Rego-based constraint policies and also checks existing resources against them.",
   "home": "cncf",
   "home_detail": null,
   "maturity": "graduated",
   "tier": "mapped",
   "tier_reason": null,
   "placements": [
    {
     "leaf": "3.7",
     "primary": true,
     "capability": "Runs as a Kubernetes validating and mutating admission webhook that denies, warns on or dry-runs requests against Rego constraint templates the cluster owner defines, and checks existing resources against them.",
     "evidence": [
      "e2",
      "e3"
     ]
    }
   ],
   "facets": {
    "concern": [
     "security"
    ],
    "cites_law": false,
    "jurisdictions": [],
    "subject": [
     "software"
    ],
    "user_party": [
     "runs"
    ],
    "run_mode": [
     "at-runtime"
    ],
    "policy_source": [
     "owner-config"
    ],
    "inventory_only": false
   },
   "handoffs": [
    {
     "artifact": "policy",
     "direction": "consumes",
     "format": "Rego (ConstraintTemplate)"
    }
   ],
   "evidence": {
    "e1": {
     "url": "https://www.cncf.io/projects/open-policy-agent-opa/",
     "quote": "moved to the Incubating maturity level on April 2, 2019, and then moved to the Graduated maturity level on January 29, 2021.",
     "kind": "foundation-page",
     "captured": "2026-10-20"
    },
    "e2": {
     "url": "https://open-policy-agent.github.io/gatekeeper/website/docs/",
     "quote": "Gatekeeper is a validating and mutating webhook that enforces CRD-based policies executed by Open Policy Agent",
     "kind": "docs",
     "captured": "2026-10-20"
    },
    "e3": {
     "url": "https://open-policy-agent.github.io/gatekeeper/website/docs/howto",
     "quote": "which describes both the Rego that enforces the constraint and the schema of the constraint",
     "kind": "docs",
     "captured": "2026-10-20"
    },
    "e4": {
     "url": "https://api.github.com/repos/open-policy-agent/gatekeeper",
     "quote": "Apache-2.0",
     "kind": "repo-api",
     "captured": "2026-10-20"
    }
   },
   "notes": null,
   "as_of": "2026-10-20",
   "leaf": "3.7",
   "lanes": {
    "concern": "security",
    "home": "cncf",
    "license": "osi",
    "maturity": "graduated",
    "policy": "owner-config"
   },
   "page": "/safeguards/opa-gatekeeper",
   "logo": "/safeguards/logos/opa-gatekeeper.svg"
  },
  {
   "slug": "opea-genaicomps-guardrails",
   "name": "OPEA GenAIComps guardrails",
   "org": "LF AI & Data Foundation",
   "org_kind": "foundation",
   "homepage": "https://opea.dev/",
   "repo": "https://github.com/opea-project/GenAIComps",
   "license": "Apache-2.0",
   "license_class": "osi",
   "description": "Microservices in the OPEA GenAIComps repository that check LLM inputs and outputs for unsafe content with Llama Guard or WildGuard and can reject what they flag.",
   "home": "lfai-data",
   "home_detail": null,
   "maturity": "sandbox",
   "tier": "mapped",
   "tier_reason": null,
   "placements": [
    {
     "leaf": "3.4",
     "primary": true,
     "capability": "Runs Llama Guard or WildGuard as a microservice that classifies LLM inputs and outputs as unsafe or not, and rejects flagged input or output.",
     "evidence": [
      "e2",
      "e3",
      "e4"
     ]
    }
   ],
   "facets": {
    "concern": [
     "safety",
     "security"
    ],
    "cites_law": false,
    "jurisdictions": [],
    "subject": [
     "ai-system"
    ],
    "user_party": [
     "makes",
     "runs"
    ],
    "run_mode": [
     "at-runtime"
    ],
    "policy_source": [
     "vendor-defaults"
    ],
    "inventory_only": false
   },
   "handoffs": [],
   "evidence": {
    "e1": {
     "url": "https://lfaidata.foundation/projects/open-platform-for-enterprise-ai/",
     "quote": "OPEA was contributed by Intel as a sandbox project in April 2024.",
     "kind": "foundation-page",
     "captured": "2026-10-21"
    },
    "e2": {
     "url": "https://raw.githubusercontent.com/opea-project/GenAIComps/main/comps/guardrails/README.md",
     "quote": "The Guardrails service enhances the security of LLM-based applications",
     "kind": "readme",
     "captured": "2026-10-21"
    },
    "e3": {
     "url": "https://raw.githubusercontent.com/opea-project/GenAIComps/main/comps/guardrails/src/guardrails/README.md",
     "quote": "An input guardrail can either reject the input, halting further processing.",
     "kind": "readme",
     "captured": "2026-10-21"
    },
    "e4": {
     "url": "https://raw.githubusercontent.com/opea-project/GenAIComps/main/comps/guardrails/src/guardrails/README.md",
     "quote": "An output guardrail can reject the output, preventing it from being returned to the user.",
     "kind": "readme",
     "captured": "2026-10-21"
    },
    "e5": {
     "url": "https://raw.githubusercontent.com/opea-project/GenAIComps/main/LICENSE",
     "quote": "Apache License Version 2.0, January 2004",
     "kind": "readme",
     "captured": "2026-10-21"
    },
    "e6": {
     "url": "https://raw.githubusercontent.com/opea-project/GenAIComps/main/comps/guardrails/src/guardrails/README.md",
     "quote": "Any content that is detected in the following categories is determined as unsafe",
     "kind": "readme",
     "captured": "2026-10-21"
    }
   },
   "notes": "The foundation page states the sandbox stage at contribution and no later change. The categories come from the chosen model (Llama Guard or WildGuard), so the owner sets no rules of their own. The same repository also lists bias, hallucination, PII, prompt injection and toxicity detection microservices; this entry describes the general input and output guardrail service.",
   "as_of": "2026-10-21",
   "leaf": "3.4",
   "lanes": {
    "concern": "safety",
    "home": "lfai-data",
    "license": "osi",
    "maturity": "sandbox",
    "policy": "vendor-defaults"
   },
   "page": "/safeguards/opea-genaicomps-guardrails",
   "logo": null
  },
  {
   "slug": "open-enclave-sdk",
   "name": "Open Enclave SDK",
   "org": "Confidential Computing Consortium",
   "org_kind": "foundation",
   "homepage": "https://openenclave.io/sdk/",
   "repo": "https://github.com/openenclave/openenclave",
   "license": "MIT",
   "license_class": "osi",
   "description": "A hardware-agnostic SDK for building applications that run their trusted part inside a hardware-based trusted execution environment, called an enclave.",
   "home": "lf-other",
   "home_detail": "Open Enclave SDK, a Confidential Computing Consortium project (an open community under the Linux Foundation)",
   "maturity": "released",
   "tier": "mapped",
   "tier_reason": null,
   "placements": [
    {
     "leaf": "3.1",
     "primary": true,
     "capability": "Lets a developer split an application into an untrusted host and a trusted enclave, a protected memory region in a hardware trusted execution environment.",
     "evidence": [
      "e2",
      "e3"
     ]
    }
   ],
   "facets": {
    "concern": [
     "security"
    ],
    "cites_law": false,
    "jurisdictions": [],
    "subject": [
     "software"
    ],
    "user_party": [
     "makes"
    ],
    "run_mode": [
     "at-runtime"
    ],
    "policy_source": [
     "vendor-defaults"
    ],
    "agent_can_bypass": "depends",
    "inventory_only": false
   },
   "handoffs": [],
   "evidence": {
    "e1": {
     "url": "https://confidentialcomputing.io/",
     "quote": "attestation specifications, and frameworks (Enarx, Gramine, Open Enclave)",
     "kind": "foundation-page",
     "captured": "2026-10-20"
    },
    "e2": {
     "url": "https://raw.githubusercontent.com/openenclave/openenclave/master/README.md",
     "quote": "The Open Enclave SDK is a hardware-agnostic open source library for developing applications that utilize Hardware-based Trusted Execution Environments",
     "kind": "readme",
     "captured": "2026-10-20"
    },
    "e3": {
     "url": "https://raw.githubusercontent.com/openenclave/openenclave/master/README.md",
     "quote": "An _enclave_ is a protected memory region that provides confidentiality for data and code execution.",
     "kind": "readme",
     "captured": "2026-10-20"
    },
    "e4": {
     "url": "https://github.com/openenclave/openenclave/releases",
     "quote": "Release list v0.19.19 v0.19.18 v0.19.17",
     "kind": "release-notes",
     "captured": "2026-10-20"
    },
    "e5": {
     "url": "https://raw.githubusercontent.com/openenclave/openenclave/master/LICENSE",
     "quote": "MIT License Copyright (c) Open Enclave SDK contributors.",
     "kind": "readme",
     "captured": "2026-10-20"
    }
   },
   "notes": null,
   "as_of": "2026-10-20",
   "leaf": "3.1",
   "lanes": {
    "concern": "security",
    "home": "lf-other",
    "license": "osi",
    "maturity": "released",
    "policy": "vendor-defaults"
   },
   "page": "/safeguards/open-enclave-sdk",
   "logo": "/safeguards/logos/open-enclave-sdk.png"
  },
  {
   "slug": "open-policy-agent",
   "name": "Open Policy Agent (OPA)",
   "org": "Cloud Native Computing Foundation",
   "org_kind": "foundation",
   "homepage": "https://www.openpolicyagent.org/",
   "repo": "https://github.com/open-policy-agent/opa",
   "license": "Apache-2.0",
   "license_class": "osi",
   "description": "A general-purpose policy engine that evaluates Rego policies and returns a decision to the program that asked.",
   "home": "cncf",
   "home_detail": null,
   "maturity": "graduated",
   "tier": "mapped",
   "tier_reason": null,
   "placements": [
    {
     "leaf": "3.5",
     "primary": true,
     "capability": "Answers allow or deny for a request, including an agent's tool call, from Rego policy, as the policy decision point a harness or gateway asks before it acts.",
     "evidence": [
      "e2"
     ]
    }
   ],
   "facets": {
    "concern": [
     "security"
    ],
    "cites_law": false,
    "jurisdictions": [],
    "subject": [
     "software",
     "agent"
    ],
    "user_party": [
     "runs"
    ],
    "run_mode": [
     "at-runtime"
    ],
    "policy_source": [
     "imported-bundle",
     "owner-config"
    ],
    "inventory_only": false
   },
   "handoffs": [
    {
     "artifact": "policy",
     "direction": "consumes",
     "format": "Rego bundle"
    },
    {
     "artifact": "runtime-records",
     "direction": "produces",
     "format": "OPA decision log events"
    }
   ],
   "evidence": {
    "e1": {
     "url": "https://www.cncf.io/projects/open-policy-agent-opa/",
     "quote": "moved to the Incubating maturity level on April 2, 2019, and then moved to the Graduated maturity level on January 29, 2021.",
     "kind": "foundation-page",
     "captured": "2026-10-20"
    },
    "e2": {
     "url": "https://www.openpolicyagent.org/docs/agent-tool-calling",
     "quote": "Before the harness runs a tool call, the harness asks OPA, the Policy Decision Point (PDP), for a decision.",
     "kind": "docs",
     "captured": "2026-10-20"
    },
    "e3": {
     "url": "https://www.openpolicyagent.org/docs/management-bundles",
     "quote": "By configuring OPA to download bundles from a remote HTTP server, you can ensure that OPA has an up-to-date copy of policies and data required for enforcement at all times in an eventually consistent manner.",
     "kind": "docs",
     "captured": "2026-10-20"
    },
    "e4": {
     "url": "https://www.openpolicyagent.org/docs/management-decision-logs",
     "quote": "Each event includes the policy that was queried, the input to the query, bundle metadata, and other information that enables auditing and offline debugging of policy decisions.",
     "kind": "docs",
     "captured": "2026-10-20"
    },
    "e5": {
     "url": "https://api.github.com/repos/open-policy-agent/opa",
     "quote": "Apache-2.0",
     "kind": "repo-api",
     "captured": "2026-10-20"
    }
   },
   "notes": null,
   "as_of": "2026-10-20",
   "leaf": "3.5",
   "lanes": {
    "concern": "security",
    "home": "cncf",
    "license": "osi",
    "maturity": "graduated",
    "policy": "imported-bundle"
   },
   "page": "/safeguards/open-policy-agent",
   "logo": "/safeguards/logos/open-policy-agent.svg"
  },
  {
   "slug": "openai-agents-sdk",
   "name": "OpenAI Agents SDK",
   "org": "OpenAI",
   "org_kind": "company",
   "homepage": "https://openai.github.io/openai-agents-python/",
   "repo": "https://github.com/openai/openai-agents-python",
   "license": "MIT",
   "license_class": "osi",
   "description": "A Python agent SDK with input and output guardrails that can stop a run, and a human-in-the-loop flow that pauses sensitive tool calls for approval.",
   "home": "none",
   "home_detail": null,
   "maturity": "released",
   "tier": "listed",
   "tier_reason": "Listed, not drawn: no documented handoff and no foundation home places it on the map.",
   "placements": [
    {
     "leaf": "3.2",
     "primary": true,
     "capability": "Runs guardrail checks on an agent's input and output with a tripwire that halts the run, and pauses tools marked as needing approval until a person approves or rejects.",
     "evidence": [
      "e1",
      "e2",
      "e3"
     ]
    }
   ],
   "facets": {
    "concern": [
     "safety",
     "security"
    ],
    "cites_law": false,
    "jurisdictions": [],
    "subject": [
     "agent"
    ],
    "user_party": [
     "makes"
    ],
    "run_mode": [
     "at-runtime"
    ],
    "policy_source": [
     "owner-config"
    ],
    "agent_can_bypass": "depends",
    "inventory_only": false
   },
   "handoffs": [],
   "evidence": {
    "e1": {
     "url": "https://openai.github.io/openai-agents-python/guardrails/",
     "quote": "Guardrails enable you to do checks and validations of user input and agent output.",
     "kind": "docs",
     "captured": "2026-10-20"
    },
    "e2": {
     "url": "https://openai.github.io/openai-agents-python/guardrails/",
     "quote": "If the guardrail tripwire is triggered, the agent never executes, preventing token consumption and tool execution.",
     "kind": "docs",
     "captured": "2026-10-20"
    },
    "e3": {
     "url": "https://openai.github.io/openai-agents-python/human_in_the_loop/",
     "quote": "Use the human-in-the-loop (HITL) flow to pause agent execution until a person approves or rejects sensitive tool calls.",
     "kind": "docs",
     "captured": "2026-10-20"
    },
    "e4": {
     "url": "https://openai.github.io/openai-agents-python/human_in_the_loop/",
     "quote": "Set needs_approval to True to always require approval or provide an async function that decides per call.",
     "kind": "docs",
     "captured": "2026-10-20"
    },
    "e5": {
     "url": "https://github.com/openai/openai-agents-python/releases",
     "quote": "Release list v0.24.0 v0.23.1 v0.23.0",
     "kind": "release-notes",
     "captured": "2026-10-20"
    },
    "e6": {
     "url": "https://raw.githubusercontent.com/openai/openai-agents-python/main/LICENSE",
     "quote": "MIT License Copyright (c) 2025 OpenAI",
     "kind": "readme",
     "captured": "2026-10-20"
    }
   },
   "notes": null,
   "as_of": "2026-10-20",
   "leaf": "3.2",
   "lanes": {
    "concern": "safety",
    "home": "none",
    "license": "osi",
    "maturity": "released",
    "policy": "owner-config"
   },
   "page": "/safeguards/openai-agents-sdk",
   "logo": "/safeguards/logos/openai-agents-sdk.png"
  },
  {
   "slug": "openai-codex-cli",
   "name": "OpenAI Codex CLI",
   "org": "OpenAI",
   "org_kind": "company",
   "homepage": "https://developers.openai.com/codex",
   "repo": "https://github.com/openai/codex",
   "license": "Apache-2.0",
   "license_class": "osi",
   "description": "An open-source local coding agent with an OS-enforced sandbox mode and an approval policy that decides when it must stop and ask the user.",
   "home": "none",
   "home_detail": null,
   "maturity": "released",
   "tier": "mapped",
   "tier_reason": null,
   "placements": [
    {
     "leaf": "3.2",
     "primary": true,
     "capability": "Applies a sandbox mode and an approval policy to the actions the agent takes locally, and stops to ask the user before acting outside them.",
     "evidence": [
      "e1",
      "e2",
      "e3"
     ]
    }
   ],
   "facets": {
    "concern": [
     "safety",
     "security"
    ],
    "cites_law": false,
    "jurisdictions": [],
    "subject": [
     "agent"
    ],
    "user_party": [
     "runs"
    ],
    "run_mode": [
     "at-runtime"
    ],
    "policy_source": [
     "owner-config"
    ],
    "agent_can_bypass": "depends",
    "inventory_only": false
   },
   "handoffs": [
    {
     "artifact": "runtime-records",
     "direction": "produces",
     "format": "OpenTelemetry (OTel) log events"
    }
   ],
   "evidence": {
    "e1": {
     "url": "https://raw.githubusercontent.com/openai/codex/main/README.md",
     "quote": "Codex CLI is a coding agent from OpenAI that runs locally on your computer.",
     "kind": "readme",
     "captured": "2026-10-20"
    },
    "e2": {
     "url": "https://developers.openai.com/codex/agent-approvals-security",
     "quote": "Locally, Codex uses an OS-enforced sandbox that limits what it can touch (typically to the current workspace), plus an approval policy that controls when it must stop and ask you before acting.",
     "kind": "docs",
     "captured": "2026-10-20"
    },
    "e3": {
     "url": "https://developers.openai.com/codex/agent-approvals-security",
     "quote": "Approval policy : When Codex must ask you before it executes an action",
     "kind": "docs",
     "captured": "2026-10-20"
    },
    "e4": {
     "url": "https://api.github.com/repos/openai/codex",
     "quote": "Apache-2.0",
     "kind": "repo-api",
     "captured": "2026-10-20"
    },
    "e5": {
     "url": "https://github.com/openai/codex/releases",
     "quote": "0.163.0 0.163.0 Latest Latest Compare Choose a tag to compare",
     "kind": "release-notes",
     "captured": "2026-10-20"
    },
    "e6": {
     "url": "https://developers.openai.com/codex/agent-approvals-security",
     "quote": "You can configure the sandbox, approval policy, and network settings based on your risk tolerance.",
     "kind": "docs",
     "captured": "2026-10-20"
    },
    "e7": {
     "url": "https://developers.openai.com/codex/agent-approvals-security",
     "quote": "Codex supports opt-in monitoring via OpenTelemetry (OTel)",
     "kind": "docs",
     "captured": "2026-10-20"
    }
   },
   "notes": null,
   "as_of": "2026-10-20",
   "leaf": "3.2",
   "lanes": {
    "concern": "safety",
    "home": "none",
    "license": "osi",
    "maturity": "released",
    "policy": "owner-config"
   },
   "page": "/safeguards/openai-codex-cli",
   "logo": "/safeguards/logos/openai-codex-cli.png"
  },
  {
   "slug": "opendataology",
   "name": "OpenDataology",
   "org": "LF AI & Data Foundation",
   "org_kind": "foundation",
   "homepage": "https://lfaidata.foundation/projects/opendataology/",
   "repo": "https://github.com/OpenDataology/OpenDataology",
   "license": "CC-BY-4.0",
   "license_class": "open-content",
   "description": "A dataset license compliance analysis workflow, database and web portal that lists the rights and obligations attached to publicly available datasets.",
   "home": "lfai-data",
   "home_detail": null,
   "maturity": "archived",
   "tier": "listed",
   "tier_reason": "Listed, not drawn: it is archived.",
   "placements": [
    {
     "leaf": "1.1",
     "primary": true,
     "capability": "Analyzes the licenses of publicly available datasets, and of datasets curated from several sources, to list the rights and obligations that attach to using them.",
     "evidence": [
      "e2"
     ]
    }
   ],
   "facets": {
    "concern": [
     "legal"
    ],
    "cites_law": true,
    "jurisdictions": [],
    "subject": [
     "ai-model"
    ],
    "user_party": [
     "makes"
    ],
    "run_mode": [
     "by-hand"
    ],
    "inventory_only": false
   },
   "handoffs": [],
   "evidence": {
    "e1": {
     "url": "https://lfaidata.foundation/projects/opendataology/",
     "quote": "The LF AI & Data TAC and Governing Board voted to archive this project effective Tuesday, June 3, 2025.",
     "kind": "foundation-page",
     "captured": "2026-10-20"
    },
    "e2": {
     "url": "https://raw.githubusercontent.com/OpenDataology/OpenDataology/main/README.md",
     "quote": "ascertains the final allowed rights and the required obligations associated with using a publicly available dataset",
     "kind": "readme",
     "captured": "2026-10-20"
    },
    "e3": {
     "url": "https://raw.githubusercontent.com/OpenDataology/OpenDataology/main/LICENSE",
     "quote": "Creative Commons Attribution 4.0 International",
     "kind": "readme",
     "captured": "2026-10-20"
    }
   },
   "notes": "Archived by its foundation, so the entry is listed rather than mapped. The repository carries a Creative Commons license rather than a software license.",
   "as_of": "2026-10-20",
   "leaf": "1.1",
   "lanes": {
    "concern": "legal",
    "home": "lfai-data",
    "license": "open-content",
    "maturity": "not-shipping",
    "policy": "na"
   },
   "page": "/safeguards/opendataology",
   "logo": "/safeguards/logos/opendataology.svg"
  },
  {
   "slug": "openfga",
   "name": "OpenFGA",
   "org": "Cloud Native Computing Foundation",
   "org_kind": "foundation",
   "homepage": "https://openfga.dev/",
   "repo": "https://github.com/openfga/openfga",
   "license": "Apache-2.0",
   "license_class": "osi",
   "description": "An authorization system that stores relationships between users and objects and answers whether a user may take an action on an object.",
   "home": "cncf",
   "home_detail": null,
   "maturity": "incubating",
   "tier": "mapped",
   "tier_reason": null,
   "placements": [
    {
     "leaf": "3.6",
     "primary": true,
     "capability": "Stores relationship tuples and an authorization model, and answers queries about who may do what to which object, for the applications that call it.",
     "evidence": [
      "e2",
      "e3"
     ]
    }
   ],
   "facets": {
    "concern": [
     "security"
    ],
    "cites_law": false,
    "jurisdictions": [],
    "subject": [
     "software"
    ],
    "user_party": [
     "runs"
    ],
    "run_mode": [
     "at-runtime"
    ],
    "policy_source": [
     "owner-config"
    ],
    "inventory_only": false
   },
   "handoffs": [],
   "evidence": {
    "e1": {
     "url": "https://www.cncf.io/projects/openfga/",
     "quote": "OpenFGA was accepted to CNCF on September 14, 2022 and moved to the Incubating maturity level on October 28, 2025.",
     "kind": "foundation-page",
     "captured": "2026-10-20"
    },
    "e2": {
     "url": "https://openfga.dev/docs/fga.md",
     "quote": "OpenFGA is a scalable open source authorization system for developers that allows implementing authorization for any kind of application",
     "kind": "docs",
     "captured": "2026-10-20"
    },
    "e3": {
     "url": "https://openfga.dev/docs/learn/policy-engine.md",
     "quote": "The same model backs authorization decisions across services, languages, and domains",
     "kind": "docs",
     "captured": "2026-10-20"
    },
    "e4": {
     "url": "https://api.github.com/repos/openfga/openfga",
     "quote": "Apache-2.0",
     "kind": "repo-api",
     "captured": "2026-10-20"
    }
   },
   "notes": null,
   "as_of": "2026-10-20",
   "leaf": "3.6",
   "lanes": {
    "concern": "security",
    "home": "cncf",
    "license": "osi",
    "maturity": "incubating",
    "policy": "owner-config"
   },
   "page": "/safeguards/openfga",
   "logo": "/safeguards/logos/openfga.svg"
  },
  {
   "slug": "openhands",
   "name": "OpenHands",
   "org": "OpenHands",
   "org_kind": "community",
   "homepage": "https://openhands.dev/",
   "repo": "https://github.com/OpenHands/OpenHands",
   "license": "MIT",
   "license_class": "osi",
   "description": "An open-source coding agent platform with a confirmation policy that requires user approval for actions and a security analyzer that rates action risk.",
   "home": "none",
   "home_detail": null,
   "maturity": "released",
   "tier": "listed",
   "tier_reason": "Listed, not drawn: no documented handoff and no foundation home places it on the map.",
   "placements": [
    {
     "leaf": "3.2",
     "primary": true,
     "capability": "Applies a confirmation policy that holds agent actions for user approval, with an optional security analyzer that rates the risk of each action.",
     "evidence": [
      "e1",
      "e2"
     ]
    }
   ],
   "facets": {
    "concern": [
     "safety",
     "security"
    ],
    "cites_law": false,
    "jurisdictions": [],
    "subject": [
     "agent"
    ],
    "user_party": [
     "runs"
    ],
    "run_mode": [
     "at-runtime"
    ],
    "policy_source": [
     "owner-config"
    ],
    "agent_can_bypass": "depends",
    "inventory_only": false
   },
   "handoffs": [],
   "evidence": {
    "e1": {
     "url": "https://docs.openhands.dev/sdk/guides/security.md",
     "quote": "Confirmation policy controls whether actions require user approval before execution.",
     "kind": "docs",
     "captured": "2026-10-20"
    },
    "e2": {
     "url": "https://docs.openhands.dev/sdk/guides/security.md",
     "quote": "**`ConfirmRisky()`** - Only require approval for risky actions (requires security analyzer)",
     "kind": "docs",
     "captured": "2026-10-20"
    },
    "e3": {
     "url": "https://api.github.com/repos/OpenHands/OpenHands",
     "quote": "MIT",
     "kind": "repo-api",
     "captured": "2026-10-20"
    },
    "e4": {
     "url": "https://github.com/OpenHands/OpenHands/releases",
     "quote": "v1.28.1 v1.28.1 Latest Latest Compare Choose a tag to compare",
     "kind": "release-notes",
     "captured": "2026-10-20"
    },
    "e5": {
     "url": "https://docs.openhands.dev/sdk/guides/security.md",
     "quote": "Set the confirmation policy on your conversation:",
     "kind": "docs",
     "captured": "2026-10-20"
    }
   },
   "notes": null,
   "as_of": "2026-10-20",
   "leaf": "3.2",
   "lanes": {
    "concern": "safety",
    "home": "none",
    "license": "osi",
    "maturity": "released",
    "policy": "owner-config"
   },
   "page": "/safeguards/openhands",
   "logo": "/safeguards/logos/openhands.png"
  },
  {
   "slug": "opensandbox",
   "name": "OpenSandbox",
   "org": "Agentic AI Foundation",
   "org_kind": "foundation",
   "homepage": "https://open-sandbox.ai",
   "repo": "https://github.com/opensandbox-group/OpenSandbox",
   "license": "Apache-2.0",
   "license_class": "osi",
   "description": "A platform that runs AI agent code, commands and browsers in isolated environments on Docker or Kubernetes, with per-sandbox egress policies.",
   "home": "aaif",
   "home_detail": null,
   "maturity": "sandbox",
   "tier": "mapped",
   "tier_reason": null,
   "placements": [
    {
     "leaf": "3.1",
     "primary": true,
     "capability": "Runs agent code and commands in isolated environments on Docker or Kubernetes, with optional secure container runtimes, and limits each sandbox's outbound access by an egress policy the owner sets.",
     "evidence": [
      "e2",
      "e3",
      "e4"
     ]
    }
   ],
   "facets": {
    "concern": [
     "security"
    ],
    "cites_law": false,
    "jurisdictions": [],
    "subject": [
     "agent",
     "software"
    ],
    "user_party": [
     "runs"
    ],
    "run_mode": [
     "at-runtime"
    ],
    "policy_source": [
     "owner-config"
    ],
    "agent_can_bypass": "depends",
    "inventory_only": false
   },
   "handoffs": [],
   "evidence": {
    "e1": {
     "url": "https://github.com/aaif/project-proposals/issues/26",
     "quote": "approved for inclusion in the foundation. Sandbox TC Approved The TC has approved this project for inclusion into the AAIF.",
     "kind": "foundation-page",
     "captured": "2026-10-20"
    },
    "e2": {
     "url": "https://raw.githubusercontent.com/opensandbox-group/OpenSandbox/main/README.md",
     "quote": "OpenSandbox gives AI applications isolated environments to execute code, run commands, manage files, and operate browsers or desktops.",
     "kind": "readme",
     "captured": "2026-10-20"
    },
    "e3": {
     "url": "https://github.com/aaif/project-proposals/issues/26",
     "quote": "Stronger isolation options through secure container runtimes such as gVisor, Kata Containers, and Firecracker microVM.",
     "kind": "foundation-page",
     "captured": "2026-10-20"
    },
    "e4": {
     "url": "https://raw.githubusercontent.com/opensandbox-group/OpenSandbox/main/README.md",
     "quote": "control outbound access with per-sandbox egress policies",
     "kind": "readme",
     "captured": "2026-10-20"
    },
    "e5": {
     "url": "https://raw.githubusercontent.com/opensandbox-group/OpenSandbox/main/LICENSE",
     "quote": "Apache License Version 2.0, January 2004",
     "kind": "readme",
     "captured": "2026-10-20"
    }
   },
   "notes": null,
   "as_of": "2026-10-20",
   "leaf": "3.1",
   "lanes": {
    "concern": "security",
    "home": "aaif",
    "license": "osi",
    "maturity": "sandbox",
    "policy": "owner-config"
   },
   "page": "/safeguards/opensandbox",
   "logo": "/safeguards/logos/opensandbox.svg"
  },
  {
   "slug": "openshell",
   "name": "OpenShell",
   "org": "Cloud Native Computing Foundation",
   "org_kind": "foundation",
   "homepage": "https://github.com/NVIDIA/OpenShell",
   "repo": "https://github.com/NVIDIA/OpenShell",
   "license": "Apache-2.0",
   "license_class": "osi",
   "description": "A runtime that runs autonomous AI agents in isolated sandboxes and enforces an owner-declared policy on file access, system calls and network connections.",
   "home": "cncf",
   "home_detail": null,
   "maturity": "sandbox",
   "tier": "mapped",
   "tier_reason": null,
   "placements": [
    {
     "leaf": "3.1",
     "primary": true,
     "capability": "Runs each agent in an isolated sandbox with kernel controls on file access and system calls, and checks every outbound network connection against the owner's declared policy.",
     "evidence": [
      "e2",
      "e3",
      "e4"
     ]
    }
   ],
   "facets": {
    "concern": [
     "security"
    ],
    "cites_law": false,
    "jurisdictions": [],
    "subject": [
     "agent"
    ],
    "user_party": [
     "runs"
    ],
    "run_mode": [
     "at-runtime"
    ],
    "policy_source": [
     "owner-config"
    ],
    "agent_can_bypass": "depends",
    "inventory_only": false
   },
   "handoffs": [],
   "evidence": {
    "e1": {
     "url": "https://www.cncf.io/projects/openshell/",
     "quote": "OpenShell was accepted to CNCF on September 26, 2026 at the Sandbox maturity level.",
     "kind": "foundation-page",
     "captured": "2026-10-20"
    },
    "e2": {
     "url": "https://raw.githubusercontent.com/NVIDIA/OpenShell/main/README.md",
     "quote": "every network connection passes through a policy check before it leaves the sandbox",
     "kind": "readme",
     "captured": "2026-10-20"
    },
    "e3": {
     "url": "https://docs.nvidia.com/openshell/latest/how-it-works/sandboxes/overview",
     "quote": "Each sandbox combines runtime isolation with OpenShell policy controls that prevent unauthorized data access, credential exposure, and network exfiltration.",
     "kind": "docs",
     "captured": "2026-10-20"
    },
    "e4": {
     "url": "https://raw.githubusercontent.com/NVIDIA/OpenShell/main/README.md",
     "quote": "You declare what each agent can touch in a policy, and OpenShell enforces it.",
     "kind": "readme",
     "captured": "2026-10-20"
    },
    "e5": {
     "url": "https://api.github.com/repos/NVIDIA/OpenShell",
     "quote": "Apache-2.0",
     "kind": "repo-api",
     "captured": "2026-10-20"
    }
   },
   "notes": null,
   "as_of": "2026-10-20",
   "leaf": "3.1",
   "lanes": {
    "concern": "security",
    "home": "cncf",
    "license": "osi",
    "maturity": "sandbox",
    "policy": "owner-config"
   },
   "page": "/safeguards/openshell",
   "logo": "/safeguards/logos/openshell.svg"
  },
  {
   "slug": "openssf-best-practices-badge",
   "name": "OpenSSF Best Practices Badge",
   "org": "Open Source Security Foundation",
   "org_kind": "foundation",
   "homepage": "https://www.bestpractices.dev/",
   "repo": "https://github.com/coreinfrastructure/best-practices-badge",
   "license": "MIT",
   "license_class": "osi",
   "description": "A web application where open source projects self-certify that they meet a set of security and quality criteria and show a badge.",
   "home": "openssf",
   "home_detail": null,
   "maturity": "graduated",
   "tier": "mapped",
   "tier_reason": null,
   "placements": [
    {
     "leaf": "1.4",
     "primary": true,
     "capability": "Lets a project's owners declare, against a published set of criteria, which best practices the project meets, and shows the result as a badge.",
     "evidence": [
      "e2"
     ]
    }
   ],
   "facets": {
    "concern": [
     "security"
    ],
    "cites_law": false,
    "jurisdictions": [],
    "subject": [
     "software"
    ],
    "user_party": [
     "makes",
     "distributes"
    ],
    "run_mode": [
     "by-hand"
    ],
    "inventory_only": false
   },
   "handoffs": [],
   "evidence": {
    "e1": {
     "url": "https://raw.githubusercontent.com/ossf/tac/main/README.md",
     "quote": "| Best Practices Badge | [GitHub](https://github.com/coreinfrastructure/best-practices-badge) | https://www.bestpractices.dev/ | Best Practices WG | [Graduated](https://github.com/ossf/tac/blob/main/process/project-lifecycle-documents/best_practices_badge_graduation_stage.md) |",
     "kind": "foundation-page",
     "captured": "2026-10-21"
    },
    "e2": {
     "url": "https://raw.githubusercontent.com/coreinfrastructure/best-practices-badge/main/README.md",
     "quote": "The \"BadgeApp\" badging system is a simple web application that lets projects self-certify that they meet the criteria and show a badge.",
     "kind": "readme",
     "captured": "2026-10-21"
    },
    "e3": {
     "url": "https://api.github.com/repos/coreinfrastructure/best-practices-badge",
     "quote": "MIT",
     "kind": "repo-api",
     "captured": "2026-10-21"
    }
   },
   "notes": "The badge is a self-declaration by the project, so it sits with product descriptions (1.4) and not with a tool that reads the code.",
   "as_of": "2026-10-21",
   "leaf": "1.4",
   "lanes": {
    "concern": "security",
    "home": "openssf",
    "license": "osi",
    "maturity": "graduated",
    "policy": "na"
   },
   "page": "/safeguards/openssf-best-practices-badge",
   "logo": null
  },
  {
   "slug": "openssf-malicious-packages",
   "name": "OpenSSF Malicious Packages",
   "org": "Open Source Security Foundation",
   "org_kind": "foundation",
   "homepage": "https://github.com/ossf/malicious-packages",
   "repo": "https://github.com/ossf/malicious-packages",
   "license": "Apache-2.0",
   "license_class": "osi",
   "description": "An open database of reports of malicious packages found on open source package repositories, published as OSV records.",
   "home": "openssf",
   "home_detail": null,
   "maturity": "sandbox",
   "tier": "mapped",
   "tier_reason": null,
   "placements": [
    {
     "leaf": "4.4",
     "primary": true,
     "capability": "Publishes a database of reports of malicious packages found on open source package repositories, as OSV records.",
     "evidence": [
      "e2",
      "e3"
     ]
    }
   ],
   "facets": {
    "concern": [
     "security"
    ],
    "cites_law": false,
    "jurisdictions": [],
    "subject": [
     "software"
    ],
    "user_party": [
     "makes",
     "runs"
    ],
    "run_mode": [
     "by-hand"
    ],
    "inventory_only": false
   },
   "handoffs": [
    {
     "artifact": "vulnerability-status",
     "direction": "produces",
     "format": "OSV"
    }
   ],
   "evidence": {
    "e1": {
     "url": "https://raw.githubusercontent.com/ossf/tac/main/README.md",
     "quote": "| Securing Software Repositories WG | [Sandbox](process/project-lifecycle-documents/maliciouspackages_sandbox_stage.md) |",
     "kind": "foundation-page",
     "captured": "2026-10-21"
    },
    "e2": {
     "url": "https://raw.githubusercontent.com/ossf/malicious-packages/main/README.md",
     "quote": "The aim of this project and repository is to be a comprehensive, high quality, open source database of reports of malicious packages published on open source package repositories.",
     "kind": "readme",
     "captured": "2026-10-21"
    },
    "e3": {
     "url": "https://raw.githubusercontent.com/ossf/malicious-packages/main/README.md",
     "quote": "consumable via the [Open Source Vulnerability (OSV)](https://osv.dev) format",
     "kind": "readme",
     "captured": "2026-10-21"
    },
    "e4": {
     "url": "https://api.github.com/repos/ossf/malicious-packages",
     "quote": "Apache-2.0",
     "kind": "repo-api",
     "captured": "2026-10-21"
    }
   },
   "notes": "The sandbox stage is the row in the OpenSSF TAC project table.",
   "as_of": "2026-10-21",
   "leaf": "4.4",
   "lanes": {
    "concern": "security",
    "home": "openssf",
    "license": "osi",
    "maturity": "sandbox",
    "policy": "na"
   },
   "page": "/safeguards/openssf-malicious-packages",
   "logo": null
  },
  {
   "slug": "openssf-model-signing",
   "name": "OpenSSF Model Signing",
   "org": "Open Source Security Foundation",
   "org_kind": "foundation",
   "homepage": "https://github.com/sigstore/model-transparency",
   "repo": "https://github.com/sigstore/model-transparency",
   "license": "Apache-2.0",
   "license_class": "osi",
   "description": "A Python library and command-line tool that signs machine learning model files and verifies those signatures, producing Sigstore bundles.",
   "home": "openssf",
   "home_detail": null,
   "maturity": "sandbox",
   "tier": "mapped",
   "tier_reason": null,
   "placements": [
    {
     "leaf": "3.7",
     "primary": true,
     "capability": "Verifies a model's signature and recomputes its file hashes against the signed ones, so a user can decide once whether a downloaded model is the one that was signed.",
     "evidence": [
      "e2",
      "e3"
     ]
    }
   ],
   "facets": {
    "concern": [
     "security"
    ],
    "cites_law": false,
    "jurisdictions": [],
    "subject": [
     "ai-model"
    ],
    "user_party": [
     "makes",
     "distributes",
     "runs"
    ],
    "run_mode": [
     "by-hand",
     "in-ci"
    ],
    "policy_source": [
     "owner-config"
    ],
    "inventory_only": false
   },
   "handoffs": [
    {
     "artifact": "provenance",
     "direction": "produces",
     "format": "Sigstore bundle containing an in-toto statement"
    }
   ],
   "evidence": {
    "e1": {
     "url": "https://raw.githubusercontent.com/ossf/tac/main/README.md",
     "quote": "| Model signing | [GitHub](https://github.com/sigstore/model-transparency/blob/main/README.model_signing.md) | | AI/ML Security WG | [Sandbox](process/project-lifecycle-documents/model_signing_sandbox_stage.md) |",
     "kind": "foundation-page",
     "captured": "2026-10-20"
    },
    "e2": {
     "url": "https://raw.githubusercontent.com/sigstore/model-transparency/main/README.md",
     "quote": "This project demonstrates how to protect the integrity of a model by signing it.",
     "kind": "readme",
     "captured": "2026-10-20"
    },
    "e3": {
     "url": "https://raw.githubusercontent.com/sigstore/model-transparency/main/README.md",
     "quote": "Further the DSSE envelope contains an in-toto statment and the signature over that statement.",
     "kind": "readme",
     "captured": "2026-10-20"
    },
    "e4": {
     "url": "https://raw.githubusercontent.com/sigstore/model-transparency/main/README.md",
     "quote": "Verification needs a configuration. To verify using Sigstore:",
     "kind": "readme",
     "captured": "2026-10-20"
    },
    "e5": {
     "url": "https://api.github.com/repos/sigstore/model-transparency",
     "quote": "Apache-2.0",
     "kind": "repo-api",
     "captured": "2026-10-20"
    }
   },
   "notes": null,
   "as_of": "2026-10-20",
   "leaf": "3.7",
   "lanes": {
    "concern": "security",
    "home": "openssf",
    "license": "osi",
    "maturity": "sandbox",
    "policy": "owner-config"
   },
   "page": "/safeguards/openssf-model-signing",
   "logo": "/safeguards/logos/openssf-model-signing.png"
  },
  {
   "slug": "openssf-scorecard",
   "name": "OpenSSF Scorecard",
   "org": "Open Source Security Foundation",
   "org_kind": "foundation",
   "homepage": "https://scorecard.dev/",
   "repo": "https://github.com/ossf/scorecard",
   "license": "Apache-2.0",
   "license_class": "osi",
   "description": "An automated tool that scores an open source project from 0 to 10 on a set of security checks, run from a command line or as a GitHub Action.",
   "home": "openssf",
   "home_detail": null,
   "maturity": "incubating",
   "tier": "mapped",
   "tier_reason": null,
   "placements": [
    {
     "leaf": "1.1",
     "primary": true,
     "capability": "Assesses a repository against a set of security checks and assigns each check a score from 0 to 10, so maintainers and dependency consumers can judge its security practices.",
     "evidence": [
      "e2"
     ]
    }
   ],
   "facets": {
    "concern": [
     "security"
    ],
    "cites_law": false,
    "jurisdictions": [],
    "subject": [
     "software"
    ],
    "user_party": [
     "makes",
     "runs"
    ],
    "run_mode": [
     "by-hand",
     "in-ci"
    ],
    "inventory_only": false
   },
   "handoffs": [
    {
     "artifact": "findings",
     "direction": "produces",
     "format": "SARIF (through the Scorecard GitHub Action)"
    }
   ],
   "evidence": {
    "e1": {
     "url": "https://raw.githubusercontent.com/ossf/tac/main/README.md",
     "quote": "| OpenSSF Scorecard | [GitHub](https://github.com/ossf/scorecard) | https://securityscorecards.dev/ | Best Practices WG | [Incubating](process/project-lifecycle-documents/openssf_scorecard_incubating_stage.md) |",
     "kind": "foundation-page",
     "captured": "2026-10-20"
    },
    "e2": {
     "url": "https://raw.githubusercontent.com/ossf/scorecard/main/README.md",
     "quote": "Scorecard is an automated tool that assesses a number of important heuristics",
     "kind": "readme",
     "captured": "2026-10-20"
    },
    "e3": {
     "url": "https://raw.githubusercontent.com/ossf/scorecard-action/main/README.md",
     "quote": "For GitHub's scanning dashboard, select `sarif`.",
     "kind": "readme",
     "captured": "2026-10-20"
    },
    "e4": {
     "url": "https://api.github.com/repos/ossf/scorecard",
     "quote": "Apache-2.0",
     "kind": "repo-api",
     "captured": "2026-10-20"
    }
   },
   "notes": "The main repository README lists text and JSON output; the SARIF output belongs to the project's separate GitHub Action repository.",
   "as_of": "2026-10-20",
   "leaf": "1.1",
   "lanes": {
    "concern": "security",
    "home": "openssf",
    "license": "osi",
    "maturity": "incubating",
    "policy": "na"
   },
   "page": "/safeguards/openssf-scorecard",
   "logo": "/safeguards/logos/openssf-scorecard.png"
  },
  {
   "slug": "opentelemetry",
   "name": "OpenTelemetry",
   "org": "Cloud Native Computing Foundation",
   "org_kind": "foundation",
   "homepage": "https://opentelemetry.io/",
   "repo": "https://github.com/open-telemetry/opentelemetry-python-genai",
   "license": "Apache-2.0",
   "license_class": "osi",
   "description": "APIs and SDKs for traces, metrics and logs, with instrumentation packages that record generative AI client and framework activity.",
   "home": "cncf",
   "home_detail": null,
   "maturity": "graduated",
   "tier": "mapped",
   "tier_reason": null,
   "placements": [
    {
     "leaf": "3.8",
     "primary": true,
     "capability": "Records the activity of generative AI client libraries and frameworks as spans, metrics and logs, which any backend of the operator's choice can store and read.",
     "evidence": [
      "e2",
      "e3",
      "e4",
      "e5"
     ]
    }
   ],
   "facets": {
    "concern": [
     "security",
     "safety"
    ],
    "cites_law": false,
    "jurisdictions": [],
    "subject": [
     "agent",
     "ai-system"
    ],
    "user_party": [
     "makes",
     "runs"
    ],
    "run_mode": [
     "at-runtime"
    ],
    "inventory_only": false
   },
   "handoffs": [
    {
     "artifact": "runtime-records",
     "direction": "produces",
     "format": "OpenTelemetry spans, metrics and logs (GenAI semantic conventions)"
    }
   ],
   "evidence": {
    "e1": {
     "url": "https://www.cncf.io/projects/opentelemetry/",
     "quote": "OpenTelemetry was accepted to CNCF on May 7, 2019, moved to the Incubating maturity level on August 26, 2021, and then moved to the Graduated maturity level on May 11, 2026.",
     "kind": "foundation-page",
     "captured": "2026-10-20"
    },
    "e2": {
     "url": "https://raw.githubusercontent.com/open-telemetry/opentelemetry-python-genai/main/README.md",
     "quote": "OpenTelemetry instrumentation packages for Generative AI client libraries and frameworks in Python.",
     "kind": "readme",
     "captured": "2026-10-20"
    },
    "e3": {
     "url": "https://raw.githubusercontent.com/open-telemetry/opentelemetry-python-genai/main/README.md",
     "quote": "emit spans, metrics, and logs according to",
     "kind": "readme",
     "captured": "2026-10-20"
    },
    "e4": {
     "url": "https://raw.githubusercontent.com/open-telemetry/semantic-conventions-genai/main/README.md",
     "quote": "Semantic Conventions for Generative AI (GenAI), including spans, metrics, and events for GenAI clients, MCP (Model Context Protocol), and provider-specific conventions (OpenAI, etc.).",
     "kind": "readme",
     "captured": "2026-10-20"
    },
    "e5": {
     "url": "https://opentelemetry.io/",
     "quote": "Instrument your code once using OpenTelemetry APIs and SDKs.",
     "kind": "product-page",
     "captured": "2026-10-20"
    },
    "e6": {
     "url": "https://api.github.com/repos/open-telemetry/opentelemetry-python-genai",
     "quote": "Apache-2.0",
     "kind": "repo-api",
     "captured": "2026-10-20"
    }
   },
   "notes": "The GenAI semantic conventions are a specification and an artifact; this entry is the project's software that produces the records. The repository named is the GenAI instrumentation package set.",
   "as_of": "2026-10-20",
   "leaf": "3.8",
   "lanes": {
    "concern": "safety",
    "home": "cncf",
    "license": "osi",
    "maturity": "graduated",
    "policy": "na"
   },
   "page": "/safeguards/opentelemetry",
   "logo": "/safeguards/logos/opentelemetry.svg"
  },
  {
   "slug": "operant-mcp-gateway",
   "name": "Operant MCP Gateway",
   "org": "Operant AI",
   "org_kind": "company",
   "homepage": "https://www.operant.ai/solutions/mcp-gateway",
   "repo": null,
   "license": null,
   "license_class": "proprietary",
   "description": "A commercial MCP gateway that discovers MCP clients, servers and tools, detects prompt injection and tool poisoning in MCP traffic, and blocks untrusted servers and tools.",
   "home": "vendor",
   "home_detail": null,
   "maturity": "ga",
   "tier": "listed",
   "tier_reason": "Listed, not drawn: no documented handoff and no foundation home places it on the map.",
   "placements": [
    {
     "leaf": "3.3",
     "primary": true,
     "capability": "Monitors MCP traffic between agents and MCP servers, detects threats in it, and blocks untrusted servers and tools or applies least-privilege access permissions to tool use.",
     "evidence": [
      "e1",
      "e2",
      "e3"
     ]
    }
   ],
   "facets": {
    "concern": [
     "security"
    ],
    "cites_law": false,
    "jurisdictions": [],
    "subject": [
     "agent",
     "ai-system"
    ],
    "user_party": [
     "runs"
    ],
    "run_mode": [
     "at-runtime"
    ],
    "policy_source": [
     "owner-config",
     "vendor-defaults"
    ],
    "traffic_seen": [
     "tool"
    ],
    "agent_can_bypass": "depends",
    "inventory_only": false
   },
   "handoffs": [],
   "evidence": {
    "e1": {
     "url": "https://www.operant.ai/solutions/mcp-gateway",
     "quote": "Operant's MCP Gateway has you covered, whether you need discovery and dashboards, or go all the way to real-time protection that works at scale.",
     "kind": "product-page",
     "captured": "2026-10-20"
    },
    "e2": {
     "url": "https://www.operant.ai/solutions/mcp-gateway",
     "quote": "Detect prompt injections, jailbreaks, tool poisoning, and unauthorized access patterns across all MCP client and server interactions in real-time.",
     "kind": "product-page",
     "captured": "2026-10-20"
    },
    "e3": {
     "url": "https://www.operant.ai/solutions/mcp-gateway",
     "quote": "Enforce least privilege execution controls and detailed access permissions for MCP tool usage.",
     "kind": "product-page",
     "captured": "2026-10-20"
    }
   },
   "notes": null,
   "as_of": "2026-10-20",
   "leaf": "3.3",
   "lanes": {
    "concern": "security",
    "home": "vendor",
    "license": "proprietary",
    "maturity": "ga",
    "policy": "owner-config"
   },
   "page": "/safeguards/operant-mcp-gateway",
   "logo": null
  },
  {
   "slug": "ortelius",
   "name": "Ortelius",
   "org": "Open Source Security Foundation",
   "org_kind": "foundation",
   "homepage": "https://ortelius.io/",
   "repo": "https://github.com/ortelius/ortelius",
   "license": "Apache-2.0",
   "license_class": "osi",
   "description": "A platform that ingests SBOMs at build time and matches deployed components against OSV, tracking each vulnerability until it is remediated.",
   "home": "openssf",
   "home_detail": null,
   "maturity": "sandbox",
   "tier": "mapped",
   "tier_reason": null,
   "placements": [
    {
     "leaf": "1.1",
     "primary": true,
     "capability": "Reads SBOMs at build time and matches the components deployed in each environment against OSV on a schedule, tracking each vulnerability until it is remediated.",
     "evidence": [
      "e2"
     ]
    }
   ],
   "facets": {
    "concern": [
     "security"
    ],
    "cites_law": false,
    "jurisdictions": [],
    "subject": [
     "software"
    ],
    "user_party": [
     "makes",
     "runs"
    ],
    "run_mode": [
     "at-runtime"
    ],
    "inventory_only": false
   },
   "handoffs": [
    {
     "artifact": "vulnerability-status",
     "direction": "consumes",
     "format": "OSV"
    }
   ],
   "evidence": {
    "e1": {
     "url": "https://raw.githubusercontent.com/ossf/tac/main/README.md",
     "quote": "| Ortelius | [GitHub](https://github.com/ortelius/ortelius) | https://ortelius.io/ | Vulnerability Disclosures WG | [Sandbox](process/sig-lifecycle-documents/Ortelius_sandbox_stage.md) |",
     "kind": "foundation-page",
     "captured": "2026-10-21"
    },
    "e2": {
     "url": "https://raw.githubusercontent.com/ortelius/ortelius/main/README.md",
     "quote": "It ingests your Software Bill of Materials (SBOM) at build time, matches your deployed components against the OSV vulnerability database every 15 minutes, tracks every CVE from the moment it is introduced into a release through every environment it reaches until it is remediated, and measures how long each step takes against your SLA targets.",
     "kind": "readme",
     "captured": "2026-10-21"
    },
    "e3": {
     "url": "https://api.github.com/repos/ortelius/ortelius",
     "quote": "Apache-2.0",
     "kind": "repo-api",
     "captured": "2026-10-21"
    }
   },
   "notes": "The OpenSSF TAC table lists Ortelius at the sandbox stage under its Vulnerability Disclosures working group. It sits with SBOM-based dependency review (1.1), as Dependency-Track does.",
   "as_of": "2026-10-21",
   "leaf": "1.1",
   "lanes": {
    "concern": "security",
    "home": "openssf",
    "license": "osi",
    "maturity": "sandbox",
    "policy": "na"
   },
   "page": "/safeguards/ortelius",
   "logo": null
  },
  {
   "slug": "oss-review-toolkit",
   "name": "OSS Review Toolkit (ORT)",
   "org": "Linux Foundation",
   "org_kind": "foundation",
   "homepage": "https://oss-review-toolkit.org",
   "repo": "https://github.com/oss-review-toolkit/ort",
   "license": "Apache-2.0",
   "license_class": "osi",
   "description": "A pipeline of tools that finds a project's dependencies, detects licenses and copyrights, and evaluates policy rules against the results.",
   "home": "lf-other",
   "home_detail": "OSS Review Toolkit (ORT), a Linux Foundation project and part of ACT",
   "maturity": "released",
   "tier": "mapped",
   "tier_reason": null,
   "placements": [
    {
     "leaf": "1.1",
     "primary": true,
     "capability": "Determines a project's dependencies, detects license and copyright findings, and evaluates custom policy rules against the results to return a list of policy violations.",
     "evidence": [
      "e2",
      "e3",
      "e4"
     ]
    }
   ],
   "facets": {
    "concern": [
     "legal"
    ],
    "cites_law": false,
    "jurisdictions": [],
    "subject": [
     "software"
    ],
    "user_party": [
     "makes",
     "distributes"
    ],
    "run_mode": [
     "by-hand",
     "in-ci"
    ],
    "inventory_only": false
   },
   "handoffs": [
    {
     "artifact": "inventory",
     "direction": "produces",
     "format": "CycloneDX"
    }
   ],
   "evidence": {
    "e1": {
     "url": "https://raw.githubusercontent.com/oss-review-toolkit/ort/main/README.md",
     "quote": "OSS Review Toolkit (ORT) is a [Linux Foundation project](https://www.linuxfoundation.org/) and part of [ACT](https://automatecompliance.org/).",
     "kind": "readme",
     "captured": "2026-10-21"
    },
    "e2": {
     "url": "https://raw.githubusercontent.com/oss-review-toolkit/ort/main/README.md",
     "quote": "Determines the dependencies of projects and their metadata, abstracting which package managers or build systems are actually being used.",
     "kind": "readme",
     "captured": "2026-10-21"
    },
    "e3": {
     "url": "https://raw.githubusercontent.com/oss-review-toolkit/ort/main/README.md",
     "quote": "Uses configured source code scanners to detect license / copyright findings, abstracting the type of scanner.",
     "kind": "readme",
     "captured": "2026-10-21"
    },
    "e4": {
     "url": "https://raw.githubusercontent.com/oss-review-toolkit/ort/main/README.md",
     "quote": "Evaluates custom policy rules along with custom license classifications against the data gathered in preceding stages and returns a list of policy violations, e.g. to flag license findings.",
     "kind": "readme",
     "captured": "2026-10-21"
    },
    "e5": {
     "url": "https://oss-review-toolkit.org/ort/docs/tools/reporter",
     "quote": "CycloneDX BOM ( -f CycloneDx )",
     "kind": "docs",
     "captured": "2026-10-21"
    },
    "e6": {
     "url": "https://github.com/oss-review-toolkit/ort/releases",
     "quote": "Release list 97.0.0 96.0.0 95.0.0 94.2.0 94.1.0 94.0.0 93.0.0 92.6.0 92.5.0 92.4.0",
     "kind": "release-notes",
     "captured": "2026-10-21"
    },
    "e7": {
     "url": "https://api.github.com/repos/oss-review-toolkit/ort",
     "quote": "Apache-2.0",
     "kind": "repo-api",
     "captured": "2026-10-21"
    }
   },
   "notes": "Review of dependencies and licenses (1.1); the evaluator returns policy violations to the user and enforces nothing at runtime.",
   "as_of": "2026-10-21",
   "leaf": "1.1",
   "lanes": {
    "concern": "legal",
    "home": "lf-other",
    "license": "osi",
    "maturity": "released",
    "policy": "na"
   },
   "page": "/safeguards/oss-review-toolkit",
   "logo": null
  },
  {
   "slug": "oss-crs",
   "name": "OSS-CRS",
   "org": "Open Source Security Foundation",
   "org_kind": "foundation",
   "homepage": "https://oss-crs.openssf.org/",
   "repo": "https://github.com/ossf/oss-crs",
   "license": "MIT",
   "license_class": "osi",
   "description": "An orchestration framework for building and running LLM-based systems that find and fix bugs in projects set up for OSS-Fuzz.",
   "home": "openssf",
   "home_detail": null,
   "maturity": "sandbox",
   "tier": "mapped",
   "tier_reason": null,
   "placements": [
    {
     "leaf": "2.1",
     "primary": true,
     "capability": "Orchestrates LLM-based systems that look for and fix bugs in OSS-Fuzz format projects, with CPU limits and LLM budgets per system.",
     "evidence": [
      "e2",
      "e3"
     ]
    }
   ],
   "facets": {
    "concern": [
     "security"
    ],
    "cites_law": false,
    "jurisdictions": [],
    "subject": [
     "software"
    ],
    "user_party": [
     "makes",
     "runs"
    ],
    "run_mode": [
     "by-hand"
    ],
    "test_target": [
     "application"
    ],
    "inventory_only": false
   },
   "handoffs": [],
   "evidence": {
    "e1": {
     "url": "https://raw.githubusercontent.com/ossf/tac/main/README.md",
     "quote": "| OSS-CRS | [GitHub](https://github.com/ossf/oss-crs) | https://oss-crs.openssf.org/ | AI/ML Security WG | [Sandbox](process/project-lifecycle-documents/oss-crs_sandbox_stage.md) |",
     "kind": "foundation-page",
     "captured": "2026-10-20"
    },
    "e2": {
     "url": "https://raw.githubusercontent.com/ossf/oss-crs/main/README.md",
     "quote": "is a standard orchestration framework for building and running LLM-based autonomous bug-finding and bug-fixing systems",
     "kind": "readme",
     "captured": "2026-10-20"
    },
    "e3": {
     "url": "https://raw.githubusercontent.com/ossf/oss-crs/main/README.md",
     "quote": "Manage CPU limits and LLM budgets per CRS to keep costs and resources in check.",
     "kind": "readme",
     "captured": "2026-10-20"
    },
    "e4": {
     "url": "https://api.github.com/repos/ossf/oss-crs",
     "quote": "MIT",
     "kind": "repo-api",
     "captured": "2026-10-20"
    }
   },
   "notes": null,
   "as_of": "2026-10-20",
   "leaf": "2.1",
   "lanes": {
    "concern": "security",
    "home": "openssf",
    "license": "osi",
    "maturity": "sandbox",
    "policy": "na"
   },
   "page": "/safeguards/oss-crs",
   "logo": "/safeguards/logos/oss-crs.svg"
  },
  {
   "slug": "osv-scanner",
   "name": "OSV-Scanner",
   "org": "Google",
   "org_kind": "company",
   "homepage": "https://google.github.io/osv-scanner/",
   "repo": "https://github.com/google/osv-scanner",
   "license": "Apache-2.0",
   "license_class": "osi",
   "description": "Finds known vulnerabilities affecting a project's dependencies by matching them against the OSV database.",
   "home": "none",
   "home_detail": null,
   "maturity": "released",
   "tier": "mapped",
   "tier_reason": null,
   "placements": [
    {
     "leaf": "1.1",
     "primary": true,
     "capability": "Matches a project's dependencies against the OSV vulnerability database and reports which known vulnerabilities affect them.",
     "evidence": [
      "e1",
      "e2"
     ]
    }
   ],
   "facets": {
    "concern": [
     "security"
    ],
    "cites_law": false,
    "jurisdictions": [],
    "subject": [
     "software"
    ],
    "user_party": [
     "makes",
     "runs"
    ],
    "run_mode": [
     "by-hand",
     "in-ci"
    ],
    "inventory_only": false
   },
   "handoffs": [
    {
     "artifact": "findings",
     "direction": "produces",
     "format": "SARIF v2.1.0"
    },
    {
     "artifact": "vulnerability-status",
     "direction": "consumes",
     "format": "OSV"
    }
   ],
   "evidence": {
    "e1": {
     "url": "https://raw.githubusercontent.com/google/osv-scanner/main/README.md",
     "quote": "Use OSV-Scanner to find existing vulnerabilities affecting your project's dependencies.",
     "kind": "readme",
     "captured": "2026-10-20"
    },
    "e2": {
     "url": "https://raw.githubusercontent.com/google/osv-scanner/main/README.md",
     "quote": "OSV-Scanner provides an officially supported frontend to the [OSV database](https://osv.dev/)",
     "kind": "readme",
     "captured": "2026-10-20"
    },
    "e3": {
     "url": "https://google.github.io/osv-scanner/output/",
     "quote": "Outputs the result in the SARIF v2.1.0 format.",
     "kind": "docs",
     "captured": "2026-10-20"
    },
    "e4": {
     "url": "https://github.com/google/osv-scanner/releases",
     "quote": "Release list v2.7.0 v2.6.0 v2.5.1 v2.5.0 v2.4.0",
     "kind": "release-notes",
     "captured": "2026-10-20"
    },
    "e5": {
     "url": "https://api.github.com/repos/google/osv-scanner",
     "quote": "Apache-2.0",
     "kind": "repo-api",
     "captured": "2026-10-20"
    }
   },
   "notes": "Google's open source project. The OSV schema is hosted by OpenSSF, but the scanner's own README names no foundation, so it has no foundation home here.",
   "as_of": "2026-10-20",
   "leaf": "1.1",
   "lanes": {
    "concern": "security",
    "home": "none",
    "license": "osi",
    "maturity": "released",
    "policy": "na"
   },
   "page": "/safeguards/osv-scanner",
   "logo": "/safeguards/logos/osv-scanner.svg"
  },
  {
   "slug": "owasp-agent-memory-guard",
   "name": "OWASP Agent Memory Guard",
   "org": "OWASP Foundation",
   "org_kind": "foundation",
   "homepage": "https://owasp.org/www-project-agent-memory-guard/",
   "repo": "https://github.com/OWASP/www-project-agent-memory-guard",
   "license": "Apache-2.0",
   "license_class": "osi",
   "description": "A Python library that screens every write to an AI agent's memory store with detectors and a YAML policy that can allow, redact, quarantine or block it.",
   "home": "owasp",
   "home_detail": null,
   "maturity": "incubator",
   "tier": "mapped",
   "tier_reason": null,
   "placements": [
    {
     "leaf": "3.4",
     "primary": true,
     "capability": "Screens each operation on an agent's memory store with built-in detectors and a policy that maps findings to allow, redact, quarantine or block.",
     "evidence": [
      "e2",
      "e3",
      "e4"
     ]
    }
   ],
   "facets": {
    "concern": [
     "security"
    ],
    "cites_law": false,
    "jurisdictions": [],
    "subject": [
     "agent"
    ],
    "user_party": [
     "makes",
     "runs"
    ],
    "run_mode": [
     "at-runtime"
    ],
    "policy_source": [
     "vendor-defaults",
     "owner-config"
    ],
    "inventory_only": false
   },
   "handoffs": [],
   "evidence": {
    "e1": {
     "url": "https://owasp.org/www-project-agent-memory-guard/",
     "quote": "Incubator Project Classification",
     "kind": "foundation-page",
     "captured": "2026-10-21"
    },
    "e2": {
     "url": "https://owasp.org/www-project-agent-memory-guard/",
     "quote": "Agent Memory Guard sits between the agent and its memory store, screening every operation through a pipeline of detectors and a declarative policy.",
     "kind": "foundation-page",
     "captured": "2026-10-21"
    },
    "e3": {
     "url": "https://raw.githubusercontent.com/OWASP/www-project-agent-memory-guard/main/README.md",
     "quote": "built-in detectors for prompt injection, secret/PII leakage, protected-key modifications, size anomalies",
     "kind": "readme",
     "captured": "2026-10-21"
    },
    "e4": {
     "url": "https://raw.githubusercontent.com/OWASP/www-project-agent-memory-guard/main/README.md",
     "quote": "YAML-defined rules map findings to actions",
     "kind": "readme",
     "captured": "2026-10-21"
    },
    "e5": {
     "url": "https://raw.githubusercontent.com/OWASP/www-project-agent-memory-guard/main/LICENSE.md",
     "quote": "Apache License Version 2.0, January 2004",
     "kind": "readme",
     "captured": "2026-10-21"
    }
   },
   "notes": null,
   "as_of": "2026-10-21",
   "leaf": "3.4",
   "lanes": {
    "concern": "security",
    "home": "other-foundation",
    "license": "osi",
    "maturity": "incubating",
    "policy": "owner-config"
   },
   "page": "/safeguards/owasp-agent-memory-guard",
   "logo": null
  },
  {
   "slug": "owasp-api-security-testing-framework",
   "name": "OWASP API Security Testing Framework",
   "org": "OWASP Foundation",
   "org_kind": "foundation",
   "homepage": "https://owasp.org/www-project-api-security-testing-framework/",
   "repo": "https://github.com/OWASP/www-project-api-security-testing-framework",
   "license": "Apache-2.0",
   "license_class": "osi",
   "description": "A Java command-line scanner that tests a running API for the OWASP API Security Top 10 weaknesses and writes reports, with documented CI pipeline use.",
   "home": "owasp",
   "home_detail": null,
   "maturity": "incubator",
   "tier": "mapped",
   "tier_reason": null,
   "placements": [
    {
     "leaf": "2.1",
     "primary": true,
     "capability": "Sends test cases for the OWASP API Security Top 10 to a running API from a command line and writes a report of findings.",
     "evidence": [
      "e2",
      "e3"
     ]
    },
    {
     "leaf": "2.2",
     "primary": false,
     "capability": "Runs in a pull request pipeline and returns an exit code that fails the build when findings are detected.",
     "evidence": [
      "e4",
      "e5"
     ]
    }
   ],
   "facets": {
    "concern": [
     "security"
    ],
    "cites_law": false,
    "jurisdictions": [],
    "subject": [
     "software"
    ],
    "user_party": [
     "makes"
    ],
    "run_mode": [
     "by-hand",
     "in-ci"
    ],
    "test_target": [
     "application"
    ],
    "inventory_only": false
   },
   "handoffs": [
    {
     "artifact": "findings",
     "direction": "produces",
     "format": "SARIF"
    }
   ],
   "evidence": {
    "e1": {
     "url": "https://owasp.org/www-project-api-security-testing-framework/",
     "quote": "Incubator Project Classification",
     "kind": "foundation-page",
     "captured": "2026-10-21"
    },
    "e2": {
     "url": "https://raw.githubusercontent.com/OWASP/www-project-api-security-testing-framework/main/README.md",
     "quote": "A comprehensive automated testing framework for detecting API security vulnerabilities",
     "kind": "readme",
     "captured": "2026-10-21"
    },
    "e3": {
     "url": "https://raw.githubusercontent.com/OWASP/www-project-api-security-testing-framework/main/README.md",
     "quote": "Run your first scan (copy-paste ready)",
     "kind": "readme",
     "captured": "2026-10-21"
    },
    "e4": {
     "url": "https://raw.githubusercontent.com/OWASP/www-project-api-security-testing-framework/main/README.md",
     "quote": "GitHub Actions — Scan on Every Pull Request",
     "kind": "readme",
     "captured": "2026-10-21"
    },
    "e5": {
     "url": "https://raw.githubusercontent.com/OWASP/www-project-api-security-testing-framework/main/README.md",
     "quote": "Fail build on HIGH or CRITICAL findings",
     "kind": "readme",
     "captured": "2026-10-21"
    },
    "e6": {
     "url": "https://github.com/OWASP/www-project-api-security-testing-framework/releases",
     "quote": "Release list ASTF v2.0.1 ASTF v2.0.0 ASTF v1.0.0 ASTF v1.1.0-beta ASTF v1.0.0-beta",
     "kind": "release-notes",
     "captured": "2026-10-21"
    },
    "e7": {
     "url": "https://raw.githubusercontent.com/OWASP/www-project-api-security-testing-framework/main/LICENSE.md",
     "quote": "Apache License Version 2.0, January 2004",
     "kind": "readme",
     "captured": "2026-10-21"
    },
    "e8": {
     "url": "https://raw.githubusercontent.com/OWASP/www-project-api-security-testing-framework/main/README.md",
     "quote": "-f SARIF -o results.sarif",
     "kind": "readme",
     "captured": "2026-10-21"
    }
   },
   "notes": "The program, its releases and its documentation live in the project's page repository. The README quick start is a hand-run scan, so tester-run is primary; the pull request pipeline recipe is documented separately, so it is the secondary placement.",
   "as_of": "2026-10-21",
   "leaf": "2.1",
   "lanes": {
    "concern": "security",
    "home": "other-foundation",
    "license": "osi",
    "maturity": "incubating",
    "policy": "na"
   },
   "page": "/safeguards/owasp-api-security-testing-framework",
   "logo": null
  },
  {
   "slug": "owasp-attack-surface-detector",
   "name": "OWASP Attack Surface Detector",
   "org": "OWASP Foundation",
   "org_kind": "foundation",
   "homepage": "https://owasp.org/www-project-attack-surface-detector/",
   "repo": "https://github.com/secdec/attack-surface-detector-zap",
   "license": "MPL-2.0",
   "license_class": "osi",
   "description": "A tool that reads a web application's source code to list its endpoints, their parameters and parameter types, as a ZAP and Burp Suite plugin and a command line tool.",
   "home": "owasp",
   "home_detail": null,
   "maturity": "lab",
   "tier": "mapped",
   "tier_reason": null,
   "placements": [
    {
     "leaf": "1.1",
     "primary": true,
     "capability": "Parses a web application's source code to list its endpoints, their parameters and parameter types, and compares the attack surface of two versions.",
     "evidence": [
      "e2",
      "e3"
     ]
    }
   ],
   "facets": {
    "concern": [
     "security"
    ],
    "cites_law": false,
    "jurisdictions": [],
    "subject": [
     "software"
    ],
    "user_party": [
     "makes",
     "runs"
    ],
    "run_mode": [
     "by-hand"
    ],
    "inventory_only": false
   },
   "handoffs": [],
   "evidence": {
    "e1": {
     "url": "https://owasp.org/www-project-attack-surface-detector/",
     "quote": "Lab Project Classification",
     "kind": "foundation-page",
     "captured": "2026-10-21"
    },
    "e2": {
     "url": "https://owasp.org/www-project-attack-surface-detector/",
     "quote": "The Attack Surface Detector performs static code analyses to identify web application endpoints by parsing routes and identifying parameters",
     "kind": "foundation-page",
     "captured": "2026-10-21"
    },
    "e3": {
     "url": "https://owasp.org/www-project-attack-surface-detector/",
     "quote": "It also has the capability to calculate the changes in attack surface between two versions of an application.",
     "kind": "foundation-page",
     "captured": "2026-10-21"
    },
    "e4": {
     "url": "https://api.github.com/repos/secdec/attack-surface-detector-zap",
     "quote": "MPL-2.0",
     "kind": "repo-api",
     "captured": "2026-10-21"
    }
   },
   "notes": "The tool analyzes source code to feed a tester's DAST work, so it sits in code review.",
   "as_of": "2026-10-21",
   "leaf": "1.1",
   "lanes": {
    "concern": "security",
    "home": "other-foundation",
    "license": "osi",
    "maturity": "incubating",
    "policy": "na"
   },
   "page": "/safeguards/owasp-attack-surface-detector",
   "logo": null
  },
  {
   "slug": "owasp-bug-logging-tool",
   "name": "OWASP Bug Logging Tool (BLT)",
   "org": "OWASP Foundation",
   "org_kind": "foundation",
   "homepage": "https://owasp.org/www-project-bug-logging-tool/",
   "repo": "https://github.com/OWASP-BLT/BLT",
   "license": "AGPL-3.0",
   "license_class": "osi",
   "description": "A web application where anyone can report issues found on a website, including security vulnerabilities, and where organizations can run bug bounty programs.",
   "home": "owasp",
   "home_detail": null,
   "maturity": "production",
   "tier": "mapped",
   "tier_reason": null,
   "placements": [
    {
     "leaf": "4.1",
     "primary": true,
     "capability": "Takes issue reports from the public, security vulnerabilities included, and lets organizations run bug bounty programs that reward reporters.",
     "evidence": [
      "e2",
      "e3"
     ]
    }
   ],
   "facets": {
    "concern": [
     "security"
    ],
    "cites_law": false,
    "jurisdictions": [],
    "subject": [
     "software"
    ],
    "user_party": [
     "makes",
     "runs"
    ],
    "run_mode": [
     "by-hand"
    ],
    "inventory_only": false
   },
   "handoffs": [],
   "evidence": {
    "e1": {
     "url": "https://owasp.org/www-project-bug-logging-tool/",
     "quote": "Production Project Classification",
     "kind": "foundation-page",
     "captured": "2026-10-21"
    },
    "e2": {
     "url": "https://owasp.org/www-project-bug-logging-tool/",
     "quote": "OWASP BLT is a tool enabling internet users to report all kinds of issues they encounter",
     "kind": "foundation-page",
     "captured": "2026-10-21"
    },
    "e3": {
     "url": "https://owasp.org/www-project-bug-logging-tool/",
     "quote": "organizations can launch their own Bug Bounties and reward users for finding issues on their websites",
     "kind": "foundation-page",
     "captured": "2026-10-21"
    },
    "e4": {
     "url": "https://owasp.org/www-project-bug-logging-tool/",
     "quote": "free and open-source software licensed under the GNU Affero General Public License 3.0",
     "kind": "foundation-page",
     "captured": "2026-10-21"
    }
   },
   "notes": "Placed in 4.1 beside report-intake programs. The license rests on the foundation page because the GitHub API did not answer for the repository.",
   "as_of": "2026-10-21",
   "leaf": "4.1",
   "lanes": {
    "concern": "security",
    "home": "other-foundation",
    "license": "osi",
    "maturity": "graduated",
    "policy": "na"
   },
   "page": "/safeguards/owasp-bug-logging-tool",
   "logo": null
  },
  {
   "slug": "owasp-cve-lite-cli",
   "name": "OWASP CVE Lite CLI",
   "org": "OWASP Foundation",
   "org_kind": "foundation",
   "homepage": "https://owasp.org/www-project-cve-lite-cli/",
   "repo": "https://github.com/OWASP/cve-lite-cli",
   "license": "MIT",
   "license_class": "osi",
   "description": "A local scanner for npm, pnpm and Yarn lockfiles that matches packages against OSV advisories and shows direct and transitive findings with fix guidance.",
   "home": "owasp",
   "home_detail": null,
   "maturity": "lab",
   "tier": "mapped",
   "tier_reason": null,
   "placements": [
    {
     "leaf": "1.1",
     "primary": true,
     "capability": "Scans JavaScript and TypeScript lockfiles locally, matches the packages against OSV advisories, and reports direct and transitive findings with remediation guidance.",
     "evidence": [
      "e2"
     ]
    }
   ],
   "facets": {
    "concern": [
     "security"
    ],
    "cites_law": false,
    "jurisdictions": [],
    "subject": [
     "software"
    ],
    "user_party": [
     "makes"
    ],
    "run_mode": [
     "by-hand",
     "in-ci"
    ],
    "inventory_only": false
   },
   "handoffs": [
    {
     "artifact": "vulnerability-status",
     "direction": "consumes",
     "format": "OSV"
    },
    {
     "artifact": "findings",
     "direction": "produces",
     "format": "SARIF"
    }
   ],
   "evidence": {
    "e1": {
     "url": "https://owasp.org/www-project-cve-lite-cli/",
     "quote": "Lab Project Classification",
     "kind": "foundation-page",
     "captured": "2026-10-21"
    },
    "e2": {
     "url": "https://owasp.org/www-project-cve-lite-cli/",
     "quote": "It scans npm, pnpm, and Yarn lockfiles locally, matches packages against OSV advisories",
     "kind": "foundation-page",
     "captured": "2026-10-21"
    },
    "e3": {
     "url": "https://owasp.org/www-project-cve-lite-cli/",
     "quote": "The CLI scans existing lockfiles, queries OSV vulnerability data",
     "kind": "foundation-page",
     "captured": "2026-10-21"
    },
    "e4": {
     "url": "https://raw.githubusercontent.com/OWASP/cve-lite-cli/main/LICENSE",
     "quote": "MIT License Copyright (c) 2026 Permission is hereby granted",
     "kind": "readme",
     "captured": "2026-10-21"
    },
    "e5": {
     "url": "https://owasp.org/www-project-cve-lite-cli/",
     "quote": "It supports npm, pnpm, and Yarn projects, JSON and SARIF output, CI-friendly severity thresholds",
     "kind": "foundation-page",
     "captured": "2026-10-21"
    }
   },
   "notes": "The page does not name a release version; maturity rests on the Lab classification the OWASP page states.",
   "as_of": "2026-10-21",
   "leaf": "1.1",
   "lanes": {
    "concern": "security",
    "home": "other-foundation",
    "license": "osi",
    "maturity": "incubating",
    "policy": "na"
   },
   "page": "/safeguards/owasp-cve-lite-cli",
   "logo": null
  },
  {
   "slug": "owasp-deepsecrets",
   "name": "OWASP DeepSecrets",
   "org": "OWASP Foundation",
   "org_kind": "foundation",
   "homepage": "https://owasp.org/www-project-deepsecrets/",
   "repo": "https://github.com/ntoskernel/deepsecrets",
   "license": "MIT",
   "license_class": "osi",
   "description": "A secrets scanner that parses source code across many languages and formats, and can locate known secrets from their hashes.",
   "home": "owasp",
   "home_detail": null,
   "maturity": "incubator",
   "tier": "mapped",
   "tier_reason": null,
   "placements": [
    {
     "leaf": "1.1",
     "primary": true,
     "capability": "Scans source code for secrets using lexing and parsing together with pattern matching.",
     "evidence": [
      "e2",
      "e3",
      "e5"
     ]
    }
   ],
   "facets": {
    "concern": [
     "security"
    ],
    "cites_law": false,
    "jurisdictions": [],
    "subject": [
     "software"
    ],
    "user_party": [
     "makes"
    ],
    "run_mode": [
     "by-hand"
    ],
    "inventory_only": false
   },
   "handoffs": [],
   "evidence": {
    "e1": {
     "url": "https://owasp.org/www-project-deepsecrets/",
     "quote": "Incubator Project Classification",
     "kind": "foundation-page",
     "captured": "2026-10-21"
    },
    "e2": {
     "url": "https://owasp.org/www-project-deepsecrets/",
     "quote": "DeepSecrets scans code, not a stream of bytes.",
     "kind": "foundation-page",
     "captured": "2026-10-21"
    },
    "e3": {
     "url": "https://owasp.org/www-project-deepsecrets/",
     "quote": "combining pattern matching with deep semantic code analysis",
     "kind": "foundation-page",
     "captured": "2026-10-21"
    },
    "e4": {
     "url": "https://raw.githubusercontent.com/ntoskernel/deepsecrets/main/LICENSE",
     "quote": "MIT License Copyright (c) 2023 Avito",
     "kind": "readme",
     "captured": "2026-10-21"
    },
    "e5": {
     "url": "https://owasp.org/www-project-deepsecrets/",
     "quote": "Provide hashed values of known secrets, and DeepSecrets will safely locate them in plain-text without storing the secrets themselves.",
     "kind": "foundation-page",
     "captured": "2026-10-21"
    }
   },
   "notes": "The page states no CI mode, so the run mode is by hand.",
   "as_of": "2026-10-21",
   "leaf": "1.1",
   "lanes": {
    "concern": "security",
    "home": "other-foundation",
    "license": "osi",
    "maturity": "incubating",
    "policy": "na"
   },
   "page": "/safeguards/owasp-deepsecrets",
   "logo": null
  },
  {
   "slug": "owasp-defectdojo",
   "name": "OWASP DefectDojo",
   "org": "OWASP Foundation",
   "org_kind": "foundation",
   "homepage": "https://owasp.org/www-project-defectdojo/",
   "repo": "https://github.com/DefectDojo/django-DefectDojo",
   "license": "BSD-3-Clause",
   "license_class": "osi",
   "description": "An open-source platform that collects findings from security scanners, deduplicates them and tracks them through remediation and reporting.",
   "home": "owasp",
   "home_detail": null,
   "maturity": "flagship",
   "tier": "mapped",
   "tier_reason": null,
   "placements": [
    {
     "leaf": "4.1",
     "primary": true,
     "capability": "Collects findings from security scanners into one place, deduplicates them and tracks each through remediation and reporting.",
     "evidence": [
      "e2",
      "e3"
     ]
    }
   ],
   "facets": {
    "concern": [
     "security"
    ],
    "cites_law": false,
    "jurisdictions": [],
    "subject": [
     "software"
    ],
    "user_party": [
     "makes",
     "runs"
    ],
    "run_mode": [
     "by-hand"
    ],
    "inventory_only": false
   },
   "handoffs": [
    {
     "artifact": "findings",
     "direction": "consumes",
     "format": "SARIF"
    }
   ],
   "evidence": {
    "e1": {
     "url": "https://owasp.org/www-project-defectdojo/",
     "quote": "Flagship Project Classification",
     "kind": "foundation-page",
     "captured": "2026-10-21"
    },
    "e2": {
     "url": "https://owasp.org/www-project-defectdojo/",
     "quote": "DefectDojo is a single platform to orchestrate end-to-end security testing, vulnerability tracking, deduplication, remediation, and reporting.",
     "kind": "foundation-page",
     "captured": "2026-10-21"
    },
    "e3": {
     "url": "https://owasp.org/www-project-defectdojo/",
     "quote": "aggregate, automate, and integrate data from more than 200 security tools",
     "kind": "foundation-page",
     "captured": "2026-10-21"
    },
    "e4": {
     "url": "https://api.github.com/repos/DefectDojo/django-DefectDojo",
     "quote": "BSD-3-Clause",
     "kind": "repo-api",
     "captured": "2026-10-21"
    },
    "e5": {
     "url": "https://docs.defectdojo.com/en/connecting_your_tools/parsers/",
     "quote": "Rusty Hog parser Safety SARIF sbomqs Scantist Scan",
     "kind": "docs",
     "captured": "2026-10-21"
    }
   },
   "notes": "Placed in 4.1 as the intake of vulnerability findings. Only the open-source project is described, not the commercial edition.",
   "as_of": "2026-10-21",
   "leaf": "4.1",
   "lanes": {
    "concern": "security",
    "home": "other-foundation",
    "license": "osi",
    "maturity": "graduated",
    "policy": "na"
   },
   "page": "/safeguards/owasp-defectdojo",
   "logo": null
  },
  {
   "slug": "dep-scan",
   "name": "OWASP dep-scan",
   "org": "OWASP Foundation",
   "org_kind": "foundation",
   "homepage": "https://owasp.org/www-project-dep-scan/",
   "repo": "https://github.com/owasp-dep-scan/dep-scan",
   "license": "MIT",
   "license_class": "osi",
   "description": "A tool that scans local repositories and container images for dependencies with known vulnerabilities, with reachability analysis, and can write a CSAF VEX document.",
   "home": "owasp",
   "home_detail": null,
   "maturity": "incubator",
   "tier": "mapped",
   "tier_reason": null,
   "placements": [
    {
     "leaf": "1.1",
     "primary": true,
     "capability": "Scans application code, container images and Kubernetes manifests for known vulnerabilities in their dependencies, with prioritization and reachability analysis.",
     "evidence": [
      "e2",
      "e3"
     ]
    }
   ],
   "facets": {
    "concern": [
     "security"
    ],
    "cites_law": false,
    "jurisdictions": [],
    "subject": [
     "software"
    ],
    "user_party": [
     "makes"
    ],
    "run_mode": [
     "in-ci",
     "by-hand"
    ],
    "inventory_only": false
   },
   "handoffs": [
    {
     "artifact": "inventory",
     "direction": "consumes",
     "format": "CycloneDX"
    },
    {
     "artifact": "vulnerability-status",
     "direction": "produces",
     "format": "CSAF VEX"
    }
   ],
   "evidence": {
    "e1": {
     "url": "https://owasp.org/www-project-dep-scan/",
     "quote": "Incubator Project Classification",
     "kind": "foundation-page",
     "captured": "2026-10-20"
    },
    "e2": {
     "url": "https://raw.githubusercontent.com/owasp-dep-scan/dep-scan/master/README.md",
     "quote": "Scan most application code (local repos, Linux container images, Kubernetes manifests, and OS) to identify known CVEs with prioritization",
     "kind": "readme",
     "captured": "2026-10-20"
    },
    "e3": {
     "url": "https://raw.githubusercontent.com/owasp-dep-scan/dep-scan/master/README.md",
     "quote": "Perform advanced reachability analysis for multiple languages",
     "kind": "readme",
     "captured": "2026-10-20"
    },
    "e4": {
     "url": "https://raw.githubusercontent.com/owasp-dep-scan/dep-scan/master/README.md",
     "quote": "using the given Software Bill-of-Materials (SBOM) file in CycloneDX format",
     "kind": "readme",
     "captured": "2026-10-20"
    },
    "e5": {
     "url": "https://raw.githubusercontent.com/owasp-dep-scan/dep-scan/master/README.md",
     "quote": "Generate a Common Security Advisory Framework (CSAF) 2.0/2.1 VEX document",
     "kind": "readme",
     "captured": "2026-10-20"
    },
    "e6": {
     "url": "https://raw.githubusercontent.com/owasp-dep-scan/dep-scan/master/LICENSE",
     "quote": "MIT License Copyright (c) 2023 OWASP Foundation",
     "kind": "readme",
     "captured": "2026-10-20"
    }
   },
   "notes": "The OWASP page lists the project as an Incubator project in the Other classification. The README also describes SBOM output with Vulnerability Disclosure Report information and a license-limits check, which the entry does not record.",
   "as_of": "2026-10-20",
   "leaf": "1.1",
   "lanes": {
    "concern": "security",
    "home": "other-foundation",
    "license": "osi",
    "maturity": "incubating",
    "policy": "na"
   },
   "page": "/safeguards/dep-scan",
   "logo": "/safeguards/logos/dep-scan.png"
  },
  {
   "slug": "dependency-check",
   "name": "OWASP Dependency-Check",
   "org": "OWASP Foundation",
   "org_kind": "foundation",
   "homepage": "https://owasp.org/www-project-dependency-check/",
   "repo": "https://github.com/dependency-check/DependencyCheck",
   "license": "Apache-2.0",
   "license_class": "osi",
   "description": "A software composition analysis tool that identifies a project's dependencies and checks them for known, publicly disclosed vulnerabilities.",
   "home": "owasp",
   "home_detail": null,
   "maturity": "flagship",
   "tier": "mapped",
   "tier_reason": null,
   "placements": [
    {
     "leaf": "1.1",
     "primary": true,
     "capability": "Scans a project's dependencies and reports the known, publicly disclosed vulnerabilities that match them.",
     "evidence": [
      "e2"
     ]
    }
   ],
   "facets": {
    "concern": [
     "security"
    ],
    "cites_law": false,
    "jurisdictions": [],
    "subject": [
     "software"
    ],
    "user_party": [
     "makes"
    ],
    "run_mode": [
     "by-hand",
     "in-ci"
    ],
    "inventory_only": false
   },
   "handoffs": [
    {
     "artifact": "findings",
     "direction": "produces",
     "format": "SARIF"
    }
   ],
   "evidence": {
    "e1": {
     "url": "https://owasp.org/www-project-dependency-check/",
     "quote": "Flagship Project Classification",
     "kind": "foundation-page",
     "captured": "2026-10-20"
    },
    "e2": {
     "url": "https://owasp.org/www-project-dependency-check/",
     "quote": "Dependency-Check is a Software Composition Analysis (SCA) tool suite that identifies project dependencies and checks if there are any known, publicly disclosed, vulnerabilities.",
     "kind": "foundation-page",
     "captured": "2026-10-20"
    },
    "e3": {
     "url": "https://dependency-check.github.io/DependencyCheck/dependency-check-cli/arguments.html",
     "quote": "The output format to write to (HTML, XML, CSV, JSON, JUNIT, SARIF, JENKINS, GITLAB, ALL).",
     "kind": "docs",
     "captured": "2026-10-20"
    },
    "e4": {
     "url": "https://api.github.com/repos/dependency-check/DependencyCheck",
     "quote": "Apache-2.0",
     "kind": "repo-api",
     "captured": "2026-10-20"
    }
   },
   "notes": "The CI run mode rests on the project page's list of build integrations (Jenkins, GitHub Actions, Azure DevOps).",
   "as_of": "2026-10-20",
   "leaf": "1.1",
   "lanes": {
    "concern": "security",
    "home": "other-foundation",
    "license": "osi",
    "maturity": "graduated",
    "policy": "na"
   },
   "page": "/safeguards/dependency-check",
   "logo": "/safeguards/logos/dependency-check.png"
  },
  {
   "slug": "dependency-track",
   "name": "OWASP Dependency-Track",
   "org": "OWASP Foundation",
   "org_kind": "foundation",
   "homepage": "https://owasp.org/www-project-dependency-track/",
   "repo": "https://github.com/DependencyTrack/dependency-track",
   "license": "Apache-2.0",
   "license_class": "osi",
   "description": "A software composition analysis platform that builds a component inventory from CycloneDX bills of materials and checks it against vulnerability and policy data.",
   "home": "owasp",
   "home_detail": null,
   "maturity": "flagship",
   "tier": "mapped",
   "tier_reason": null,
   "placements": [
    {
     "leaf": "1.1",
     "primary": true,
     "capability": "Builds an inventory of a portfolio's components from CycloneDX bills of materials and checks them against vulnerability and policy data.",
     "evidence": [
      "e2"
     ]
    }
   ],
   "facets": {
    "concern": [
     "security"
    ],
    "cites_law": false,
    "jurisdictions": [],
    "subject": [
     "software"
    ],
    "user_party": [
     "makes",
     "runs"
    ],
    "run_mode": [
     "in-ci",
     "by-hand"
    ],
    "inventory_only": false
   },
   "handoffs": [
    {
     "artifact": "inventory",
     "direction": "consumes",
     "format": "CycloneDX SBOM"
    },
    {
     "artifact": "vulnerability-status",
     "direction": "produces",
     "format": "VEX"
    }
   ],
   "evidence": {
    "e1": {
     "url": "https://owasp.org/www-project-dependency-track/",
     "quote": "Flagship Project Classification",
     "kind": "foundation-page",
     "captured": "2026-10-20"
    },
    "e2": {
     "url": "https://owasp.org/www-project-dependency-track/",
     "quote": "It builds an inventory of the components in software from CycloneDX bills of materials, continuously checks those components against vulnerability and policy data, and reports findings.",
     "kind": "foundation-page",
     "captured": "2026-10-20"
    },
    "e3": {
     "url": "https://owasp.org/www-project-dependency-track/",
     "quote": "The platform consumes and produces CycloneDX SBOM, HBOM, VEX, and VDR",
     "kind": "foundation-page",
     "captured": "2026-10-20"
    },
    "e4": {
     "url": "https://api.github.com/repos/DependencyTrack/dependency-track",
     "quote": "Apache-2.0",
     "kind": "repo-api",
     "captured": "2026-10-20"
    }
   },
   "notes": "Stage 1 because it analyzes bills of materials; its build-failing policy checks are not placed in stage 3.",
   "as_of": "2026-10-20",
   "leaf": "1.1",
   "lanes": {
    "concern": "security",
    "home": "other-foundation",
    "license": "osi",
    "maturity": "graduated",
    "policy": "na"
   },
   "page": "/safeguards/dependency-track",
   "logo": "/safeguards/logos/dependency-track.png"
  },
  {
   "slug": "owasp-docksec",
   "name": "OWASP DockSec",
   "org": "OWASP Foundation",
   "org_kind": "foundation",
   "homepage": "https://owasp.org/www-project-docksec/",
   "repo": "https://github.com/OWASP/DockSec",
   "license": "MIT",
   "license_class": "osi",
   "description": "A scanner that checks Dockerfiles, Docker Compose files and container images, merges the results of Trivy and Hadolint, and suggests line-level fixes.",
   "home": "owasp",
   "home_detail": null,
   "maturity": "lab",
   "tier": "mapped",
   "tier_reason": null,
   "placements": [
    {
     "leaf": "1.1",
     "primary": true,
     "capability": "Scans Dockerfiles, Docker Compose files and container images with open-source scanners, merges and ranks the findings, and writes reports with suggested fixes.",
     "evidence": [
      "e2",
      "e3",
      "e6"
     ]
    }
   ],
   "facets": {
    "concern": [
     "security"
    ],
    "cites_law": false,
    "jurisdictions": [],
    "subject": [
     "software"
    ],
    "user_party": [
     "makes"
    ],
    "run_mode": [
     "by-hand",
     "in-ci"
    ],
    "inventory_only": false
   },
   "handoffs": [
    {
     "artifact": "findings",
     "direction": "produces",
     "format": "SARIF"
    },
    {
     "artifact": "inventory",
     "direction": "produces",
     "format": "CycloneDX SBOM"
    }
   ],
   "evidence": {
    "e1": {
     "url": "https://owasp.org/www-project-docksec/",
     "quote": "Lab Project Classification",
     "kind": "foundation-page",
     "captured": "2026-10-21"
    },
    "e2": {
     "url": "https://owasp.org/www-project-docksec/",
     "quote": "helps developers find and fix security problems in Dockerfiles, Docker Compose files, and container images",
     "kind": "foundation-page",
     "captured": "2026-10-21"
    },
    "e3": {
     "url": "https://owasp.org/www-project-docksec/",
     "quote": "Available as a command-line tool, a Python package on PyPI, and a GitHub Action for CI/CD pipelines",
     "kind": "foundation-page",
     "captured": "2026-10-21"
    },
    "e4": {
     "url": "https://owasp.org/www-project-docksec/",
     "quote": "with reports in HTML, PDF, JSON, CSV, SARIF, and CycloneDX SBOM formats",
     "kind": "foundation-page",
     "captured": "2026-10-21"
    },
    "e5": {
     "url": "https://raw.githubusercontent.com/OWASP/DockSec/main/LICENSE",
     "quote": "MIT License Copyright (c) 2025 Advait Patel",
     "kind": "readme",
     "captured": "2026-10-21"
    },
    "e6": {
     "url": "https://owasp.org/www-project-docksec/",
     "quote": "DockSec runs established open-source scanners, including Trivy and Hadolint, locally on your machine.",
     "kind": "foundation-page",
     "captured": "2026-10-21"
    }
   },
   "notes": "An AI layer explains findings and suggests fixes, and the project page says secrets are redacted before content goes to an AI provider; only the scanning and reporting function is mapped.",
   "as_of": "2026-10-21",
   "leaf": "1.1",
   "lanes": {
    "concern": "security",
    "home": "other-foundation",
    "license": "osi",
    "maturity": "incubating",
    "policy": "na"
   },
   "page": "/safeguards/owasp-docksec",
   "logo": null
  },
  {
   "slug": "owasp-find-security-bugs",
   "name": "OWASP Find Security Bugs",
   "org": "OWASP Foundation",
   "org_kind": "foundation",
   "homepage": "https://owasp.org/www-project-find-security-bugs/",
   "repo": "https://github.com/find-sec-bugs/find-sec-bugs",
   "license": "LGPL-3.0",
   "license_class": "osi",
   "description": "A SpotBugs plugin that checks the code of Java web applications for security weaknesses.",
   "home": "owasp",
   "home_detail": null,
   "maturity": "lab",
   "tier": "mapped",
   "tier_reason": null,
   "placements": [
    {
     "leaf": "1.1",
     "primary": true,
     "capability": "Checks Java web application code for security weaknesses as a SpotBugs plugin.",
     "evidence": [
      "e2"
     ]
    }
   ],
   "facets": {
    "concern": [
     "security"
    ],
    "cites_law": false,
    "jurisdictions": [],
    "subject": [
     "software"
    ],
    "user_party": [
     "makes"
    ],
    "run_mode": [
     "in-ide"
    ],
    "inventory_only": false
   },
   "handoffs": [],
   "evidence": {
    "e1": {
     "url": "https://owasp.org/www-project-find-security-bugs/",
     "quote": "Lab Project Classification",
     "kind": "foundation-page",
     "captured": "2026-10-21"
    },
    "e2": {
     "url": "https://owasp.org/www-project-find-security-bugs/",
     "quote": "Find Security Bugs is the SpotBugs plugin for security audits of Java web applications.",
     "kind": "foundation-page",
     "captured": "2026-10-21"
    },
    "e3": {
     "url": "https://api.github.com/repos/find-sec-bugs/find-sec-bugs",
     "quote": "LGPL-3.0",
     "kind": "repo-api",
     "captured": "2026-10-21"
    }
   },
   "notes": null,
   "as_of": "2026-10-21",
   "leaf": "1.1",
   "lanes": {
    "concern": "security",
    "home": "other-foundation",
    "license": "osi",
    "maturity": "incubating",
    "policy": "na"
   },
   "page": "/safeguards/owasp-find-security-bugs",
   "logo": null
  },
  {
   "slug": "owasp-mobile-audit",
   "name": "OWASP Mobile Audit",
   "org": "OWASP Foundation",
   "org_kind": "foundation",
   "homepage": "https://owasp.org/www-project-mobile-audit/",
   "repo": "https://github.com/mpast/mobileAudit",
   "license": "GPL-3.0",
   "license_class": "osi",
   "description": "A containerized web application that decompiles Android APK files, looks for risky implementation patterns and checks them against threat intelligence services.",
   "home": "owasp",
   "home_detail": null,
   "maturity": "incubator",
   "tier": "mapped",
   "tier_reason": null,
   "placements": [
    {
     "leaf": "1.1",
     "primary": true,
     "capability": "Decompiles Android APK files, extracts metadata, searches for vulnerabilities by pattern matching and groups the findings by severity and CWE category.",
     "evidence": [
      "e2",
      "e3",
      "e5"
     ]
    }
   ],
   "facets": {
    "concern": [
     "security"
    ],
    "cites_law": false,
    "jurisdictions": [],
    "subject": [
     "software"
    ],
    "user_party": [
     "makes"
    ],
    "run_mode": [
     "by-hand"
    ],
    "inventory_only": false
   },
   "handoffs": [],
   "evidence": {
    "e1": {
     "url": "https://owasp.org/www-project-mobile-audit/",
     "quote": "Incubator Project Classification",
     "kind": "foundation-page",
     "captured": "2026-10-21"
    },
    "e2": {
     "url": "https://owasp.org/www-project-mobile-audit/",
     "quote": "Mobile Audit is a Django application for static application security testing and malware inspection.",
     "kind": "foundation-page",
     "captured": "2026-10-21"
    },
    "e3": {
     "url": "https://owasp.org/www-project-mobile-audit/",
     "quote": "It decompiles APKs, extracts metadata, searches for security vulnerabilities using pattern matching",
     "kind": "foundation-page",
     "captured": "2026-10-21"
    },
    "e4": {
     "url": "https://raw.githubusercontent.com/mpast/mobileAudit/main/LICENSE",
     "quote": "GNU GENERAL PUBLIC LICENSE Version 3, 29 June 2007",
     "kind": "readme",
     "captured": "2026-10-21"
    },
    "e5": {
     "url": "https://owasp.org/www-project-mobile-audit/",
     "quote": "categorizes findings according to CWE standards and OWASP Mobile Top 10, and integrates with external threat intelligence services",
     "kind": "foundation-page",
     "captured": "2026-10-21"
    }
   },
   "notes": "Run mode is by hand because the page documents an interactive web interface and a REST API and states no CI mode. It can look up the APK in VirusTotal and upload findings to DefectDojo; those are optional integrations and are not mapped as handoffs.",
   "as_of": "2026-10-21",
   "leaf": "1.1",
   "lanes": {
    "concern": "security",
    "home": "other-foundation",
    "license": "osi",
    "maturity": "incubating",
    "policy": "na"
   },
   "page": "/safeguards/owasp-mobile-audit",
   "logo": null
  },
  {
   "slug": "owasp-nettacker",
   "name": "OWASP Nettacker",
   "org": "OWASP Foundation",
   "org_kind": "foundation",
   "homepage": "https://owasp.org/www-project-nettacker/",
   "repo": "https://github.com/OWASP/Nettacker",
   "license": "Apache-2.0",
   "license_class": "osi",
   "description": "An automated penetration testing framework that runs reconnaissance, vulnerability scans and credential checks against networks, web applications and APIs.",
   "home": "owasp",
   "home_detail": null,
   "maturity": "lab",
   "tier": "mapped",
   "tier_reason": null,
   "placements": [
    {
     "leaf": "2.1",
     "primary": true,
     "capability": "Runs information gathering, vulnerability scanning and credential brute-forcing modules against a target and writes a scan report.",
     "evidence": [
      "e2",
      "e3"
     ]
    }
   ],
   "facets": {
    "concern": [
     "security"
    ],
    "cites_law": false,
    "jurisdictions": [],
    "subject": [
     "software"
    ],
    "user_party": [
     "makes",
     "runs"
    ],
    "run_mode": [
     "by-hand"
    ],
    "test_target": [
     "application"
    ],
    "inventory_only": false
   },
   "handoffs": [],
   "evidence": {
    "e1": {
     "url": "https://owasp.org/www-project-nettacker/",
     "quote": "Lab Project Classification",
     "kind": "foundation-page",
     "captured": "2026-10-20"
    },
    "e2": {
     "url": "https://owasp.org/www-project-nettacker/",
     "quote": "Nettacker automates information gathering, vulnerability scanning, and credential brute forcing tasks",
     "kind": "foundation-page",
     "captured": "2026-10-20"
    },
    "e3": {
     "url": "https://owasp.org/www-project-nettacker/",
     "quote": "Nettacker can be run as a command-line utility (including running as a Docker container), API, Web GUI mode",
     "kind": "foundation-page",
     "captured": "2026-10-20"
    },
    "e4": {
     "url": "https://api.github.com/repos/OWASP/Nettacker",
     "quote": "Apache-2.0",
     "kind": "repo-api",
     "captured": "2026-10-20"
    }
   },
   "notes": "Tester-run because its documented modes are a command line, an API and a web interface, with no CI mode stated.",
   "as_of": "2026-10-20",
   "leaf": "2.1",
   "lanes": {
    "concern": "security",
    "home": "other-foundation",
    "license": "osi",
    "maturity": "incubating",
    "policy": "na"
   },
   "page": "/safeguards/owasp-nettacker",
   "logo": "/safeguards/logos/owasp-nettacker.png"
  },
  {
   "slug": "owasp-noir",
   "name": "OWASP Noir",
   "org": "OWASP Foundation",
   "org_kind": "foundation",
   "homepage": "https://owasp.org/www-project-noir/",
   "repo": "https://github.com/owasp-noir/noir",
   "license": "MIT",
   "license_class": "osi",
   "description": "A static analysis tool that reads source code and lists the endpoints an application exposes, with parameters and source files, for reviewers and DAST tools.",
   "home": "owasp",
   "home_detail": null,
   "maturity": "incubator",
   "tier": "listed",
   "tier_reason": "Listed, not drawn: it only keeps an inventory.",
   "placements": [
    {
     "leaf": "1.1",
     "primary": true,
     "capability": "Reads source code and extracts the endpoints an application exposes, including undocumented routes, as an inventory with parameters and source files.",
     "evidence": [
      "e2",
      "e3"
     ]
    }
   ],
   "facets": {
    "concern": [
     "security"
    ],
    "cites_law": false,
    "jurisdictions": [],
    "subject": [
     "software"
    ],
    "user_party": [
     "makes"
    ],
    "run_mode": [
     "by-hand",
     "in-ci"
    ],
    "inventory_only": true
   },
   "handoffs": [
    {
     "artifact": "inventory",
     "direction": "produces",
     "format": "JSON, YAML, OpenAPI, SARIF, cURL, Postman, HTML"
    }
   ],
   "evidence": {
    "e1": {
     "url": "https://owasp.org/www-project-noir/",
     "quote": "Incubator Project Classification",
     "kind": "foundation-page",
     "captured": "2026-10-21"
    },
    "e2": {
     "url": "https://owasp.org/www-project-noir/",
     "quote": "Noir bridges the gap between SAST and DAST by analyzing source code to generate accurate, authenticated endpoint inventories.",
     "kind": "foundation-page",
     "captured": "2026-10-21"
    },
    "e3": {
     "url": "https://raw.githubusercontent.com/owasp-noir/noir/main/README.md",
     "quote": "Noir is a SAST tool that reads source code and extracts the endpoints an application exposes",
     "kind": "readme",
     "captured": "2026-10-21"
    },
    "e4": {
     "url": "https://raw.githubusercontent.com/owasp-noir/noir/main/README.md",
     "quote": "JSON, YAML, OpenAPI, SARIF, cURL, Postman, HTML",
     "kind": "readme",
     "captured": "2026-10-21"
    },
    "e5": {
     "url": "https://raw.githubusercontent.com/owasp-noir/noir/main/LICENSE",
     "quote": "The MIT License (MIT) Copyright © 2022 HAHWUL",
     "kind": "readme",
     "captured": "2026-10-21"
    }
   },
   "notes": "Inventory only. The docs present the endpoint list as the output, feeding human reviewers, AI reviewers and DAST tools; it changes nothing in the application.",
   "as_of": "2026-10-21",
   "leaf": "1.1",
   "lanes": {
    "concern": "security",
    "home": "other-foundation",
    "license": "osi",
    "maturity": "incubating",
    "policy": "na"
   },
   "page": "/safeguards/owasp-noir",
   "logo": null
  },
  {
   "slug": "owasp-owtf",
   "name": "OWASP OWTF",
   "org": "OWASP Foundation",
   "org_kind": "foundation",
   "homepage": "https://owasp.org/www-project-owtf/",
   "repo": "https://github.com/owtf/owtf",
   "license": "BSD-3-Clause",
   "license_class": "osi",
   "description": "A penetration testing framework that runs and combines security tools against a web target, with a web interface, a REST API and a report.",
   "home": "owasp",
   "home_detail": null,
   "maturity": "flagship",
   "tier": "mapped",
   "tier_reason": null,
   "placements": [
    {
     "leaf": "2.1",
     "primary": true,
     "capability": "Runs security tools against a web target as passive, semi passive or active plugins and collects their output into a report.",
     "evidence": [
      "e2",
      "e3",
      "e4"
     ]
    }
   ],
   "facets": {
    "concern": [
     "security"
    ],
    "cites_law": false,
    "jurisdictions": [],
    "subject": [
     "software"
    ],
    "user_party": [
     "makes",
     "runs"
    ],
    "run_mode": [
     "by-hand"
    ],
    "test_target": [
     "application"
    ],
    "inventory_only": false
   },
   "handoffs": [],
   "evidence": {
    "e1": {
     "url": "https://owasp.org/www-project-owtf/",
     "quote": "Flagship Project Classification",
     "kind": "foundation-page",
     "captured": "2026-10-21"
    },
    "e2": {
     "url": "https://owasp.org/www-project-owtf/",
     "quote": "Offensive Web Testing Framework (OWTF), is an OWASP+PTES focused try to unite great tools and make pen testing more efficient",
     "kind": "foundation-page",
     "captured": "2026-10-21"
    },
    "e3": {
     "url": "https://raw.githubusercontent.com/owtf/owtf/develop/README.md",
     "quote": "OWTF separates its traffic to the target into three plugin types",
     "kind": "readme",
     "captured": "2026-10-21"
    },
    "e4": {
     "url": "https://raw.githubusercontent.com/owtf/owtf/develop/README.md",
     "quote": "Manage large penetration engagements easily.",
     "kind": "readme",
     "captured": "2026-10-21"
    },
    "e5": {
     "url": "https://api.github.com/repos/owtf/owtf",
     "quote": "BSD-3-Clause",
     "kind": "repo-api",
     "captured": "2026-10-21"
    }
   },
   "notes": "Tester-run because the documented way to drive it is a web interface and a REST API operated by a penetration tester, with no CI mode stated.",
   "as_of": "2026-10-21",
   "leaf": "2.1",
   "lanes": {
    "concern": "security",
    "home": "other-foundation",
    "license": "osi",
    "maturity": "graduated",
    "policy": "na"
   },
   "page": "/safeguards/owasp-owtf",
   "logo": null
  },
  {
   "slug": "owasp-penetration-testing-kit",
   "name": "OWASP Penetration Testing Kit (PTK)",
   "org": "OWASP Foundation",
   "org_kind": "foundation",
   "homepage": "https://owasp.org/www-project-penetration-testing-kit/",
   "repo": "https://github.com/DenisPodgurskii/pentestkit",
   "license": "AGPL-3.0",
   "license_class": "osi",
   "description": "A browser extension for testing web applications from the live browser session, with an automation agent and a GitHub Action for CI runs.",
   "home": "owasp",
   "home_detail": null,
   "maturity": "production",
   "tier": "mapped",
   "tier_reason": null,
   "placements": [
    {
     "leaf": "2.1",
     "primary": true,
     "capability": "Tests a web application from the live browser session with DAST, client-side static analysis, in-browser IAST, component analysis, request replay and JWT testing.",
     "evidence": [
      "e2",
      "e3"
     ]
    },
    {
     "leaf": "2.2",
     "primary": false,
     "capability": "Runs the same tests unattended through an automation agent and a GitHub Action, and publishes supported findings to code scanning.",
     "evidence": [
      "e4"
     ]
    }
   ],
   "facets": {
    "concern": [
     "security"
    ],
    "cites_law": false,
    "jurisdictions": [],
    "subject": [
     "software"
    ],
    "user_party": [
     "makes",
     "runs"
    ],
    "run_mode": [
     "by-hand",
     "in-ci"
    ],
    "test_target": [
     "application"
    ],
    "inventory_only": false
   },
   "handoffs": [],
   "evidence": {
    "e1": {
     "url": "https://owasp.org/www-project-penetration-testing-kit/",
     "quote": "Production Project Classification",
     "kind": "foundation-page",
     "captured": "2026-10-21"
    },
    "e2": {
     "url": "https://owasp.org/www-project-penetration-testing-kit/",
     "quote": "PTK combines DAST, client-side SAST, in-browser IAST, SCA, traffic inspection, request replay, and JWT testing.",
     "kind": "foundation-page",
     "captured": "2026-10-21"
    },
    "e3": {
     "url": "https://owasp.org/www-project-penetration-testing-kit/",
     "quote": "OWASP PTK is the interactive extension for tester-driven security testing.",
     "kind": "foundation-page",
     "captured": "2026-10-21"
    },
    "e4": {
     "url": "https://owasp.org/www-project-penetration-testing-kit/",
     "quote": "Use the published PTK Action to run the same agent lifecycle in CI, retain scan artifacts and publish supported findings to code scanning.",
     "kind": "foundation-page",
     "captured": "2026-10-21"
    },
    "e5": {
     "url": "https://api.github.com/repos/DenisPodgurskii/pentestkit",
     "quote": "AGPL-3.0",
     "kind": "repo-api",
     "captured": "2026-10-21"
    }
   },
   "notes": "The interactive extension leads, so tester-run is primary; the CI agent and GitHub Action are documented separately.",
   "as_of": "2026-10-21",
   "leaf": "2.1",
   "lanes": {
    "concern": "security",
    "home": "other-foundation",
    "license": "osi",
    "maturity": "graduated",
    "policy": "na"
   },
   "page": "/safeguards/owasp-penetration-testing-kit",
   "logo": null
  },
  {
   "slug": "owasp-securecodebox",
   "name": "OWASP secureCodeBox",
   "org": "OWASP Foundation",
   "org_kind": "foundation",
   "homepage": "https://owasp.org/www-project-securecodebox/",
   "repo": "https://github.com/secureCodeBox/secureCodeBox",
   "license": "Apache-2.0",
   "license_class": "osi",
   "description": "A Kubernetes-based toolchain that runs security-testing tools as on-demand scans, for CI/CD pipelines and Kubernetes environments.",
   "home": "owasp",
   "home_detail": null,
   "maturity": "lab",
   "tier": "mapped",
   "tier_reason": null,
   "placements": [
    {
     "leaf": "2.2",
     "primary": true,
     "capability": "Runs security-testing tools as scans on Kubernetes, started on demand and from CI/CD pipelines.",
     "evidence": [
      "e2",
      "e3"
     ]
    }
   ],
   "facets": {
    "concern": [
     "security"
    ],
    "cites_law": false,
    "jurisdictions": [],
    "subject": [
     "software"
    ],
    "user_party": [
     "makes",
     "runs"
    ],
    "run_mode": [
     "in-ci"
    ],
    "test_target": [
     "application"
    ],
    "inventory_only": false
   },
   "handoffs": [],
   "evidence": {
    "e1": {
     "url": "https://owasp.org/www-project-securecodebox/",
     "quote": "Lab Project Classification",
     "kind": "foundation-page",
     "captured": "2026-10-21"
    },
    "e2": {
     "url": "https://raw.githubusercontent.com/secureCodeBox/secureCodeBox/main/README.md",
     "quote": "is a kubernetes based, modularized toolchain for continuous security scans of your software project.",
     "kind": "readme",
     "captured": "2026-10-21"
    },
    "e3": {
     "url": "https://owasp.org/www-project-securecodebox/",
     "quote": "integrate a bunch of security testing tools in their CI/CD environment or kubernetes environment as easy as possible",
     "kind": "foundation-page",
     "captured": "2026-10-21"
    },
    "e4": {
     "url": "https://owasp.org/www-project-securecodebox/",
     "quote": "it under the terms of the Apache License 2.0",
     "kind": "foundation-page",
     "captured": "2026-10-21"
    }
   },
   "notes": "The license rests on the foundation page because the repository's license file was not readable and the GitHub API returned no SPDX id.",
   "as_of": "2026-10-21",
   "leaf": "2.2",
   "lanes": {
    "concern": "security",
    "home": "other-foundation",
    "license": "osi",
    "maturity": "incubating",
    "policy": "na"
   },
   "page": "/safeguards/owasp-securecodebox",
   "logo": null
  },
  {
   "slug": "package-analysis",
   "name": "Package Analysis",
   "org": "Open Source Security Foundation",
   "org_kind": "foundation",
   "homepage": "https://github.com/ossf/package-analysis",
   "repo": "https://github.com/ossf/package-analysis",
   "license": "Apache-2.0",
   "license_class": "osi",
   "description": "Runs packages from open source repositories in a sandbox and records the files they touch, addresses they contact and commands they run, to find malicious behavior.",
   "home": "openssf",
   "home_detail": null,
   "maturity": "released",
   "tier": "mapped",
   "tier_reason": null,
   "placements": [
    {
     "leaf": "2.1",
     "primary": true,
     "capability": "Runs a package inside a gVisor sandbox and captures its file, network and command activity to reveal malicious behavior.",
     "evidence": [
      "e3",
      "e4",
      "e5"
     ]
    }
   ],
   "facets": {
    "concern": [
     "security"
    ],
    "cites_law": false,
    "jurisdictions": [],
    "subject": [
     "software"
    ],
    "user_party": [
     "oversees",
     "runs"
    ],
    "run_mode": [
     "by-hand"
    ],
    "test_target": [
     "application"
    ],
    "inventory_only": false
   },
   "handoffs": [],
   "evidence": {
    "e1": {
     "url": "https://raw.githubusercontent.com/ossf/tac/main/README.md",
     "quote": "| Package Analysis | [GitHub](https://github.com/ossf/package-analysis) | | Securing Software Repositories WG | TBD |",
     "kind": "foundation-page",
     "captured": "2026-10-20"
    },
    "e2": {
     "url": "https://github.com/ossf/package-analysis/releases",
     "quote": "Release list rel-38 rel-37 rel-36 rel-35",
     "kind": "release-notes",
     "captured": "2026-10-20"
    },
    "e3": {
     "url": "https://raw.githubusercontent.com/ossf/package-analysis/main/README.md",
     "quote": "The project looks for behaviors that indicate malicious software",
     "kind": "readme",
     "captured": "2026-10-20"
    },
    "e4": {
     "url": "https://raw.githubusercontent.com/ossf/package-analysis/main/README.md",
     "quote": "A worker performs dynamic analysis of the package inside a sandbox.",
     "kind": "readme",
     "captured": "2026-10-20"
    },
    "e5": {
     "url": "https://raw.githubusercontent.com/ossf/package-analysis/main/README.md",
     "quote": "Sandboxing via [gVisor](https://gvisor.dev/) containers ensures the packages are isolated.",
     "kind": "readme",
     "captured": "2026-10-20"
    },
    "e6": {
     "url": "https://api.github.com/repos/ossf/package-analysis",
     "quote": "Apache-2.0",
     "kind": "repo-api",
     "captured": "2026-10-20"
    }
   },
   "notes": "The OpenSSF project table lists the project with no stage (TBD), so maturity is the plain release state shown by its numbered releases.",
   "as_of": "2026-10-20",
   "leaf": "2.1",
   "lanes": {
    "concern": "security",
    "home": "openssf",
    "license": "osi",
    "maturity": "released",
    "policy": "na"
   },
   "page": "/safeguards/package-analysis",
   "logo": null
  },
  {
   "slug": "paralus",
   "name": "Paralus",
   "org": "Cloud Native Computing Foundation",
   "org_kind": "foundation",
   "homepage": "https://www.paralus.io/",
   "repo": "https://github.com/paralus/paralus",
   "license": "Apache-2.0",
   "license_class": "osi",
   "description": "A tool that controls and logs user, group and service access to Kubernetes clusters, with just-in-time credentials tied to the owner's RBAC and SSO.",
   "home": "cncf",
   "home_detail": null,
   "maturity": "sandbox",
   "tier": "mapped",
   "tier_reason": null,
   "placements": [
    {
     "leaf": "3.6",
     "primary": true,
     "capability": "Brokers access to Kubernetes clusters by creating just-in-time service accounts and per-user credentials under the owner's RBAC and SSO, and audits that access.",
     "evidence": [
      "e2",
      "e3"
     ]
    }
   ],
   "facets": {
    "concern": [
     "security"
    ],
    "cites_law": false,
    "jurisdictions": [],
    "subject": [
     "software"
    ],
    "user_party": [
     "runs"
    ],
    "run_mode": [
     "at-runtime"
    ],
    "policy_source": [
     "owner-config"
    ],
    "inventory_only": false
   },
   "handoffs": [],
   "evidence": {
    "e1": {
     "url": "https://www.cncf.io/projects/paralus/",
     "quote": "Paralus was accepted to CNCF on December 14, 2022 at the Sandbox maturity level.",
     "kind": "foundation-page",
     "captured": "2026-10-20"
    },
    "e2": {
     "url": "https://www.paralus.io/",
     "quote": "Paralus is a free, open source tool that enables controlled, audited access to Kubernetes infrastructure.",
     "kind": "product-page",
     "captured": "2026-10-20"
    },
    "e3": {
     "url": "https://www.paralus.io/",
     "quote": "It comes with just-in-time service account creation and user-level credential management that integrates with your RBAC and SSO.",
     "kind": "product-page",
     "captured": "2026-10-20"
    },
    "e4": {
     "url": "https://raw.githubusercontent.com/paralus/paralus/main/README.md",
     "quote": "Paralus can be easily integrated with your pre-existing RBAC configuration and your SSO providers",
     "kind": "readme",
     "captured": "2026-10-20"
    },
    "e5": {
     "url": "https://api.github.com/repos/paralus/paralus",
     "quote": "Apache-2.0",
     "kind": "repo-api",
     "captured": "2026-10-20"
    }
   },
   "notes": null,
   "as_of": "2026-10-20",
   "leaf": "3.6",
   "lanes": {
    "concern": "security",
    "home": "cncf",
    "license": "osi",
    "maturity": "sandbox",
    "policy": "owner-config"
   },
   "page": "/safeguards/paralus",
   "logo": "/safeguards/logos/paralus.svg"
  },
  {
   "slug": "portkey-ai-gateway",
   "name": "Portkey AI Gateway",
   "org": "Portkey",
   "org_kind": "company",
   "homepage": "https://portkey.ai/features/ai-gateway",
   "repo": "https://github.com/Portkey-AI/gateway",
   "license": "MIT",
   "license_class": "osi",
   "description": "An open-source gateway that routes requests to many model providers with input and output guardrails.",
   "home": "none",
   "home_detail": null,
   "maturity": "released",
   "tier": "listed",
   "tier_reason": "Listed, not drawn: no documented handoff and no foundation home places it on the map.",
   "placements": [
    {
     "leaf": "3.3",
     "primary": true,
     "capability": "Sits between applications and model providers and runs configured guardrail checks on inputs and outputs.",
     "evidence": [
      "e2",
      "e3"
     ]
    }
   ],
   "facets": {
    "concern": [
     "security"
    ],
    "cites_law": false,
    "jurisdictions": [],
    "subject": [
     "agent",
     "ai-system"
    ],
    "user_party": [
     "runs"
    ],
    "run_mode": [
     "at-runtime"
    ],
    "policy_source": [
     "owner-config"
    ],
    "traffic_seen": [
     "model"
    ],
    "agent_can_bypass": "depends",
    "inventory_only": false
   },
   "handoffs": [],
   "evidence": {
    "e2": {
     "url": "https://raw.githubusercontent.com/Portkey-AI/gateway/main/README.md",
     "quote": "is designed for fast, reliable & secure routing to 1600+ language, vision, audio, and image models.",
     "kind": "readme",
     "captured": "2026-10-20"
    },
    "e3": {
     "url": "https://raw.githubusercontent.com/Portkey-AI/gateway/main/README.md",
     "quote": "Verify your LLM inputs and outputs to adhere to your specified checks.",
     "kind": "readme",
     "captured": "2026-10-20"
    },
    "e4": {
     "url": "https://raw.githubusercontent.com/Portkey-AI/gateway/main/LICENSE",
     "quote": "MIT License Copyright (c) 2024 Portkey, Inc",
     "kind": "readme",
     "captured": "2026-10-20"
    },
    "e5": {
     "url": "https://github.com/Portkey-AI/gateway/releases",
     "quote": "v1.15.2 v1.15.2 Latest Latest Compare",
     "kind": "release-notes",
     "captured": "2026-10-20"
    }
   },
   "notes": "The repository README presents the gateway as Portkey's own product and announces a Gateway 2.0 pre-release branch that merges Portkey's enterprise gateway into the open-source repository. The README links an MCP gateway to Portkey's hosted docs, which this entry does not cite.",
   "as_of": "2026-10-20",
   "leaf": "3.3",
   "lanes": {
    "concern": "security",
    "home": "none",
    "license": "osi",
    "maturity": "released",
    "policy": "owner-config"
   },
   "page": "/safeguards/portkey-ai-gateway",
   "logo": "/safeguards/logos/portkey-ai-gateway.svg"
  },
  {
   "slug": "praxis",
   "name": "Praxis",
   "org": "Cloud Native Computing Foundation",
   "org_kind": "foundation",
   "homepage": "https://praxis.fast/",
   "repo": "https://github.com/praxis-proxy/praxis",
   "license": "Apache-2.0",
   "license_class": "osi",
   "description": "A proxy for AI infrastructure that routes model requests, aggregates MCP tools behind one endpoint, and applies rate limiting, auth and guardrails in a YAML-configured pipeline.",
   "home": "cncf",
   "home_detail": null,
   "maturity": "sandbox",
   "tier": "mapped",
   "tier_reason": null,
   "placements": [
    {
     "leaf": "3.3",
     "primary": true,
     "capability": "Sits between applications and AI providers and MCP servers, and applies rate limiting, authentication and guardrail filters that the deployer arranges in a YAML pipeline.",
     "evidence": [
      "e2",
      "e3",
      "e4",
      "e5"
     ]
    }
   ],
   "facets": {
    "concern": [
     "security"
    ],
    "cites_law": false,
    "jurisdictions": [],
    "subject": [
     "agent",
     "ai-system"
    ],
    "user_party": [
     "runs"
    ],
    "run_mode": [
     "at-runtime"
    ],
    "policy_source": [
     "owner-config"
    ],
    "traffic_seen": [
     "model",
     "tool",
     "agent-to-agent"
    ],
    "agent_can_bypass": "depends",
    "inventory_only": false
   },
   "handoffs": [],
   "evidence": {
    "e1": {
     "url": "https://www.cncf.io/projects/praxis/",
     "quote": "Praxis was accepted to CNCF on September 29, 2026 at the Sandbox maturity level.",
     "kind": "foundation-page",
     "captured": "2026-10-20"
    },
    "e2": {
     "url": "https://praxis.fast/",
     "quote": "Send requests to OpenAI, Anthropic, or your own models.",
     "kind": "product-page",
     "captured": "2026-10-20"
    },
    "e3": {
     "url": "https://praxis.fast/",
     "quote": "Native MCP gateway — aggregate tools from multiple servers behind one endpoint.",
     "kind": "product-page",
     "captured": "2026-10-20"
    },
    "e4": {
     "url": "https://praxis.fast/",
     "quote": "How the AI gateway classifies requests, routes to providers, injects credentials, and speaks MCP and A2A.",
     "kind": "product-page",
     "captured": "2026-10-20"
    },
    "e5": {
     "url": "https://praxis.fast/",
     "quote": "rate limiting, auth, guardrails, and routing in any order using a simple YAML config.",
     "kind": "product-page",
     "captured": "2026-10-20"
    },
    "e6": {
     "url": "https://api.github.com/repos/praxis-proxy/praxis",
     "quote": "Apache-2.0",
     "kind": "repo-api",
     "captured": "2026-10-20"
    }
   },
   "notes": null,
   "as_of": "2026-10-20",
   "leaf": "3.3",
   "lanes": {
    "concern": "security",
    "home": "cncf",
    "license": "osi",
    "maturity": "sandbox",
    "policy": "owner-config"
   },
   "page": "/safeguards/praxis",
   "logo": "/safeguards/logos/praxis.svg"
  },
  {
   "slug": "prisma-airs-ai-gateway",
   "name": "Prisma AIRS AI Gateway",
   "org": "Palo Alto Networks",
   "org_kind": "company",
   "homepage": "https://www.paloaltonetworks.com/prisma/prisma-ai-runtime-security",
   "repo": null,
   "license": null,
   "license_class": "proprietary",
   "description": "A commercial gateway (formerly Portkey) that proxies model and MCP traffic, with guardrail checks, tool provisioning and webhook guardrails that call out to an operator's own service.",
   "home": "vendor",
   "home_detail": null,
   "maturity": "ga",
   "tier": "mapped",
   "tier_reason": null,
   "placements": [
    {
     "leaf": "3.3",
     "primary": true,
     "capability": "Sits on the request path between applications and their models, and between MCP clients and MCP servers, and can deny a call when a guardrail check fails or a tool is not provisioned to the caller.",
     "evidence": [
      "e2",
      "e3",
      "e5",
      "e7"
     ]
    }
   ],
   "facets": {
    "concern": [
     "security"
    ],
    "cites_law": false,
    "jurisdictions": [],
    "subject": [
     "agent",
     "ai-system"
    ],
    "user_party": [
     "runs"
    ],
    "run_mode": [
     "at-runtime"
    ],
    "policy_source": [
     "owner-config",
     "pdp-callout"
    ],
    "traffic_seen": [
     "model",
     "tool"
    ],
    "agent_can_bypass": "depends",
    "inventory_only": false
   },
   "handoffs": [
    {
     "artifact": "runtime-records",
     "direction": "produces",
     "format": "OpenTelemetry"
    }
   ],
   "evidence": {
    "e1": {
     "url": "https://www.paloaltonetworks.com/prisma/prisma-ai-runtime-security",
     "quote": "Announcing the General Availability of Prisma AIRS AI Gateway",
     "kind": "product-page",
     "captured": "2026-10-20"
    },
    "e2": {
     "url": "https://portkey.ai/docs/product/mcp-gateway",
     "quote": "It acts as a proxy between MCP Clients and MCP servers, handling authentication, access control, and logging.",
     "kind": "docs",
     "captured": "2026-10-20"
    },
    "e3": {
     "url": "https://portkey.ai/docs/product/guardrails",
     "quote": "Use Portkey’s Guardrails to verify your LLM inputs AND outputs, adhering to your specifed checks.",
     "kind": "docs",
     "captured": "2026-10-20"
    },
    "e4": {
     "url": "https://portkey.ai/docs/product/guardrails/bring-your-own-guardrails",
     "quote": "Portkey sends relevant data to your webhook endpoint",
     "kind": "docs",
     "captured": "2026-10-20"
    },
    "e5": {
     "url": "https://portkey.ai/docs/product/mcp-gateway",
     "quote": "Enable or disable specific tools per user when a server exposes tools that shouldn’t be available to everyone.",
     "kind": "docs",
     "captured": "2026-10-20"
    },
    "e6": {
     "url": "https://portkey.ai/docs/product/observability/opentelemetry",
     "quote": "Push Logs to an OpenTelemetry compatible endpoint",
     "kind": "docs",
     "captured": "2026-10-20"
    },
    "e7": {
     "url": "https://docs.paloaltonetworks.com/ai-runtime-security",
     "quote": "Centralizes policy, access controls, and observability for LLM and AI service traffic",
     "kind": "docs",
     "captured": "2026-10-20"
    },
    "e8": {
     "url": "https://portkey.ai/docs/product/guardrails/bring-your-own-guardrails",
     "quote": "OpenAI compliant request body json.",
     "kind": "docs",
     "captured": "2026-10-20"
    }
   },
   "notes": null,
   "as_of": "2026-10-20",
   "leaf": "3.3",
   "lanes": {
    "concern": "security",
    "home": "vendor",
    "license": "proprietary",
    "maturity": "ga",
    "policy": "pdp-callout"
   },
   "page": "/safeguards/prisma-airs-ai-gateway",
   "logo": "/safeguards/logos/prisma-airs-ai-gateway.png"
  },
  {
   "slug": "privateer",
   "name": "Privateer (pvtr)",
   "org": "Open Source Security Foundation",
   "org_kind": "foundation",
   "homepage": "https://privateerproj.com",
   "repo": "https://github.com/privateerproj/pvtr",
   "license": "Apache-2.0",
   "license_class": "osi",
   "description": "A validation framework that runs plugins to test infrastructure and other resources, including GitHub repositories against the Open Source Project Security Baseline.",
   "home": "openssf",
   "home_detail": null,
   "maturity": "sandbox",
   "tier": "mapped",
   "tier_reason": null,
   "placements": [
    {
     "leaf": "2.1",
     "primary": true,
     "capability": "Runs plugins that validate infrastructure and other resources, for example by scanning GitHub repositories against the Open Source Project Security Baseline.",
     "evidence": [
      "e2",
      "e3"
     ]
    }
   ],
   "facets": {
    "concern": [
     "security"
    ],
    "cites_law": false,
    "jurisdictions": [],
    "subject": [
     "software"
    ],
    "user_party": [
     "makes",
     "runs"
    ],
    "run_mode": [
     "by-hand"
    ],
    "test_target": [
     "application"
    ],
    "inventory_only": false
   },
   "handoffs": [],
   "evidence": {
    "e1": {
     "url": "https://raw.githubusercontent.com/ossf/tac/main/README.md",
     "quote": "| Privateer | [GitHub](https://github.com/privateerproj/privateer) | https://privateerproj.com | ORBIT WG | [Sandbox](process/project-lifecycle-documents/Privateer_sandbox_stage.md) |",
     "kind": "foundation-page",
     "captured": "2026-10-20"
    },
    "e2": {
     "url": "https://raw.githubusercontent.com/privateerproj/privateer/main/README.md",
     "quote": "is a validation framework that simplifies infrastructure testing and compliance validation",
     "kind": "readme",
     "captured": "2026-10-20"
    },
    "e3": {
     "url": "https://raw.githubusercontent.com/privateerproj/privateer/main/README.md",
     "quote": "for scanning GitHub repos against the _Open Source Project Security Baseline_.",
     "kind": "readme",
     "captured": "2026-10-20"
    },
    "e4": {
     "url": "https://api.github.com/repos/privateerproj/pvtr",
     "quote": "Apache-2.0",
     "kind": "repo-api",
     "captured": "2026-10-20"
    }
   },
   "notes": "Placement in stage 2 follows the README's own lead, infrastructure testing; the baseline plugin is a repository check that could also sit in 1.1.",
   "as_of": "2026-10-20",
   "leaf": "2.1",
   "lanes": {
    "concern": "security",
    "home": "openssf",
    "license": "osi",
    "maturity": "sandbox",
    "policy": "na"
   },
   "page": "/safeguards/privateer",
   "logo": "/safeguards/logos/privateer.png"
  },
  {
   "slug": "pydantic-ai",
   "name": "Pydantic AI",
   "org": "Pydantic Services Inc.",
   "org_kind": "company",
   "homepage": "https://ai.pydantic.dev/",
   "repo": "https://github.com/pydantic/pydantic-ai",
   "license": "MIT",
   "license_class": "osi",
   "description": "A Python agent framework whose deferred tools let a tool call wait for approval from a person or a handler before it runs.",
   "home": "none",
   "home_detail": null,
   "maturity": "released",
   "tier": "mapped",
   "tier_reason": null,
   "placements": [
    {
     "leaf": "3.2",
     "primary": true,
     "capability": "Marks tools as requiring approval so a call is deferred and then approved or denied by a person or a developer-written handler before the tool runs.",
     "evidence": [
      "e1",
      "e2"
     ]
    }
   ],
   "facets": {
    "concern": [
     "safety",
     "security"
    ],
    "cites_law": false,
    "jurisdictions": [],
    "subject": [
     "agent"
    ],
    "user_party": [
     "makes"
    ],
    "run_mode": [
     "at-runtime"
    ],
    "policy_source": [
     "owner-config"
    ],
    "agent_can_bypass": "depends",
    "inventory_only": false
   },
   "handoffs": [
    {
     "artifact": "runtime-records",
     "direction": "produces",
     "format": "OpenTelemetry traces (GenAI semantic conventions)"
    }
   ],
   "evidence": {
    "e1": {
     "url": "https://ai.pydantic.dev/deferred-tools/",
     "quote": "it may need to be approved by the user first",
     "kind": "docs",
     "captured": "2026-10-20"
    },
    "e2": {
     "url": "https://ai.pydantic.dev/deferred-tools/",
     "quote": "@agent.tool_plain(requires_approval=True)",
     "kind": "docs",
     "captured": "2026-10-20"
    },
    "e3": {
     "url": "https://ai.pydantic.dev/logfire/",
     "quote": "Pydantic AI follows the OpenTelemetry Semantic Conventions for Generative AI systems",
     "kind": "docs",
     "captured": "2026-10-20"
    },
    "e4": {
     "url": "https://github.com/pydantic/pydantic-ai/releases",
     "quote": "Latest Latest Compare Choose a tag to compare",
     "kind": "release-notes",
     "captured": "2026-10-20"
    },
    "e5": {
     "url": "https://raw.githubusercontent.com/pydantic/pydantic-ai/main/LICENSE",
     "quote": "The MIT License (MIT) Copyright (c) Pydantic Services Inc.",
     "kind": "readme",
     "captured": "2026-10-20"
    }
   },
   "notes": null,
   "as_of": "2026-10-20",
   "leaf": "3.2",
   "lanes": {
    "concern": "safety",
    "home": "none",
    "license": "osi",
    "maturity": "released",
    "policy": "owner-config"
   },
   "page": "/safeguards/pydantic-ai",
   "logo": "/safeguards/logos/pydantic-ai.svg"
  },
  {
   "slug": "ratify",
   "name": "Ratify",
   "org": "Cloud Native Computing Foundation",
   "org_kind": "foundation",
   "homepage": "https://ratify.dev/",
   "repo": "https://github.com/ratify-project/ratify",
   "license": "Apache-2.0",
   "license_class": "osi",
   "description": "A verification engine that checks artifact signatures and security metadata and admits to Kubernetes only artifacts that meet the owner's policies.",
   "home": "cncf",
   "home_detail": null,
   "maturity": "sandbox",
   "tier": "mapped",
   "tier_reason": null,
   "placements": [
    {
     "leaf": "3.7",
     "primary": true,
     "capability": "Verifies the signatures and security metadata attached to an artifact, as a binary or on Kubernetes, and admits for deployment only artifacts that meet the owner's policies.",
     "evidence": [
      "e2",
      "e3",
      "e4"
     ]
    }
   ],
   "facets": {
    "concern": [
     "security"
    ],
    "cites_law": false,
    "jurisdictions": [],
    "subject": [
     "software"
    ],
    "user_party": [
     "runs"
    ],
    "run_mode": [
     "at-runtime"
    ],
    "policy_source": [
     "owner-config"
    ],
    "inventory_only": false
   },
   "handoffs": [
    {
     "artifact": "provenance",
     "direction": "consumes",
     "format": "Cosign signatures and Notation (Notary) signatures"
    }
   ],
   "evidence": {
    "e1": {
     "url": "https://www.cncf.io/projects/ratify/",
     "quote": "Ratify was accepted to CNCF on August 30, 2024 at the Sandbox maturity level.",
     "kind": "foundation-page",
     "captured": "2026-10-20"
    },
    "e2": {
     "url": "https://ratify.dev/docs/what-is-ratify",
     "quote": "which enables verification of artifact security metadata and admits for deployment only those that comply with policies you create.",
     "kind": "docs",
     "captured": "2026-10-20"
    },
    "e3": {
     "url": "https://ratify.dev/docs/plugins/verifier/cosign",
     "quote": "With the Cosign verifier, Ratify can be used to verify signatures generated using",
     "kind": "docs",
     "captured": "2026-10-20"
    },
    "e4": {
     "url": "https://ratify.dev/docs/plugins/verifier/notation",
     "quote": "uses a trust store and trust policy to determine if a signed artifact is considered authentic.",
     "kind": "docs",
     "captured": "2026-10-20"
    },
    "e5": {
     "url": "https://api.github.com/repos/ratify-project/ratify",
     "quote": "Apache-2.0",
     "kind": "repo-api",
     "captured": "2026-10-20"
    }
   },
   "notes": null,
   "as_of": "2026-10-20",
   "leaf": "3.7",
   "lanes": {
    "concern": "security",
    "home": "cncf",
    "license": "osi",
    "maturity": "sandbox",
    "policy": "owner-config"
   },
   "page": "/safeguards/ratify",
   "logo": "/safeguards/logos/ratify.svg"
  },
  {
   "slug": "runlayer",
   "name": "Runlayer",
   "org": "Runlayer",
   "org_kind": "company",
   "homepage": "https://docs.runlayer.com/index.md",
   "repo": null,
   "license": null,
   "license_class": "proprietary",
   "description": "A commercial MCP gateway with access rules evaluated by its proxy on every tool call, argument conditions, built-in scanners and custom scanners that call an operator's endpoint.",
   "home": "vendor",
   "home_detail": null,
   "maturity": "ga",
   "tier": "listed",
   "tier_reason": "Listed, not drawn: no documented handoff and no foundation home places it on the map.",
   "placements": [
    {
     "leaf": "3.3",
     "primary": true,
     "capability": "Sits on the request path between agents and MCP servers, and allows or denies each tool call from the owner's access rules, argument conditions and an optional operator-hosted scanner endpoint.",
     "evidence": [
      "e1",
      "e2",
      "e3",
      "e4"
     ]
    }
   ],
   "facets": {
    "concern": [
     "security"
    ],
    "cites_law": false,
    "jurisdictions": [],
    "subject": [
     "agent",
     "ai-system"
    ],
    "user_party": [
     "runs"
    ],
    "run_mode": [
     "at-runtime"
    ],
    "policy_source": [
     "owner-config",
     "pdp-callout"
    ],
    "traffic_seen": [
     "tool"
    ],
    "agent_can_bypass": "depends",
    "inventory_only": false
   },
   "handoffs": [],
   "evidence": {
    "e1": {
     "url": "https://docs.runlayer.com/index.md",
     "quote": "Connect AI to your tools through one gateway",
     "kind": "docs",
     "captured": "2026-10-20"
    },
    "e2": {
     "url": "https://docs.runlayer.com/platform-policies.md",
     "quote": "server-level allow/deny rules and global deny rules, evaluated by the proxy on every tool invocation",
     "kind": "docs",
     "captured": "2026-10-20"
    },
    "e3": {
     "url": "https://docs.runlayer.com/platform-policies.md",
     "quote": "Add runtime rules based on tool arguments (e.g., restrict SQL queries to specific tables)",
     "kind": "docs",
     "captured": "2026-10-20"
    },
    "e4": {
     "url": "https://docs.runlayer.com/custom-scanners.md",
     "quote": "Send MCP traffic to your own scanning service and enforce its allow/deny verdict",
     "kind": "docs",
     "captured": "2026-10-20"
    }
   },
   "notes": null,
   "as_of": "2026-10-20",
   "leaf": "3.3",
   "lanes": {
    "concern": "security",
    "home": "vendor",
    "license": "proprietary",
    "maturity": "ga",
    "policy": "pdp-callout"
   },
   "page": "/safeguards/runlayer",
   "logo": null
  },
  {
   "slug": "s2c2f-attestation-tool",
   "name": "S2C2F attestation schema and tool",
   "org": "Open Source Security Foundation",
   "org_kind": "foundation",
   "homepage": "https://github.com/ossf/S2C2F-attestation-schema-and-tool",
   "repo": "https://github.com/ossf/S2C2F-attestation-schema-and-tool",
   "license": "MIT",
   "license_class": "osi",
   "description": "A GitHub Actions tool in development that assesses a repository against S2C2F requirements and writes the result in OSCAL format.",
   "home": "none",
   "home_detail": null,
   "maturity": "unreleased",
   "tier": "listed",
   "tier_reason": "Listed, not drawn: it is not yet released, and no documented handoff and no foundation home places it on the map.",
   "placements": [
    {
     "leaf": "1.1",
     "primary": true,
     "capability": "Reviews a GitHub repository's implementation of S2C2F control requirements up to Maturity Level 2 and writes the result as an OSCAL JSON file.",
     "evidence": [
      "e1"
     ]
    }
   ],
   "facets": {
    "concern": [
     "security"
    ],
    "cites_law": false,
    "jurisdictions": [],
    "subject": [
     "software"
    ],
    "user_party": [
     "makes"
    ],
    "run_mode": [
     "in-ci"
    ],
    "inventory_only": false
   },
   "handoffs": [],
   "evidence": {
    "e1": {
     "url": "https://raw.githubusercontent.com/ossf/S2C2F-attestation-schema-and-tool/main/README.md",
     "quote": "This tool is being developed to provide a way to use GitHub Actions to assess a GitHub repo's implementation of S2C2F control requirements up to Maturity Level 2, and outputting the results in a machine-readable JSON file in OSCAL format.",
     "kind": "readme",
     "captured": "2026-10-21"
    },
    "e2": {
     "url": "https://github.com/ossf/S2C2F-attestation-schema-and-tool/releases",
     "quote": "There aren’t any releases here",
     "kind": "release-notes",
     "captured": "2026-10-21"
    },
    "e3": {
     "url": "https://api.github.com/repos/ossf/S2C2F-attestation-schema-and-tool",
     "quote": "MIT",
     "kind": "repo-api",
     "captured": "2026-10-21"
    }
   },
   "notes": "The README says an OpenSSF working group initiated the project, but the OpenSSF TAC project table has no row for it, so it has no foundation home here. OSCAL is not one of the map's handoff artifacts.",
   "as_of": "2026-10-21",
   "leaf": "1.1",
   "lanes": {
    "concern": "security",
    "home": "none",
    "license": "osi",
    "maturity": "not-shipping",
    "policy": "na"
   },
   "page": "/safeguards/s2c2f-attestation-tool",
   "logo": null
  },
  {
   "slug": "servicenow-ai-gateway",
   "name": "ServiceNow AI Gateway",
   "org": "ServiceNow",
   "org_kind": "company",
   "homepage": "https://www.servicenow.com/products/ai-control-tower.html",
   "repo": null,
   "license": null,
   "license_class": "proprietary",
   "description": "A commercial MCP proxy inside ServiceNow AI Control Tower that routes agent connections through a gateway URL, with OAuth 2.1, runtime policy enforcement, pause controls and approved-server inventory.",
   "home": "vendor",
   "home_detail": null,
   "maturity": "ga",
   "tier": "listed",
   "tier_reason": "Listed, not drawn: no documented handoff and no foundation home places it on the map.",
   "placements": [
    {
     "leaf": "3.3",
     "primary": true,
     "capability": "Sits between agents and MCP servers, requires every connection to pass through its gateway URL with OAuth 2.1, and applies runtime policy, sensitive data blocking and pause controls to the calls.",
     "evidence": [
      "e1",
      "e2",
      "e3"
     ]
    },
    {
     "leaf": "3.7",
     "primary": false,
     "capability": "Keeps an inventory of MCP servers and tools in which a steward approves each one, so that only approved servers and tools reach agents.",
     "evidence": [
      "e4"
     ]
    }
   ],
   "facets": {
    "concern": [
     "security"
    ],
    "cites_law": false,
    "jurisdictions": [],
    "subject": [
     "agent",
     "ai-system"
    ],
    "user_party": [
     "runs"
    ],
    "run_mode": [
     "at-runtime"
    ],
    "policy_source": [
     "owner-config"
    ],
    "traffic_seen": [
     "tool"
    ],
    "agent_can_bypass": "depends",
    "inventory_only": false
   },
   "handoffs": [],
   "evidence": {
    "e1": {
     "url": "https://www.servicenow.com/community/ai-control-tower-articles/ai-gateway-faq/ta-p/3587429",
     "quote": "AI Gateway is ServiceNow's runtime enforcement layer for MCP (Model Context Protocol) connections in AI Control Tower.",
     "kind": "docs",
     "captured": "2026-10-20"
    },
    "e2": {
     "url": "https://www.servicenow.com/community/ai-control-tower-articles/ai-gateway-faq/ta-p/3587429",
     "quote": "those agents can connect to MCP Servers through AI Gateway using the standard Gateway URL and OAuth 2.1 authentication.",
     "kind": "docs",
     "captured": "2026-10-20"
    },
    "e3": {
     "url": "https://www.servicenow.com/community/ai-control-tower-articles/ai-gateway-faq/ta-p/3587429",
     "quote": "Runtime policy enforcement, sensitive data detection and blocking, and instant Pause controls on any server or tool.",
     "kind": "docs",
     "captured": "2026-10-20"
    },
    "e4": {
     "url": "https://www.servicenow.com/community/ai-control-tower-articles/ai-gateway-faq/ta-p/3587429",
     "quote": "Only approved servers and tools reach agents, enforced directly in AI Agent Studio.",
     "kind": "docs",
     "captured": "2026-10-20"
    },
    "e5": {
     "url": "https://www.servicenow.com/community/ai-control-tower-articles/ai-gateway-faq/ta-p/3587429",
     "quote": "AI Gateway is generally available today, delivering MCP server governance, authentication, content guardrails, and operational visibility",
     "kind": "docs",
     "captured": "2026-10-20"
    }
   },
   "notes": "Every source is a ServiceNow-authored FAQ article hosted on its community site; the product documentation host was not read. The article lists tamper-evident audit logs without a named export format, so no handoff is claimed.",
   "as_of": "2026-10-20",
   "leaf": "3.3",
   "lanes": {
    "concern": "security",
    "home": "vendor",
    "license": "proprietary",
    "maturity": "ga",
    "policy": "owner-config"
   },
   "page": "/safeguards/servicenow-ai-gateway",
   "logo": null
  },
  {
   "slug": "sigstore",
   "name": "Sigstore",
   "org": "Open Source Security Foundation",
   "org_kind": "foundation",
   "homepage": "https://www.sigstore.dev/",
   "repo": "https://github.com/sigstore/cosign",
   "license": "Apache-2.0",
   "license_class": "osi",
   "description": "Open source tools (Cosign, Fulcio, Rekor) to sign and verify software artifacts such as container images, with signing events recorded in a public transparency log.",
   "home": "openssf",
   "home_detail": null,
   "maturity": "graduated",
   "tier": "mapped",
   "tier_reason": null,
   "placements": [
    {
     "leaf": "3.7",
     "primary": true,
     "capability": "Signs software artifacts and verifies their signatures against a signer identity the verifier names, so a deployer can decide once whether an artifact may be used.",
     "evidence": [
      "e2",
      "e3"
     ]
    },
    {
     "leaf": "4.2",
     "primary": false,
     "capability": "Records signing events in a public transparency log that cannot be altered unnoticed, so the signing history can be audited later.",
     "evidence": [
      "e4"
     ]
    }
   ],
   "facets": {
    "concern": [
     "security"
    ],
    "cites_law": false,
    "jurisdictions": [],
    "subject": [
     "software"
    ],
    "user_party": [
     "makes",
     "distributes",
     "runs"
    ],
    "run_mode": [
     "by-hand",
     "in-ci"
    ],
    "policy_source": [
     "owner-config"
    ],
    "inventory_only": false
   },
   "handoffs": [
    {
     "artifact": "provenance",
     "direction": "produces",
     "format": "Sigstore signatures"
    }
   ],
   "evidence": {
    "e1": {
     "url": "https://raw.githubusercontent.com/ossf/tac/main/README.md",
     "quote": "| Sigstore | [GitHub](https://github.com/sigstore) | https://www.sigstore.dev/ | OpenSSF TAC | [Graduated](process/project-lifecycle-documents/sigstore_graduated_stage.md) |",
     "kind": "foundation-page",
     "captured": "2026-10-20"
    },
    "e2": {
     "url": "https://docs.sigstore.dev/about/overview/",
     "quote": "to securely sign and verify software artifacts such as release files, container images, binaries",
     "kind": "docs",
     "captured": "2026-10-20"
    },
    "e3": {
     "url": "https://docs.sigstore.dev/cosign/verifying/verify/",
     "quote": "For identity-based verification of a container image, use the following command:",
     "kind": "docs",
     "captured": "2026-10-20"
    },
    "e4": {
     "url": "https://docs.sigstore.dev/about/overview/",
     "quote": "Signing events are recorded in a tamper-resistant public log so software developers can audit signing events.",
     "kind": "docs",
     "captured": "2026-10-20"
    },
    "e5": {
     "url": "https://api.github.com/repos/sigstore/cosign",
     "quote": "Apache-2.0",
     "kind": "repo-api",
     "captured": "2026-10-20"
    }
   },
   "notes": null,
   "as_of": "2026-10-20",
   "leaf": "3.7",
   "lanes": {
    "concern": "security",
    "home": "openssf",
    "license": "osi",
    "maturity": "graduated",
    "policy": "owner-config"
   },
   "page": "/safeguards/sigstore",
   "logo": "/safeguards/logos/sigstore.svg"
  },
  {
   "slug": "sigstore-policy-controller",
   "name": "Sigstore policy-controller",
   "org": "Open Source Security Foundation",
   "org_kind": "foundation",
   "homepage": "https://docs.sigstore.dev/policy-controller/overview/",
   "repo": "https://github.com/sigstore/policy-controller",
   "license": "Apache-2.0",
   "license_class": "osi",
   "description": "A Kubernetes admission controller that validates signatures and attestations on container images and can apply Rego policies against attestations.",
   "home": "openssf",
   "home_detail": null,
   "maturity": "graduated",
   "tier": "mapped",
   "tier_reason": null,
   "placements": [
    {
     "leaf": "3.7",
     "primary": true,
     "capability": "Admits or rejects Kubernetes resources by validating signatures and attestations on their container images, with enforcement set per namespace.",
     "evidence": [
      "e2",
      "e3"
     ]
    }
   ],
   "facets": {
    "concern": [
     "security"
    ],
    "cites_law": false,
    "jurisdictions": [],
    "subject": [
     "software"
    ],
    "user_party": [
     "runs"
    ],
    "run_mode": [
     "at-runtime"
    ],
    "policy_source": [
     "owner-config"
    ],
    "inventory_only": false
   },
   "handoffs": [
    {
     "artifact": "provenance",
     "direction": "consumes",
     "format": "verifiable supply-chain metadata from cosign"
    }
   ],
   "evidence": {
    "e1": {
     "url": "https://raw.githubusercontent.com/ossf/tac/main/README.md",
     "quote": "| Sigstore | [GitHub](https://github.com/sigstore) | https://www.sigstore.dev/ | OpenSSF TAC | [Graduated](process/project-lifecycle-documents/sigstore_graduated_stage.md) |",
     "kind": "foundation-page",
     "captured": "2026-10-20"
    },
    "e2": {
     "url": "https://docs.sigstore.dev/policy-controller/overview/",
     "quote": "The policy-controller admission controller can be used to enforce policy on a Kubernetes cluster based on verifiable supply-chain metadata from cosign",
     "kind": "docs",
     "captured": "2026-10-20"
    },
    "e3": {
     "url": "https://docs.sigstore.dev/policy-controller/overview/",
     "quote": "Enforcement is configured on a per-namespace basis, and multiple policies are supported.",
     "kind": "docs",
     "captured": "2026-10-20"
    },
    "e4": {
     "url": "https://docs.sigstore.dev/policy-controller/overview/",
     "quote": "We also support rego in policy evaluations",
     "kind": "docs",
     "captured": "2026-10-20"
    },
    "e5": {
     "url": "https://raw.githubusercontent.com/sigstore/policy-controller/main/LICENSE",
     "quote": "Apache License Version 2.0, January 2004",
     "kind": "readme",
     "captured": "2026-10-20"
    },
    "e6": {
     "url": "https://docs.sigstore.dev/about/overview/",
     "quote": "Project Documentation Cosign Fulcio Gitsign Policy Controller",
     "kind": "docs",
     "captured": "2026-10-20"
    }
   },
   "notes": null,
   "as_of": "2026-10-20",
   "leaf": "3.7",
   "lanes": {
    "concern": "security",
    "home": "openssf",
    "license": "osi",
    "maturity": "graduated",
    "policy": "owner-config"
   },
   "page": "/safeguards/sigstore-policy-controller",
   "logo": "/safeguards/logos/sigstore-policy-controller.svg"
  },
  {
   "slug": "slsa-verifier",
   "name": "SLSA Verifier",
   "org": "SLSA framework project",
   "org_kind": "community",
   "homepage": "https://github.com/slsa-framework/slsa-verifier",
   "repo": "https://github.com/slsa-framework/slsa-verifier",
   "license": "Apache-2.0",
   "license_class": "osi",
   "description": "A command line tool that verifies SLSA provenance produced by CI/CD builders before an artifact is used.",
   "home": "none",
   "home_detail": null,
   "maturity": "released",
   "tier": "mapped",
   "tier_reason": null,
   "placements": [
    {
     "leaf": "3.7",
     "primary": true,
     "capability": "Verifies the signatures on an artifact's SLSA provenance and checks that the builder, source repository and tag match what the owner expects, before the artifact is used.",
     "evidence": [
      "e1",
      "e2"
     ]
    }
   ],
   "facets": {
    "concern": [
     "security"
    ],
    "cites_law": false,
    "jurisdictions": [],
    "subject": [
     "software"
    ],
    "user_party": [
     "runs"
    ],
    "run_mode": [
     "by-hand"
    ],
    "policy_source": [
     "owner-config"
    ],
    "inventory_only": false
   },
   "handoffs": [
    {
     "artifact": "provenance",
     "direction": "consumes",
     "format": "SLSA provenance"
    }
   ],
   "evidence": {
    "e1": {
     "url": "https://raw.githubusercontent.com/slsa-framework/slsa-verifier/main/README.md",
     "quote": "slsa-verifier is a tool for verifying [SLSA provenance](https://slsa.dev/provenance/) that was generated by CI/CD builders.",
     "kind": "readme",
     "captured": "2026-10-21"
    },
    "e2": {
     "url": "https://raw.githubusercontent.com/slsa-framework/slsa-verifier/main/README.md",
     "quote": "slsa-verifier verifies the provenance by verifying the cryptographic signatures on provenance to make sure it was created by the expected builder.",
     "kind": "readme",
     "captured": "2026-10-21"
    },
    "e3": {
     "url": "https://raw.githubusercontent.com/slsa-framework/slsa-verifier/main/README.md",
     "quote": "This project is **no longer actively maintained**.",
     "kind": "readme",
     "captured": "2026-10-21"
    },
    "e4": {
     "url": "https://raw.githubusercontent.com/slsa-framework/slsa-verifier/main/README.md",
     "quote": "expected source repository that should have produced the binary, e.g. github.com/some/repo",
     "kind": "readme",
     "captured": "2026-10-21"
    },
    "e5": {
     "url": "https://github.com/slsa-framework/slsa-verifier/releases",
     "quote": "All reactions v2.7.1 v2.7.1 Latest",
     "kind": "release-notes",
     "captured": "2026-10-21"
    },
    "e6": {
     "url": "https://api.github.com/repos/slsa-framework/slsa-verifier",
     "quote": "Apache-2.0",
     "kind": "repo-api",
     "captured": "2026-10-21"
    }
   },
   "notes": "The README says the project is no longer actively maintained and points to GitHub artifact attestations instead. The TAC project table lists SLSA, the specification, not this verifier, so it has no foundation home here.",
   "as_of": "2026-10-21",
   "leaf": "3.7",
   "lanes": {
    "concern": "security",
    "home": "none",
    "license": "osi",
    "maturity": "released",
    "policy": "owner-config"
   },
   "page": "/safeguards/slsa-verifier",
   "logo": null
  },
  {
   "slug": "smolagents",
   "name": "smolagents",
   "org": "Hugging Face",
   "org_kind": "company",
   "homepage": "https://huggingface.co/docs/smolagents/",
   "repo": "https://github.com/huggingface/smolagents",
   "license": "Apache-2.0",
   "license_class": "osi",
   "description": "A code-writing agent library whose local executor refuses imports not on an authorization list the developer sets.",
   "home": "none",
   "home_detail": null,
   "maturity": "released",
   "tier": "mapped",
   "tier_reason": null,
   "placements": [
    {
     "leaf": "3.2",
     "primary": true,
     "capability": "Executes agent-written Python in its own interpreter that disallows imports unless the developer adds them to an authorization list.",
     "evidence": [
      "e1",
      "e2"
     ]
    }
   ],
   "facets": {
    "concern": [
     "security",
     "safety"
    ],
    "cites_law": false,
    "jurisdictions": [],
    "subject": [
     "agent"
    ],
    "user_party": [
     "makes"
    ],
    "run_mode": [
     "at-runtime"
    ],
    "policy_source": [
     "owner-config"
    ],
    "agent_can_bypass": "depends",
    "inventory_only": false
   },
   "handoffs": [
    {
     "artifact": "runtime-records",
     "direction": "produces",
     "format": "OpenTelemetry traces"
    }
   ],
   "evidence": {
    "e1": {
     "url": "https://huggingface.co/docs/smolagents/tutorials/secure_code_execution",
     "quote": "By default, imports are disallowed unless they have been explicitly added to an authorization list by the user.",
     "kind": "docs",
     "captured": "2026-10-20"
    },
    "e2": {
     "url": "https://huggingface.co/docs/smolagents/tutorials/secure_code_execution",
     "quote": "To add a first layer of security, code execution in smolagents is not performed by the vanilla Python interpreter.",
     "kind": "docs",
     "captured": "2026-10-20"
    },
    "e3": {
     "url": "https://huggingface.co/docs/smolagents/tutorials/secure_code_execution",
     "quote": "no local python sandbox can ever be completely secure",
     "kind": "docs",
     "captured": "2026-10-20"
    },
    "e4": {
     "url": "https://huggingface.co/docs/smolagents/tutorials/inspect_runs",
     "quote": "We’ve adopted the OpenTelemetry standard for instrumenting agent runs.",
     "kind": "docs",
     "captured": "2026-10-20"
    },
    "e5": {
     "url": "https://github.com/huggingface/smolagents/releases",
     "quote": "Release list v1.26.0 v1.25.0 v1.24.0",
     "kind": "release-notes",
     "captured": "2026-10-20"
    },
    "e6": {
     "url": "https://raw.githubusercontent.com/huggingface/smolagents/main/LICENSE",
     "quote": "Apache License Version 2.0, January 2004",
     "kind": "readme",
     "captured": "2026-10-20"
    }
   },
   "notes": null,
   "as_of": "2026-10-20",
   "leaf": "3.2",
   "lanes": {
    "concern": "safety",
    "home": "none",
    "license": "osi",
    "maturity": "released",
    "policy": "owner-config"
   },
   "page": "/safeguards/smolagents",
   "logo": "/safeguards/logos/smolagents.svg"
  },
  {
   "slug": "sondera-coding-agent-hooks",
   "name": "Sondera Coding Agent Hooks",
   "org": "Sondera",
   "org_kind": "company",
   "homepage": null,
   "repo": "https://github.com/sondera-ai/sondera-coding-agent-hooks",
   "license": "MIT",
   "license_class": "osi",
   "description": "Hooks for coding agents such as Claude Code, Cursor and Copilot that check each shell command, file operation and web request against Cedar policies and return allow, deny or escalate.",
   "home": "none",
   "home_detail": null,
   "maturity": "pre-ga",
   "tier": "listed",
   "tier_reason": "Listed, not drawn: it is not yet generally available.",
   "placements": [
    {
     "leaf": "3.2",
     "primary": true,
     "capability": "Receives each shell command, file operation and web request from a coding agent's hooks, evaluates it against Cedar policies before it runs, and returns allow, deny or escalate, with enforcing hooks blocking when the decision service cannot be reached.",
     "evidence": [
      "e2",
      "e3",
      "e8",
      "e10",
      "e11"
     ]
    }
   ],
   "facets": {
    "concern": [
     "security"
    ],
    "cites_law": false,
    "jurisdictions": [],
    "subject": [
     "agent"
    ],
    "user_party": [
     "runs"
    ],
    "run_mode": [
     "at-runtime"
    ],
    "policy_source": [
     "vendor-defaults",
     "owner-config"
    ],
    "agent_can_bypass": "depends",
    "inventory_only": false
   },
   "handoffs": [
    {
     "artifact": "policy",
     "direction": "consumes",
     "format": "Cedar policies"
    }
   ],
   "evidence": {
    "e1": {
     "url": "https://api.github.com/repos/sondera-ai/sondera-coding-agent-hooks",
     "quote": "MIT",
     "kind": "repo-api",
     "captured": "2026-10-21"
    },
    "e2": {
     "url": "https://raw.githubusercontent.com/sondera-ai/sondera-coding-agent-hooks/main/README.md",
     "quote": "A reference monitor for AI coding agents.",
     "kind": "readme",
     "captured": "2026-10-21"
    },
    "e3": {
     "url": "https://raw.githubusercontent.com/sondera-ai/sondera-coding-agent-hooks/main/README.md",
     "quote": "returns Allow, Deny, or Escalate. If the harness cannot be reached, enforcement hooks fail closed.",
     "kind": "readme",
     "captured": "2026-10-21"
    },
    "e4": {
     "url": "https://raw.githubusercontent.com/sondera-ai/sondera-coding-agent-hooks/main/docs/policies.md",
     "quote": "110 policies in 110 files, so the directory listing",
     "kind": "docs",
     "captured": "2026-10-21"
    },
    "e5": {
     "url": "https://github.com/sondera-ai/sondera-coding-agent-hooks/releases",
     "quote": "Latest Build Pre-release Pre-release Compare",
     "kind": "release-notes",
     "captured": "2026-10-21"
    },
    "e6": {
     "url": "https://raw.githubusercontent.com/sondera-ai/sondera-coding-agent-hooks/main/docs/policies.md",
     "quote": "Drop `.cedar` files anywhere under `.sondera/policies/cedar/`",
     "kind": "docs",
     "captured": "2026-10-21"
    },
    "e7": {
     "url": "https://raw.githubusercontent.com/sondera-ai/sondera-coding-agent-hooks/main/docs/policies.md",
     "quote": "The harness evaluates all policies on every hook event",
     "kind": "docs",
     "captured": "2026-10-21"
    },
    "e8": {
     "url": "https://raw.githubusercontent.com/sondera-ai/sondera-coding-agent-hooks/main/.sondera/policies/cedar/base.cedarschema",
     "quote": "A Cedar forbid here prevents the command from running.",
     "kind": "docs",
     "captured": "2026-10-21"
    },
    "e9": {
     "url": "https://raw.githubusercontent.com/sondera-ai/sondera-coding-agent-hooks/main/.sondera/policies/cedar/base.cedarschema",
     "quote": "Per-program literal positional arguments as",
     "kind": "docs",
     "captured": "2026-10-21"
    },
    "e10": {
     "url": "https://raw.githubusercontent.com/sondera-ai/sondera-coding-agent-hooks/main/docs/architecture.md",
     "quote": "Claude's `Bash` tool, Cursor's shell execution hook, Copilot's `bash` tool, and Gemini's `bash` tool all normalize to the same `ShellCommand` action.",
     "kind": "docs",
     "captured": "2026-10-21"
    },
    "e11": {
     "url": "https://raw.githubusercontent.com/sondera-ai/sondera-coding-agent-hooks/main/README.md",
     "quote": "policies intercept every shell command, file operation, and web request",
     "kind": "readme",
     "captured": "2026-10-21"
    }
   },
   "notes": null,
   "as_of": "2026-10-21",
   "leaf": "3.2",
   "lanes": {
    "concern": "security",
    "home": "none",
    "license": "osi",
    "maturity": "not-shipping",
    "policy": "owner-config"
   },
   "page": "/safeguards/sondera-coding-agent-hooks",
   "logo": "/safeguards/logos/sondera-coding-agent-hooks.png"
  },
  {
   "slug": "spire",
   "name": "SPIRE",
   "org": "Cloud Native Computing Foundation",
   "org_kind": "foundation",
   "homepage": "https://spiffe.io/",
   "repo": "https://github.com/spiffe/spire",
   "license": "Apache-2.0",
   "license_class": "osi",
   "description": "An implementation of the SPIFFE APIs that attests nodes and workloads and issues SVIDs, the verifiable identities that workloads use to authenticate to each other.",
   "home": "cncf",
   "home_detail": null,
   "maturity": "graduated",
   "tier": "mapped",
   "tier_reason": null,
   "placements": [
    {
     "leaf": "3.6",
     "primary": true,
     "capability": "Attests nodes and workloads and issues each workload a SPIFFE identity (an SVID) when the owner's registration entries match, so other services can verify who is calling.",
     "evidence": [
      "e2",
      "e3"
     ]
    }
   ],
   "facets": {
    "concern": [
     "security"
    ],
    "cites_law": false,
    "jurisdictions": [],
    "subject": [
     "software"
    ],
    "user_party": [
     "runs"
    ],
    "run_mode": [
     "at-runtime"
    ],
    "policy_source": [
     "owner-config"
    ],
    "inventory_only": false
   },
   "handoffs": [],
   "evidence": {
    "e1": {
     "url": "https://www.cncf.io/projects/spire/",
     "quote": "SPIRE was accepted to CNCF on March 29, 2018, moved to the Incubating maturity level on June 22, 2020, and then moved to the Graduated maturity level on August 22, 2022.",
     "kind": "foundation-page",
     "captured": "2026-10-20"
    },
    "e2": {
     "url": "https://spiffe.io/docs/latest/spire-about/spire-concepts/",
     "quote": "SPIRE is a production-ready implementation of the SPIFFE APIs that performs node and workload attestation in order to securely issue SVIDs to workloads",
     "kind": "docs",
     "captured": "2026-10-20"
    },
    "e3": {
     "url": "https://spiffe.io/docs/latest/spire-about/spire-concepts/",
     "quote": "It stores registration entries (which specify the selectors that determine the conditions under which a particular SPIFFE ID should be issued)",
     "kind": "docs",
     "captured": "2026-10-20"
    },
    "e4": {
     "url": "https://api.github.com/repos/spiffe/spire",
     "quote": "Apache-2.0",
     "kind": "repo-api",
     "captured": "2026-10-20"
    }
   },
   "notes": null,
   "as_of": "2026-10-20",
   "leaf": "3.6",
   "lanes": {
    "concern": "security",
    "home": "cncf",
    "license": "osi",
    "maturity": "graduated",
    "policy": "owner-config"
   },
   "page": "/safeguards/spire",
   "logo": "/safeguards/logos/spire.svg"
  },
  {
   "slug": "strands-agents",
   "name": "Strands Agents",
   "org": "Strands Agents",
   "org_kind": "community",
   "homepage": "https://strandsagents.com/",
   "repo": "https://github.com/strands-agents/sdk-python",
   "license": "Apache-2.0",
   "license_class": "osi",
   "description": "An agent SDK whose hooks intercept the agent loop for validation and guardrails and whose interrupts pause the agent for human approval or input.",
   "home": "none",
   "home_detail": null,
   "maturity": "released",
   "tier": "mapped",
   "tier_reason": null,
   "placements": [
    {
     "leaf": "3.2",
     "primary": true,
     "capability": "Runs hook callbacks at points in the agent loop that can validate or cancel a step, and lets a hook or tool raise an interrupt that stops the loop until a person responds.",
     "evidence": [
      "e1",
      "e2"
     ]
    }
   ],
   "facets": {
    "concern": [
     "safety",
     "security"
    ],
    "cites_law": false,
    "jurisdictions": [],
    "subject": [
     "agent"
    ],
    "user_party": [
     "makes"
    ],
    "run_mode": [
     "at-runtime"
    ],
    "policy_source": [
     "owner-config"
    ],
    "agent_can_bypass": "depends",
    "inventory_only": false
   },
   "handoffs": [
    {
     "artifact": "runtime-records",
     "direction": "produces",
     "format": "OpenTelemetry traces"
    }
   ],
   "evidence": {
    "e1": {
     "url": "https://strandsagents.com/docs/user-guide/sdk/agents/hooks/index.md",
     "quote": "To add logging, validation, guardrails, or custom logic at any point in the agent loop, use hooks.",
     "kind": "docs",
     "captured": "2026-10-20"
    },
    "e2": {
     "url": "https://strandsagents.com/docs/user-guide/sdk/interrupts/index.md",
     "quote": "When your agent needs human approval or input before it continues, raise an interrupt.",
     "kind": "docs",
     "captured": "2026-10-20"
    },
    "e3": {
     "url": "https://strandsagents.com/docs/user-guide/sdk/observability-evaluation/traces/index.md",
     "quote": "Strands natively integrates with OpenTelemetry, an industry standard for distributed tracing.",
     "kind": "docs",
     "captured": "2026-10-20"
    },
    "e4": {
     "url": "https://github.com/strands-agents/sdk-python/releases",
     "quote": "Latest Latest Compare Choose a tag to compare",
     "kind": "release-notes",
     "captured": "2026-10-20"
    },
    "e5": {
     "url": "https://raw.githubusercontent.com/strands-agents/sdk-python/main/README.md",
     "quote": "This project is licensed under the Apache License 2.0",
     "kind": "readme",
     "captured": "2026-10-20"
    }
   },
   "notes": null,
   "as_of": "2026-10-20",
   "leaf": "3.2",
   "lanes": {
    "concern": "safety",
    "home": "none",
    "license": "osi",
    "maturity": "released",
    "policy": "owner-config"
   },
   "page": "/safeguards/strands-agents",
   "logo": "/safeguards/logos/strands-agents.svg"
  },
  {
   "slug": "tetragon",
   "name": "Tetragon",
   "org": "Cloud Native Computing Foundation",
   "org_kind": "foundation",
   "homepage": "https://tetragon.io/",
   "repo": "https://github.com/cilium/tetragon",
   "license": "Apache-2.0",
   "license_class": "osi",
   "description": "An eBPF-based tool, part of Cilium, that detects security-significant events such as process execution, system calls and file or network access, and can react to them at runtime.",
   "home": "cncf",
   "home_detail": null,
   "maturity": "graduated",
   "tier": "mapped",
   "tier_reason": null,
   "placements": [
    {
     "leaf": "4.1",
     "primary": true,
     "capability": "Detects process execution, system call and file or network activity events on Linux hosts and Kubernetes workloads, which is the point at which an incident becomes known.",
     "evidence": [
      "e2",
      "e3"
     ]
    }
   ],
   "facets": {
    "concern": [
     "security"
    ],
    "cites_law": false,
    "jurisdictions": [],
    "subject": [
     "software"
    ],
    "user_party": [
     "runs"
    ],
    "run_mode": [
     "at-runtime"
    ],
    "inventory_only": false
   },
   "handoffs": [],
   "evidence": {
    "e1": {
     "url": "https://www.cncf.io/projects/cilium/",
     "quote": "Cilium was accepted to CNCF on October 13, 2021 at the Incubating maturity level and then moved to the Graduated maturity level on October 11, 2023.",
     "kind": "foundation-page",
     "captured": "2026-10-21"
    },
    "e2": {
     "url": "https://raw.githubusercontent.com/cilium/tetragon/main/README.md",
     "quote": "Cilium’s new [Tetragon](https://tetragon.io) component enables powerful real-time, eBPF-based Security Observability and Runtime Enforcement.",
     "kind": "readme",
     "captured": "2026-10-21"
    },
    "e3": {
     "url": "https://raw.githubusercontent.com/cilium/tetragon/main/README.md",
     "quote": "Tetragon detects and is able to react to security-significant events",
     "kind": "readme",
     "captured": "2026-10-21"
    },
    "e4": {
     "url": "https://api.github.com/repos/cilium/tetragon",
     "quote": "Apache-2.0",
     "kind": "repo-api",
     "captured": "2026-10-21"
    }
   },
   "notes": "Tetragon has no CNCF page of its own; it takes the maturity of its parent Cilium, and the README states it is a Cilium component. Placed in 4.1 as the same kind of runtime detection as Falco; its documented enforcement of responses is not given a second placement here.",
   "as_of": "2026-10-21",
   "leaf": "4.1",
   "lanes": {
    "concern": "security",
    "home": "cncf",
    "license": "osi",
    "maturity": "graduated",
    "policy": "na"
   },
   "page": "/safeguards/tetragon",
   "logo": null
  },
  {
   "slug": "tokenetes",
   "name": "Tokenetes",
   "org": "Cloud Native Computing Foundation",
   "org_kind": "foundation",
   "homepage": "https://tokenetes.io/",
   "repo": "https://github.com/tokenetes/tokenetes",
   "license": "Apache-2.0",
   "license_class": "osi",
   "description": "A Kubernetes-native service that issues Transaction Tokens, short-lived JWTs that carry identity and context along a microservices call chain.",
   "home": "cncf",
   "home_detail": null,
   "maturity": "sandbox",
   "tier": "mapped",
   "tier_reason": null,
   "placements": [
    {
     "leaf": "3.6",
     "primary": true,
     "capability": "Issues short-lived Transaction Tokens (TraTs) that carry the caller's identity and context through service-to-service calls, which downstream services can verify.",
     "evidence": [
      "e2",
      "e3"
     ]
    }
   ],
   "facets": {
    "concern": [
     "security"
    ],
    "cites_law": false,
    "jurisdictions": [],
    "subject": [
     "software"
    ],
    "user_party": [
     "runs"
    ],
    "run_mode": [
     "at-runtime"
    ],
    "policy_source": [
     "owner-config"
    ],
    "inventory_only": false
   },
   "handoffs": [],
   "evidence": {
    "e1": {
     "url": "https://www.cncf.io/projects/tokenetes/",
     "quote": "Tokenetes was accepted to CNCF on January 21, 2025 at the Sandbox maturity level.",
     "kind": "foundation-page",
     "captured": "2026-10-20"
    },
    "e2": {
     "url": "https://www.cncf.io/projects/tokenetes/",
     "quote": "Tokenetes implements Transaction Tokens (TraTs) for microservices call chains.",
     "kind": "foundation-page",
     "captured": "2026-10-20"
    },
    "e3": {
     "url": "https://tokenetes.io/docs/",
     "quote": "TraTs (Transaction Tokens) are short-lived JWTs that assure identity and context in a microservices call chain.",
     "kind": "docs",
     "captured": "2026-10-20"
    },
    "e4": {
     "url": "https://tokenetes.io/docs/",
     "quote": "Configuration Guide TraT TraTExclusion TokenetesConfig",
     "kind": "docs",
     "captured": "2026-10-20"
    },
    "e5": {
     "url": "https://api.github.com/repos/tokenetes/tokenetes",
     "quote": "Apache-2.0",
     "kind": "repo-api",
     "captured": "2026-10-20"
    }
   },
   "notes": null,
   "as_of": "2026-10-20",
   "leaf": "3.6",
   "lanes": {
    "concern": "security",
    "home": "cncf",
    "license": "osi",
    "maturity": "sandbox",
    "policy": "owner-config"
   },
   "page": "/safeguards/tokenetes",
   "logo": "/safeguards/logos/tokenetes.svg"
  },
  {
   "slug": "traefik-hub-ai-gateway",
   "name": "Traefik Hub AI Gateway",
   "org": "Traefik Labs",
   "org_kind": "company",
   "homepage": "https://doc.traefik.io/traefik-hub/",
   "repo": null,
   "license": null,
   "license_class": "proprietary",
   "description": "A proprietary API gateway layer for LLM and MCP traffic with content guard middleware, task-based tool access rules and delegation of decisions to an external policy engine.",
   "home": "vendor",
   "home_detail": null,
   "maturity": "ga",
   "tier": "mapped",
   "tier_reason": null,
   "placements": [
    {
     "leaf": "3.3",
     "primary": true,
     "capability": "Sits on the route between clients and model providers or MCP servers, runs content guard rules on requests and responses and can send MCP tool-call decisions to an external policy engine.",
     "evidence": [
      "e1",
      "e2",
      "e3",
      "e4"
     ]
    }
   ],
   "facets": {
    "concern": [
     "security"
    ],
    "cites_law": false,
    "jurisdictions": [],
    "subject": [
     "agent",
     "ai-system"
    ],
    "user_party": [
     "runs"
    ],
    "run_mode": [
     "at-runtime"
    ],
    "policy_source": [
     "owner-config",
     "pdp-callout"
    ],
    "traffic_seen": [
     "model",
     "tool"
    ],
    "agent_can_bypass": "depends",
    "inventory_only": false
   },
   "handoffs": [
    {
     "artifact": "runtime-records",
     "direction": "produces",
     "format": "OpenTelemetry-compatible metrics and traces"
    }
   ],
   "evidence": {
    "e1": {
     "url": "https://doc.traefik.io/traefik-hub/ai-gateway/overview",
     "quote": "The AI Gateway adds a thin, dedicated control layer on top of Traefik Hub’s API Gateway.",
     "kind": "docs",
     "captured": "2026-10-20"
    },
    "e2": {
     "url": "https://doc.traefik.io/traefik-hub/ai-gateway/overview",
     "quote": "Run Content Guard rules on requests and responses before they reach the model.",
     "kind": "docs",
     "captured": "2026-10-20"
    },
    "e3": {
     "url": "https://doc.traefik.io/traefik-hub/tags/middleware",
     "quote": "The AuthZEN MCP middleware that sends MCP Gateway tool-call decisions to an external policy engine.",
     "kind": "docs",
     "captured": "2026-10-20"
    },
    "e4": {
     "url": "https://doc.traefik.io/traefik-hub/mcp-gateway/mcp",
     "quote": "Fine-grained authorization across three dimensions",
     "kind": "docs",
     "captured": "2026-10-20"
    },
    "e5": {
     "url": "https://doc.traefik.io/traefik-hub/mcp-gateway/mcp",
     "quote": "The MCP middleware provides OpenTelemetry-compatible metrics and traces for monitoring AI agent tool invocations.",
     "kind": "docs",
     "captured": "2026-10-20"
    },
    "e6": {
     "url": "https://doc.traefik.io/traefik-hub/api-management/release-notes",
     "quote": "AI Gateway graduates from experimental",
     "kind": "docs",
     "captured": "2026-10-20"
    },
    "e7": {
     "url": "https://doc.traefik.io/traefik-hub/ai-gateway/overview",
     "quote": "Route every request through one gateway",
     "kind": "docs",
     "captured": "2026-10-20"
    }
   },
   "notes": null,
   "as_of": "2026-10-20",
   "leaf": "3.3",
   "lanes": {
    "concern": "security",
    "home": "vendor",
    "license": "proprietary",
    "maturity": "ga",
    "policy": "pdp-callout"
   },
   "page": "/safeguards/traefik-hub-ai-gateway",
   "logo": "/safeguards/logos/traefik-hub-ai-gateway.png"
  },
  {
   "slug": "truefoundry-ai-gateway",
   "name": "TrueFoundry AI Gateway",
   "org": "TrueFoundry",
   "org_kind": "company",
   "homepage": "https://www.truefoundry.com/",
   "repo": null,
   "license": null,
   "license_class": "proprietary",
   "description": "A commercial gateway for model calls and MCP tool calls that runs guardrails at four hooks, including Cedar and OPA policy checks before a tool executes.",
   "home": "vendor",
   "home_detail": null,
   "maturity": "ga",
   "tier": "mapped",
   "tier_reason": null,
   "placements": [
    {
     "leaf": "3.3",
     "primary": true,
     "capability": "Sits on the request path for model calls and MCP tool calls, and denies a call when a guardrail fails, including Cedar policies it evaluates and Rego decisions it fetches from an operator-run OPA server.",
     "evidence": [
      "e1",
      "e2",
      "e3",
      "e4"
     ]
    }
   ],
   "facets": {
    "concern": [
     "security"
    ],
    "cites_law": false,
    "jurisdictions": [],
    "subject": [
     "agent",
     "ai-system"
    ],
    "user_party": [
     "runs"
    ],
    "run_mode": [
     "at-runtime"
    ],
    "policy_source": [
     "owner-config",
     "pdp-callout"
    ],
    "traffic_seen": [
     "model",
     "tool"
    ],
    "agent_can_bypass": "depends",
    "inventory_only": false
   },
   "handoffs": [
    {
     "artifact": "policy",
     "direction": "consumes",
     "format": "Cedar policies and Rego policies (OPA)"
    }
   ],
   "evidence": {
    "e1": {
     "url": "https://www.truefoundry.com/docs/ai-gateway/opa-guardrails.md",
     "quote": "OPA Guardrails enable you to implement flexible, policy-driven access control for LLM requests, responses, and MCP (Model Context Protocol) tool invocations",
     "kind": "docs",
     "captured": "2026-10-20"
    },
    "e2": {
     "url": "https://www.truefoundry.com/docs/ai-gateway/cedar-guardrails.md",
     "quote": "Cedar Guardrails use the Cedar policy language to evaluate authorization decisions for MCP tool executions.",
     "kind": "docs",
     "captured": "2026-10-20"
    },
    "e3": {
     "url": "https://www.truefoundry.com/docs/ai-gateway/opa-guardrails.md",
     "quote": "the OPA guardrail sends the request context to your OPA server and enforces the policy decision in real time.",
     "kind": "docs",
     "captured": "2026-10-20"
    },
    "e4": {
     "url": "https://www.truefoundry.com/docs/agent-platform/agent-governance/agent-guardrails.md",
     "quote": "An LLM input-validation failure cancels the in-flight model request.",
     "kind": "docs",
     "captured": "2026-10-20"
    },
    "e5": {
     "url": "https://www.truefoundry.com/docs/ai-gateway/cedar-guardrails.md",
     "quote": "Control access at the level of individual tools, users, teams, and even specific tool arguments",
     "kind": "docs",
     "captured": "2026-10-20"
    }
   },
   "notes": null,
   "as_of": "2026-10-20",
   "leaf": "3.3",
   "lanes": {
    "concern": "security",
    "home": "vendor",
    "license": "proprietary",
    "maturity": "ga",
    "policy": "pdp-callout"
   },
   "page": "/safeguards/truefoundry-ai-gateway",
   "logo": "/safeguards/logos/truefoundry-ai-gateway.svg"
  },
  {
   "slug": "tyk-ai-studio",
   "name": "Tyk AI Studio",
   "org": "Tyk Technologies",
   "org_kind": "company",
   "homepage": "https://tyk.io/tyk-ai-studio/",
   "repo": "https://github.com/TykTechnologies/ai-studio",
   "license": "AGPL-3.0",
   "license_class": "osi",
   "description": "An open-source AI management platform with a gateway for LLM traffic and MCP connections, scriptable content filtering, access control and usage limits.",
   "home": "vendor",
   "home_detail": null,
   "maturity": "released",
   "tier": "listed",
   "tier_reason": "Listed, not drawn: no documented handoff and no foundation home places it on the map.",
   "placements": [
    {
     "leaf": "3.3",
     "primary": true,
     "capability": "Sits between applications and model providers and routes MCP traffic through its gateway, with centralized access control and scriptable content filtering.",
     "evidence": [
      "e1",
      "e2",
      "e3",
      "e4"
     ]
    }
   ],
   "facets": {
    "concern": [
     "security"
    ],
    "cites_law": false,
    "jurisdictions": [],
    "subject": [
     "agent",
     "ai-system"
    ],
    "user_party": [
     "runs"
    ],
    "run_mode": [
     "at-runtime"
    ],
    "policy_source": [
     "owner-config"
    ],
    "traffic_seen": [
     "model",
     "tool"
    ],
    "agent_can_bypass": "depends",
    "inventory_only": false
   },
   "handoffs": [],
   "evidence": {
    "e1": {
     "url": "https://raw.githubusercontent.com/TykTechnologies/ai-studio/main/README.md",
     "quote": "Tyk AI Studio is an open source platform that addresses the critical challenges organizations face when adopting AI",
     "kind": "readme",
     "captured": "2026-10-20"
    },
    "e2": {
     "url": "https://raw.githubusercontent.com/TykTechnologies/ai-studio/main/README.md",
     "quote": "All MCP traffic routed through the AI Gateway for visibility",
     "kind": "readme",
     "captured": "2026-10-20"
    },
    "e3": {
     "url": "https://raw.githubusercontent.com/TykTechnologies/ai-studio/main/README.md",
     "quote": "Scriptable policy enforcement for data security",
     "kind": "readme",
     "captured": "2026-10-20"
    },
    "e4": {
     "url": "https://raw.githubusercontent.com/TykTechnologies/ai-studio/main/README.md",
     "quote": "Centralized access control and credential management",
     "kind": "readme",
     "captured": "2026-10-20"
    },
    "e5": {
     "url": "https://api.github.com/repos/TykTechnologies/ai-studio",
     "quote": "AGPL-3.0",
     "kind": "repo-api",
     "captured": "2026-10-20"
    },
    "e6": {
     "url": "https://raw.githubusercontent.com/TykTechnologies/ai-studio/main/README.md",
     "quote": "Starting Tyk AI Studio v2.1.0",
     "kind": "readme",
     "captured": "2026-10-20"
    }
   },
   "notes": null,
   "as_of": "2026-10-20",
   "leaf": "3.3",
   "lanes": {
    "concern": "security",
    "home": "vendor",
    "license": "osi",
    "maturity": "released",
    "policy": "owner-config"
   },
   "page": "/safeguards/tyk-ai-studio",
   "logo": "/safeguards/logos/tyk-ai-studio.png"
  },
  {
   "slug": "veraison",
   "name": "Veraison",
   "org": "Confidential Computing Consortium",
   "org_kind": "foundation",
   "homepage": "https://github.com/veraison",
   "repo": "https://github.com/veraison/services",
   "license": "Apache-2.0",
   "license_class": "osi",
   "description": "Open-source components for an attestation verification service, with owner-written Rego policies that can overwrite the attestation result.",
   "home": "lf-other",
   "home_detail": "Project Veraison, a Confidential Computing Consortium project (an open community under the Linux Foundation)",
   "maturity": "released",
   "tier": "mapped",
   "tier_reason": null,
   "placements": [
    {
     "leaf": "3.7",
     "primary": true,
     "capability": "Verifies attestation evidence from a trusted execution environment before it is trusted, and lets the owner's Rego policy overwrite the attestation result status.",
     "evidence": [
      "e2",
      "e3",
      "e4"
     ]
    }
   ],
   "facets": {
    "concern": [
     "security"
    ],
    "cites_law": false,
    "jurisdictions": [],
    "subject": [
     "software"
    ],
    "user_party": [
     "runs"
    ],
    "run_mode": [
     "at-runtime"
    ],
    "policy_source": [
     "owner-config"
    ],
    "inventory_only": false
   },
   "handoffs": [
    {
     "artifact": "policy",
     "direction": "consumes",
     "format": "Rego policies (OPA)"
    }
   ],
   "evidence": {
    "e1": {
     "url": "https://confidentialcomputing.io/",
     "quote": "Project Veraison builds software components that can be used to build an Attestation Verification Service.",
     "kind": "foundation-page",
     "captured": "2026-10-20"
    },
    "e2": {
     "url": "https://raw.githubusercontent.com/veraison/services/main/README.md",
     "quote": "This repository contains attestation services assembled using Veraison components.",
     "kind": "readme",
     "captured": "2026-10-20"
    },
    "e3": {
     "url": "https://raw.githubusercontent.com/veraison/services/main/policy/README.opa.md",
     "quote": "You can update the attestation result by defining one or more of the following rules:",
     "kind": "docs",
     "captured": "2026-10-20"
    },
    "e4": {
     "url": "https://raw.githubusercontent.com/veraison/services/main/policy/README.opa.md",
     "quote": "This is also the default backend, so if no other backend is specified, `opa` will be used.",
     "kind": "docs",
     "captured": "2026-10-20"
    },
    "e5": {
     "url": "https://raw.githubusercontent.com/veraison/services/main/README.md",
     "quote": "Packages are automatically generated for each monthly tag",
     "kind": "readme",
     "captured": "2026-10-20"
    },
    "e6": {
     "url": "https://raw.githubusercontent.com/veraison/services/main/LICENSE",
     "quote": "Apache License Version 2.0, January 2004",
     "kind": "readme",
     "captured": "2026-10-20"
    }
   },
   "notes": "Placed in 3.7 because attestation verification decides once, before a workload or device is trusted. The Consortium's page names no stage and the services repository has no GitHub releases, only monthly tags. The decision concerns hardware and software trust, not an AI agent's actions. The deployment the README offers is marked as not for production.",
   "as_of": "2026-10-20",
   "leaf": "3.7",
   "lanes": {
    "concern": "security",
    "home": "lf-other",
    "license": "osi",
    "maturity": "released",
    "policy": "owner-config"
   },
   "page": "/safeguards/veraison",
   "logo": "/safeguards/logos/veraison.png"
  },
  {
   "slug": "vexctl",
   "name": "vexctl",
   "org": "Open Source Security Foundation",
   "org_kind": "foundation",
   "homepage": "https://github.com/openvex/vexctl",
   "repo": "https://github.com/openvex/vexctl",
   "license": "Apache-2.0",
   "license_class": "osi",
   "description": "A command-line tool from the OpenVEX project that creates, merges, attests and applies VEX statements saying a known vulnerability does not affect a product.",
   "home": "openssf",
   "home_detail": null,
   "maturity": "sandbox",
   "tier": "mapped",
   "tier_reason": null,
   "placements": [
    {
     "leaf": "4.4",
     "primary": true,
     "capability": "Creates VEX documents stating whether a vulnerability affects a product, merges documents from several issuers, wraps them in signed attestations and applies them to scanner results.",
     "evidence": [
      "e2",
      "e3",
      "e4"
     ]
    }
   ],
   "facets": {
    "concern": [
     "security"
    ],
    "cites_law": false,
    "jurisdictions": [],
    "subject": [
     "software"
    ],
    "user_party": [
     "makes",
     "distributes"
    ],
    "run_mode": [
     "by-hand"
    ],
    "inventory_only": false
   },
   "handoffs": [
    {
     "artifact": "vulnerability-status",
     "direction": "produces",
     "format": "OpenVEX"
    }
   ],
   "evidence": {
    "e1": {
     "url": "https://raw.githubusercontent.com/ossf/tac/main/README.md",
     "quote": "| OpenVEX | [GitHub](https://github.com/openvex) | | Vulnerability Disclosures WG | [Sandbox](process/project-lifecycle-documents/openvex_for_sandbox_stage.md) |",
     "kind": "foundation-page",
     "captured": "2026-10-20"
    },
    "e2": {
     "url": "https://raw.githubusercontent.com/openvex/vexctl/main/README.md",
     "quote": "is a tool to create, apply, and attest VEX (Vulnerability Exploitability eXchange) data",
     "kind": "readme",
     "captured": "2026-10-20"
    },
    "e3": {
     "url": "https://raw.githubusercontent.com/openvex/vexctl/main/README.md",
     "quote": "vexctl can merge the documents to get the most up-to-date impact assessment of a vulnerability",
     "kind": "readme",
     "captured": "2026-10-20"
    },
    "e4": {
     "url": "https://raw.githubusercontent.com/openvex/vexctl/main/README.md",
     "quote": "Applying the VEX data to scanner result",
     "kind": "readme",
     "captured": "2026-10-20"
    },
    "e5": {
     "url": "https://raw.githubusercontent.com/openvex/vexctl/main/README.md",
     "quote": "\"@context\": \"https://openvex.dev/ns/v0.2.0\"",
     "kind": "readme",
     "captured": "2026-10-20"
    },
    "e6": {
     "url": "https://api.github.com/repos/openvex/vexctl",
     "quote": "Apache-2.0",
     "kind": "repo-api",
     "captured": "2026-10-20"
    }
   },
   "notes": "The OpenVEX specification itself is a handoff artifact, not an entry. The OpenSSF table lists the OpenVEX project, whose GitHub organization hosts vexctl.",
   "as_of": "2026-10-20",
   "leaf": "4.4",
   "lanes": {
    "concern": "security",
    "home": "openssf",
    "license": "osi",
    "maturity": "sandbox",
    "policy": "na"
   },
   "page": "/safeguards/vexctl",
   "logo": "/safeguards/logos/vexctl.png"
  },
  {
   "slug": "wasmcloud",
   "name": "wasmCloud",
   "org": "Cloud Native Computing Foundation",
   "org_kind": "foundation",
   "homepage": "https://wasmcloud.com/",
   "repo": "https://github.com/wasmCloud/wasmCloud",
   "license": "Apache-2.0",
   "license_class": "osi",
   "description": "A platform for running WebAssembly workloads, including microservices, functions and agents, as deny-by-default sandboxes.",
   "home": "cncf",
   "home_detail": null,
   "maturity": "incubating",
   "tier": "mapped",
   "tier_reason": null,
   "placements": [
    {
     "leaf": "3.1",
     "primary": true,
     "capability": "Runs workloads, including agents, as WebAssembly components in sandboxes that are deny-by-default.",
     "evidence": [
      "e2"
     ]
    }
   ],
   "facets": {
    "concern": [
     "security"
    ],
    "cites_law": false,
    "jurisdictions": [],
    "subject": [
     "software",
     "agent"
    ],
    "user_party": [
     "runs"
    ],
    "run_mode": [
     "at-runtime"
    ],
    "policy_source": [
     "vendor-defaults"
    ],
    "agent_can_bypass": "depends",
    "inventory_only": false
   },
   "handoffs": [],
   "evidence": {
    "e1": {
     "url": "https://www.cncf.io/projects/wasmcloud/",
     "quote": "wasmCloud was accepted to CNCF on July 13, 2021 and moved to the Incubating maturity level on November 8, 2024.",
     "kind": "foundation-page",
     "captured": "2026-10-21"
    },
    "e2": {
     "url": "https://raw.githubusercontent.com/wasmCloud/wasmCloud/main/README.md",
     "quote": "Using wasmCloud, you can run microservices, functions, and agents as ultra-dense, deny-by-default bytecode sandboxes",
     "kind": "readme",
     "captured": "2026-10-21"
    },
    "e3": {
     "url": "https://api.github.com/repos/wasmCloud/wasmCloud",
     "quote": "Apache-2.0",
     "kind": "repo-api",
     "captured": "2026-10-21"
    }
   },
   "notes": null,
   "as_of": "2026-10-21",
   "leaf": "3.1",
   "lanes": {
    "concern": "security",
    "home": "cncf",
    "license": "osi",
    "maturity": "incubating",
    "policy": "vendor-defaults"
   },
   "page": "/safeguards/wasmcloud",
   "logo": null
  },
  {
   "slug": "wasmedge",
   "name": "WasmEdge",
   "org": "Cloud Native Computing Foundation",
   "org_kind": "foundation",
   "homepage": "https://wasmedge.org/",
   "repo": "https://github.com/WasmEdge/WasmEdge",
   "license": "Apache-2.0",
   "license_class": "osi",
   "description": "A WebAssembly runtime whose documentation presents an execution sandbox that isolates a contained program from operating system resources and memory.",
   "home": "cncf",
   "home_detail": null,
   "maturity": "sandbox",
   "tier": "mapped",
   "tier_reason": null,
   "placements": [
    {
     "leaf": "3.1",
     "primary": true,
     "capability": "Executes WebAssembly programs inside a sandbox that isolates file system, sockets, environment variables, processes and memory from the contained program.",
     "evidence": [
      "e2",
      "e3"
     ]
    }
   ],
   "facets": {
    "concern": [
     "security"
    ],
    "cites_law": false,
    "jurisdictions": [],
    "subject": [
     "software"
    ],
    "user_party": [
     "makes",
     "runs"
    ],
    "run_mode": [
     "at-runtime"
    ],
    "policy_source": [
     "vendor-defaults"
    ],
    "agent_can_bypass": "depends",
    "inventory_only": false
   },
   "handoffs": [],
   "evidence": {
    "e1": {
     "url": "https://www.cncf.io/projects/wasmedge/",
     "quote": "WasmEdge Runtime was accepted to CNCF on April 28, 2021 at the Sandbox maturity level.",
     "kind": "foundation-page",
     "captured": "2026-10-20"
    },
    "e2": {
     "url": "https://raw.githubusercontent.com/WasmEdge/WasmEdge/master/README.md",
     "quote": "The WasmEdge Runtime provides a well-defined execution sandbox for its contained WebAssembly bytecode program.",
     "kind": "readme",
     "captured": "2026-10-20"
    },
    "e3": {
     "url": "https://raw.githubusercontent.com/WasmEdge/WasmEdge/master/README.md",
     "quote": "The runtime offers isolation and protection for operating system resources",
     "kind": "readme",
     "captured": "2026-10-20"
    },
    "e4": {
     "url": "https://api.github.com/repos/WasmEdge/WasmEdge",
     "quote": "Apache-2.0",
     "kind": "repo-api",
     "captured": "2026-10-20"
    }
   },
   "notes": "Placed in 3.1 because the README presents the WebAssembly sandbox as a protection boundary for user-defined and community-contributed code.",
   "as_of": "2026-10-20",
   "leaf": "3.1",
   "lanes": {
    "concern": "security",
    "home": "cncf",
    "license": "osi",
    "maturity": "sandbox",
    "policy": "vendor-defaults"
   },
   "page": "/safeguards/wasmedge",
   "logo": "/safeguards/logos/wasmedge.svg"
  },
  {
   "slug": "windsurf",
   "name": "Windsurf",
   "org": "Cognition",
   "org_kind": "company",
   "homepage": "https://docs.windsurf.com/",
   "repo": null,
   "license": null,
   "license_class": "proprietary",
   "description": "An AI code editor whose agent has command auto-execution levels with allow and deny lists, an administrator-set maximum level, and hooks that can block actions.",
   "home": "vendor",
   "home_detail": null,
   "maturity": "ga",
   "tier": "listed",
   "tier_reason": "Listed, not drawn: no documented handoff and no foundation home places it on the map.",
   "placements": [
    {
     "leaf": "3.2",
     "primary": true,
     "capability": "Sets how far the agent may run terminal commands without approval, from manual approval to allow-list-only to full auto-execution, and runs hooks that can block an action.",
     "evidence": [
      "e1",
      "e2",
      "e3"
     ]
    }
   ],
   "facets": {
    "concern": [
     "safety",
     "security"
    ],
    "cites_law": false,
    "jurisdictions": [],
    "subject": [
     "agent"
    ],
    "user_party": [
     "runs"
    ],
    "run_mode": [
     "at-runtime",
     "in-ide"
    ],
    "policy_source": [
     "owner-config"
    ],
    "agent_can_bypass": "depends",
    "inventory_only": false
   },
   "handoffs": [],
   "evidence": {
    "e1": {
     "url": "https://docs.windsurf.com/windsurf/terminal.md",
     "quote": "Only commands that match entries in your allow list can be auto-executed.",
     "kind": "docs",
     "captured": "2026-10-20"
    },
    "e2": {
     "url": "https://docs.windsurf.com/windsurf/terminal.md",
     "quote": "All commands are auto-executed immediately, except those in your deny list.",
     "kind": "docs",
     "captured": "2026-10-20"
    },
    "e3": {
     "url": "https://docs.windsurf.com/windsurf/cascade/hooks.md",
     "quote": "your script can block the action by exiting with exit code 2",
     "kind": "docs",
     "captured": "2026-10-20"
    },
    "e4": {
     "url": "https://docs.windsurf.com/windsurf/terminal.md",
     "quote": "administrators can set a maximum allowed auto-execution level for their organization",
     "kind": "docs",
     "captured": "2026-10-20"
    },
    "e5": {
     "url": "https://docs.windsurf.com/windsurf/cascade/hooks.md",
     "quote": "System-level hooks are ideal for organization-wide policies enforced on shared development machines.",
     "kind": "docs",
     "captured": "2026-10-20"
    },
    "e6": {
     "url": "https://docs.windsurf.com/windsurf/cascade/hooks.md",
     "quote": "Receives context (details about the action being performed) via JSON as standard input",
     "kind": "docs",
     "captured": "2026-10-20"
    }
   },
   "notes": null,
   "as_of": "2026-10-20",
   "leaf": "3.2",
   "lanes": {
    "concern": "safety",
    "home": "vendor",
    "license": "proprietary",
    "maturity": "ga",
    "policy": "owner-config"
   },
   "page": "/safeguards/windsurf",
   "logo": "/safeguards/logos/windsurf.png"
  },
  {
   "slug": "witness",
   "name": "Witness",
   "org": "Cloud Native Computing Foundation",
   "org_kind": "foundation",
   "homepage": "https://witness.dev",
   "repo": "https://github.com/in-toto/witness",
   "license": "Apache-2.0",
   "license_class": "osi",
   "description": "A command-line tool that creates in-toto attestations for steps of a software supply chain and checks them against an owner-written policy with an embedded OPA Rego engine.",
   "home": "cncf",
   "home_detail": null,
   "maturity": "graduated",
   "tier": "mapped",
   "tier_reason": null,
   "placements": [
    {
     "leaf": "3.7",
     "primary": true,
     "capability": "Checks, before use, that software artifacts carry in-toto attestations that satisfy an owner-written policy, evaluated by an embedded Rego policy engine.",
     "evidence": [
      "e2",
      "e3",
      "e4"
     ]
    }
   ],
   "facets": {
    "concern": [
     "security"
    ],
    "cites_law": false,
    "jurisdictions": [],
    "subject": [
     "software"
    ],
    "user_party": [
     "makes",
     "runs"
    ],
    "run_mode": [
     "in-ci"
    ],
    "policy_source": [
     "owner-config"
    ],
    "inventory_only": false
   },
   "handoffs": [
    {
     "artifact": "provenance",
     "direction": "produces",
     "format": "in-toto attestations"
    },
    {
     "artifact": "provenance",
     "direction": "consumes",
     "format": "in-toto attestations"
    }
   ],
   "evidence": {
    "e1": {
     "url": "https://www.cncf.io/projects/in-toto/",
     "quote": "in-toto was accepted to CNCF on August 14, 2019, moved to the Incubating maturity level on March 10, 2022, and then moved to the Graduated maturity level on February 10, 2025.",
     "kind": "foundation-page",
     "captured": "2026-10-20"
    },
    "e2": {
     "url": "https://raw.githubusercontent.com/in-toto/witness/main/README.md",
     "quote": "Verify how your software was produced and what tools were used",
     "kind": "readme",
     "captured": "2026-10-20"
    },
    "e3": {
     "url": "https://raw.githubusercontent.com/in-toto/witness/main/README.md",
     "quote": "Implements the in-toto specification (including ITE-5, ITE-6 and ITE-7)",
     "kind": "readme",
     "captured": "2026-10-20"
    },
    "e4": {
     "url": "https://raw.githubusercontent.com/in-toto/witness/main/README.md",
     "quote": "An embedded OPA Rego policy engine for policy enforcement",
     "kind": "readme",
     "captured": "2026-10-20"
    },
    "e5": {
     "url": "https://github.com/in-toto",
     "quote": "Witness is a pluggable framework for software supply chain risk management. It automates, normalizes, and verifies software artifact provenance.",
     "kind": "readme",
     "captured": "2026-10-20"
    },
    "e6": {
     "url": "https://raw.githubusercontent.com/in-toto/witness/main/LICENSE",
     "quote": "Apache License Version 2.0, January 2004",
     "kind": "readme",
     "captured": "2026-10-20"
    }
   },
   "notes": null,
   "as_of": "2026-10-20",
   "leaf": "3.7",
   "lanes": {
    "concern": "security",
    "home": "cncf",
    "license": "osi",
    "maturity": "graduated",
    "policy": "owner-config"
   },
   "page": "/safeguards/witness",
   "logo": "/safeguards/logos/witness.png"
  },
  {
   "slug": "witnessai",
   "name": "WitnessAI",
   "org": "WitnessAI",
   "org_kind": "company",
   "homepage": "https://witness.ai/",
   "repo": null,
   "license": null,
   "license_class": "proprietary",
   "description": "A commercial AI security and governance platform that applies policies to employee and agent AI use, controls approved MCP servers and tools, and blocks attacks on models.",
   "home": "vendor",
   "home_detail": null,
   "maturity": "ga",
   "tier": "listed",
   "tier_reason": "Listed, not drawn: no documented handoff and no foundation home places it on the map.",
   "placements": [
    {
     "leaf": "3.3",
     "primary": true,
     "capability": "Applies policies by department, role and intent to AI traffic from employees and agents, enforces approved MCP servers and tools, and blocks attacks on models and agents.",
     "evidence": [
      "e1",
      "e2",
      "e3",
      "e4"
     ]
    }
   ],
   "facets": {
    "concern": [
     "security"
    ],
    "cites_law": false,
    "jurisdictions": [],
    "subject": [
     "agent",
     "ai-system"
    ],
    "user_party": [
     "runs"
    ],
    "run_mode": [
     "at-runtime"
    ],
    "policy_source": [
     "owner-config"
    ],
    "traffic_seen": [
     "model",
     "tool"
    ],
    "agent_can_bypass": "depends",
    "inventory_only": false
   },
   "handoffs": [],
   "evidence": {
    "e1": {
     "url": "https://witness.ai/",
     "quote": "Govern AI agent and human workforces with complete visibility and behavior-based controls.",
     "kind": "product-page",
     "captured": "2026-10-20"
    },
    "e2": {
     "url": "https://witness.ai/",
     "quote": "Enforce control of approved MCP servers and tools across every agent, IDE, and agentic app",
     "kind": "product-page",
     "captured": "2026-10-20"
    },
    "e3": {
     "url": "https://witness.ai/",
     "quote": "Block attacks before they reach your AI models and agents",
     "kind": "product-page",
     "captured": "2026-10-20"
    },
    "e4": {
     "url": "https://witness.ai/",
     "quote": "Create policies based on department, role, intent, or workforce type",
     "kind": "product-page",
     "captured": "2026-10-20"
    }
   },
   "notes": "The documentation host returned almost no text, so the claims rest on the product page, which describes blocking and tool control but does not say how traffic reaches the platform (proxy, agent or API). Whether it sits on the request path is therefore not shown, and the placement should be re-read against its documentation. No handoff format is named.",
   "as_of": "2026-10-20",
   "leaf": "3.3",
   "lanes": {
    "concern": "security",
    "home": "vendor",
    "license": "proprietary",
    "maturity": "ga",
    "policy": "owner-config"
   },
   "page": "/safeguards/witnessai",
   "logo": "/safeguards/logos/witnessai.png"
  },
  {
   "slug": "zap",
   "name": "ZAP (Zed Attack Proxy)",
   "org": "ZAP Dev Team",
   "org_kind": "community",
   "homepage": "https://www.zaproxy.org/",
   "repo": "https://github.com/zaproxy/zaproxy",
   "license": "Apache-2.0",
   "license_class": "osi",
   "description": "A web application security scanner for finding vulnerabilities in applications during development and testing, run by hand or automated.",
   "home": "none",
   "home_detail": null,
   "maturity": "released",
   "tier": "listed",
   "tier_reason": "Listed, not drawn: no documented handoff and no foundation home places it on the map.",
   "placements": [
    {
     "leaf": "2.1",
     "primary": true,
     "capability": "Scans a running web application for security vulnerabilities and supports manual security testing by a person.",
     "evidence": [
      "e3"
     ]
    },
    {
     "leaf": "2.2",
     "primary": false,
     "capability": "Offers packaged scans for Docker and GitHub Actions and an automation framework for unattended runs.",
     "evidence": [
      "e4"
     ]
    }
   ],
   "facets": {
    "concern": [
     "security"
    ],
    "cites_law": false,
    "jurisdictions": [],
    "subject": [
     "software"
    ],
    "user_party": [
     "makes"
    ],
    "run_mode": [
     "by-hand",
     "in-ci"
    ],
    "test_target": [
     "application"
    ],
    "inventory_only": false
   },
   "handoffs": [],
   "evidence": {
    "e1": {
     "url": "https://www.zaproxy.org/",
     "quote": "ZAP is an independent Open Source project",
     "kind": "product-page",
     "captured": "2026-10-20"
    },
    "e2": {
     "url": "https://www.zaproxy.org/download/",
     "quote": "ZAP releases are currently unsigned.",
     "kind": "product-page",
     "captured": "2026-10-20"
    },
    "e3": {
     "url": "https://raw.githubusercontent.com/zaproxy/zaproxy/main/README.md",
     "quote": "It's also a great tool for experienced pentesters to use for manual security testing.",
     "kind": "readme",
     "captured": "2026-10-20"
    },
    "e4": {
     "url": "https://www.zaproxy.org/docs/automate/",
     "quote": "GitHub Actions - the associated packaged scans available on the GitHub Marketplace",
     "kind": "docs",
     "captured": "2026-10-20"
    },
    "e5": {
     "url": "https://api.github.com/repos/zaproxy/zaproxy",
     "quote": "Apache-2.0",
     "kind": "repo-api",
     "captured": "2026-10-20"
    }
   },
   "notes": "Its own site calls it an independent open-source project, so the home is none. No handoff format is named in the pages read, so it is listed until one is.",
   "as_of": "2026-10-20",
   "leaf": "2.1",
   "lanes": {
    "concern": "security",
    "home": "none",
    "license": "osi",
    "maturity": "released",
    "policy": "na"
   },
   "page": "/safeguards/zap",
   "logo": "/safeguards/logos/zap.png"
  },
  {
   "slug": "zot-cve-scanning",
   "name": "zot (CVE scanning)",
   "org": "Cloud Native Computing Foundation",
   "org_kind": "foundation",
   "homepage": "https://zotregistry.dev/",
   "repo": "https://github.com/project-zot/zot",
   "license": "Apache-2.0",
   "license_class": "osi",
   "description": "zot's CVE scanning extension scans the container images stored in the registry with Trivy and can write an SPDX SBOM for each as an OCI artifact.",
   "home": "cncf",
   "home_detail": null,
   "maturity": "sandbox",
   "tier": "mapped",
   "tier_reason": null,
   "placements": [
    {
     "leaf": "1.1",
     "primary": true,
     "capability": "Scans stored container images for known vulnerabilities with an embedded Trivy, returns the results through its search API and command line, and can store a generated SBOM beside the image.",
     "evidence": [
      "e2",
      "e3"
     ]
    }
   ],
   "facets": {
    "concern": [
     "security"
    ],
    "cites_law": false,
    "jurisdictions": [],
    "subject": [
     "software"
    ],
    "user_party": [
     "distributes"
    ],
    "run_mode": [
     "at-runtime"
    ],
    "inventory_only": false
   },
   "handoffs": [
    {
     "artifact": "inventory",
     "direction": "produces",
     "format": "SPDX JSON SBOM stored as an OCI artifact"
    }
   ],
   "evidence": {
    "e1": {
     "url": "https://www.cncf.io/projects/zot/",
     "quote": "zot was accepted to CNCF on December 13, 2022 at the Sandbox maturity level.",
     "kind": "foundation-page",
     "captured": "2026-10-21"
    },
    "e2": {
     "url": "https://zotregistry.dev/latest/articles/cve-scanning/",
     "quote": "The CVE scanning feature enables zot to: Scan container images for known vulnerabilities",
     "kind": "docs",
     "captured": "2026-10-21"
    },
    "e3": {
     "url": "https://zotregistry.dev/latest/articles/cve-scanning/",
     "quote": "The CVE scanning extension integrates Trivy as a library to perform vulnerability scans",
     "kind": "docs",
     "captured": "2026-10-21"
    },
    "e4": {
     "url": "https://zotregistry.dev/latest/articles/cve-scanning/",
     "quote": "zot generates an SBOM while scanning and stores it as an OCI artifact referring to the scanned image.",
     "kind": "docs",
     "captured": "2026-10-21"
    },
    "e5": {
     "url": "https://api.github.com/repos/project-zot/zot",
     "quote": "Apache-2.0",
     "kind": "repo-api",
     "captured": "2026-10-21"
    }
   },
   "notes": "The entry covers the CVE scanning extension only, not zot as an OCI registry. The SBOM format is set in configuration (the docs example uses spdx-json). Signature verification in zot records whether an image is trusted and is not placed here, because the docs show no gate on it.",
   "as_of": "2026-10-21",
   "leaf": "1.1",
   "lanes": {
    "concern": "security",
    "home": "cncf",
    "license": "osi",
    "maturity": "sandbox",
    "policy": "na"
   },
   "page": "/safeguards/zot-cve-scanning",
   "logo": null
  },
  {
   "slug": "zuplo-mcp-gateway",
   "name": "Zuplo MCP Gateway",
   "org": "Zuplo",
   "org_kind": "company",
   "homepage": "https://zuplo.com/docs/mcp-gateway/overview",
   "repo": null,
   "license": null,
   "license_class": "proprietary",
   "description": "A Zuplo gateway that fronts remote MCP servers behind one OAuth-protected endpoint, curates the tools each route exposes and exports traces and logs in OTLP.",
   "home": "vendor",
   "home_detail": null,
   "maturity": "ga",
   "tier": "mapped",
   "tier_reason": null,
   "placements": [
    {
     "leaf": "3.3",
     "primary": true,
     "capability": "Sits between MCP clients and upstream MCP servers, authenticating users, limiting which tools each route exposes and composing with Zuplo guardrail policies.",
     "evidence": [
      "e1",
      "e2",
      "e3"
     ]
    }
   ],
   "facets": {
    "concern": [
     "security"
    ],
    "cites_law": false,
    "jurisdictions": [],
    "subject": [
     "agent",
     "ai-system"
    ],
    "user_party": [
     "runs"
    ],
    "run_mode": [
     "at-runtime"
    ],
    "policy_source": [
     "owner-config"
    ],
    "traffic_seen": [
     "tool"
    ],
    "agent_can_bypass": "depends",
    "inventory_only": false
   },
   "handoffs": [
    {
     "artifact": "runtime-records",
     "direction": "produces",
     "format": "OTLP traces and logs"
    }
   ],
   "evidence": {
    "e1": {
     "url": "https://zuplo.com/docs/mcp-gateway/overview.md",
     "quote": "For each MCP request, the gateway authenticates the user against your identity provider, mints an independent upstream credential",
     "kind": "docs",
     "captured": "2026-10-20"
    },
    "e2": {
     "url": "https://zuplo.com/docs/mcp-gateway/overview.md",
     "quote": "Curate which tools each route exposes.",
     "kind": "docs",
     "captured": "2026-10-20"
    },
    "e3": {
     "url": "https://zuplo.com/docs/mcp-gateway/overview.md",
     "quote": "Compose the gateway with Zuplo's PII redaction, prompt injection detection, and other security policies.",
     "kind": "docs",
     "captured": "2026-10-20"
    },
    "e4": {
     "url": "https://zuplo.com/docs/mcp-gateway/overview.md",
     "quote": "A project gets MCP Gateway functionality by adding the `McpGatewayPlugin`, an MCP OAuth policy, and one MCP route per upstream",
     "kind": "docs",
     "captured": "2026-10-20"
    },
    "e5": {
     "url": "https://zuplo.com/docs/mcp-gateway/observability/logging.md",
     "quote": "to export traces and logs in OTLP format",
     "kind": "docs",
     "captured": "2026-10-20"
    }
   },
   "notes": null,
   "as_of": "2026-10-20",
   "leaf": "3.3",
   "lanes": {
    "concern": "security",
    "home": "vendor",
    "license": "proprietary",
    "maturity": "ga",
    "policy": "owner-config"
   },
   "page": "/safeguards/zuplo-mcp-gateway",
   "logo": "/safeguards/logos/zuplo-mcp-gateway.svg"
  }
 ]
}