POST /v1/guard on every request it wants inspected.
You create and manage collectors in the console’s Collectors screen. Each
collector owns:
- One or more API keys — the credentials its integration uses to authenticate. The key resolves the collector at runtime.
- A policy routing — which policy evaluates its traffic (a default policy, and optionally per‑consumer overrides).
Integration types
Collectors are created from a catalog grouped by integration type. The integration determines the setup snippet you get and where enforcement happens.| Group | Examples | Where it runs |
|---|---|---|
| Gateway | TrustGate (recommended), Portkey, LiteLLM, Kong, Apigee, Azure APIM | At the AI gateway, in the request/response path. |
| Application | Python / Node SDK, REST API, middleware | Inside your app, around model calls. |
| Browser | Chrome, Edge, Firefox extensions | In the browser, around AI web apps. |
| WAF / Edge | Cloudflare Workers, AWS CloudFront (Lambda@Edge), Fastly Compute, Akamai EdgeWorkers | At the CDN edge. |
TrustGate is the first‑class collector. When TrustGuard runs behind the
gateway, the gateway calls
/v1/guard for you and enforces the verdict
natively. Other collectors call the same API directly and enforce the verdict
themselves.Authentication & API keys
A collector authenticates with a bearer API key, created on the collector in the console.- The raw secret is shown once, at creation — store it immediately. Afterwards only a non‑secret prefix hint is shown.
- Keys support an optional expiry and can be revoked.
- The key carries the collector identity — the runtime resolves the collector from the key, so the request body never needs a collector id.
Routing traffic to a policy
A collector decides which policy evaluates a request:- Default policy — the fallback used for all of the collector’s traffic.
- Per‑consumer policy — an override keyed on
consumer_id, so one collector can send different consumers to different policies.
consumer_id has a per‑consumer policy, use it;
otherwise use the default policy. A collector with no matching policy leaves
that request unguarded — it returns allow with no findings.
You attach a collector to a policy from the policy’s Collectors tab (routing
mode Default or Consumer ID).
Attribution
Each integration should send, when available:consumer_id— who made the request (user id, email, or device fingerprint). Used for per‑consumer routing and byanomaly_detector.session_id— which conversation the message belongs to. Used by the multi‑turn detector; synthesised if omitted (treated as single‑turn).attributes— optional context (consumer.name,consumer.tag,consumer.type,model.name,model.provider,collector.type) that gates and detector rules can match on.