{"count":20,"data":[{"name":"api-key-auth","version":"1.2","displayName":"API Key Auth","description":"Implements API Key Authentication to protect APIs with pre-shared API keys.\nValidates API keys from request headers against a configured\nlist of valid keys and sets authentication metadata in the request context.","provider":"WSO2","categories":["Security","AI","WebSub"],"isLatest":true},{"name":"aws-authentication","version":"0.10","displayName":"AWS Authentication","description":"Signs outbound requests to AWS-hosted backends using AWS Signature Version 4 (SigV4).\nSupports four credential-acquisition modes: AWS STS AssumeRole for temporary credentials,\na static IAM user access key/secret pair, IAM Roles for Service Accounts (IRSA) on\nKubernetes clusters federated with AWS IAM via OIDC (e.g. EKS), or the AWS SDK's default\ncredential provider chain for compute already running under the target IAM role. Intended\nfor backends such as API Gateway with IAM auth, Lambda Function URLs, OpenSearch, and S3\nthat require SigV4-signed requests.","provider":"WSO2","categories":["Security","AI"],"isLatest":true},{"name":"aws-bedrock-guardrail","version":"1.0","displayName":"AWS Bedrock Guardrail","description":"Validates request or response body content against AWS Bedrock Guardrails.\nSupports content filtering, topic detection, word filtering, and PII detection/masking.\nSupports three authentication modes: role-based (AssumeRole), static credentials, or default credential chain.\nSupports JSONPath extraction to validate specific fields within JSON payloads.\nSupports separate configuration for request and response phases.","provider":"WSO2","categories":["Guardrails","AI"],"isLatest":true},{"name":"azure-content-safety-content-moderation","version":"1.0","displayName":"Azure Content Safety Content Moderation","description":"Validates request or response body content against Azure Content Safety API for content moderation.\nSupports detection of hate speech, sexual content, self-harm, and violence with configurable severity thresholds.\nSupports JSONPath extraction to validate specific fields within JSON payloads.\nSupports separate configuration for request and response phases.","provider":"WSO2","categories":["Guardrails","AI"],"isLatest":true},{"name":"basic-auth","version":"1.0","displayName":"Basic Auth","description":"Implements HTTP Basic Authentication to protect APIs with username and password credentials.\nValidates the Authorization header against configured credentials and sets authentication\nmetadata in the request context for downstream policies to use.","provider":"WSO2","categories":["Security","AI","WebSub"],"isLatest":true},{"name":"content-length-guardrail","version":"1.0","displayName":"Content Length Guardrail","description":"Validates the byte length of request or response body content.\nSupports JSONPath extraction to validate specific fields within JSON payloads.\nCan be configured with min/max byte length constraints and inverted logic.\nSupports separate configuration for request and response phases.","provider":"WSO2","categories":["Guardrails","AI"],"isLatest":true},{"name":"cors","version":"1.0","displayName":"CORS","description":"Cross-Origin Resource Sharing (CORS) policy that handles preflight requests and adds\nappropriate CORS headers to responses. Enables controlled access to resources from different\norigins by configuring allowed origins, methods, headers, and credentials.","provider":"WSO2","categories":["Security","AI","MCP"],"isLatest":true},{"name":"granite-guardian-prompt-injection","version":"0.9","displayName":"Granite Guardian Prompt Injection","description":"Detects prompt injection and jailbreak attempts in LLM API requests using IBM Granite Guardian 3.3 8B.\nBuffers the request body, extracts the user message via a configurable JSONPath expression, and forwards\nit to a Granite Guardian inference endpoint. Requests flagged above the configured confidence threshold\nare rejected before reaching the upstream LLM. Supports multiple risk categories, configurable blocking\nstatus codes, and fail-open or fail-closed error handling.","provider":"WSO2","categories":["Guardrails","AI"],"isLatest":true},{"name":"json-schema-guardrail","version":"1.0","displayName":"JSON Schema Guardrail","description":"Validates request or response body content against a JSON Schema.\nSupports JSONPath extraction to validate specific fields within JSON payloads.\nCan be configured with inverted logic to pass when schema validation fails.\nSupports separate configuration for request and response phases.","provider":"WSO2","categories":["Guardrails","AI"],"isLatest":true},{"name":"jwt-auth","version":"1.0","displayName":"JWT Auth","description":"Validates JWT access tokens using one or more JWKS providers (key managers).\nSystem-level configuration holds key manager endpoints and fetch behavior.\nUser-level configuration holds per-route assertions (selected issuers, audiences, scopes, claims and mappings).","provider":"WSO2","categories":["Security","AI","WebSub"],"isLatest":true},{"name":"llm-cost","version":"1.0","displayName":"LLM Cost","description":"Calculates the monetary cost of LLM API calls at response time and stores the result in SharedContext for use by downstream policies. Supports OpenAI, Anthropic, Gemini, and Mistral providers with automatic model pricing lookup.","provider":"WSO2","categories":["AI"],"isLatest":true},{"name":"llm-cost-based-ratelimit","version":"1.0","displayName":"LLM Cost Based Ratelimit","description":"A specialized rate limiting policy that enforces monetary budget limits on LLM API usage. Reads pre-calculated costs from the llm-cost policy and blocks requests when configured spending budgets are exceeded within the defined time windows.","provider":"WSO2","categories":["AI"],"isLatest":true},{"name":"mcp-acl-list","version":"1.0","displayName":"MCP Access Control","description":"MCP ACL List policy controls access to tools, resources, and prompts using\nmode and exceptions. It filters list responses based on the configured mode\nand enforces the same allow/deny rules on request paths. This policy does not\nrewrite capability fields (tools, resources, or prompts) or modify list entry contents.\n\n- Missing capability config: Allow all capabilities of that type\n- mode: allow, exceptions: [..] =\u003e allow all except listed exceptions\n- mode: deny, exceptions: [..] =\u003e deny all except listed exceptions","provider":"WSO2","categories":["MCP","AI"],"isLatest":true},{"name":"mcp-auth","version":"1.0","displayName":"MCP Authentication","description":"This policy is used to secure traffic to Model Context Protocol server as defined in the specification \n(https://modelcontextprotocol.io/specification/2025-06-18/basic/authorization). The Gateway acts as the \nresource server and protects the MCP resources by validating the access tokens presented in the requests.\nThis uses the JwtAuthentication policy underneath to validate the access tokens.","provider":"WSO2","categories":["MCP","AI","Security"],"isLatest":true},{"name":"mcp-authz","version":"1.0","displayName":"MCP Authorization","description":"MCP Authorization policy validates access to MCP resources (tools, resources, prompts) \nand methods based on JWT claims or OAuth scopes provided by the mcp-auth policy.\n\nThis policy enforces fine-grained authorization by checking that incoming JWT claims \nor scopes satisfy the access requirements for specific MCP attributes. The mcp-auth \npolicy must be applied before this policy to validate and extract claims from the token.","provider":"WSO2","categories":["MCP","AI","Security"],"isLatest":true},{"name":"mcp-ratelimit","version":"1.0","displayName":"MCP Rate Limit","description":"Applies rate limits to MCP traffic per tool, resource, prompt, or JSON-RPC method. Each entry targets a capability by name (or \"*\") and declares one or more (limit, duration) limits: multiple entries may be configured in the same policy. Enforcement is delegated to the advanced-ratelimit engine, so it inherits the same algorithms (GCRA, Fixed Window), memory/Redis backends, key extraction, and rate-limit headers.\n\nKey features:\n- Per-capability buckets: each matched tool/resource/prompt gets its own counter, even under wildcard rules\n- Targets MCP tools, resources, prompts, or raw JSON-RPC methods\n- Multiple concurrent limits per entry (e.g. 10/minute AND 1000/hour). strictest wins\n- Flexible key extraction (header, metadata, ip, apiname, apiversion, routename, cel, constant)\n- JSON-RPC 2.0 error envelope returned to MCP clients on rate-limit breach\n- Dual backends: in-memory (single instance) or Redis (distributed)","provider":"WSO2","categories":["MCP","AI","Security"],"isLatest":true},{"name":"mcp-rewrite","version":"1.0","displayName":"MCP Rewrite","description":"MCP Rewrite policy defines user-facing tools, resources, and prompts and maps\nthem to backend capability names using optional \"target\" fields. Request payloads\nare rewritten to the backend capability name when configured, and list responses\nrewrite capability names in-place to return user-facing values. When a list is\nprovided, only the configured capabilities are included in list responses.\n\n- Null or omitted: Allow all capabilities of that type without rewriting","provider":"WSO2","categories":["MCP","AI"],"isLatest":true},{"name":"model-round-robin","version":"1.0","displayName":"Model Round Robin","description":"Implements round-robin load balancing for AI models. Distributes requests evenly\nacross multiple configured AI models in a cyclic manner, ensuring equal request\nallocation over time and preventing overloading of any single model.","provider":"WSO2","categories":["AI"],"isLatest":true},{"name":"model-weighted-round-robin","version":"1.0","displayName":"Model Weighted Round Robin","description":"Implements weighted round-robin load balancing for AI models. Distributes requests\nbased on predefined weight values assigned to each model, enabling probabilistic\ncontrol over request distribution and giving higher priority to models with greater\nprocessing power or availability.","provider":"WSO2","categories":["AI"],"isLatest":true},{"name":"nvidia-nemoguard-content-safety","version":"0.9","displayName":"NeMo Guard Content Safety","description":"Validates request and/or response content using NVIDIA NeMo Guard (llama-3.1-nemoguard-8b-content-safety). Buffers the request and/or response body, extracts the relevant text via configurable JSONPath expressions, and forwards it to the NeMo Guard inference endpoint for classification across 23 safety categories. Unsafe requests are blocked before reaching the upstream LLM. unsafe responses are replaced with a sanitised error message before delivery to the client.","provider":"WSO2","categories":["Guardrails","AI"],"isLatest":true}],"pagination":{"offset":0,"limit":20,"total":37},"meta":{"trace_id":"f48e2b96-f300-4cc5-9f0e-386f2bc2d5ba","timestamp":"2026-07-23T04:14:07.752835127Z","request_id":"261b3493-bf6e-4072-a73f-680014cbd4dd"}}