Skip to main content
Deploy the integrations/lasso-security FastAPI wrapper on any public HTTPS host. The gateway calls it at llm_input / llm_output via the Custom Guardrail contract; the wrapper forwards traffic to Lasso API v3 and returns verdict JSON on HTTP 200.

What is Lasso Security?

Lasso Security is a SaaS platform for classifying and remediating LLM traffic. You define deputies and policies in the Lasso platform; the wrapper does not embed policy logic. API v3 exposes two operations used by this integration: The wrapper sets messageType=PROMPT for input hooks and messageType=COMPLETION for output hooks. Optional sessionId / userId from gateway context are forwarded when present for conversation-aware policy.

How it works

  1. The gateway POSTs an OpenAI-shaped requestBody (input) or requestBody + responseBody (output) to your wrapper URL.
  2. The wrapper extracts user/assistant text and calls Lasso API v3 with your LASSO_API_KEY.
  3. The wrapper returns HTTP 200 with a policy outcome in the body (see below). Infrastructure failures return HTTP 5xx.
On validate rails, only findings with action: BLOCK produce {"verdict": false}; WARN-only findings are logged and allowed. On mutate rails, when Lasso returns mask metadata or rewritten content, the wrapper returns {"verdict": true, "transformed": true, "result": {...}} so the gateway can replace the request or response. Hard blocks without mask data still return verdict: false.

Response contract

Policy blocks must use 2xx + verdict: false, not HTTP 4xx. See Custom guardrail response contract.

Wrapper endpoints

GET /health — health check. GET /debug/runtime-config — bearer-gated deploy verification. All POST routes expect Authorization: Bearer <WRAPPER_API_KEY> when the key is configured on the wrapper.

Prerequisites

  • Lasso API key from the Lasso Security platform, plus deputies configured for your policies.
  • Public HTTPS URL for the deployed wrapper.
  • WRAPPER_API_KEY — shared secret; the gateway sends it as Authorization: Bearer … when calling the wrapper.

Setup

1

Clone and configure

.env
Get LASSO_API_KEY in the Lasso Security platform. Default API base: https://server.lasso.security/gateway/v3 (override with LASSO_API_BASE if needed).
2

Deploy the wrapper

Docker:
Local:
Put TLS in front of the service (load balancer, ingress, or your platform’s HTTPS URL). The gateway must reach paths such as https://<host>/lasso-classify.
Set TFY_WORKSPACE_FQN, TFY_PUBLIC_HOST, TFY_PUBLIC_PATH, and secret FQNs in .env. Create secrets lasso-api-key and wrapper-api-key under group lasso-guardrails-tfy in Platform → Secrets, then:
3

Register Custom Guardrail configs

AI Gateway → Guardrails → + Add New Guardrails Group → type Custom.
  • Group name: lasso-security
  • Add one config per wrapper path (four total), or start with input validate only.
Input validate example:
TrueFoundry custom guardrail form: Validate, Request target, /lasso-classify URL, Authorization Bearer header
Register the remaining configs:Auth Data → Custom Bearer Auth works the same as Headers if you prefer not to set headers manually.
4

Attach to traffic

Model pin: AI Gateway → Models → <model> → Guardrails → attach group lasso-security.Per requestX-TFY-GUARDRAILS header, selector format <group>/<config-name>:
For PII masking, use the lasso-classifix-* config names instead of classify.
5

Verify

Call the wrapper directly:
Expect {"verdict": false, ...} when a deputy BLOCKs, or {"verdict": true} when allowed (depends on your Lasso policy).
Confirm lasso_api_key_configured: true and the routes map.

Troubleshooting

Reference